0001558370-24-002995.txt : 20240312 0001558370-24-002995.hdr.sgml : 20240312 20240312163202 ACCESSION NUMBER: 0001558370-24-002995 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 127 CONFORMED PERIOD OF REPORT: 20231231 FILED AS OF DATE: 20240312 DATE AS OF CHANGE: 20240312 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Cadre Holdings, Inc. CENTRAL INDEX KEY: 0001860543 STANDARD INDUSTRIAL CLASSIFICATION: ORTHOPEDIC, PROSTHETIC & SURGICAL APPLIANCES & SUPPLIES [3842] ORGANIZATION NAME: 08 Industrial Applications and Services IRS NUMBER: 383873146 STATE OF INCORPORATION: DE FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-40698 FILM NUMBER: 24742616 BUSINESS ADDRESS: STREET 1: 13386 INTERNATIONAL PKWY CITY: JACKSONVILLE STATE: FL ZIP: 32218 BUSINESS PHONE: (904) 741-5400 MAIL ADDRESS: STREET 1: 13386 INTERNATIONAL PKWY CITY: JACKSONVILLE STATE: FL ZIP: 32218 10-K 1 cdre-20231231x10k.htm 10-K
http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrentfalseFY20230001860543--12-312023FYfalse37587436http://fasb.org/us-gaap/2023#OtherAssetsCurrenthttp://fasb.org/us-gaap/2023#OtherAssetsCurrenthttp://fasb.org/us-gaap/2023#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2023#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent3733227137332271P1YP20DP3Y00P10Y0001860543us-gaap:CommonStockMember2023-01-012023-12-310001860543us-gaap:CommonStockMember2022-01-012022-12-310001860543us-gaap:OverAllotmentOptionMember2021-11-032021-11-030001860543us-gaap:CommonStockMember2021-01-012021-12-310001860543us-gaap:RetainedEarningsMember2023-12-310001860543us-gaap:AdditionalPaidInCapitalMember2023-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001860543us-gaap:RetainedEarningsMember2022-12-310001860543us-gaap:AdditionalPaidInCapitalMember2022-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001860543us-gaap:RetainedEarningsMember2021-12-310001860543us-gaap:AdditionalPaidInCapitalMember2021-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001860543us-gaap:RetainedEarningsMember2020-12-310001860543us-gaap:AdditionalPaidInCapitalMember2020-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-310001860543cdre:AfcoCreditCorporationMemberus-gaap:LoansPayableMember2023-12-310001860543cdre:AfcoCreditCorporationMemberus-gaap:LoansPayableMember2022-12-310001860543us-gaap:OverAllotmentOptionMember2022-07-140001860543cdre:SecondaryOfferingMember2022-06-090001860543us-gaap:IPOMember2021-11-0300018605432023-12-312023-12-310001860543cdre:StockIncentivePlan2021Member2023-12-310001860543cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2023-01-012023-12-310001860543cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2023-12-310001860543us-gaap:RestrictedStockUnitsRSUMember2022-12-310001860543cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2022-12-310001860543cdre:MarketConditionRestrictedSharesMember2022-12-310001860543us-gaap:EmployeeStockOptionMember2022-01-012022-12-310001860543cdre:StockIncentivePlan2021Member2021-11-042021-11-040001860543srt:MinimumMemberus-gaap:EmployeeStockOptionMember2023-01-012023-12-310001860543srt:MaximumMemberus-gaap:EmployeeStockOptionMember2023-01-012023-12-310001860543srt:MinimumMemberus-gaap:EmployeeStockOptionMember2022-01-012022-12-310001860543srt:MaximumMemberus-gaap:EmployeeStockOptionMember2022-01-012022-12-310001860543us-gaap:PhantomShareUnitsPSUsMember2023-01-012023-12-310001860543cdre:RadarLeatherDivisionS.r.lMember2023-01-012023-12-3100018605432025-01-012023-12-3100018605432024-01-012023-12-310001860543us-gaap:NonUsMember2023-01-012023-12-310001860543country:US2023-01-012023-12-310001860543cdre:U.s.stateAndLocalAgenciesMember2023-01-012023-12-310001860543cdre:U.s.FederalAgenciesMember2023-01-012023-12-310001860543cdre:OtherMember2023-01-012023-12-310001860543cdre:InternationalMember2023-01-012023-12-310001860543cdre:CommercialMember2023-01-012023-12-310001860543us-gaap:NonUsMember2022-01-012022-12-310001860543country:US2022-01-012022-12-310001860543cdre:U.s.stateAndLocalAgenciesMember2022-01-012022-12-310001860543cdre:U.s.FederalAgenciesMember2022-01-012022-12-310001860543cdre:OtherMember2022-01-012022-12-310001860543cdre:InternationalMember2022-01-012022-12-310001860543cdre:CommercialMember2022-01-012022-12-310001860543us-gaap:NonUsMember2021-01-012021-12-310001860543country:US2021-01-012021-12-310001860543cdre:U.s.stateAndLocalAgenciesMember2021-01-012021-12-310001860543cdre:U.s.FederalAgenciesMember2021-01-012021-12-310001860543cdre:OtherMember2021-01-012021-12-310001860543cdre:InternationalMember2021-01-012021-12-310001860543cdre:CommercialMember2021-01-012021-12-310001860543srt:MinimumMemberus-gaap:MachineryAndEquipmentMember2023-12-310001860543srt:MinimumMemberus-gaap:FurnitureAndFixturesMember2023-12-310001860543srt:MinimumMemberus-gaap:ComputerEquipmentMember2023-12-310001860543srt:MinimumMemberus-gaap:BuildingAndBuildingImprovementsMember2023-12-310001860543srt:MaximumMemberus-gaap:MachineryAndEquipmentMember2023-12-310001860543srt:MaximumMemberus-gaap:FurnitureAndFixturesMember2023-12-310001860543srt:MaximumMemberus-gaap:ComputerEquipmentMember2023-12-310001860543srt:MaximumMemberus-gaap:BuildingAndBuildingImprovementsMember2023-12-310001860543us-gaap:MachineryAndEquipmentMember2023-12-310001860543us-gaap:LandMember2023-12-310001860543us-gaap:FurnitureAndFixturesMember2023-12-310001860543us-gaap:ConstructionInProgressMember2023-12-310001860543us-gaap:ComputerEquipmentMember2023-12-310001860543us-gaap:BuildingAndBuildingImprovementsMember2023-12-310001860543us-gaap:MachineryAndEquipmentMember2022-12-310001860543us-gaap:LandMember2022-12-310001860543us-gaap:FurnitureAndFixturesMember2022-12-310001860543us-gaap:ConstructionInProgressMember2022-12-310001860543us-gaap:ComputerEquipmentMember2022-12-310001860543us-gaap:BuildingAndBuildingImprovementsMember2022-12-310001860543cdre:AlphaSafetyIntermediateLlcMemberus-gaap:SubsequentEventMember2024-03-012024-03-120001860543cdre:IcorTechnologyInc.Memberus-gaap:SubsequentEventMember2024-01-012024-01-310001860543cdre:CyalumeAcquisitionMember2022-05-042022-05-040001860543cdre:RadarLeatherDivisionS.r.lMember2022-01-112022-01-110001860543cdre:KandersCompanyIncMembercdre:SecondaryOfferingMember2022-06-092022-06-090001860543cdre:KandersCompanyIncMemberus-gaap:IPOMember2021-11-032021-11-030001860543us-gaap:RevolvingCreditFacilityMembercdre:NewCreditAgreementAugust2021Member2023-01-012023-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-12-310001860543us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-3100018605432023-10-312023-10-3100018605432022-10-312022-10-3100018605432021-10-312021-10-3100018605432021-09-012021-09-300001860543srt:MinimumMembercdre:CanadianCreditFacilityMember2023-01-012023-12-310001860543srt:MaximumMembercdre:CanadianCreditFacilityMember2023-01-012023-12-310001860543us-gaap:RevolvingCreditFacilityMembercdre:CanadianCreditFacilityMember2021-10-140001860543us-gaap:LetterOfCreditMembercdre:CanadianCreditFacilityMember2021-10-140001860543us-gaap:RevolvingCreditFacilityMembercdre:NewCreditAgreementAugust2021Member2021-08-200001860543us-gaap:LetterOfCreditMembercdre:NewCreditAgreementAugust2021Member2021-08-200001860543cdre:SwingLineLoansMembercdre:NewCreditAgreementAugust2021Member2021-08-200001860543us-gaap:RevolvingCreditFacilityMembercdre:CanadianCreditFacilityMember2022-12-310001860543us-gaap:LetterOfCreditMembercdre:NewCreditAgreementAugust2021Member2023-12-310001860543srt:MaximumMember2023-12-310001860543us-gaap:TradeNamesMember2023-12-310001860543us-gaap:TradeNamesMember2022-12-310001860543cdre:CyalumeAcquisitionMember2023-01-012023-12-310001860543cdre:ProductsMember2023-01-012023-12-310001860543cdre:ProductsMember2022-01-012022-12-310001860543cdre:RadarLeatherDivisionS.r.lMembercdre:ProductsMember2022-01-012022-12-310001860543cdre:CyalumeAcquisitionMembercdre:ProductsMember2022-01-012022-12-310001860543cdre:RadarLeatherDivisionS.r.lMember2022-01-012022-12-310001860543cdre:CyalumeAcquisitionMember2022-01-012022-12-310001860543cdre:ProductsMember2023-12-310001860543cdre:DistributionServicesMember2023-12-310001860543cdre:ProductsMember2022-12-310001860543cdre:DistributionServicesMember2022-12-310001860543cdre:ProductsMember2021-12-310001860543cdre:DistributionServicesMember2021-12-310001860543cdre:NewCreditAgreementAugust2021Member2021-01-012021-12-310001860543us-gaap:TradeNamesMember2023-12-310001860543us-gaap:TechnologyBasedIntangibleAssetsMember2023-12-310001860543us-gaap:NoncompeteAgreementsMember2023-12-310001860543us-gaap:CustomerRelationshipsMember2023-12-310001860543us-gaap:TradeNamesMember2022-12-310001860543us-gaap:TechnologyBasedIntangibleAssetsMember2022-12-310001860543us-gaap:NoncompeteAgreementsMember2022-12-310001860543us-gaap:CustomerRelationshipsMember2022-12-310001860543us-gaap:EmployeeStockOptionMember2023-01-012023-12-310001860543us-gaap:RestrictedStockUnitsRSUMember2023-12-310001860543us-gaap:EmployeeStockOptionMember2023-12-310001860543cdre:MarketConditionRestrictedSharesMember2023-12-310001860543us-gaap:RetainedEarningsMember2023-01-012023-12-310001860543us-gaap:RetainedEarningsMember2022-01-012022-12-310001860543us-gaap:RetainedEarningsMember2021-01-012021-12-310001860543cdre:InterestRateSwapTwoMember2023-05-310001860543us-gaap:InterestRateSwapMember2023-12-310001860543cdre:InterestRateSwapTwoMember2023-12-310001860543cdre:InterestRateSwapOneMember2023-12-310001860543us-gaap:OtherCurrentAssetsMemberus-gaap:InterestRateSwapMember2023-12-310001860543us-gaap:OtherAssetsMemberus-gaap:InterestRateSwapMember2023-12-310001860543us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001860543us-gaap:FairValueMeasurementsRecurringMember2023-12-310001860543us-gaap:OtherCurrentAssetsMemberus-gaap:InterestRateSwapMember2022-12-310001860543us-gaap:OtherAssetsMemberus-gaap:InterestRateSwapMember2022-12-310001860543us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001860543us-gaap:FairValueMeasurementsRecurringMember2022-12-310001860543cdre:NewCreditAgreementAugust2021Member2023-12-310001860543cdre:NewCreditAgreementAugust2021Member2022-12-310001860543cdre:AfcoCreditCorporationMemberus-gaap:LoansPayableMember2023-07-012023-07-310001860543cdre:AfcoCreditCorporationMemberus-gaap:LoansPayableMember2022-07-012022-07-310001860543cdre:InterestRateSwapTwoMember2023-01-012023-12-310001860543cdre:InterestRateSwapOneMember2023-01-012023-12-310001860543cdre:TermLoanMembercdre:NewCreditAgreementAugust2021Member2021-08-202021-08-200001860543cdre:TermLoanMember2023-12-310001860543cdre:AfcoCreditCorporationMemberus-gaap:LoansPayableMember2023-07-310001860543cdre:AfcoCreditCorporationMemberus-gaap:LoansPayableMember2022-07-310001860543cdre:IncrementalTermLoanMemberus-gaap:SubsequentEventMember2024-03-120001860543us-gaap:RevolvingCreditFacilityMembercdre:NewCreditAgreementAugust2021Member2023-12-310001860543cdre:TermLoanMembercdre:NewCreditAgreementAugust2021Member2023-12-310001860543us-gaap:RevolvingCreditFacilityMembercdre:NewCreditAgreementAugust2021Member2022-12-310001860543cdre:TermLoanMembercdre:NewCreditAgreementAugust2021Member2022-12-310001860543cdre:TermLoanMembercdre:NewCreditAgreementAugust2021Member2021-08-200001860543srt:MinimumMembercdre:NewCreditAgreementAugust2021Memberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2023-05-312023-12-310001860543srt:MinimumMembercdre:NewCreditAgreementAugust2021Memberus-gaap:BaseRateMember2023-05-312023-12-310001860543srt:MaximumMembercdre:NewCreditAgreementAugust2021Memberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2023-05-312023-12-310001860543srt:MaximumMembercdre:NewCreditAgreementAugust2021Memberus-gaap:BaseRateMember2023-05-312023-12-310001860543srt:MinimumMembercdre:CanadianCreditFacilityMemberus-gaap:BaseRateMember2023-01-012023-12-310001860543srt:MinimumMembercdre:CanadianCreditFacilityMembercdre:LondonInterbankOfferedRateMember2023-01-012023-12-310001860543srt:MaximumMembercdre:CanadianCreditFacilityMemberus-gaap:BaseRateMember2023-01-012023-12-310001860543srt:MaximumMembercdre:CanadianCreditFacilityMembercdre:LondonInterbankOfferedRateMember2023-01-012023-12-310001860543us-gaap:OperatingSegmentsMembercdre:ProductsMember2023-01-012023-12-310001860543us-gaap:OperatingSegmentsMembercdre:DistributionServicesMember2023-01-012023-12-310001860543us-gaap:MaterialReconcilingItemsMember2023-01-012023-12-310001860543us-gaap:OperatingSegmentsMembercdre:ProductsMember2022-01-012022-12-310001860543us-gaap:OperatingSegmentsMembercdre:DistributionServicesMember2022-01-012022-12-310001860543us-gaap:MaterialReconcilingItemsMember2022-01-012022-12-310001860543us-gaap:OperatingSegmentsMembercdre:ProductsMember2021-01-012021-12-310001860543us-gaap:OperatingSegmentsMembercdre:DistributionServicesMember2021-01-012021-12-310001860543us-gaap:MaterialReconcilingItemsMember2021-01-012021-12-310001860543us-gaap:CommonStockMember2023-12-310001860543us-gaap:CommonStockMember2022-12-310001860543us-gaap:CommonStockMember2021-12-310001860543us-gaap:CommonStockMember2020-12-310001860543us-gaap:SubsequentEventMember2024-01-232024-01-2300018605432021-11-112021-11-1100018605432020-12-3100018605432021-12-310001860543cdre:ExecutiveCompensationPlanMemberus-gaap:SellingGeneralAndAdministrativeExpensesMembercdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2023-01-012023-12-310001860543us-gaap:RestrictedStockUnitsRSUMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-12-310001860543us-gaap:EmployeeStockOptionMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-12-310001860543cdre:MarketConditionRestrictedSharesMember2023-01-012023-12-310001860543cdre:ExecutiveCompensationPlanMembercdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2022-03-092022-03-090001860543cdre:ExecutiveCompensationPlanMemberus-gaap:SellingGeneralAndAdministrativeExpensesMembercdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2022-01-012022-12-310001860543us-gaap:RestrictedStockUnitsRSUMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-12-310001860543us-gaap:EmployeeStockOptionMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-12-310001860543cdre:MarketConditionRestrictedSharesMember2022-01-012022-12-310001860543us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-12-310001860543us-gaap:AdditionalPaidInCapitalMember2023-01-012023-12-310001860543us-gaap:AdditionalPaidInCapitalMember2022-01-012022-12-310001860543us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-3100018605432023-10-012023-12-3100018605432023-06-3000018605432024-03-080001860543cdre:MarketConditionRestrictedSharesMember2021-11-040001860543srt:BoardOfDirectorsChairmanMember2021-01-012021-12-310001860543cdre:KandersCompanyIncMember2023-01-012023-12-310001860543cdre:KandersCompanyIncMember2022-01-012022-12-310001860543us-gaap:OverAllotmentOptionMember2022-07-142022-07-140001860543cdre:SecondaryOfferingMember2022-06-092022-06-090001860543us-gaap:IPOMember2021-11-032021-11-030001860543us-gaap:SubsequentEventMember2024-01-230001860543srt:MinimumMembercdre:NewCreditAgreementAugust2021Member2023-12-310001860543srt:MaximumMembercdre:NewCreditAgreementAugust2021Member2023-12-310001860543us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-12-310001860543cdre:MarketConditionRestrictedSharesMember2021-11-042021-11-040001860543cdre:NewCreditAgreementAugust2021Memberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2023-05-312023-12-310001860543cdre:ScenarioPeriodThreeMembercdre:NewCreditAgreementAugust2021Member2023-01-012023-12-310001860543cdre:EachQuarterStartingWithQuarterEndedDecember312022Membercdre:NewCreditAgreementAugust2021Member2023-01-012023-12-310001860543us-gaap:RevolvingCreditFacilityMembercdre:CanadianCreditFacilityMember2023-12-310001860543cdre:TermLoanMembercdre:NewCreditAgreementAugust2021Member2023-01-012023-12-310001860543cdre:NewCreditAgreementAugust2021Member2023-01-012023-12-310001860543cdre:TermLoanMembercdre:NewCreditAgreementAugust2021Member2022-01-012022-12-310001860543cdre:ScenarioPeriodOneMembercdre:NewCreditAgreementAugust2021Member2023-01-012023-12-3100018605432021-03-012021-03-3100018605432021-01-012021-12-310001860543cdre:ExecutiveCompensationPlanMembercdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2023-12-310001860543cdre:ExecutiveCompensationPlanMembercdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2023-01-012023-12-310001860543cdre:ExecutiveCompensationPlanMembercdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2022-03-180001860543cdre:ExecutiveCompensationPlanMembercdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember2022-03-090001860543cdre:CyalumeAcquisitionMember2022-05-040001860543cdre:RadarLeatherDivisionS.r.lMember2022-01-1100018605432023-12-3100018605432022-12-3100018605432023-01-012023-12-3100018605432022-01-012022-12-31iso4217:USDiso4217:USDxbrli:sharesxbrli:sharesxbrli:purecdre:warehousecdre:itemcdre:installmentiso4217:CADcdre:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, D.C. 20549

FORM 10-K

ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the fiscal year ended December 31, 2023

OR

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For The Transition Period FromTo

Commission file number: 001-40698

CADRE HOLDINGS, INC.

(Exact name of registrant as specified in its charter)

Delaware

38-3873146

(State of Other Jurisdiction of incorporation or Organization)

(I.R.S. Employer Identification No.)

13386 International Parkway, Jacksonville, FL

32218

(Address of principal executive offices)

(Zip code)

Registrant's telephone number, including area code: (904) 741-5400

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

Name Of Each Exchange

Title of Each Class

Trading Symbol(s)

On Which Registered

Common Stock, $0.0001 Par Value per Share

CDRE

New York Stock Exchange

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

Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes No

Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes No

Indicate by check mark whether the registrant: (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes No

Indicate by check mark whether the Registrant has submitted electronically; every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.0405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes No

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer 

Accelerated filer 

Non-accelerated filer 

Smaller reporting company 

Emerging growth company 

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.

Indicate by check mark whether the registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.

If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. 

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to §240.10D-1(b).

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes No

The aggregate market value of the shares of Cadre Holdings, Inc. common stock held by non-affiliates of the registrant as of June 30, 2023 was $300,482,938 based on the closing price of $21.80 as reported by the New York Stock Exchange.

As of March 8, 2024, there were 37,587,436 shares of common stock, par value $0.0001, outstanding

Documents Incorporated by Reference

Portions of the registrant’s definitive proxy statement for its 2024 Annual Meeting of Stockholder, or the Proxy Statement, to be filed within 120 days after the end of the fiscal year covered by this Annual Report on Form 10-K, are incorporated by reference in Part III. Except with respect to information specifically incorporated by reference in this Annual Report, the Proxy Statement shall not be deemed to be filed as part hereof.

TABLE OF CONTENTS

    

Page

PART I

Item 1. Business

5

Item 1A. Risk Factors

13

Item 1B. Unresolved Staff Comments

32

Item 1C. Cybersecurity

32

Item 2. Properties

33

Item 3. Legal Proceedings

33

Item 4. Mine Safety Disclosures

33

PART II

Item 5. Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

34

Item 6. [Reserved]

35

Item 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations

36

Item 7A. Quantitative and Qualitative Disclosures About Market Risk

45

Item 8. Financial Statements and Supplementary Data

47

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

80

Item 9A. Controls and Procedures

80

Item 9B. Other Information

81

PART III

Item 10. Directors, Executive Officers and Corporate Governance

81

Item 11. Executive Compensation

82

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

82

Item 13. Certain Relationships and Related Transactions, and Director Independence

82

Item 14. Principal Accounting Fees and Services

82

PART IV

Item 15. Exhibits and Financial Statement Schedules

82

2

CAUTIONARY STATEMENT

This Annual Report on Form 10-K (this “Report”) contains “forward-looking statements” within the meaning of the safe harbor provisions of the U.S. Private Securities Litigation Reform Act of 1995. Except where the context otherwise requires or where otherwise indicated, the terms the “Company”, “Cadre”, “we,” “us,” and “our,” refer to the consolidated business of Cadre Holdings, Inc. and its consolidated subsidiaries. All statements in this Report, other than statements of historical fact, are forward-looking statements. These forward-looking statements are based on management’s current expectations, assumptions, hopes, beliefs, intentions, and strategies regarding future events and are based on currently available information as to the outcome and timing of future events. In some cases, you can identify forward-looking statements because they contain words such as “believe,” “may,” “will,” “estimate,” “continue,” “anticipate,” “intend,” “expect,” “should,” “would,” “could,” “plan,” “predict,” “potential,” “seem,” “seek,” “future,” “outlook,” or the negative of these words or other similar terms or expressions that concern our expectations, strategy, plans, or intentions. The Company cautions you that these forward-looking statements are subject to all of the risks and uncertainties, most of which are difficult to predict and many of which are beyond the control of the Company, incident to its business.

Because forward-looking statements relate to the future, they are subject to inherent uncertainties, risks and changes in circumstances that are difficult to predict and many of which are outside of our control. These forward-looking statements are based on information available as of the date of this Report (or, in the case of forward-looking statements incorporated herein by reference, if any, as of the date of the applicable filed document), and any accompanying supplement, and current expectations, forecasts and assumptions, and involve a number of risks and uncertainties. Accordingly, forward-looking statements should not be relied upon as representing the Company’s views as of any subsequent date, and the Company does not undertake any obligation to update forward-looking statements to reflect events or circumstances after the date they were made, whether as a result of new information, future events or otherwise, except as may be required under applicable securities laws. New risks and uncertainties emerge from time to time and it is not possible for us to predict all risks and uncertainties that could have an impact on the forward-looking statements contained in this Report. We cannot assure you that the results, events, and circumstances reflected in the forward-looking statements will be achieved or occur, and actual results, events, or circumstances could differ materially from those described in the forward-looking statements. We may not actually achieve the plans, intentions, or expectations disclosed in our forward-looking statements and you should not place undue reliance on our forward-looking statements. In addition, statements that “we believe” and similar statements reflect our beliefs and opinions on the relevant subject. Our forward-looking statements do not reflect the potential impact of any future acquisitions, partnerships, mergers, dispositions, joint ventures, or investments we may make.

As a result of a number of known and unknown risks and uncertainties, our actual results or performance may be materially different from those expressed or implied by these forward-looking statements. Some factors that could cause actual results to differ include:

the availability of capital to satisfy our working capital requirements;
anticipated trends and challenges in our business and the markets in which we operate;
our ability to anticipate market needs or develop new or enhanced products to meet those needs;
our expectations regarding market acceptance of our products;
the success of competing products by others that are or become available in the market in which we sell our products;
the impact of adverse publicity about the Company and/or its brands, including without limitation, through social media or in connection with brand damaging events and/or public perception;
changes in political, economic or regulatory conditions generally and in the markets in which we operate;
the impact of political unrest, natural disasters or other crises, terrorist acts, acts of war and/or military operations;
our ability to maintain or broaden our business relationships and develop new relationships with strategic alliances, suppliers,

customers, distributors or otherwise;

our ability to retain and attract senior management and other key employees;

3

our ability to quickly and effectively respond to new technological developments;
the effect of an outbreak of disease or similar public health threat, such as the COVID-19 pandemic, on the Company’s business;
logistical challenges related to supply chain disruptions and delays;
the impact of inflationary pressures and our ability to mitigate such impacts with pricing and productivity;
the possibility that the Company may be adversely affected by other economic, business, and/or competitive factors;
the ability of our information technology systems or information security systems to operate effectively, including as a result of security breaches, viruses, hackers, malware, natural disasters, vendor business interruptions or other causes;
our ability to properly maintain, protect, repair or upgrade our information technology systems or information security systems, or problems with our transitioning to upgraded or replacement systems;
our ability to protect our trade secrets or other proprietary rights and operate without infringing upon the proprietary rights of others and prevent others from infringing on the proprietary rights of the Company;
our ability to maintain a quarterly dividend;
the increased expenses associated with being a public company and the related increased disclosure and reporting obligations;
any material differences in the actual financial results of the Company’s past and future acquisitions as compared with the Company’s expectations;
our ability to integrate the operations of the businesses we have acquired, including, without limitation, ICOR Technology Inc. (“ICOR”) and Alpha Safety Intermediate, LLC (“Alpha Safety”), and may acquire in the future; and
other risks and uncertainties set forth in the section entitled “Risk Factors” of this Report, which is incorporated herein by reference.

Any expectations based on these forward-looking statements are subject to risks and uncertainties and other important factors, including those discussed in this Report, specifically the sections titled “Risk Factors” and “Management’s Discussion and Analysis of Financial Condition and Results of Operations.” Other risks and uncertainties are and will be disclosed in our prior and future filings with the Securities and Exchange Commission (“SEC”). The following information should be read in conjunction with the Consolidated Financial Statements included in this Report.

Neither we nor any other person assumes responsibility for the accuracy and completeness of any of these forward-looking statements.

4

PART I

Item 1. Business

BUSINESS

Business Overview

For over 60 years, we have been a global leader in the manufacturing and distribution of safety equipment for professionals. Our equipment provides critical protection which allows its users to safely perform their duties and protect those around them in hazardous or life-threatening situations. Through our dedication to superior quality, we establish a direct covenant with end users that our products will perform and keep them safe when they are most needed. We sell a wide range of products including body armor, explosive ordnance disposal equipment, duty gear and nuclear safety products through both direct and indirect channels. In addition, through our owned distribution, we serve as a one-stop shop for first responders providing equipment we manufacture as well as third-party products including uniforms, optics, boots, firearms, and ammunition. The majority of our diversified product offering is governed by rigorous safety standards and regulations. Demand for our products is driven by technological advancement as well as recurring modernization and replacement cycles for the equipment to maintain its efficiency, effective performance, and regulatory compliance.

Domestically, we are a top provider of safety holsters and soft body armor for first responders, as well as a top provider of nuclear safety solutions. Globally, we are a leading provider of explosive ordnance disposal technician equipment. We believe we have achieved these positions through our high-quality standards, innovation and a direct connection to the end users. We service the ever-changing needs of our end users by investing in research and development for new product innovation and technical advancements that continually raise the standards for safety equipment in the markets we serve. Our target end user base includes state, local, and international law enforcement, fire and rescue, explosive ordnance disposal technicians, commercial nuclear power plants, emergency medical technicians (“EMT”), fishing and wildlife enforcement and departments of corrections, as well as federal agencies including the U.S. Department of State (“DoS”), U.S. Department of Defense (“DoD”), U.S. Department of Interior (“DoI”), U.S. Department of Justice (“DoJ”), U.S. Department of Homeland Security (“DHS”), U.S. Department of Corrections (“DoC”), the Department of Energy (“DoE”), Los Alamos National Laboratories (“LANL”), Waste Isolation Plant (“WIPP”), numerous foreign government agencies and other companies involved in the nuclear industry. We have a large and diverse customer base, with no individual customer representing more than 10% of our total revenue.

Our mission that binds our leading brands as one is Together, We Save Lives. This mission lives in the hearts and minds of our associates around the world and remains in the forefront as we innovate new products and services and focus on processes to bring high quality standards to our customers. In our law enforcement and military focused brands, we are committed to honoring those who put their lives in danger through the SAVES CLUB®, which pays homage to first responders who experience a life-threatening incident in the line of work in which our armor or duty gear contribute to saving their lives. The SAVES CLUB® currently has over 2,180 members and counting.

Our mission is supported by our Cadre Operating Model (“COM”). The COM is a behavior-based, leadership centric, operating model that enables us to create greater value for our customers and stakeholders. It guides how we work, innovate, solve problems, improve and engage with each other, our customers and our communities. In our COM, we define six capabilities that all of our businesses give focus and learn as they master tools in their journey to excellence through our excellence maturity model.

Industry Overview

The market for safety equipment focuses on providing a diverse set of protective and mission enhancing products and solutions to our target end users. The market is driven by multiple factors including customer refresh cycles, growing number of personnel employed, equipment replacement and modernization trends, greater emphasis on public and first responders’ safety, increasing needs to modernize the U.S. nuclear stockpile, increasing demands for energy, and disposal and remediation of nuclear sites and products.

Body Armor, Duty Gear and Explosive Ordnance Disposal

Body armor, duty gear, explosive ordnance disposal equipment are key product areas in the safety equipment market. Law enforcement personnel growth is a significant driver for our business. The U.S. Bureau of Labor Statistics projects that the number of

5

openings for law enforcement personnel in the U.S. to be 64,500 on average over the decade from 2022 to 2032. Demand for first responder safety equipment is also fueled by increasing law enforcement budgets and increases in expenditures per officer.

In addition, increasing mandatory body armor use and refresh policies, and evolving technical standards continue to drive the need for safety equipment for first responders. The significant increase (66.7%) in active shooter incidents since 2018, continues to be a tailwind that leaves law enforcement agencies with making the decision to upgrade body armor or armored equipment that provides higher protection to officers due to these threats. Meanwhile, the explosive ordnance disposal equipment market is driven by the continued emergence of new global threats while duty gear is driven mainly by product use and replacement cycles as a result of changing or accessorizing firearms.

Our management estimates the serviceable available market for soft body armor (including tactical soft armor) to be approximately $870 million. We also estimate explosive ordnance disposal equipment to have an addressable market of approximately $245 million over the seven-to-ten year life cycle of the products’ installed base. Finally, the annual addressable market for safety holsters for the global law enforcement and military is estimated to be approximately $380 million.

The international law enforcement market is also poised for growth as foreign governments face increasingly complex safety challenges and seek to replace legacy equipment. Additionally, we foresee the demand for safety equipment from overseas markets to increase due to heightened awareness of the importance and effectiveness of such products and as countries are exposed to new threats. Our management estimates our addressable number of total law enforcement personnel outside the U.S. to be approximately 9.7 million, representing a substantial market opportunity.

Nuclear Safety Products

The demand drivers for our highly engineered technical products centers around a global effort to ensure safe nuclear operations and material handling. The three key missions that are highly regulated and that our products and services fulfill are environmental safety, national security and nuclear energy. Any interaction with radioactive waste requires highly engineered safety solutions and domain expertise.

Demand pertaining to environmental safety is fueled by mandated cleanup from the DoE related to a $528 billion liability that exists from legacy defense waste and nuclear research. Demand pertaining to national security is driven by the recent mandate of the DoE and National Nuclear Security Administration to increase production to 80 plutonium pits per year by 2030, which has not regularly occurred since 1989. Lastly, demand pertaining to nuclear energy is driven by both ongoing nuclear plant operation, as well as the decommissioning of nuclear plants. The lifecycle demand restarts as new nuclear plants emerge and new small modular reactor plants grow around the world. Our management estimates the total addressable market for our nuclear safety products to be between $3 billion and $6 billion based on the need for our products by the U.S. government and the U.S. commercial nuclear market.

Our management team believes that the safety equipment industry represents a stable and growing market with long-term opportunities. Given our strong market standing, direct connection to the end users, extensive distribution network, long history of innovations and high-quality standards, we believe we are well positioned to capitalize on the positive market dynamics.

Competitive Strengths

Leading, independent global provider of safety equipment. Our history as a leading provider of high-quality safety equipment dates back to 1964. Our differentiated value proposition is built on superior quality combined with an unwavering focus on critical safety standards, making us a trusted brand name.

Strong market positions. Based on data we collect related to end users and publicly available information on awarded contracts and purchases, we believe we have leading market positions across multiple product categories through superior quality and performance differentiating us from our competition. By way of reference, we sell concealable tactical, hard armor, or duty retention holsters to the majority of the top 50 police departments in the U.S. by size. For explosive ordnance disposal equipment, we are a party to multi-year contracts for the largest bomb suit teams in the world including the DoD. Furthermore, our engineered container solution for the nuclear industry, the SAVY 400, is the only DoE compliant container. Our products continually exceed stringent industry safety standards and are recognized for advancements in performance through innovation and technological enhancement.

6

Mission-critical products with recurring demand characteristics. Our products provide critical protection to their end users as well as those around them, with limited or no room for error. As a result, stringent safety standards and customary warranty provisions create refresh cycles on over 80% of the equipment we supply via our product segment. Demand associated with these refresh cycles drives a highly predictable recurring revenue stream. The majority of our remaining revenue is associated consumable products driving recurring sales based on replenishment needs.

Attractive macro-economic and secular tailwinds driving demand and visibility for our products. The majority of our end markets are acyclical in nature, as their demand is driven primarily by the first responder budgets, and relatively unaffected by economic cycles. Our business has benefitted from key shifts serving as tailwinds to our growth strategy including the increasing focus on safety, replacement and modernization trends.

Compelling organic and inorganic growth roadmap. Leveraging our differentiated product development process and technical knowhow, leading domestic market position and first mover advantage with our suppliers, we plan to drive profitable organic revenue growth via new product development and geographic expansion. In particular, international expansion is an especially important initiative in our organic growth roadmap due to the significant market share opportunity and increasing investments in safety equipment in various key geographic markets. We expect to supplement our organic growth through a targeted merger and acquisition (“M&A”) program spanning our existing core products and markets as well as attractive adjacencies.

Attractive financial profile with strong EBITDA margins and free-cash-flow generation. We generate strong profitability through diligent portfolio management of customers and contracts and continued focus on cost structure to drive operating leverage. Our strong profitability combined with minimal capital expenditure requirements result in high free-cash-flow generation, which is a key driver for our internal research and development initiatives and targeted M&A program.

Tenured management with significant public company platforms. Our management team is comprised of executive officers with extensive experience at public company platforms including Armor Holdings Inc., Danaher Corporation, General Electric Company and IDEX Corporation. Together they bring an established track record of strong performance operating and growing public companies both organically and via acquisitions. This experience has created a differentiated approach to our operating model through their expertise in building a culture of operational and cultural excellence, complexity reduction, and innovation.

Long-term customer relationships across diverse end markets and geographies. We maintain long-term relationships with over 23,000 first responders and federal agencies both domestically and internationally, with many top customer relationships in excess of 15 years. Our global presence spans over 100 countries across North America, Europe and other regions.

Products

We design and manufacture a diversified product portfolio of critical safety equipment. We maintain clear market-leadership positions in certain core product categories including body armor, explosive ordnance disposal equipment and duty gear. Over 80% of our product sales are tied to customary or mandated refresh cycles of between five and ten years, which drives a highly predictable recurring revenue stream. The majority of the remaining revenue is associated consumable products. Our overall strategy is to drive growth by leveraging our leading market shares and competitively differentiated offerings in each of our core product categories, including:

Body Armor. We offer a full range of field-proven advanced armor solutions. Our products incorporate cutting-edge technology, innovative materials and processes in order to provide the best protection, reduce weight and optimize ergonomics for the end user. The majority of our armor products, which comply with the National Institute of Justice (“NIJ”) standards or other applicable standards, are made-to-measure. We recently launched an industry-first partnership to provide law enforcement officers and first responders with the ability to determine their specific size through the use of our 3D body sizing app, XpertFit. In addition, we also launched a highly innovative tactical carrier system, Hyper-X, that increases soft ballistic coverage compared to traditional plate carrier systems, provides enhanced mobility and a large range of adjustments, is extremely adaptable to expand the system with additional accessories, and significantly reduces the overall weight compared to our competition. We also launched a new concealable carrier system, APEX®, that redefines the standard for agility, comfort and protection for officers by containing a four ballistic panel design within a compression fit carrier system that allows the armor to move fluidly with the body.

7

Our principal body armor product offerings include concealable, corrections and tactical armor, which provide varying levels of protection against ballistic or sharp instrument threats. Our body armor products are sold under the well-known Safariland® and Protech® Tactical brand names. We also sell products in partnership with industry leading developer Hardwire LLC.

Our body armor panels manufactured in the United States are designed to meet applicable ballistic performance standards established by the NIJ. We also manufacture body armor in Canada, England and Lithuania that is certified to meet applicable international armor standards. We also distribute a variety of third-party items, including helmets, plates and face shields for protection from blunt trauma, ballistic threats and explosive shrapnel.

Graphic

Explosive Ordnance Disposal. We are the global leader of a highly engineered portfolio of critical operator survival suits, remotely operated vehicles, specialty tools, blast sensors, accessories and vehicle blast attenuation seats for bomb safety technicians. As the most trusted brand in the market, Med-Eng is the go-to source for explosive ordnance solutions in the developed world. Our products provide end users with the latest protective technologies integrated with electronic components and communications equipment. The addition of ICOR, acquired in January 2024, gives us the ability to sell a full platform of robots suitable for bomb safety technicians but also meet the needs of law enforcement tactical teams as well.

Med-Eng has a fielded installed base of bomb suits in over 100 countries, yielding predictable, recurring replacement cycles. Our continuous investment in R&D supported by our existing IP portfolio, drives next- generation technologies designed to meet the ever-evolving threats for operators in the field. Select customers include the U.S. Army, U.S. Navy, U.S. Air Force, U.S. Marines, FBI, ATF and all the armed forces of NATO countries.

Graphic

Duty Gear. We are the industry leader in holster innovation and safety engineering and our products incorporate industry standard safety locking mechanisms on which a majority of first responders are trained. The end user base for our holster products includes state and local law enforcement, federal agencies including the DoS, DoD, DoI, DHS, and DoC, foreign police and military agencies, and the commercial concealed carry market. We also offer a complementary line of officer duty gear including belts and accessories.

In connection with the mission critical nature of duty gear products, we dedicate significant product development resources to ensure efficient and effective performance of our products. In fact, we launched a new family of duty holsters, the SafariVault®. The product was engineered for extreme durability and a long list of use enhancements like magnetic slide guide to aid holstering a weapon, more prominent release lever button, a new auto-tension device to eliminate rattle, and many more. We manufacture and sell duty gear and commercial offerings under the widely recognized Safariland®, Radar® and Bianchi® brands.

Graphic

Nuclear Safety. Founded in 1986, Alpha Safety is a global provider of highly engineered technical products and services spanning the nuclear value chain. Its partnership with key customers is approaching 40 years. We offer turnkey solutions to customers who rely

8

on its decades of design, application and technical know how to protect critical operational personnel and the environment. Select customers include the DoE, LANL, WIPP and Veolia.

Other Protective Equipment. Supplementary to our core product offerings, we design, manufacture, assemble, and market a suite of equipment to round out our product portfolio. Key products include chem light solutions, communications gear, forensic and investigation products, firearms cleaning solutions, and crowd control products. These products are marketed under several well-known niche brands. In addition, through our owned distribution, we serve as a one-stop shop for first responders providing equipment we manufacture as well as third-party products including uniforms, optics, boots, firearms and ammunition.

Growth Strategy

Our growth plan consists of a multi-pronged approach that includes driving profitable core revenue growth through new product introductions and international market expansion combined with targeted acquisitions, enhanced through our operating model.

Profitable Core Revenue Growth. We believe that our leading market positions across a range of core categories will continue to yield significant growth opportunities. Our management team is focused on delivering new product launches, increasing customer wallet share, executing on key new contract opportunities and expanding our high-margin e-commerce and direct-to-consumer capabilities to continue to drive revenue growth. Examples of recent product innovation include the development of a 3D body sizing solution for soft armor, introduction of our next generation holsters, a new tactical armor solution, a new concealable armor solution, a variety of consumer-focused holsters and working with key suppliers on the use of emerging materials for utilization in new armor products.

International Market Expansion. We are also committed to increasing our market share internationally. Given our leading domestic market position and our products’ high-quality standards and performance, we believe we are well positioned to take advantage of the growth in international demand for safety equipment for first responders. We intend to penetrate certain international markets through leveraging existing relationships, building local market teams and expansion into relevant market adjacencies.

Targeted M&A Program. To supplement organic growth and internal research and development, our management team has historically undertaken a targeted M&A program, completing 16 transactions to date. These strategic acquisitions have allowed us to expand our product and technology offerings, enter new markets and expand geographically to achieve attractive returns in our invested capital period.

We maintain a robust pipeline of opportunistic M&A opportunities, spanning our existing core products and markets as well as attractive adjacencies within the safety landscape. We plan to utilize our free-cash-flow generation and historical success in acquisitions to drive favorable acquisition structures and efficient integration. Our operating model, passion around connecting with customers and expansive channel help maximize the value created from our acquisitions.

Continuous Margin Improvement Initiatives. Our management team has shown a strong track record of achieving cost structure optimization to drive operating leverage, as evidenced by past years’ margin improvements. Our operating model starts with complexity reduction then uses lean tools and methods to continuously improve operational and commercial processes. Strategic initiatives completed over the past few years including, among others, rationalizing the Company’s manufacturing footprint, divesting non-core activities, enhancing our supply chain and optimizing customer relationships and key contracts. Together these activities have helped enhance the Company’s manufacturing and sales operations, ultimately driving profitability growth.

Customers and Selling Channels

We sell our products through distributors and work directly with agencies to effectively reach end users. We classify our customers into four categories: U.S. State and Local Agencies, International, U.S. Federal Agencies, and Commercial (which includes our direct-to-consumer sites).

U.S. State and Local Agencies. We have built relationships with the majority of domestic law enforcement agencies in the country, selling at least one product category to each of the top 50 major departments. Other end users in this category include fire and rescue, explosive ordnance disposal technicians, EMT, fishing and wildlife enforcement and departments of corrections. We sell our

9

products through a network of longstanding third-party distributors as well as an owned distribution platform, both of which interact directly with agencies and end users.

International. Over the past three years, we have sold products to more than 100 countries globally. We service foreign defense ministries, foreign national law enforcement agencies and other foreign agencies through our distribution partners as well as through agency agreements with representatives to help service broad regions.

U.S. Federal Agencies. We sell to a variety of federal agencies including the DoS, DoD, DoI, DoJ, DHS Inc. and DoE. Furthermore, we have long-standing contracts with key departments within the U.S. Army, U.S. Air Force, U.S. Navy and U.S. Marine Corps.

Commercial. Our Commercial channel consists primarily of sales through largely recognized e-commerce companies and retailers as well as through our own e-commerce sites.

We service each of our channels through in-field technical salespeople and an owned distribution network. Our traditional distribution network consists of longstanding distribution partners and agents, retailers and e-commerce platforms and our own website where we sell directly to the end user. We pair our in-house expertise with outside partners in order to provide our customers with the best service possible while maintaining a real-time understanding of end user needs. In total, we have 67 salespeople domestically and 24 internationally. We believe that by combining our third party network with our in-house salesforce and our extensive owned distribution network, we create continuous customer interaction and best- in-class service and training, providing us with a distinct advantage over our peers.

Our brand name recognition and reputation among our customers, diversified product line and extensive distribution network are central to our marketing strategy.

Manufacturing and Raw Materials

We operate a global manufacturing footprint with 21 sites across North America and Europe. Each site has capacity to scale up without significant further material investment in machinery and equipment. Additionally, we manage a diverse global supplier base of leading textile, fabric and raw material providers. We have multiple sources for each input in order to limit our dependency on any single vendor. No supplier makes up more than 10% of total purchases.

We are reliant on certain suppliers that provide us with the raw materials and components that we utilize in manufacturing our ballistic resistant garments. Although in some cases substitutable alternative materials and components may be obtained from other commercially available sources, any change in the materials and components that we utilize in manufacturing our ballistic resistant garments may require additional research and development, recertification as well as customer acceptance.

Competition

We compete in the large public safety and outdoor and recreation markets amongst other ancillary addressable markets. Competition in the public safety markets depends on the specific product in question but is generally based on a number of factors including product quality, safety performance, fit, price, and brand recognition. We believe that we have been able to compete successfully driven by the combination of our brand and product dependability, superior engineering and manufacturing capabilities, industry-leading product innovations, as well as on the breadth of our offering to customers.

Our primary competitors include, but are not limited to, Point Blank Enterprises, Inc., Avon Protection Systems, Inc., Central Lake Armor Express, Inc. (d/b/a Armor Express), Alien Gear Holsters, as well as the Blackhawk division of Vista Outdoor Inc. None of our competitors across individual product categories compete in each of our product verticals, making us the only one-stop provider of critical safety equipment solutions in the market.

Certain of our products cross over into the broader outdoor and recreation market, which is highly fragmented and highly competitive. While we believe that acceptance in this market is principally driven by the ability to bring new and innovative products to market, price point is critical.

10

Human Capital

We have a total of 2,435 employees. Of these employees, 1,838 were engaged in manufacturing, 232 in sales, marketing, product management and customer support, 191 in corporate functions (IT, Finance, HR, Legal and Compliance, etc.), 133 in R&D, technical engineering, manufacturing engineering and project management, 26 retail store associates and 15 in various executive and administrative functions. None of our employees are represented by a union in collective bargaining with us. We believe that our employee relations are good. Our human capital objectives center around identifying, recruiting, retaining, incentivizing and integrating our existing and new employees.

Research and Development

Our significant IP portfolio combined with best-in-class product development and advanced materials processing separates us from our competitors. We have dedicated research and development centers at our manufacturing sites that specialize in product categories, including ballistics developments and state-of-the-art testing laboratory in Ontario, California, blast impact and technology development for explosive ordnances in Ottawa, Canada, and holster development and design in Jacksonville, Florida and Ontario, California, each of which focus on quality and product performance in order to generate critical real-time feedback. We aim to achieve efficient integration of quality materials and latest technologies to develop our products, which will allow us to leverage our first mover advantage from our suppliers.

Intellectual Property and Trademarks

We own significant intellectual property, including patents, trademarks, manufacturing processes and trade secrets related to our products, processes and business. Although our intellectual property plays an important role in maintaining our competitive position, we do not consider any single patent, trademark, manufacturing process or trade secret to be of material importance to any segment or to the business as a whole.

We own a total of 520 patents and pending patent applications worldwide, of which 428 are patents granted and 92 are pending patent applications, with expiry dates ranging from 2023 to 2048 in 35 jurisdictions. Of those 520 patents and pending patent applications, 355 are for utility patents and 159 are for design patents. We own patents and pending patent applications in the United States, Australia, Austria, Belgium, Brazil, Canada, the People’s Republic of China, Czech Republic, Denmark, France, Germany, Hong Kong, India, Ireland, Israel, Italy, Japan, Luxembourg, Malaysia, Mexico, Netherlands, New Zealand, Norway, Poland, Portugal, Singapore, South Africa, South Korea, Spain, Sweden, Switzerland, Taiwan, Turkey, and the United Kingdom, as well as in the European Union.

The loss of patent protection for patents expiring in 2024 is not expected to have a material effect on our business.

Our material registered trademarks include SAFARILAND® and MED-ENG®.

The following table describes the material patents and patent applications owned or licensed by us, segregated by product category, including the range of expiry dates:

    

    

    

Range of

    

    

Range of

Number of

Expiration

Number of

Expiration Dates

Patents

Dates for

Pending Patent

(if Pending Patent

Product Category

    

Ownership

    

Granted

    

Granted Patents

    

Applications

    

Granted)

Body Armor

 

Safariland, LLC

 

38

 

2025- 2048

 

3

 

2043

Duty Gear

 

Safariland, LLC

 

107

 

2025 - 2048

 

43

 

2038 - 2043

Duty Gear

Radar Leather Division S.r.l.

65

2024 – 2039

1

2039

EOD

 

Med-Eng, LLC

 

93

 

2023 – 2045

 

1

 

2034

Crowd Control

 

Defense Technology, LLC

 

41

 

2026 – 2048

 

9

 

2038 – 2048

Crowd Control

Safariland, LLC

1

2032

Crowd Control

Radar Leather Division S.r.l.

5

2029 – 2031

2031

Other – Diversified

 

Safariland, LLC

 

31

 

2025 – 2048

 

2

 

2042 – 2043

Other – Diversified

Cyalume Technologies

41

 

2027 – 2042

 

33

 

2038 – 2042

Nuclear Safety

 

NucFil, LLC

 

6

 

2027 – 2036

 

 

11

Government Regulation

We are subject to federal licensing requirements with respect to the sale of some of our products in foreign countries. In addition, we are obligated to comply with a variety of federal, state and local regulations, both domestically and abroad, governing certain aspects of our operations and workplace.

The export of certain of our products from the U.S. is subject to various U.S. regulations, including laws and regulations relating to import-export controls, technology transfers, the International Traffic in Arms Regulations (“ITAR”), and the Export Administration Regulations (“EAR”). More specifically, to export some of our products in accordance with ITAR or EAR, we must obtain export authorizations or licenses from the U.S. government, primarily the U.S. Department of State for ITAR and the U.S. Department of Commerce for EAR. Also, the Arms Export Control Act of 1976 (“AECA”) requires that a certification be provided to the U.S. Congress prior to the granting of any license or other approval for certain transactions involving exports of any defense articles and defense services and for exports of major defense equipment.

Our business in Canada is subject to the Canadian Controlled Good Directorate Registration regime, which regulates commerce in controlled goods, meaning those that require a license to export, including ITAR items.

We are also subject to the Foreign Corrupt Practices Act (“FCPA”) along with similar anti-corruption laws worldwide which prohibit improper payments to foreign governments and their officials by U.S. and other business entities.

The transportation of certain of our products is subject to U.S. Department of Transportation Hazardous Material Regulations (“HMR”), which govern the transportation of hazardous and radioactive materials in interstate, intrastate, and foreign commerce. Prior to transportation into and within the United States, explosives must be tested and classified by the U.S. Department of Transportation.

Domestically, the manufacture, sale, and purchase of certain products are subject to extensive federal, state, and local governmental regulation, with the primary regulatory body being the U.S. Bureau of Alcohol, Firearms, and Explosives (“ATF”). The primary federal laws are the National Firearms Act of 1934 (“NFA”), the Gun Control Act of 1968 (“GCA”) and the AECA. Among other things, the ATF conducts periodic audits of our facilities that hold Federal Firearms Licenses.

The Federal Acquisition Regulation (“FAR”) governs the majority of our contracts with U.S. federal agencies, mandating uniform policies and procedures across agencies and with each agency supplementing the FAR as needed. For example, the U.S. Department of Defense implements the FAR through the Defense Federal Acquisition Regulation Supplement (“DFARS”). Finally, agencies routinely audit and review government contractors for performance and compliance with applicable laws, regulations, and standards.

In addition, like many other manufacturers, we are subject to compliance with the Fair Labor Standards Act (“FLSA”), the Occupational Safety and Health Act (“OSHA”), data privacy laws, and many other regulations surrounding employment law, environmental law, taxation, and consumer protection.

The operations of our Alpha Safety business are highly regulated by the U.S. Government, including without limitation, the U.S Nuclear Regulatory Commission (“NRC”), the DoE as well as the states of New Mexico, Colorado and Connecticut where its operations are located.

Environmental Laws and Regulations

Our operations are subject to a variety of federal, state, and local laws and regulations relating to environmental protection, including those governing the discharge, treatment, storage, transportation, remediation, and disposal of hazardous materials including, without limitation, radioactive materials and waste; the restoration of damages to the environment; and health and safety matters. We have an excellent workplace safety track record and believe that our operations are in material compliance with these laws and regulations. We incur expenses in complying with environmental requirements and could incur higher costs in the future as a result of more stringent requirements that may be enacted in the future.

12

Available Information

Our Internet address is www.cadre-holdings.com. We make available free of charge on or through our website our annual reports on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K, and amendments to those reports, and the proxy statement for our annual meeting of stockholders as soon as reasonably practicable after we electronically file such material with, or furnish it to, the SEC. Forms 3, 4 and 5 filed with respect to our equity securities under Section 16(a) of the Securities Exchange Act of 1934, as amended, are also available on our website. All of the foregoing materials are located at the ‘‘SEC Filings’’ tab. The information found on our website shall not be deemed incorporated by reference by any general statement incorporating by reference this report into any filing under the Securities Act of 1933, as amended, or under the Securities Exchange Act of 1934, as amended, and shall not otherwise be deemed filed under such laws. The SEC also maintains a website that contains reports, proxy and information statements, and other information regarding issuers that file electronically with the SEC at www.sec.gov. In addition, you may request a copy of any such materials, without charge, by submitting a written request to: Cadre Holdings, Inc., c/o the Secretary, 13386 International Parkway, Jacksonville, FL 32218. The contents of the websites identified above are not incorporated into this Annual Report on Form 10-K.

Item 1A. Risk Factors

RISK FACTORS

In addition to other information contained in this Annual Report on Form 10-K, the following risk factors should be carefully considered in evaluating our business, because such factors may have a significant impact on our business, operating results, liquidity and financial condition. As a result of the risk factors set forth below, actual results could differ materially from those mentioned in any forward-looking statements. Additional risks and uncertainties not presently known to us, or that we currently consider to be immaterial, may also impact our business, operating results, liquidity and financial condition. If any of the following risks occur, our business, operating results, liquidity and financial condition, and the price of our common stock, could be materially adversely affected.

Risk Factor Summary

The products we sell are inherently risky and could give rise to product liability, product warranty claims, and other loss contingencies.
Our markets are highly competitive, and if we are unable to compete effectively, we will be adversely affected.
Technological advances, the introduction of new products, and new design and manufacturing techniques could adversely affect our operations unless we are able to adapt to the resulting change in conditions.
We may seek to raise additional funds, finance acquisitions or develop strategic relationships by issuing capital stock that would dilute your ownership.
We may be unsuccessful in our future acquisition endeavors, if any, which may have an adverse effect on our business; in addition, some of the businesses we acquire may incur significant losses from operations.
Our business and growth may suffer if we are unable to attract and retain key officers or employees, including our Chief Executive Officer, Warren B. Kanders, as well as any loss of officers or employees due to illness or other events outside of our control.
We are uncertain of our ability to manage our growth.
We have significant payment obligations under the terms of our long-term debt, $141.3 million of which was outstanding as of December 31, 2023.
The concentration of our capital stock ownership with insiders will likely limit your ability to influence corporate matters.

13

We may face difficulty in integrating the operations of the businesses we have acquired and may acquire in the future.

Risks Related to Our Industry

The products we sell are inherently risky and could give rise to product liability, product warranty claims, and other loss contingencies.

The products that we manufacture are typically used in applications and situations that involve high levels of risk of personal injury. Failure to use our products for their intended purposes, failure to use or care for them properly, or their malfunction, or, in some limited circumstances, even correct use of our products, could result in serious bodily injury or death. Given this potential risk of injury, proper maintenance of our products is critical. Our products include: body armor and plates designed to protect against ballistic and sharp instrument penetration; explosive ordnance disposal products; police duty gear; and crowd control products.

Claims have been made, and are pending against certain of our subsidiaries, involving permanent physical injury and death allegedly caused by our products or arising from the design, manufacture or sale of such goods. If these claims are decided against us and we are found to be liable, we may be required to pay substantial damages and our insurance costs may increase significantly as a result, which could have a material adverse effect on our business, financial condition and results of operations. Also, a significant or extended lawsuit, such as a class action, could divert significant amounts of management’s time and attention.

We cannot assure you that our insurance coverage would be sufficient to cover the payment of any potential claim. In addition, we cannot assure you that this or any other insurance coverage will continue to be available or, if available, that we will be able to obtain it at a reasonable cost. Any material uninsured loss could have a material adverse effect on our business, financial condition and results of operations. In addition, the inability to obtain product liability coverage would prohibit us from bidding for orders from certain governmental customers because, at present, many bids from governmental entities require such coverage, and any such inability would have a material adverse effect on our business, financial condition, results of operations and liquidity.

Furthermore, while our products are rigorously tested for quality, our products nevertheless do, and may continue to, fail to meet customer expectations from time-to-time. Also, not all defects are immediately detectible. Failures could result from faulty design or problems in manufacturing. In either case, we could incur significant costs to repair and/or replace defective products under warranty. We have experienced such failures in the past, and remain exposed to such failures. In some cases, product redesigns and/or rework may be required to correct a defect, and such occurrences could adversely impact future business with affected customers. Our business, financial condition, results of operations and liquidity could be materially and adversely affected by any unexpected significant warranty costs.

We are subject to extensive government regulations, and our failure or inability to comply with these regulations could materially restrict our operations and subject us to substantial penalties.

We are subject to federal licensing requirements with respect to the export of certain of our products. In addition, we are obligated to comply with a variety of federal, state and local regulations, both domestically and abroad, governing certain aspects of our sales, operations and workplace, including regulations promulgated by, among others, the U.S. Departments of Commerce, Defense, Justice, Treasury, State and Transportation, the Federal Aviation Administration, the U.S. Environmental Protection Agency, the U.S. Bureau of Alcohol, Tobacco and Firearms, Nuclear Regulatory Commission, U.S. Department of Energy, and the Equal Employment Opportunity Commission. The U.S. Bureau of Alcohol, Tobacco and Firearms also regulates our manufacturing and distribution of certain destructive devices, firearms, and explosives. We also ship toxic, hazardous and radioactive materials, and in doing so, must comply with the regulations of the U.S. Department of Transportation for packaging and labeling. We are also required to comply with Controlled Goods Directorate Registration regime in Canada for explosive ordnance disposal products. Additionally, the failure to obtain applicable governmental approval and clearances could materially adversely affect our ability to continue to service the government contracts we maintain. Exports of some of our products to certain international destinations may require export authorization from U.S. export control authorities, including the U.S. Departments of Commerce and State, and authorizations may be conditioned on re-export restrictions. Failure to receive these authorizations may materially adversely affect our revenues and in turn our business, financial condition, results of operations and liquidity from international sales. Furthermore, we have material contracts with governmental entities and are subject to rules, regulations and approvals applicable to government contractors. We are also subject to routine audits to assure our compliance with these requirements.

14

While we continually work to enhance our international trade compliance programs, we cannot assure you that we are or will be in full compliance at all times with applicable laws and regulations governing the export and deemed export of defense articles, defense services, and dual-use products and services that are controlled by U.S. and/or foreign governments. In those instances where we have identified non-compliances with applicable laws or regulations, we have taken affirmative steps to correct or mitigate such identified failures and to self-report them to the cognizant U.S. or foreign government agencies. We also import significant volumes of foreign-made components and materials for use in our manufacturing processes, which may be subject to import duties and other regulations. Violations of international trade (export/ import) controls in the U.S. and elsewhere may result in severe criminal and/or civil penalties, which could have a material adverse effect on our business, financial condition, results of operations and liquidity.

Like other companies operating internationally, we are subject to the U.S. Foreign Corrupt Practices Act and other laws that prohibit improper payments to foreign governments and their officials by U.S. and other business entities. We operate in countries known to experience endemic corruption. Our extensive operations in such countries create risk of an unauthorized payment by one of our employees or agents, which would be in violation of various laws including the Foreign Corrupt Practices Act. Violations of the Foreign Corrupt Practices Act may result in severe criminal penalties, which could have a material adverse effect on our business, financial condition, results of operations and liquidity.

In addition, we are subject to governmental laws, regulations and other legal obligations related to privacy, data protection, and cybersecurity. We collect and otherwise process data, including personal data and other regulated or sensitive data, as part of our business processes and activities. This data is subject to a variety of U.S. and foreign laws and regulations, including oversight by various regulatory or other governmental bodies. Many foreign countries and governmental bodies, including the European Union and other relevant jurisdictions where we conduct business, have laws and regulations concerning the collection and use of personal data, and other data obtained from their residents or by businesses operating within their jurisdictions that are currently more restrictive than those in the U.S. Any inability, or perceived inability, to adequately address privacy and data protection concerns, or to comply with applicable laws, regulations, policies, industry standards, contractual obligations or other legal obligations, even if unfounded, could result in additional cost and liability to us, damage our reputation, inhibit sales and have a material adverse effect on our business, results of operations, and financial condition.

We have significant international operations and assets and, therefore, are subject to additional financial and regulatory risks.

We sell our products in foreign countries and seek to increase our level of international business activity. Our overseas operations are subject to various risks, including: U.S.-imposed embargoes and/or sanctions of sales to specific countries (which could prohibit sales of our products there); foreign import controls (which may be arbitrarily imposed and enforced and which could interrupt our supplies or prohibit customers from purchasing our products); exchange rate fluctuations; dividend remittance restrictions; expropriation of assets; war, civil uprisings and riots; government instability; the necessity of obtaining government approvals for both new and continuing operations; and legal systems of decrees, laws, taxes, regulations, interpretations and court decisions that are not always fully developed and that may be retroactively or arbitrarily applied.

One component of our strategy is to expand our operations into selected international markets. Military procurement, for example, has traditionally had a large international base. We actively market our products in Europe, North and South America, the Middle East, Africa, and Asia. However, we may be unable to execute our business model in these markets or new markets. Further, foreign providers of competing products and services may have a substantial advantage over us in attracting consumers and businesses in their countries due to earlier established businesses in those countries, greater knowledge with respect to the cultural differences of consumers and businesses residing in those countries and/or their focus on a single market. In pursuing our international expansion strategy, we face several additional risks, including:

foreign laws and regulations, which may vary by country, that may impact how we conduct our business;
uncertain costs of doing business in foreign countries, including different employment laws;
potential adverse tax consequences if taxing authorities in different jurisdictions worldwide disagree with our interpretation of various tax laws or our determinations as to the income and expenses attributable to specific jurisdictions, which could result in our paying additional taxes, interest and penalties;
technological differences that vary by marketplace, which we may not be able to support;
longer payment cycles and foreign currency fluctuations;

15

economic downturns; and
uncertainty of sustained revenue growth outside of the United States.

We may also be subject to unanticipated income taxes, excise duties, import taxes, export taxes or other governmental assessments. In addition, a percentage of the payments to us in our international markets are often in local currencies. Although most of these currencies are presently convertible into U.S. dollars, we cannot be sure that convertibility will continue. Even if currencies are convertible, the rate at which they convert is subject to substantial fluctuation. Our ability to transfer currencies into or out of local currencies may be restricted or limited. Any of these events could result in a loss of business or other unexpected costs, which could reduce revenue or profits and have a material adverse effect on our business, financial condition, results of operations and liquidity.

We routinely operate in areas where local government policies regarding foreign entities and the local tax and legal regimes are often uncertain, poorly administered and in a state of flux. We cannot, therefore, be certain that we are in compliance with, or will be protected by, all relevant local laws and taxes at any given point in time. A subsequent determination that we failed to comply with relevant local laws and taxes could have a material adverse effect on our business, financial condition, results of operations and liquidity. One or more of these factors could adversely affect our future international operations and, consequently, could have a material adverse effect on our business, financial condition, results of operation and liquidity.

Changes in global cultural, political, and financial market conditions could impair our international operations and financial performance.

We are subject to risks generally associated with doing business internationally. Some of our operations are conducted or products are sold in countries where economic growth has slowed, or where economies have suffered economic, social and/or political instability or hyperinflation. In addition, global economic uncertainty relating to the effects of fiscal and political crises and political and economic disputes, current or future ‘trade wars,’ changes in consumer spending, foreign currency exchange rate fluctuations, political unrest, wars, terrorist acts, and/or military operations, could have a material adverse effect on our financial condition, results of operations and cash flows.

The conflict between Russia and Ukraine could have a material adverse effect on our operations, results of operations, financial condition, liquidity and business outlook.

There is continued, sustained military conflict between Russia and Ukraine and continued disruption in the region is likely. As a result, new and stricter sanctions have been imposed by the U.S., Canada, the United Kingdom, the European Union, and other countries and organizations against officials, individuals, regions, and industries in Russia. Russia’s potential response to such sanctions, as well as prolonged unrest, intensified military activities and/or the implementation of more extensive sanctions impacting the region could have a material adverse effect on our operations, results of operations, financial condition, liquidity and business outlook.

Pandemics, epidemics or other disease outbreaks may negatively impact our business operations, financial condition, liquidity, and consolidated results of operations.

A widespread outbreak of disease can adversely affect the operation of our customers’ businesses, which could lead to a material decline in demand for our products and services and our customers’ ability to pay us for the products and services we have provided to them. A pandemic could also have material negative impact on the operation of our vendors’ and suppliers’ businesses and effect their ability to provide us the products and services we rely on to conduct our business and provide products and services to our customers. A widespread outbreak could potentially result in the infection of the Company's employees and diminish our ability to operate our business, service our customers or produce and sell our products. These potential negative impacts to our business could negatively impact our financial results and thereby reduce our operating results and borrowing capacity, which could limit our ability to operate our business. These situations can also lead to a general downturn in the equity markets which could negatively impact the value of the Company’s shares as well as increase the cost to the Company to raise equity capital. Any and all of the above situations could have a material adverse impact on our operations, results of operations, financial condition, liquidity and business outlook. Beginning in 2020, we felt the impact of the COVID-19 pandemic and related shelter-in-place orders which materially reduced the demand for many of our customers’ products and services which consequently negatively impacted the demand for our products and services from time to time. The pandemic also resulted in thousands of hours of lost work time for our employees due to illness or steps taken to reduce the spread of the COVID-19 virus, as well as significant supply chain logistics issues that affected our inventory and revenues.

16

While our customers have resumed business operations that are similar to pre-COVID activities, we cannot predict whether future variants of COVID-19 or other pandemics might cause further slowdowns of cessation of business activities. As a result, we cannot predict the impact that pandemics akin to COVID-19 might have on our business and operating results in the future.

Risks Related to Our Business

Many of our customers have fluctuating budgets, which may cause substantial fluctuations in our results of operations.

Customers for our products include domestic and international first responders such as state and local law enforcement, fire and rescue, explosive ordnance disposal technicians, emergency medical technicians, fishing and wildlife enforcement and departments of corrections, as well as federal agencies and numerous foreign government agencies. Government tax revenues and budgetary constraints, which fluctuate from time to time, can affect budgetary allocations for these customers. Many domestic and foreign government agencies have in the past experienced budget deficits that have led to decreased spending in defense, law enforcement and other military and security areas. In addition, first responder budgets have been the subject of increased discussions as a result of controversies relating to police reform. Our results of operations may be subject to substantial period-to-period fluctuations because of these and other factors affecting military, law enforcement and other governmental spending. A reduction of funding for state, local, municipal as well as federal and foreign governmental agencies could have a material adverse effect on sales of our products and our business, financial condition, results of operations and liquidity.

Our markets are highly competitive, and if we are unable to compete effectively, we will be adversely affected.

The markets in which we operate include a large number of competitors ranging from small businesses to multinational corporations and are highly competitive. Competitors who are larger, better financed and better known than us may compete more effectively than we can. In order to stay competitive in our industry, we must keep pace with changing technologies and customer preferences. If we are unable to differentiate our services from those of our competitors, our revenues may decline. In addition, our competitors have established relationships among themselves or with third parties to increase their ability to address customer needs. As a result, new competitors or alliances amongst competitors may emerge and compete more effectively than we can. There is also a significant industry trend towards consolidation, which may result in the emergence of companies which are better able to compete against us. Any such development could have a material adverse effect on our business, financial condition, results of operations and liquidity.

There are limited sources for some of our raw materials and components, which may significantly curtail our manufacturing operations.

The raw materials and components that we use to manufacture our products, include SpectraShield®,a patented product of Honeywell, Inc.; Kevlar®, a patented product of E.I. du Pont de Nemours Co., Inc.; Dyneema®, a patented product of Koninklijke DSM N.V.; and Twaron®, a patented product of Teijin Limited, amongst others, which we use in manufacturing ballistic resistant garments. We purchase the materials and components that we use in manufacturing ballistic resistant garments directly from these suppliers and also through five independent weaving companies. The supply of the materials and components that we use to manufacture our products may be constrained by a number of factors, including a supplier’s need to prioritize the manufacture of rated orders issued under the Defense Production Act of 1950 (the “DPA”). We cannot predict when the United States government will invoke the DPA, and in the past we have faced shortages from our sources of materials and components when the DPA has been invoked, including shortages in the raw materials and components that we use in manufacturing ballistic resistant garments.

Should these materials or components become unavailable for any reason, we would not necessarily be able to replace them with materials or components of like weight and strength, as our ballistic resistant garments must be manufactured to specific standards using specific materials and components that are not necessarily interchangeable based on metrics such as weight and strength. When we have faced shortages in the past, we have been able to ameliorate the issue by obtaining substitutable alternative materials and components from other commercially available sources. However, the use of alternative materials and components in our ballistic resistant garments requires research and development, recertification as well as customer acceptance of the new products utilizing these alternative materials and components, and there is no guarantee that any such recertification or acceptance will be obtained by us. Thus, if our supply of any of these materials or components were materially reduced or cut off or if there were a material increase in the prices of these materials or components, our manufacturing operations could be adversely affected and our costs increased, and our business, financial condition, results of operations and liquidity could be materially adversely affected.

17

Our resources may be insufficient to manage demand.

As we expand our operations, any growth may place significant demands on our management, administrative, operating and financial resources. The growth of our customer base, the types of services and products offered and the geographic markets we serve could place a significant strain on our resources. In addition, we cannot easily identify and hire personnel qualified both in the provision and marketing of our products and systems. Our future performance and profitability will depend in large part on our ability to attract and retain additional management and other key personnel; our ability to implement successful enhancements to our management, accounting and information technology systems; and our ability to adapt those systems, as necessary, to respond to any growth in our business.

We are dependent on industry relationships.

A number of our products are components in our customers’ final products. Accordingly, to gain market acceptance, we must demonstrate that our products will provide advantages to the manufacturers of final products, including increasing the safety of their products, providing such manufacturers with competitive advantages or assisting such manufacturers in complying with existing or new government regulations affecting their products. There can be no assurance that our products will be able to achieve any of these advantages for the products of our customers. Furthermore, even if we are able to demonstrate such advantages, there can be no assurance that such manufacturers will elect to incorporate our products into their final products, or if they do, that our products will be able to meet such customers’ manufacturing requirements. Additionally, there can be no assurance that our relationships with our manufacturer customers will ultimately lead to volume orders for our products. The failure of manufacturers to incorporate our products into their final products could have a material adverse effect on our business, financial condition, results of operations and liquidity.

We may be unable to protect our proprietary technology.

We depend upon a variety of methods and techniques that we regard as proprietary trade secrets. We also depend upon a variety of trademarks, service marks and designs to promote brand name development and recognition. We rely on a combination of trade secret, copyright, patent, trademark, unfair competition and other intellectual property laws as well as contractual agreements to protect our rights to such intellectual property. Due to the difficulty of monitoring unauthorized use of and access to intellectual property, however, such measures may not provide adequate protection. It is possible that our competitors may access our intellectual property and proprietary information and use it to their advantage. In addition, there can be no assurance that courts will always uphold our intellectual property rights, or enforce the contractual arrangements that we have entered into to protect our proprietary technology. Any unenforceability or misappropriation of our intellectual property could have a material adverse effect on our business, financial condition, results of operations and liquidity.

Furthermore, we cannot assure you that any pending patent application or trademark application made by us will result in an issued patent or registered trademark, or that, if a patent is issued, it will provide meaningful protection against competitors or competitor technologies. In addition, if we bring or become subject to litigation to defend against claimed infringement of our rights or of the rights of others or to determine the scope and validity of our intellectual property rights, such litigation could result in substantial costs and diversion of our resources, which could have a material adverse effect on our business, financial condition, results of operations and liquidity. Unfavorable results in such litigation could also result in the loss or compromise of our proprietary rights, subject us to significant liabilities, require us to seek licenses from third parties on unfavorable terms, or prevent us from manufacturing or selling our products, any of which could have a material adverse effect on our business, financial condition, results of operations and liquidity.

Technological advances, the introduction of new products, and new design and manufacturing techniques could adversely affect our operations unless we are able to adapt to the resulting change in conditions.

Our future success and competitive position depend to a significant extent upon our proprietary technology. We must make significant investments to continue to develop and refine our technologies. We will be required to expend substantial funds for and commit significant resources to research and development activities, the engagement of additional engineering and other technical personnel, the purchase of advanced design, production and test equipment, and the enhancement of design and manufacturing processes and techniques. Our future operating results will depend to a significant extent on our ability to continue to provide design and manufacturing services for new products that compare favorably on the basis of time to introduction, cost and performance with

18

the design and manufacturing capabilities. The success of new design and manufacturing services depends on various factors, including utilization of advances in technology, innovative development of new solutions for customer products, efficient and cost-effective services, timely completion and delivery of new product solutions and market acceptance of customers’ end products. Because of the complexity of our products, we may experience delays from time to time in completing the design and manufacture of new product solutions. In addition, there can be no assurance that any new product solutions will receive or maintain customer or market acceptance. If we are unable to design and manufacture solutions for new products of our customers on a timely and cost-effective basis, such inability could have a material adverse effect on our business, financial condition, results of operations and liquidity.

We may be adversely affected by applicable environmental, health and safety laws and regulations.

We are subject to federal, state, local and foreign laws and regulations governing environment, health and safety (“EHS”) matters, including those regulating discharges to the air and water, the management of wastes, the control of noise and odors, and the maintenance of a safe and healthy operating environment for our employees. We cannot assure you that we are at all times in complete compliance with all such requirements. Like all companies in our industry, we are subject to potentially significant fines or penalties if we fail to comply with various EHS requirements. Such requirements are complex, change frequently, and could become more stringent in the future. Accordingly, we cannot assure you whether these requirements will change in a manner requiring material capital or operating expenditures or will otherwise have a material adverse effect on us in the future. In addition, we are also subject to environmental laws requiring the investigation and clean-up of environmental contamination. We may be subject to liability, including liability for clean-up costs, if contamination is discovered at one of our current or former facilities, in some circumstances even if such contamination was caused by a third party such as a prior owner. We also may be subject to liability if contamination is discovered at a landfill or other location where we have disposed of wastes, notwithstanding that historic disposal practices may have been in accordance with all applicable requirements. We use Orthochlorabenzalmalononitrile and Chloroacetophenone chemical agents in connection with our production of our crowd control products, and these chemicals are hazardous and could cause environmental damage if not handled and disposed of properly. Moreover, private parties may bring claims against us based on alleged adverse health impacts or property damage caused by our operations. The amount of liability for cleaning up contamination or defending against private party claims could be material and have a material adverse effect on our business, financial condition, results of operations and liquidity.

The effects of climate change and increased focus by governmental and non-governmental organizations, customers, consumers and investors on sustainability issues, including those related to climate change and socially responsible activities, may adversely affect our business and financial results and damage our reputation.

Climate change is occurring around the world and may impact our business in numerous ways. Such change could lead to an increase in raw material and packaging prices, reduced availability, for example, due to water shortages which could adversely impact raw material availability. Increased frequency of extreme weather (storms and floods) could cause increased incidence of disruption to the production and distribution of our products and an adverse impact on consumer demand and spending.

Investor advocacy groups, certain institutional investors, investment funds, other market participants, shareholders, and stakeholders have focused increasingly on the environmental, social and governance (“ESG”) and related sustainability practices of companies. These parties have placed increased importance on the implications of the social cost of their investments. If our ESG practices do not meet investor or other stakeholder expectations and standards, which continue to evolve, our brands, reputation and employee retention may be negatively impacted. It is possible that stakeholders may not be satisfied with our ESG practices or the speed of their adoption. We could also incur additional costs and require additional resources to monitor, report, and comply with various ESG practices. Also, our failure, or perceived failure, to manage reputational threats and meet expectations with respect to socially responsible activities and sustainability commitments could negatively impact our credibility, employee retention, and the willingness of our customers and suppliers to do business with us.

We may lose money or generate less than expected profits on our fixed-price contracts.

Our direct government contracts are primarily fixed-price for a specified term. Under these contracts, we agree to perform a specific scope of work or deliver a certain quantity of end items for a fixed price. Typically, we assume more risk with fixed-price contracts since we are subject to rising labor costs and commodity price risk. Fixed-price contracts require us to price our contracts by forecasting our expenditures. When making proposals for fixed-price contracts, we rely on our estimates of costs and timing for completing these projects. These estimates reflect management’s judgments regarding our capability to complete projects efficiently

19

and timely. Our production costs may, however, exceed forecasts due to unanticipated delays or increased cost of materials, components, labor, capital equipment or other factors. Therefore, we may incur losses on fixed price contracts that we had expected to be profitable, or such contracts may be less profitable than expected, which could have a material adverse effect on our business, financial condition, results of operations and liquidity.

Fixed-price contracts represented approximately 11% and 60% of 2023 Product and Distribution segment net sales, respectively.

Our business is subject to various laws and regulations favoring the U.S. government’s contractual position, and our failure to comply with such laws and regulations could harm our operating results and prospects.

As a direct and indirect contractor to the U.S. government, we must comply with laws and regulations relating to the formation, administration and performance of federal government contracts, which effect how we do business with our clients and may impose added costs on our business. These rules generally favor the U.S. government’s contractual position.

For example, these regulations and laws include provisions that subject contracts we have been awarded to:

protest or challenge by unsuccessful bidders; and
unilateral termination, reduction or modification by the government.

The accuracy and appropriateness of certain costs and expenses used to substantiate our direct and indirect costs for the U.S. government under both cost-plus and fixed-price contracts are subject to extensive regulation and audit by the Defense Contract Audit Agency, an arm of the U.S. Department of Defense. Responding to governmental audits, inquiries or investigations may involve significant expense and divert management’s attention. Our failure to comply with these or other laws and regulations could result in contract termination, suspension or debarment from contracting with the federal government, civil fines and damages and criminal prosecution and penalties, any of which could have a material adverse effect on our business, financial condition, results of operations and liquidity.

Our Chief Executive Officer has divided responsibilities and is not required to devote any specified amount of time to our business.

Our Chief Executive Officer, Warren B. Kanders, is also the Executive Chairman of Clarus Corporation, which is in the business of designing, manufacturing, and marketing equipment for outdoor recreation activities. Our employment agreement with Mr. Kanders requires that he devote his time, attention, energy, knowledge, best professional efforts and skills to the duties assigned to him by us, but he is permitted to pursue other professional endeavors and investments that do not violate the terms of his employment agreement, including provisions relative to non-competition. Mr. Kanders’ employment agreement does not require him to devote any specific amount of time to the Company. Accordingly, it is possible that Mr. Kanders will fail to devote the necessary time to our Company which could have a material adverse effect on our business, financial condition, results of operations and liquidity.

We may be subject to disruptions, failures or cyber-attacks in our information technology systems and network infrastructures that could disrupt our operations, damage our reputation and adversely affect our business, operations, and financial results.

We maintain and rely extensively on information technology systems and network infrastructures for the effective operation of our business. Techniques used to gain unauthorized access to private networks are constantly evolving, and we may be unable to anticipate or prevent unauthorized access to data pertaining to our customers, including credit card and debit card information and other personally identifiable information. Like all Internet services, our direct-to-consumer service, which is supported by our own systems and those of third-party vendors, is vulnerable to computer viruses, Internet worms, break-ins, phishing attacks, attempts to overload servers with denial-of-service or other attacks and similar disruptions from unauthorized use of our and third-party vendor computer systems, any of which could lead to system interruptions, delays or shutdowns, causing loss of critical data or the unauthorized access to personally identifiable information. If an actual or perceived breach of our systems or a vendor’s systems security occurs, we may face civil liability and public perception of our security measures could be diminished, either of which would negatively affect our ability to attract customers, which could have a material adverse effect on our business. We also would be required to expend significant resources to mitigate the breach of security and to address related matters.

20

Further, a disruption, infiltration or failure of our information technology systems or any of our data centers including the systems and data centers of our third-party vendors as a result of software or hardware malfunctions, computer viruses, cyber-attacks, employee theft or misuse, power disruptions, natural disasters or accidents could cause breaches of data security and loss of critical data, which in turn could materially adversely affect our business.

We cannot fully control the actions of third parties who may have access to the customer data we collect and the customer data collected by our third party vendors. We may be unable to monitor or control such third parties and the third parties having access to our other websites in their compliance with the terms of our privacy policies, terms of use, and other applicable contracts, and we may be unable to prevent unauthorized access to, or use or disclosure of, customer information. Any such misuse could hinder or prevent our efforts with respect to growth opportunities and could expose us to liability or otherwise adversely affect our business. In addition, these third parties may become the victim of security breaches or have practices that may result in a breach, and we could be responsible for those third-party acts or failures to act.

Any failure, or perceived failure, by us or the prior owners of acquired businesses to maintain the security of data relating to our customers and employees, to comply with our posted privacy policies, our predecessors’ posted policies, laws and regulations, rules of self-regulatory organizations, or industry standards and contractual provisions to which we or they may be bound, could result in the loss of confidence in us, or result in actions against us by governmental entities or others, all of which could result in litigation and financial losses, and could potentially cause us to lose customers, revenue and employees.

Initiatives to upgrade our business processes and information technology systems to optimize our operational and financial performance involve many risks which could result in, among other things, business interruptions, higher costs and lost profits.

We regularly implement business process improvement and information technology initiatives intended to optimize our operational and financial performance. Transitioning to these new or upgraded processes and systems requires significant capital investments and personnel resources. Implementation is also highly dependent on the coordination of numerous employees, contractors and software and system providers. The interdependence of these processes and systems is a significant risk to the successful completion and continued refinement of these initiatives, and the failure of any aspect could have a material adverse effect on the functionality of our overall business. We may also experience difficulties in implementing or operating our new or upgraded business processes or information technology systems, including, but not limited to, ineffective or inefficient operations, significant system failures, system outages, delayed implementation and loss of system availability, which could lead to increased implementation and/or operational costs, loss or corruption of data, delayed shipments, excess inventory and interruptions of operations resulting in lost sales and/or profits.

We rely on information technology systems, including third-party cloud-based solutions, and any failure of these systems, including, without limitation, due to outages and/or cyberattacks, may result in disruptions or outages, loss of processing capabilities, and/or loss of data, any of which may have a material adverse effect on our business, operations, and financial results.

Our reputation and ability to attract, retain and serve consumers is dependent upon the reliable performance of our underlying technology infrastructure and external service providers, including third-party cloud-based solutions. These systems are vulnerable to damage or interruption and we have experienced interruptions in the past. We rely on cloud-based solutions furnished by third parties primarily to allocate resources, pay vendors, collect from customers, process transactions, develop demand and supply plans, manage product design, production, transportation, and distribution, forecast and report operating results, meet regulatory requirements and administer employee payroll and benefits, among other functions. We have also designed a significant portion of our software and computer systems to utilize data processing and storage capabilities from third-party cloud solution providers. Both our on-premises and cloud-based infrastructure may be susceptible to outages due to any number of reasons, including, human error, fire, floods, power loss, telecommunications failures, terrorist attacks and similar events. Despite the implementation of security measures that we believe to be reasonable, both our on-premises and our cloud-based infrastructure may also be vulnerable to hacking, computer viruses, the installation of malware and similar disruptions either by third-parties or employees, which may result in outages. We do not have redundancy for all of our systems and our disaster recovery planning may not account for all eventualities. If we or our existing third-party cloud-based solution providers experience interruptions in service regularly or for a prolonged basis, or other similar issues, our business could be seriously harmed and, in some instances, our consumers may not be able to purchase our products, which could significantly and negatively affect our sales. Additionally, our existing cloud-based solution providers have broad discretion to change and interpret their terms of service and other policies with respect to us, and they may take actions beyond our control that could harm

21

our business. We also may not be able to control the quality of the systems and services we receive from our third-party cloud-based solution providers. Any transition of the cloud-based solutions currently provided to different cloud providers would be difficult to implement and may cause us to incur significant time and expense.

If we and/or our cloud-based solution providers are not successful in preventing or effectively responding to outages and cyberattacks, our business, operations, and financial results could be materially and adversely affected.

Additionally, information technology systems require periodic modifications, upgrades, and replacement that subject us to costs and risks, including potential disruption to our internal control structure, substantial capital expenditures, additional administration and operating expenses, retention of sufficiently skilled personnel or outside firms to implement and operate existing or new systems, and other risks and costs of delays or difficulties in transitioning to new or modified systems or of integrating new or modified systems into our current systems. In addition, challenges implementing new or modified technology systems may cause disruptions in our business operations and, if not anticipated and appropriately mitigated, could have a material adverse effect on our business operations.

Misuse of our products may adversely affect the Company’s reputation.

The target end users of the products that we sell, which include firearms, ammunition and body armor, are licensed professionals that include state and local law enforcement, federal agencies, foreign police, military agencies as well as private security firms. However, if any misuse of our products were to occur, the Company’s reputation could be harmed. The occurrence of any misuse of our products could seriously damage our reputation and the image of our brands or cause our customers to consider alternatives to the Company’s products, which could have a material adverse effect on our business, financial condition, results of operations and liquidity.

Adverse publicity about the Company and/or its brands, including without limitation, through social media or in connection with brand damaging events and/or public perception, could negatively impact our business.

Negative claims or publicity involving us, our board of directors, our brands, our products, services and experiences, consumer data, or any of our key employees, or suppliers could seriously damage our reputation and the image of our brands, regardless of whether such claims are accurate. Social media, which accelerates and potentially amplifies the scope of negative publicity, can increase the challenges of responding to negative claims. Negative attention or scrutiny on the various products sold by our brands can also possibly result in negative publicity. For example, heightened governmental scrutiny of the safety of crowd control products has resulted in requests by two subcommittees of the U.S. House Committee on Oversight and Reform for information from major U.S. manufacturers, including us, relating to the production, sale, safety, and regulation of crowd control products. Congressional scrutiny and other similar inquiries by governmental bodies may damage our reputation and may also result in potential legislation designed to regulate the various products sold by our brands.

Adverse publicity could also damage our reputation and the image of our brands, undermine consumer confidence in us and reduce long-term demand for our products, even if such adverse publicity is unfounded or not material to our operations. If the reputation, culture or image of any of our brands is tarnished or receives negative publicity, then our business, financial condition, results of operations and liquidity could be materially adversely affected.

The terms of our outstanding long-term debt and any requirements to incur further indebtedness or refinance our outstanding indebtedness in the future could have a material adverse effect on our business and results of operations.

Our significant payment obligations under the terms of our long-term debt, $141.3 million of which was outstanding as of December 31, 2023, together with any additional indebtedness we may incur in the future (including under the 2021 Credit Agreement (herein defined)), could adversely affect our business, financial condition, results of operations and prospects. For example, our indebtedness or any additional financing may:

make it more difficult for us to pay or refinance debts as they become due;
require us to use a larger portion of cash flow for debt service, reducing funds available for other purposes;

22

limit our ability to pursue business opportunities, such as potential acquisitions, and to react to changes in market or industry conditions;
reduce the funds available for other purposes, such as implementing our strategy, funding capital expenditures and making distributions to stockholders;
increase our vulnerability to adverse economic, industry or competitive developments;
affect our ability to obtain additional financing;
decrease our profitability or cash flow, or require us to dispose of significant assets in order to satisfy debts and other obligations if we are not able to satisfy these obligations using cash from operations or other sources; and
disadvantage us compared to competitors.

Any of the foregoing, alone or in combination, could have a material adverse effect on our business, financial condition, results of operations and prospects. A breach of, or the inability to comply with, the covenants in our term loan facility and revolving credit agreement could result in an event of default, in which case the lenders will have the right to declare all borrowings to be immediately due and payable, which would have a material adverse effect on our business, financial condition, results of operations and prospects and could lead to foreclosure on our assets.

In the future, we may need to refinance our indebtedness. However, additional financing may not be available on favorable commercial terms to us, or at all. If, at such time, market conditions are materially different or our credit profile has deteriorated, the cost of refinancing such debt may be significantly higher than our indebtedness existing at that time. Furthermore, we may not be able to procure refinancing at all. Any failure to meet any future debt service obligations through use of cash flow, refinancing or otherwise, could have a material adverse effect on our business, financial condition, results of operations and prospects.

Our business is significantly dependent on our ability to meet our labor needs.

The success of our business depends significantly on our ability to hire and retain quality team members, which include but are not limited to managers and other personnel. Competition for non-entry-level personnel, particularly those with experience in our industry, is highly competitive. We may be unable to meet our labor needs and control our costs due to external factors such as the availability of a sufficient number of qualified persons in the workforce of the markets in which we operate, competition, unemployment levels, demand for certain labor expertise, prevailing wage rates, wage inflation, changing demographics, health and other insurance costs, adoption of new or revised employment and labor laws and regulations, and the impacts of man-made or natural disasters, such as tornadoes, hurricanes, and public health emergencies, such as the COVID-19 pandemic. We have experienced, and expect to continue to experience, a shortage of labor for certain functions, which has increased our labor costs and negatively impacted our profitability. The extent and duration of the effect of these labor market challenges are subject to numerous factors, including the availability of qualified persons in the markets where we and our vendors and customers operate and unemployment levels within these markets, behavioral changes, prevailing wage rates and other benefits, inflation, adoption of new or revised employment and labor laws and regulations (including increased minimum wage requirements) or government programs, safety levels of our operations, and our reputation within the labor market.

Recent or potential future legislative initiatives may seek to increase the federal minimum wage in the United States, as well as the minimum wage in a number of individual states or markets. As federal or state minimum wage rates increase, we may need to increase not only the wage rates of our minimum wage team members, but also the wages paid to our other hourly team members as well. Further, should we fail to increase our wages competitively in response to increasing wage rates, the quality of our workforce could decline, causing our customer service to suffer. Additionally, the U.S. Department of Labor has proposed rules that may have salary and wage impact for “exempt” team members, which could result in a substantial increase in store payroll expense. Any increase in the cost of our labor could have an adverse effect on our operating costs, financial condition and results of operations, which in turn can materially adversely affect our business.

Although none of our employees are currently covered under collective bargaining agreements, we cannot guarantee that employees will not elect to be represented by labor unions in the future. If some or our entire workforce were to become unionized and collective bargaining agreement terms were significantly different from our current compensation arrangements or work practice, it could have a material adverse effect on our business, financial condition, results of operations and liquidity.

23

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

Electricity and natural gas are used to operate equipment at manufacturing facilities. 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, results of operations and liquidity.

Alpha Safety’s nuclear operations subject us to various environmental, regulatory, financial and other risks.

Alpha Safety’s operations involve the design and manufacture of nuclear waste handling, transportation, and storage products, as well as radioactive material identification, protection, and alarms systems and services, including onsite support services, for commercial and governmental sectors, and subjects us to various risks, including:

• potential liabilities relating to harmful effects on the environment and human health resulting from nuclear operations and the storage, handling and disposal of radioactive materials;

• unplanned expenditures relating to maintenance, operation, security, defects, upgrades and repairs required by the NRC and other government agencies;

• limitations on the amounts and types of insurance commercially available to cover losses that might arise in connection with nuclear operations; and

• potential liabilities arising out of a nuclear, radiological or criticality incident, whether or not it is within our control.

Alpha Safety’s operations are subject to various safety-related requirements imposed by the U.S. Government, including the DoE and the NRC. In the event of non-compliance, these agencies might increase regulatory oversight, impose fines or shut down our operations, depending upon the assessment of the severity of the situation. Revised security and safety requirements promulgated by these agencies could necessitate substantial capital and other expenditures which could have a material adverse effect on our business, results of operations, and financial condition.

Alpha Safety’s business engages in the design and manufacture of nuclear waste and/or radioactive materials handling, transportation, and storage products, and environmental laws and regulations and civil liability for contamination of the environment or related personal injuries may result in liability without regard to fault or negligence.

Alpha Safety’s operations involve the design and manufacture of nuclear waste and/or radioactive materials handling, transportation, and storage products, as well as radioactive material identification, protection, and alarms systems and services, including onsite support services, for commercial and governmental sectors.

A release of nuclear waste and/or radioactive material could pose a health risk to humans or animals. If an accident were to occur, its severity would depend on the volume of the release and the speed of corrective action taken by emergency response personnel, as well as other factors beyond our control, such as weather and wind conditions. Actions taken in response to an actual or suspected release of these hazardous materials, including a precautionary evacuation, could result in significant costs for which we could be legally responsible. In addition to health risks, a release of these materials may cause damage to, or the loss of, property and may adversely affect property values.

Alpha Safety also supplies equipment and services to operators of nuclear energy facilities including, facilities operated by the DOE. Pursuant to the Price-Anderson Act, the DoE has provided PAA indemnification by incorporating its Nuclear Hazards Indemnity Agreement into contracts deemed to involve a risk of nuclear liability, which such indemnity protects subcontractors in work that entails radiological risk. If an incident or evacuation is not covered under DoE indemnification, we could be financially

24

liable for damages arising from such incident or evacuation, which could have an adverse effect on our results of operations and financial condition.

While the DoE has provided indemnification pursuant to the Price-Anderson Act, there could be delays in obtaining reimbursement for costs from the DoE and the DoE may determine that some or all costs are not reimbursable under the indemnification. In addition, the Price-Anderson Act indemnification does not cover loss or damage to property located on a nuclear energy facility due to a nuclear incident. These claims could include allegations of damages that are not covered by the Price-Anderson Act. If the DoE were to determine that the Price-Anderson Act did not apply to any claims or allegations asserted against Alpha Safety, we would have to pay all or part of any damages awarded as a result of such claims and the cost to us, including legal fees, could adversely affect our results of operations and financial condition.

The Price-Anderson Act’s indemnification provisions may not apply to all liabilities that we might incur while performing services as a contractor for the DoE and the nuclear power industry. If an incident or evacuation is not covered under the Price-Anderson Act’s indemnification provisions, we could be held liable for damages, regardless of fault, which could have an adverse effect on our financial condition and results of operations.

In Alpha Safety’s contracts, it seeks to protect itself from liability associated with accidents, but there can be no assurance that such contractual limitations on liability will be effective in all cases or that Alpha Safety’s or its customers’ insurance will cover all the liabilities it has assumed under those contracts. The costs of defending against a claim arising out of a nuclear incident or precautionary evacuation, and any damages awarded as a result of such a claim, could adversely affect our results of operations and financial condition.

Alpha Safety maintains insurance coverage as part of our overall risk management strategy and due to requirements to maintain specific coverage in many of our contracts. These policies do not protect against all liabilities associated with accidents or for unrelated claims. In addition, comparable insurance may not continue to be available to us in the future at acceptable prices, or at all.

Alpha Safety’s business may suffer if it or its employees are unable to obtain the security clearances or other qualifications needed to perform services for its customers.

Alpha Safety derives a portion of its revenue from programs with the U.S. government and its agencies that provide access to classified information, technology, facilities or programs. In general, access to classified information, technology, facilities or programs requires appropriate personnel security clearances, and is subject to additional oversight as well as potential liability and may also require appropriate facility clearances and other specialized infrastructure. Many of Alpha Safety’s contracts with the U.S. government and its agencies also require it to have security clearances and employ personnel with specified levels of education, work experience and security clearances. Depending on the level of clearance, security clearances can be difficult and time-consuming to obtain. If Alpha Safety or its employees lose or are unable to obtain necessary security clearances, it may not be able to win new business and its existing government customers could terminate their contracts with us or decide not to renew them. To the extent Alpha Safety cannot obtain or maintain the required security clearances for its employees working on a particular contract, Alpha Safety may not generate the revenues anticipated from the contract which could cause Alpha Safety’s results to differ materially and adversely from those anticipated.

Risks Related to our Acquisition Strategy

A number of other companies are seeking to make acquisitions in our industry, which may make our acquisition strategy more difficult or expensive to pursue.

We compete with many other companies, and certain of them have greater financial resources than we do for pursuing and consummating acquisitions and to further develop and integrate acquired businesses. Our strategy of growing through the acquisition of businesses and assets relies on our ability to consummate acquisitions to develop and offer new products that foster the growth of our core business, and to establish ourselves in other geographic regions and related businesses in which we do not currently operate. Increased competition for acquisition opportunities may impede our ability to acquire these companies because they choose another acquirer. It could also increase the price that we must pay for these companies. Either of these outcomes could reduce our growth, harm our business and adversely impact our ability to consummate acquisitions.

25

We may be unsuccessful in identifying suitable acquisition candidates, which may negatively impact our competitive position and our growth strategy.

In addition to organic growth, our future growth will be driven by our selective acquisition of additional businesses, our competitors and complementary businesses. Our growth through acquisitions, to date, has consisted of 16 acquisitions and two divestitures. We may be unable to identify other suitable targets for future acquisition or acquire businesses at favorable prices, which would negatively impact our growth strategy. We may not be able to execute our growth strategy through organic expansion, and if we are unable to identify and successfully acquire new businesses complementary to ours, we may not be able to offer new products in line with industry trends.

The due diligence process that we undertake in connection with acquisitions may not reveal all facts that may be relevant in connection with an investment.

Before making acquisitions and other investments, we conduct due diligence of the target company that we deem reasonable and appropriate based on the facts and circumstances applicable to each acquisition. The objective of the due diligence process is to assess the investment opportunities based on the facts and circumstances surrounding an investment or acquisition. When conducting due diligence, we may be required to evaluate important and complex business, financial, tax, accounting, environmental and legal issues. The due diligence process may at times be subjective with respect to newly-organized companies for which only limited information is available. Accordingly, we cannot be certain that the due diligence investigation that we conduct with respect to any investment or acquisition opportunity will reveal or highlight all relevant facts that may be necessary or helpful in evaluating such investment opportunity. For example, instances of fraud, accounting irregularities and other deceptive practices can be difficult to detect. Executive officers, directors and employees may be named as defendants in litigation involving a company we are acquiring or have acquired. Even if we conduct extensive due diligence on a particular investment or acquisition, we may fail to uncover all material issues relating to such investment, including regarding the controls and procedures of a particular target or the full scope of its contractual arrangements. We rely on our due diligence to identify potential liabilities in the businesses we acquire, including such things as potential or actual lawsuits, contractual obligations or liabilities imposed by government regulation. However, our due diligence process may not uncover these liabilities, and where we identify a potential liability, we may incorrectly believe that we can consummate the acquisition without subjecting ourselves to that liability. If our due diligence fails to identify issues specific to an investment or acquisition, we may obtain a lower return from that transaction than the investment would return or otherwise subject ourselves to unexpected liabilities.

We may face difficulty in integrating the operations of the businesses we have acquired, including, without limitation, ICOR and Alpha Safety, and may acquire in the future.

Acquisitions have been and will continue to be an important component of our growth strategy; however, we will need to integrate these acquired businesses successfully in order for our growth strategy to succeed and for our Company to be profitable. We will implement, and the management teams of the acquired businesses will adopt, our policies, procedures and best practices. We may face difficulty with the integration of the businesses we acquire, such as coordinating geographically dispersed organizations, integrating personnel with disparate business backgrounds and combining different corporate cultures. Furthermore, we may fail in implementing our policies and procedures, or the policies and procedures may not be effective or provide the results we anticipate for a particular business. Further, we will be relying on these policies and procedures in preparing our financial and other reports as a public company, so any failure of acquired businesses to properly adopt these policies and procedures could impair our public reporting. Management of the businesses we acquire may not have the operational or business expertise that we require to successfully implement our policies, procedures and best practices.

We typically retain the management of the businesses we acquire and rely on them to continue running their businesses, which leaves us vulnerable in the event they leave our Company.

We seek to acquire businesses that have strong management teams that will continue to run the business after the acquisition. We often rely on these individuals to conduct the day-to-day operations, and pursue the growth, of these acquired businesses. Although we typically seek to sign employment agreements with the managers of acquired businesses, it remains possible that these individuals will leave our organization. This would harm the prospects of the businesses they manage, potentially causing us to lose money on our investment and harming our growth and financial results.

26

We may be required to take write downs or write-offs, restructuring, and impairment or other charges that could have a significant negative effect on our financial condition, results of operations and our stock price, which could cause you to lose some or all of your investment.

In connection with our general growth strategy of acquiring businesses and assets, we may be forced to write-down or write-off assets, restructure our operations, or incur impairment or other charges that could result in us reporting losses. Even though these charges may be non-cash items and not have an immediate impact on our liquidity, the fact that we report charges of this nature could contribute to negative market perceptions about us or our common stock.

Risks Related to Ownership of our Common Stock

Our executive officers, directors and principal stockholders, if they choose to act together, will continue to have the ability to control all matters submitted to stockholders for approval.

Our executive officers, directors and stockholders who own more than 5% of our outstanding common stock and their respective affiliates held, in the aggregate, shares representing approximately 63.1% of our outstanding voting stock. As a result, if these stockholders were to choose to act together, they would be able to control or significantly influence all matters submitted to our stockholders for approval, as well as our management and affairs. For example, these persons, if they choose to act together, would control or significantly influence the election of directors and approval of any merger, consolidation or sale of all or substantially all of our assets. This concentration of ownership control may:

delay, defer or prevent a change in control;
entrench our management and the board of directors; or
impede a merger, consolidation, takeover or other business combination involving us that other stockholders may desire.

Shares of our common stock have been, and may continue to be, thinly traded, which may contribute to volatility in our stock price and less liquidity for investors.

The trading volume of our common stock has varied, and at times may be characterized as thinly traded.  As a result of this thin trading market or “float” for our common stock, our common stock has been, and may continue to be, less liquid than the common stock of companies with broader public ownership.  If our common stock is thinly traded, the trading of a relatively small volume of our common stock may have a greater impact on the trading price of our common stock than would be the case if our float were larger.  As a result, the trading prices of our common stock may be more volatile than the common stock of companies with broader public ownership, and an investor be unable to liquidate an investment in our common stock at attractive prices.

We cannot predict the prices at which our common stock will trade in the future. Variations in financial results, announcements of material events, changes in our dividend policy, technological innovations or new products by us or our competitors, our quarterly operating results, changes in general conditions in the economy or government spending on law enforcement and military, other developments affecting us or our competitors or general price and volume fluctuations in the market are among the many factors that could cause the market price of our common stock to fluctuate substantially.

Our stock price may be volatile or may decline regardless of our operating performance, resulting in substantial losses for investors.

The market price of our common stock may fluctuate significantly in response to numerous factors, many of which are beyond our control, including:

actual or anticipated fluctuations in our results of operations;
the financial projections we may provide to the public, any changes in these projections or our failure to meet these projections;
failure of securities analysts to initiate or maintain coverage of our company, changes in financial estimates or ratings by any securities analysts who follow our company or our failure to meet these estimates or the expectations of investors;

27

announcements by us or our competitors of significant technical innovations, acquisitions, strategic partnerships, joint ventures, operating results or capital commitments;
changes in operating performance and stock market valuations of other technology or retail companies generally, or those in our industry in particular;
price and volume fluctuations in the overall stock market, including as a result of trends in the economy as a whole;
changes in our board of directors or management;
sales of large blocks of our common stock, including sales by our executive officers, directors and significant stockholders;
lawsuits threatened or filed against us;
changes in laws or regulations applicable to our business;
the expiration of contractual lock-up agreements;
changes in our capital structure, such as future issuances of debt or equity securities;
short sales, hedging and other derivative transactions involving our capital stock;
general economic conditions in the United States and abroad;
other events or factors, including those resulting from war, pandemics, incidents of terrorism or responses to these events; and
the other factors described in the sections of the Annual Report on Form 10-K titled “Risk Factors” and “Special Note Regarding Forward-Looking Statements.”

In addition, stock markets have experienced extreme price and volume fluctuations that have affected and continue to affect the market prices of equity securities of many companies. Stock prices of many companies have fluctuated in a manner unrelated or disproportionate to the operating performance of those companies. In the past, stockholders have instituted securities class action litigation following periods of market volatility. If we were to become involved in securities litigation, it could subject us to substantial costs, divert resources and the attention of management from our business and have a materially adverse effect on our business, financial condition, results of operations and liquidity.

Substantial future sales of shares of our common stock could cause the market price of our common stock to decline.

Sales of a substantial number of shares of our common stock in the public market, or the perception that these sales might occur, could depress the market price of our common stock and could impair our ability to raise capital through the sale of additional equity securities. We are unable to predict the effect that such sales may have on the prevailing market price of our common stock.

If securities or industry analysts do not publish research or reports about our business, or publish negative reports about our business, our share price and trading volume could decline.

The trading market for our common stock will depend in part on the research and reports that securities or industry analysts publish about us or our business, our market and our competitors. We do not have any control over these analysts. If one or more of the analysts who cover us downgrade our shares or change their opinion of our shares, our share price would likely decline. If one or more of these analysts cease coverage of our company or fail to regularly publish reports on us, we could lose visibility in the financial markets, which could cause our share price or trading volume to decline.

28

We are an emerging growth company, and any decision on our part to comply only with certain reduced reporting and disclosure requirements applicable to emerging growth companies could make our common stock less attractive to investors.

We are an “emerging growth company,” as defined in the JOBS Act, and, for as long as we continue to be an emerging growth company, we may choose to take advantage of exemptions from various reporting requirements applicable to other public companies but not to emerging growth companies, including:

not being required to have our independent registered public accounting firm audit our internal control over financial reporting under Section 404 of the Sarbanes-Oxley Act of 2002 (the “Sarbanes Oxley Act”);
reduced disclosure obligations regarding executive compensation in our periodic reports and annual report on Form 10-K; and
exemptions from the requirements of holding non-binding advisory votes on executive compensation and stockholder approval of any golden parachute payments not previously approved.

We could be an emerging growth company until December 31, 2026. Our status as an emerging growth company will end as soon as any of the following takes place:

the last day of the fiscal year in which we have more than $1.07 billion in annual revenue;
the date we qualify as a “large accelerated filer,” with at least $700 million of equity securities held by non-affiliates;
the date on which we have issued, in any three-year period, more than $1.0 billion in non-convertible debt securities; or
the last day of the fiscal year ending after the fifth anniversary of the completion of our initial public offering, which is December 31, 2026.

We cannot predict if investors will find our common stock less attractive if we choose to rely on any of the exemptions afforded emerging growth companies. If some investors find our common stock less attractive because we rely on any of these exemptions, there may be a less active trading market for our common stock and the market price of our common stock may be more volatile.

Under the JOBS Act, emerging growth companies can also delay adopting new or revised accounting standards until such time as those standards apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.

Compliance with changing laws, regulations and standards of corporate governance and public disclosure may result in additional expenses.

Changing laws, regulations and standards relating to corporate governance and public disclosure, including the Sarbanes-Oxley Act of 2002, the Dodd-Frank Wall Street Reform and Consumer Protection Act, new Securities and Exchange Commission regulations and NASDAQ rules, are creating uncertainty for companies such as ours. These new or changed laws, regulations, and standards are subject to varying interpretations, in many cases due to their lack of specificity. As a result, their application in practice may evolve over time as new guidance is provided by regulatory and governing bodies, which could result in continuing uncertainty regarding compliance matters and higher costs necessitated by ongoing revisions to disclosure and governance practices. We are committed to maintaining high standards of corporate governance and public disclosure. As a result, our efforts to comply with evolving laws, regulations, and standards have resulted in, and are likely to continue to result in, increased general and administrative expenses and a diversion of management time and attention from revenue-generating activities to compliance activities.

29

Anti-takeover provisions in our charter documents and under Delaware law could make an acquisition of our company more difficult, limit attempts by our stockholders to replace or remove our current management and limit the market price of our common stock, which may also have the consequence of depressing the market price of our common stock.

Our status as a Delaware corporation and the anti-takeover provisions of Delaware law may discourage, delay, or prevent a change in control by prohibiting us 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 stockholder, even if a change of control would be beneficial to our existing stockholders. In addition, our amended and restated certificate of incorporation and amended and restated bylaws contain provisions that may make the acquisition of our company more difficult, including the following:

permitting the board of directors, and not stockholders, to establish the number of directors and fill any vacancies and newly created directorships;
authorizing the issuance of “blank check” preferred stock that our board of directors could use to implement a stockholder rights plan;
restricting the forum for certain litigation against us to Delaware;
establishing advance notice requirements for nominations for election to our board of directors or for proposing matters that can be acted upon by stockholders at annual stockholder meetings;
preventing stockholders from taking any action except at a formal meeting of stockholders;
requiring certain amendments to our amended and restated certificate of incorporation to be approved by the holders of at least 66 2/3% of our then-outstanding common stock; and/or
requiring that any special meeting of our stockholders will only be able to be called by a majority of our board of directors, the chairperson of our board of directors, our Chief Executive Officer, or our President.

These provisions, alone or together, may (a) frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to select or replace members of our board of directors, which is responsible for appointing the members of our management; (b) discourage, delay, or prevent a transaction involving a change in control of our Company; and/or (c) discourage proxy contests, any of which, under certain circumstances, could limit the opportunity for our stockholders to receive a premium for their shares of our common stock, and could also affect the market price of our common stock.

Our amended and restated bylaws provide that the Court of Chancery of the State of Delaware will be the exclusive forum for substantially all disputes between us and our stockholders, which could limit our stockholders’ ability to obtain a favorable judicial forum for disputes with us or our directors, officers or employees.

Our amended and restated bylaws provide that the Court of Chancery of the State of Delaware (or other state courts of the State of Delaware if the Court of Chancery in the State of Delaware does not have jurisdiction or the federal district court for the District of Delaware if no state court in the State of Delaware has jurisdiction) is the exclusive forum for any derivative action or proceeding brought on our behalf; any action asserting a breach of fiduciary duty; any action asserting a claim against us arising pursuant to the Delaware General Corporation Law, our certificate of incorporation or our bylaws; or any action asserting a claim against us that is governed by the internal affairs doctrine or any action asserting an “internal corporate claim” as that term is defined in Section 115 of the Delaware General Corporation Law. Our amended and restated bylaws provide that this choice of forum does not apply to any complaint asserting a cause of action under the Securities Act or the Exchange Act. Finally, our amended and restated bylaws provide that the federal district courts of the United States of America will be the sole and exclusive forum for the resolution of any complaint asserting a cause of action arising under the Securities Act or the Exchange Act. Although we believe this provision benefits us by providing increased consistency in the application of Delaware law in the types of lawsuits to which it applies, a court may determine that this provision is unenforceable, and to the extent it is enforceable, the provision may have the effect of discouraging lawsuits against our directors and officers, although our stockholders cannot waive our compliance with federal securities laws and the rules and regulations thereunder.

Our amended and restated bylaws provide that the exclusive forum provision will be applicable to the fullest extent permitted by applicable law. Section 27 of the Exchange Act creates exclusive federal jurisdiction over all suits brought to enforce any duty or

30

liability created by the Exchange Act or the rules and regulations thereunder. As a result, the exclusive forum provision will not apply to suits brought to enforce any duty or liability created by the Exchange Act or any other claim for which the federal courts have exclusive jurisdiction.

Our payment of future quarterly dividends on our common stock is subject to the discretion and approval of our board of directors.

On January 23, 2024, the Company announced that its board of directors approved the initiation of a quarterly cash dividend policy of $0.0875 per share of the Company’s common stock (the “Quarterly Cash Dividend”) or $0.35 per share on an annualized basis, representing an increase of 3 cents over the previous annualized dividend of $0.32 per share. While we intend to pay regular Quarterly Cash Dividends for the foreseeable future, all subsequent dividends will be reviewed quarterly and declared at the discretion and approval of our board of directors and will depend upon, among other things, our results of operations, capital requirements, general business conditions, contractual restrictions under our 2021 Credit Agreement on the payment of dividends, legal and regulatory restrictions on the payment of dividends, and other factors our board of directors deems relevant. Therefore, you should not purchase our common stock if you need immediate or future income by way of dividends from your investment. In addition, upon an event of default under our 2021 Credit Agreement, we are prohibited from declaring or paying any dividends on our common stock or generally making other distributions to our stockholders.

We could be subject to securities class action litigation.

In the past, securities class action litigation has often been brought against a company following a decline in the market price of its securities. If we face such litigation, it could result in substantial costs and a diversion of management’s attention and resources, which could harm our business.

Our amended and restated certificate of incorporation authorizes the issuance of shares of blank check preferred stock.

Our amended and restated certificate of incorporation provides that our board of directors will be authorized to issue from time to time, without further stockholder approval, up to 10,000,000 shares of preferred stock in one or more series and to fix or alter the designations, preferences, rights and any qualifications, limitations or restrictions of the shares of each series, including the dividend rights, dividend rates, conversion rights, voting rights, terms of redemption, including sinking fund provisions, redemption price or prices, liquidation preferences and the number of shares constituting any series or designations of any series. Such shares of preferred stock could have preferences over our common stock with respect to dividends and liquidation rights. We may issue additional preferred stock in ways which may delay, defer or prevent a change in control of us without further action by our stockholders. Such shares of preferred stock may be issued with voting rights that may adversely affect the voting power of the holders of our common stock by increasing the number of outstanding shares having voting rights, and by the creation of class or series voting rights.

We may issue a substantial amount of our common stock in connection with future acquisitions, and the sale of those shares could adversely affect our stock price.

As part of our acquisition strategy, we anticipate issuing additional shares of common stock as consideration for such acquisitions. To the extent that we are able to grow through acquisitions and issue shares of our common stock as consideration, the number of outstanding shares of common stock that will be eligible for sale in the future is likely to increase substantially. Persons receiving shares of our common stock in connection with these acquisitions may be more likely to sell large quantities of their common stock, which may influence the price of our common stock. In addition, the potential issuance of additional shares in connection with anticipated acquisitions could lessen demand for our common stock and result in a lower price than would otherwise be obtained.

Techniques employed by short sellers or other derivative traders may drive down the market price of our common stock and/or spur litigation or regulatory action.

Short selling is the practice of selling securities that a seller does not own but rather has borrowed from a third party with the intention of buying identical securities back at a later date to return to the lender. Short sellers hope to profit from a decline in the value of the securities between the sale of the borrowed securities and the purchase of the replacement securities, as short sellers expect to pay less in that purchase than they received in the sale. As it is in short sellers’ interest for the price of the security to

31

decline, many short sellers publish, or arrange for the publication of, negative opinions and allegations regarding the relevant issuer and its business prospects in order to create negative market momentum and generate profits for themselves after selling a security short. These short attacks have, in the past, led to selling of shares in the market.

If we were to become the subject of unfavorable allegations contained in short reports, whether such allegations are proven to be true or untrue, we may have to expend a significant amount of resources to investigate such allegations and/or defend ourselves. While we would prefer to strongly defend against any such short seller attacks, we may be constrained in the manner in which we can proceed against the relevant short sellers by principles of freedom of speech, applicable state law or issues of commercial confidentiality. Such a situation could be costly and time-consuming, and could divert management’s attention from our day-to-day operations. Even if such allegations are ultimately proven to be groundless, allegations against us could severely impact the market price of our common stock and our business operations.

Item 1B. Unresolved Staff Comments

None.

Item 1C. Cybersecurity

Risk Management and Strategy

We have established policies and processes for assessing, identifying, and managing material risk from cybersecurity threats, and have integrated these processes into our overall risk management systems and processes. We routinely assess material risks from cybersecurity threats, including any potential unauthorized occurrence on or conducted through our information systems that may result in adverse effects on the confidentiality, integrity, or availability of our information systems or any information residing therein.

We conduct annual risk assessments to identify cybersecurity threats. These risk assessments include identifying reasonably foreseeable potential internal and external risks, the likelihood of occurrence and any potential damage that could result from such risks, and the sufficiency of existing policies, procedures, systems, controls, and other safeguards in place to manage such risks. As part of our risk management process, we may engage third party experts to help identify and assess risks from cybersecurity threats.

Following these risk assessments, we design, implement, and maintain reasonable safeguards to minimize the identified risks; reasonably address any identified gaps in existing safeguards; update existing safeguards as necessary; and monitor the effectiveness of our safeguards. We believe that we have allocated adequate resources to address the cybersecurity threats that may affect the Company. Our Vice President of Information Technology and our Information Security Officer manage the Company’s cybersecurity risk assessment as well as mitigation process and also oversee our Incident Response Team which also includes Vice Presidents of Legal, Human Resources and Tax. The Company also participates in a cybersecurity risk insurance policy.

For additional information regarding cybersecurity threats that may materially affect the Company, including our business strategy, results of operations, or financial condition, please refer to Item 1A, “Risk Factors,” in this Annual Report on Form 10-K , including the risk factors entitled “We may be subject to disruptions, failures or cyber-attacks in our information technology systems and network infrastructures that could disrupt our operations, damage our reputation and adversely affect our business, operations, and financial results,” and “We rely on information technology systems, including third-party cloud-based solutions, and any failure of these systems due to outages and/or cyberattacks may result in disruptions or outages, loss of processing capabilities, and/or loss of data, any of which may have a material adverse effect on our business, operations, and financial results.”

Governance

One of the functions of our Board of Directors is informed oversight of our risk management process, including risks from cybersecurity threats. Our Board of Directors is responsible for overseeing and assessing strategic risk exposure, and our executive officers are responsible for the day-to-day management of the material risks we face. Our Board of Directors administers its cybersecurity risk oversight function directly as a whole and through its committees. In particular, the Audit Committee of our Board of Directors plays a large role in overseeing and assessing our financial, legal and operational risks, and receives reports from the management team regarding organizational risk as well as particular areas of concern, which includes, but is not limited to cybersecurity risks, related mitigation, and other related responses and activities.

32

Our Vice President of Information Technology and our Information Security Officer are primarily responsible for assessment and management of material risks from cybersecurity threats.

Our VP of Information Technology oversees key cybersecurity policies and processes, including those described in “Risk Management and Strategy” above. Our Board of Directors and Audit Committee are informed at least annually about the Company’s policies and processes to monitor the prevention, detection, mitigation, and remediation of cybersecurity incidents. In addition, the VP of Information Technology will also report any cybersecurity risks and activities including but not limited to any cybersecurity threats and related responses and any cybersecurity systems testing.

Item 2. Properties

We own our corporate headquarters located at 13386 International Parkway, Jacksonville, FL 32218 where we occupy approximately 36,941 square feet of office space and 95,283 square feet of manufacturing space. In total, we operate 24 facilities (8 owned) across the U.S., Canada, Mexico and Europe, spanning more than 1,000,000 square feet. Additionally, we lease retail locations across the East Coast that service our Distribution segment. Our properties are well maintained, and we consider them to be sufficient for our existing capacity requirements.

The following table identifies and provides certain information regarding our facilities:

Primary Activity

    

Location

    

Country

    

Owned/Leased

    

Sq Ft

Corporate HQ and Manufacturing

Jacksonville, Florida

USA

Owned

132,224

Manufacturing and R&D

 

Jacksonville, Florida

 

USA

 

Owned

 

63,000

Warehouse and Distribution

 

Jacksonville, Florida

 

USA

 

Leased

 

27,405

Manufacturing and R&D

 

Ontario, California

 

USA

 

Leased

 

41,475

Sales and R&D

 

Casper, Wyoming

 

USA

 

Owned

 

44,000

Manufacturing and R&D

Casper, Wyoming

 

USA

 

Owned

10,500

Manufacturing

Casper, Wyoming

 

USA

 

Owned

21,000

Manufacturing

 

Dalton, Massachusetts

 

USA

 

Leased

 

33,862

Manufacturing

 

Dover, Tennessee

 

USA

 

Leased

 

87,652

Manufacturing

 

Ogdensburg, New York

 

USA

 

Leased

 

23,220

Manufacturing and R&D

West Springfield, Massachusetts

USA

Owned

200,000

Manufacturing, Sales and R&D

Golden, Colorado

USA

Leased

27,000

Manufacturing

Carlsbad, New Mexico

USA

Leased

40,000

Manufacturing and Sales

Santa Fe, New Mexico

USA

Leased

15,000

Manufacturing and Sales

Groton, Connecticut

USA

Leased

9,899

Manufacturing

 

Tijuana, Baja California

 

Mexico

 

Leased

 

158,614

Sales and R&D

 

Ottawa, Ontario

 

Canada

 

Leased

 

39,273

Manufacturing

 

Pembroke, Ontario

 

Canada

 

Leased

 

26,154

Manufacturing

 

Arnprior, Ontario

 

Canada

 

Leased

 

48,853

Manufacturing, Sales and R&D

Ottawa, Ontario

Canada

 

Leased

27,500

Manufacturing

 

Warrington, Cheshire

 

UK

 

Leased

 

21,958

Manufacturing

 

Kaunas

 

Lithuania

 

Leased

 

19,160

Manufacturing, Sales and R&D

Fucecchio

Italy

Leased/Owned

30,375

Manufacturing and Sales

Aix-en-Provence

France

Owned

20,387

Item 3. Legal Proceedings

Refer to Note 14 of the Notes to Consolidated Financial Statements included in Part II, Item 8 of this Annual Report on Form 10-K, which is incorporated herein by reference.

Item 4. Mine Safety Disclosures

Not applicable.

33

PART II

Item 5. Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

Market Information

Our common stock has been listed on the New York Stock Exchange under the symbol “CDRE” since November 4, 2021. Prior to that date, there was no public trading market for our common stock.

Holders of Record

As of March 8, 2024, there were 12 holders of record of our common stock. The actual number of stockholders is greater than this number of record holders and includes stockholders who are beneficial owners but whose shares are held in street name by brokers and other nominees.

Dividend Policy

On January 23, 2024, the Company announced that its board of directors approved the initiation of a quarterly cash dividend policy of $0.0875 per share of the Company’s common stock or $0.35 per share on an annualized basis, representing an increase of 3 cents over the previous annualized dividend of $0.32 per share. In 2023, our total quarterly cash dividends were $12.0 million.  We expect to continue to pay a quarterly cash dividend of $0.0875 per share, or $0.35 on an annualized basis, on our common stock for the foreseeable future, but we may elect to retain all of our future earnings, if any, to finance the growth and development of our business. Any determination to pay dividends in the future will be at the discretion of our board of directors and will be dependent on a number of factors, including the terms of our 2021 Credit Agreement, our earnings, capital requirements, our overall financial condition and other factors that our board of directors considers relevant.

Performance Graph

The graph below compares the cumulative total stockholder return on our common stock with the cumulative total return on the S&P 500 Index and the S&P SmallCap 600 Index. The graph assumes an initial investment of $100 in our common stock at the market close on November 4, 2021, which was our initial trading day, and the reinvestment of dividends. Data for the S&P 500 index and the S&P SmallCap 600 Index assume an initial investment of $100 at market close on October 31, 2021 and the reinvestment of dividends.

Historical stock price performance should not be relied on as indicative of future stock price performance.

34

Graphic

    

11/4/2021

    

12/31/2021

    

3/31/2022

    

6/30/2022

    

9/30/2022

    

12/31/2022

    

3/31/2023

    

6/30/2023

    

9/30/2023

    

12/31/2023

Cadre Holdings, Inc.

$

100.00

$

166.89

  

$

161.83

  

$

130.02

$

159.57

$

133.94

  

$

143.74

  

$

146.05

$

179.16

$

221.73

S&P 500

$

100.00

$

103.76

  

$

98.99

  

$

83.05

$

78.99

$

84.97

  

$

91.34

  

$

99.32

$

96.07

$

107.30

S&P SmallCap 600

$

100.00

$

102.14

  

$

96.39

  

$

82.79

$

78.48

$

85.69

  

$

87.90

  

$

90.86

$

86.39

$

99.45

Recent Sales of Unregistered Securities

None.

Issuer Repurchases of Equity Securities

None.

Item 6. [Reserved]

35

Item 7. Management's Discussion and Analysis of Financial Condition and Results of Operations

MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

The following discussion and analysis of the financial condition and results of operations of Cadre Holdings, Inc. (D/B/A The Safariland Group) (“Cadre,” “the Company” “we,” “us” and “our”) should be read together with our audited consolidated financial statements together with related notes thereto, included elsewhere in this Annual Report on Form 10-K. A discussion of changes in our financial condition and the results of operations from the year ended December 31, 2022 to December 31, 2021 can be found in Part II, Item 7, Management’s Discussion and Analysis of Financial Condition and Results of Operations of our Annual Report on Form 10-K for the year ended December 31, 2022, filed on March 15, 2022. The following discussion contains forward-looking statements that reflect future plans, estimates, beliefs and expected performance. The forward-looking statements are dependent upon events, risks and uncertainties that may be outside of Cadre’s control. Our actual results may differ significantly from those projected in the forward- looking statements. Factors that might cause future results to differ materially from those projected in the forward- looking statements include, but are not limited to, those discussed in the sections entitled “Risk Factors” and “Cautionary Statement Regarding Forward-Looking Statements” included elsewhere in this Annual Report on Form 10-K. Certain total amounts may not foot due to rounding.

Overview and 2023 Financial Highlights

Cadre is a global leader in the manufacturing and distribution of safety equipment. Our equipment provides critical protection to allow its users to safely and securely perform their duties and protect those around them in hazardous or life-threatening situations. Through our dedication to superior quality, we establish a direct covenant with end users that our products will perform and keep them safe when they are most needed. We sell a wide range of products including body armor, explosive ordnance disposal equipment and duty gear through both direct and indirect channels. In addition, through our owned distribution, we serve as a one-stop shop for first responders providing equipment we manufacture as well as third-party products including uniforms, optics, boots, firearms and ammunition. The majority of our diversified product offering is governed by rigorous safety standards and regulations. Demand for our products is driven by technological advancement as well as recurring modernization and replacement cycles for the equipment to maintain its efficiency, effective performance and regulatory compliance.

We service the ever-changing needs of our end users by investing in research and development for new product innovation and technical advancements that continually raise the standards for safety equipment. Our target end user base includes domestic and international first responders such as state and local law enforcement, fire and rescue, explosive ordnance disposal technicians, emergency medical technicians, fishing and wildlife enforcement and departments of corrections, as well as federal agencies including the U.S. Department of State, U.S. Department of Defense, U.S. Department of Interior, U.S. Department of Justice, U.S. Department of Homeland Security, U.S. Department of Corrections and numerous foreign government agencies in over 100 countries.

In January 2022, the Company acquired Radar Leather Division S.r.l. (“Radar”) for $19.4 million, net of cash acquired. 

In May 2022, the Company acquired Cyalume Technologies, Inc., CT SAS Holdings, Inc. and Cyalume Technologies SAS (collectively “Cyalume”) for $36.2 million, net of cash acquired.

In January 2024, the Company acquired ICOR Technology Inc. (“ICOR”) for approximately CDN$52.0 million (approximately $38.8 million), net of cash acquired.

In March 2024, the Company acquired Alpha Safety Intermediate, LLC (“Alpha Safety”) for approximately $106.5 million, net of cash acquired.

The following table sets forth a summary of our financial highlights for the periods indicated:

Year ended December 31, 

(in thousands)

2023

2022

Net sales

    

$

482,532

    

$

457,837

Net income

$

38,641

$

5,820

Adjusted EBITDA(1)

$

85,818

$

75,731

36

(1)Adjusted EBITDA is a non-GAAP financial measure. See “Non-GAAP Measures” below for our definition of, and additional information about, Adjusted EBITDA, and for a reconciliation to net income, the most directly comparable U.S. GAAP financial measure.

Net sales increased by $24.7 million for the year ended December 31, 2023 as compared to December 31, 2022, primarily as a result of higher demand for armor and crowd control products, as well as recent acquisitions, partially offset by a decrease from large international orders for explosive ordnance disposal products fulfilled in the prior year.

Net income increased by $32.8 million for the year ended December 31, 2023 as compared to the year ended December 31, 2022, primarily as a result of an increase in net sales and gross profit margin, accretive impact of recent acquisitions and a decrease in stock compensation expense.

Secondary Offering

On June 9, 2022, the Company completed a secondary offering in which the Company issued and sold 2,250,000 shares of common stock at a price of $23.50 per share. The Company’s net proceeds from the sale of shares were $47.0 million after underwriter discounts and commissions, fees and expenses of $2.7 million, of which $2.0 million was paid to Kanders & Company, Inc., a company controlled by Warren Kanders, our Chief Executive Officer.

On July 14, 2022, the underwriters exercised a portion of their over-allotment option and purchased an additional 300,000 shares of common stock at a price of $23.50 per share, resulting in net proceeds to the Company of $6.6 million after underwriter discounts and commissions, fees and expenses of $0.4 million.

KEY PERFORMANCE METRICS

Orders backlog

We monitor our orders backlog, which we believe is a forward-looking indicator of potential sales. Our orders backlog for products includes all orders that have been received and are believed to be firm. Due to municipal government procurement rules, in certain cases orders included in backlog are subject to budget appropriation or other contract cancellation clauses. Consequently, our orders backlog may differ from actual future sales. Orders backlog can be helpful to investors in evaluating the performance of our business and identifying trends over time.

The following table presents our orders backlog as of the periods indicated:

(in thousands)

December 31, 2023

December 31, 2022

Orders backlog

$

126,683

$

117,873

Orders comprising backlog as of a given balance sheet date are typically invoiced in subsequent periods. The majority of our products are generally processed and shipped within one to three weeks of an order being placed, though the fulfillment time for certain products, for example, explosive ordnance disposal equipment, may take three months or longer. Our orders backlog could experience volatility between periods, including as a result of customer order volumes and the speed of our order fulfilment, which in turn may be impacted by the nature of products ordered, the amount of inventory on hand and the necessary manufacturing lead time.

Orders backlog increased by $8.8 million as of December 31, 2023 compared to December 31, 2022, primarily due to $13.6 million from international demand for explosive ordnance disposal products and $1.3 million from international orders for crowd control, partially offset by reductions of $3.6 million from the Distribution segment and $3.0 million from chemiluminescent payloads.

37

DESCRIPTION OF CERTAIN COMPONENTS OF FINANCIAL DATA

Net sales

We recognize revenue when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. At the time of revenue recognition we also provide for estimated sales returns and miscellaneous claims from customers as reductions to revenues. Charges for shipping and handling fees billed to customers are included in net sales. Taxes collected from customers and remitted to government authorities are reported on a net basis and are excluded from sales. See Note 1 “Significant Accounting Policies — Revenue Recognition” to our audited consolidated financial statements included elsewhere in this Annual Report on Form 10-K.

We generate sales primarily through our four main sales channels: U.S. state and local agencies, international, U.S. federal agencies, and commercial.

Costs and Expenses

Cost of goods sold. Cost of goods sold includes raw material purchases, manufacturing-related labor costs, contracted labor, shipping, reimbursable research and development costs, allocated manufacturing overhead, facility costs, depreciation and amortization, and product warranty costs.

Selling, general and administrative. Selling, general and administrative (“SG&A”) expense includes personnel-related costs, professional services, marketing and advertising expense, research and development, depreciation and amortization, and impairment charges.

Restructuring and transaction costs. Restructuring costs consist primarily of termination benefits and relocation of employees, termination of operating leases and other contracts related to consolidating or closing facilities. Transaction costs consist of legal fees and consulting costs related to one-time transactions.

Related party expense. Related party expense primarily consists of rent expense related to distribution locations owned by related parties and any one-time transaction fees paid to related parties.

Interest expense. Interest expense consists primarily of interest on outstanding debt.

Other expense, net. Other expense, net primarily consists of gains and losses from foreign currency transactions.

Provision for income taxes. A provision or benefit for income tax is calculated for each of the jurisdictions in which we operate. The provision or benefit for income taxes is determined using the asset and liability approach of accounting for income taxes. Under this approach, deferred taxes represent the future tax consequences expected to occur when the reported amounts of assets and liabilities are recovered or paid. The benefit or provision for income taxes represents income taxes paid or payable for the current year plus the change in deferred taxes during the year. Deferred taxes result from differences between the book and tax bases of assets and liabilities and are adjusted for changes in tax rates and tax laws when changes are enacted. Valuation allowances are recorded to reduce deferred tax assets when it is more likely than not that a tax benefit will not be realized. See Note 15 “Income Taxes” in our audited consolidated financial statements included elsewhere in this Annual Report on Form 10-K.

RESULTS OF OPERATIONS

In order to reflect the way our chief operating decision maker reviews and assesses the performance of the business, Cadre has determined that it has two reportable segments — the Product segment and the Distribution segment. Segment information is consistent with how the chief operating decision maker, our chief executive officer, reviews the business, makes investing and resource allocation decisions and assesses operating performance.

38

The following table presents data from our results of operations for the years ended December 31, 2023 and 2022 (in thousands unless otherwise noted):

Year Ended December 31, 

2023

2022

% Chg

Net sales

$

482,532

$

457,837

5.4

%

Cost of goods sold

 

281,806

 

282,159

(0.1)

%

Gross profit

 

200,726

 

175,678

14.3

%

Operating expenses

Selling, general and administrative

 

140,519

 

153,129

(8.2)

%

Restructuring and transaction costs

 

2,192

 

4,355

(49.7)

%

Related party expense

 

1,496

 

1,478

1.2

%

Total operating expenses

 

144,207

 

158,962

(9.3)

%

Operating income

 

56,519

 

16,716

238.1

%

Other expense

Interest expense

 

(4,531)

 

(6,206)

(27.0)

%

Other income (expense), net

 

936

 

(1,137)

(182.3)

%

Total other expense, net

 

(3,595)

 

(7,343)

(51.0)

%

Income before provision for income taxes

 

52,924

 

9,373

464.6

%

Provision for income taxes

 

(14,283)

 

(3,553)

302.0

%

Net income

$

38,641

$

5,820

563.9

%

The following table presents segment data for the years ended December 31, 2023 and 2022 (in thousands):

    

Year Ended December 31, 2023

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

410,825

$

102,371

$

(30,664)

    

$

482,532

Cost of goods sold

233,937

$

78,335

$

(30,466)

281,806

Gross profit

$

176,888

$

24,036

$

(198)

$

200,726

    

Year Ended December 31, 2022

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

385,423

    

$

97,106

$

(24,692)

    

$

457,837

Cost of goods sold

230,245

76,633

(24,719)

282,159

Gross profit

$

155,178

$

20,473

$

27

$

175,678

(1)Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.

Comparison of Year Ended December 31, 2023 to Year Ended December 31, 2022

Net sales. Product segment net sales increased by $25.4 million or 6.6%, from $385.4 million to $410.8 million for the year ended December 31, 2023 as compared to 2022, primarily due to $20.4 million from higher demand for armor products, $9.2 million from higher demand for crowd control products, $3.4 million from higher demand for duty gear products and $7.4 million from recent acquisitions, partially offset by a reduction of $13.7 million from large international orders for explosive ordnance disposal products fulfilled in the prior year. Distribution segment net sales increased by $5.3 million or 5.4%, from $97.1 million to $102.4 million for the year ended December 31, 2023 as compared to 2022, primarily due to increased agency demand for hard goods. Reconciling items consisting primarily of intercompany eliminations were $30.7 million and $24.7 million for year ended December 31, 2023 and 2022, respectively.

39

Cost of goods sold. Product segment cost of goods sold increased by $3.7 million, or 1.6%, from $230.2 million to $233.9 million for the year ended December 31, 2023 as compared to 2022 primarily due to increased volume and increasing costs to manufacture product (principally material and labor), partially offset by prior year increases from the amortization of inventory step-up adjustments related to 2022 acquisitions, product mix and productivity. Product segment gross profit as a percentage of net sales increased by 280 basis points to 43.1% in 2023 from 40.3% in 2022 mainly driven by favorable pricing, product mix and productivity, partially offset by inflation and pressure from a stronger Mexican peso. Distribution segment cost of goods sold increased by $1.7 million, or 2.2%, from $76.6 million to $78.3 million for the year ended December 31, 2023 as compared to 2022 primarily due to increased volume, partially offset by costs to acquire products. Distribution segment gross profit as a percentage of net sales increased by 240 basis points to 23.5% in 2023 from 21.1% in 2022 mainly driven by favorable product mix within the agency channel. Reconciling items consisting primarily of intercompany eliminations were $30.5 million and $24.7 million for year ended December 31, 2023 and 2022, respectively.

Selling, general and administrative. SG&A decreased by $12.6 million, or 8.2%, for the year ended December 31, 2023 as compared to 2022 primarily due to a $22.9 million decrease in stock-based compensation expense, partially offset by an increase in employee compensation and related benefits.

Restructuring and transaction costs. Restructuring and transaction costs decreased by $2.2 million for the year ended December 31, 2023 as compared to 2022 primarily due to costs incurred in 2022 associated with acquisitions.

Related party expense. Related party expense remained consistent for the year ended December 31, 2023 as compared to 2022 and primarily consisted of a $1.0 million transaction fee paid to Kanders & Company, Inc., a company controlled by our Chief Executive Officer, in connection with the acquisition of ICOR for the year ended December 31, 2023 and a $1.0 million transaction fee paid to Kanders & Company, Inc. in connection with the acquisition of Cyalume for the year ended December 31, 2022. We also recorded rent expense relating to distribution warehouses and retail stores that we lease from related parties.

Interest expense. Interest expense decreased by $1.7 million, or 27.0%, for the year ended December 31, 2023 as compared to 2022 as a result of a decrease in outstanding borrowings.

Other income (expense), net. Other income, net was $0.9 million for the year ended December 31, 2023 compared to Other expense, net of $1.1 million for the year ended December 31, 2022, primarily due to changes in foreign currency exchange rates.

Provision for income taxes. Provision for income taxes increased by $10.7 million for the year ended December 31, 2023 as compared to 2022. The effective tax rate was 27.0% for the year ended December 31, 2023 and was higher than the statutory rate due to state taxes and executive compensation, partially offset by research and development tax credits. For the year ended December 31, 2022, the effective tax rate was 37.9% and was higher than the statutory rate due to state taxes, executive compensation and the tax impact of our foreign earnings, partially offset by research and development tax credits.

NON-GAAP MEASURES

This Annual Report on Form 10-K includes EBITDA and Adjusted EBITDA, which are non-GAAP financial measures that we use to supplement our results presented in accordance with U.S. GAAP. EBITDA is defined as net income before depreciation and amortization expense, interest expense and provision for income tax. Adjusted EBITDA represents EBITDA that excludes restructuring and transaction costs, other general income, other (income) expense, net, stock-based compensation expense, stock-based compensation payroll tax expense, long-term incentive plan (“LTIP”) bonus and amortization of inventory step-up as these items do not represent our core operating performance.

EBITDA and Adjusted EBITDA are performance measures that we believe are useful to investors and analysts because they illustrate the underlying financial and business trends relating to our core, recurring results of operations and enhance comparability between periods. Adjusted EBITDA is considered by our board of directors and management as an important factor in determining performance-based compensation.

EBITDA and Adjusted EBITDA are not recognized measures under U.S. GAAP and are not intended to be a substitute for any U.S. GAAP financial measure and, as calculated, may not be comparable to other similarly-titled measures of performance of other companies. Investors should exercise caution in comparing our non-GAAP measures to any similarly titled measures used by other

40

companies. These non-GAAP financial measures exclude certain items required by U.S. GAAP and should not be considered as alternatives to information reported in accordance with U.S. GAAP.

The table below presents our EBITDA and Adjusted EBITDA reconciled to the most comparable GAAP financial measures for the periods indicated:

    

Year Ended December 31, 

 

(in thousands)

    

2023

    

2022

 

Net income

$

38,641

$

5,820

Add back:

 

  

  

 

  

Depreciation and amortization

 

15,737

  

 

15,651

Interest expense

 

4,531

  

 

6,206

Provision for income taxes

 

14,283

  

 

3,553

EBITDA

$

73,192

  

$

31,230

Add back:

 

  

  

 

  

Restructuring and transaction costs(1)

 

3,192

  

 

5,355

Other general income(2)

(92)

(159)

Other (income) expense, net(3)

 

(936)

  

 

1,137

Stock-based compensation expense(4)

9,368

32,239

Stock-based compensation payroll tax expense(5)

234

305

LTIP bonus(6)

 

860

  

 

1,369

Amortization of inventory step-up(7)

4,255

Adjusted EBITDA

$

85,818

  

$

75,731

(1)Reflects the “Restructuring and transaction costs” line item on our consolidated statements of operations and comprehensive income, which primarily includes transaction costs composed of legal and consulting fees. In addition, this line item reflects $1.0 million transaction fees paid to Kanders & Company, Inc. for services related to the acquisition of ICOR and Cyalume for the years ended December 31, 2023 and 2022, respectively, which is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.
(2)Reflects gains from long-lived asset sales.
(3)Reflects the “Other income (expense), net” line item on our consolidated statements of operations and comprehensive income and primarily includes gains and losses due to fluctuations in foreign currency exchange rates.
(4)Reflects compensation expense related to equity and liability classified stock-based compensation plans.
(5)Reflects payroll taxes associated with vested stock-based compensation awards.
(6)Reflects the cost of a cash-based long-term incentive plan awarded to employees that vests over three years.
(7)Reflects amortization expense related to the step-up inventory adjustment recorded as a result of our recent acquisitions.

Adjusted EBITDA increased by $10.1 million for the year ended December 31, 2023 as compared to 2022, primarily due to an increase in net sales, an increase in gross profit margin and recent acquisitions.

LIQUIDITY AND CAPITAL RESOURCES

Liquidity refers to our ability to generate sufficient cash flows to meet the cash requirements of our business operations, including working capital needs, capital expenditures, debt service, acquisitions and other commitments. Our principal sources of liquidity have been cash provided by operating activities, cash on hand and amounts available under our revolving loans.

For the year ended December 31, 2022, net cash provided from operating activities was $73.2 million and as of December 31, 2023, cash and cash equivalents totaled $87.7 million. We believe that our cash flows from operations and cash on hand, and available borrowing capacity under our existing credit facilities (as described below) will be adequate to meet our liquidity requirements for at least the 12 months following the date of this Annual Report on Form 10-K. Our future capital requirements will depend on several factors, including future acquisitions and investments in our manufacturing facilities and equipment. We could be required, or could elect, to

41

seek additional funding through public or private equity or debt financings; however, additional funds may not be available on terms acceptable to us, if at all.

Debt

As of December 31, 2023 and December 31, 2022, we had $140.1 million and $149.7 million in outstanding debt, net of debt discounts and debt issuance costs, respectively, primarily related to the term loan facilities.

2021 Credit Agreement

On August 20, 2021 (the “Closing Date”), the Company refinanced its existing credit facilities and entered into a new credit agreement whereby Safariland, LLC, as borrower (the “Borrower”), the Company and certain domestic subsidiaries of the Borrower, as guarantors (the “Guarantors”), closed on and received funding under a credit agreement (initially entered into on July 23, 2021), pursuant to a First Amendment to Credit Agreement (collectively, the “2021 Credit Agreement”) with PNC Bank, National Association (“PNC”), as administrative agent, and the several lenders from time to time party thereto (together with PNC, the “Lenders”) pursuant to which the Borrower (i) borrowed $200.0 million under a term loan (the “Term Loan”), and (ii) may borrow up to $100.0 million under a revolving credit facility (including up to $15.0 million for letters of credit and up to $10.0 million for swing line loans) (the “Revolving Loan”). Each of the Term Loan and the Revolving Loan mature on July 23, 2026. Commencing December 31, 2021, the New Term Loan requires scheduled quarterly payments in amounts equal to 1.25% per quarter of the original aggregate principal amount of the Term Loan, with the balance due at maturity. The 2021 Credit Agreement is guaranteed, jointly and severally, by the Guarantors and, subject to certain exceptions, secured by a first-priority security interest in substantially all of the assets of the Borrower and the Guarantors pursuant to a Security and Pledge Agreement and a Guaranty and Suretyship Agreement, each dated as of the Closing Date.

There were no amounts outstanding under the Revolving Loan as of December 31, 2023 and 2022. As of December 31, 2023, there were $2.6 million in outstanding letters of credit and $97.4 million of availability.

The Borrower may elect to have the Revolving Loan and Term Loan under the 2021 Credit Agreement bear interest at a base rate or LIBOR, in each case, plus an applicable margin. However, in connection with the market transition away from applicable LIBOR rates to SOFR, on May 31, 2023, the Company, the Borrowers and the Lenders entered into the third amendment to the 2021 Credit Agreement (the “Third Amendment”) pursuant to which the 2021 Credit Agreement was amended to implement the SOFR rates. The applicable interest rates for these borrowings are, at the Company’s option, either (a) a base rate plus an applicable margin between 0.50% and 1.50% or (b) a Term SOFR rate, plus a SOFR adjustment equal to 0.10%, plus an applicable margin equal to 1.50% to 2.50%.

The 2021 Credit Agreement also contains customary representations and warranties, and affirmative and negative covenants, including limitations on additional indebtedness, dividends, and other distributions, entry into new lines of business, use of loan proceeds, capital expenditures, restricted payments, restrictions on liens on the assets of the Borrowers or any Guarantor, transactions with affiliates, amendments to organizational documents, accounting changes, sale and leaseback transactions, dispositions, and mandatory prepayments in connection with certain liquidity events. The 2021 Credit Agreement contains certain restrictive debt covenants, which require us to: (i) maintain a minimum fixed charge coverage ratio of 1.25 to 1.00, starting with the quarter ended December 31, 2021, which is to be determined for each quarter end on a trailing four quarter basis and (ii) maintain a quarterly maximum consolidated total net leverage ratio of 3.75 to 1.00 from the quarter ended December 31, 2021 until the quarter ended September 30, 2022, and thereafter 3.50 to 1.00, which is in each case to be determined on a trailing four quarter basis; provided that under certain circumstances and subject to certain limitations, in the event of a material acquisition, we may temporarily increase the consolidated total net leverage ratio by up to 0.50 to 1.00 for four fiscal quarters following such acquisition. The 2021 Credit Agreement contains customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the 2021 Credit Agreement may be accelerated and the Lenders could foreclose on their security interests in the assets of the Borrowers and the Guarantors. As of March 8, 2024, there were no amounts outstanding under the Revolving Loan.

In connection with the Borrower’s acquisition of Alpha Safety on March 1, 2024, the Borrower and the Guarantors entered into an Incremental Facility Amendment to the 2021 Credit Agreement, whereby the Lenders made an incremental term loan to the Borrower in the principal amount of $80 million for the purpose of funding the acquisition of Alpha Safety. All other material terms of the 2021 Credit Agreement remained unchanged.

42

The foregoing description of the 2021 Credit Agreement, as amended, does not purport to be complete and is qualified in its entirety by reference to exhibits 10.15, 10.16 and 10.17 to our Annual Report on Form 10-K for the year ended December 31, 2022, exhibit 10.1 attached to our Quarterly Report on Form 10-Q for the quarter ended June 30, 2023, as well as exhibit 10.1 attached to our Current Report on Form 8-K filed on March 6, 2024, and are incorporated herein by reference as though fully set forth herein.

Canadian Credit Facility

On October 14, 2021, Med-Eng Holdings ULC and Pacific Safety Products Inc., the Company’s Canadian subsidiaries, as borrowers (the “Canadian Borrowers”), and Safariland, LLC, as guarantor (the “Canadian Guarantor”), closed on a line of credit pursuant to a Loan Agreement (the “Canadian Loan Agreement”) and a Revolving Line of Credit Note (the “Note”) with PNC Bank Canada Branch (“PNC Canada”), as lender pursuant to which the Canadian Borrowers may borrow up to CDN$10.0 million under a revolving line of credit (including up to $3.0 million for letters of credit) (the “Revolving Canadian Loan”). The Revolving Canadian Loan matures on July 23, 2026. The Canadian Loan Agreement is guaranteed by the Canadian Guarantor pursuant to a Guaranty and Suretyship Agreement.

The Canadian Borrowers may elect to have borrowings either in United States dollars or Canadian dollars under the Canadian Loan Agreement, which will bear interest at a base rate or SOFR, in each case, plus an applicable margin, in the case of borrowings in United States dollars, or at a Canadian Prime Rate (as announced from time to time by PNC Canada) or a Canadian deposit offered rate (“CDOR”) as determined from time to time by PNC Canada in accordance with the Canadian Loan Agreement. The applicable margin for these borrowings will range from 0.50% to 1.50% per annum, in the case of base rate borrowings and Canadian Prime Rate borrowings, and 1.50% to 2.50% per annum, in the case of SOFR borrowings and CDOR borrowings. The Canadian Loan Agreement also requires the Canadian Borrowers to pay (i) an unused line fee on the unused portion of the loan commitments in an amount ranging between 0.175% and 0.25% per annum, based upon the level of the Company’s consolidated total net leverage ratio, and (ii) an upfront fee equal to 0.25% of the principal amount of the Note.

There were no amounts outstanding under the Revolving Canadian Loan as of December 31, 2023 and 2022.

The Canadian Loan Agreement also contains customary representations and warranties, and affirmative and negative covenants, including, among others, limitations on additional indebtedness, entry into new lines of business, entry into guarantee agreements, making of any loans or advances to, or investments in, any other person, restrictions on liens on the assets of the Canadian Borrowers and mergers, transfers of assets and acquisitions. The Canadian Loan Agreement and Note also contain customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the Canadian Loan Agreement may be accelerated. As of March 8, 2024, there were no amounts outstanding under the Revolving Canadian Loan.

The foregoing description of the Canadian Loan Agreement does not purport to be complete and is qualified in its entirety by reference to the Canadian Loan Agreement, which is exhibit 10.18 to our Annual Report on Form 10-K for the year ended December 31, 2022, and is incorporated herein by reference as though fully set forth herein.

Cash Flows

The following table presents a summary of our cash flows for the periods indicated:

    

Year Ended December 31, 

(in thousands)

    

2023

    

2022

Net cash provided by operating activities

$

73,209

  

$

46,409

Net cash used in investing activities

 

(6,520)

  

 

(59,626)

Net cash (used in) provided by financing activities

 

(24,722)

  

 

24,463

Effects of foreign exchange rates on cash and cash equivalents

 

438

  

 

183

Change in cash and cash equivalents

 

42,405

  

 

11,429

Cash and cash equivalents, beginning of period

 

45,286

  

 

33,857

Cash and cash equivalents, end of period

$

87,691

  

$

45,286

43

Net cash provided by operating activities

During the year ended December 31, 2023, net cash provided by operating activities of $73.2 million resulted primarily from net income of $38.6 million, a $15.7 million add back to net income for depreciation and amortization, a $9.4 million add back to net income for stock-based compensation and a $10.1 million add back to net income from changes in operating assets and liabilities. Changes in operating assets and liabilities were primarily driven by a decrease in accounts receivable of $6.6 million and an increase in accounts payable and other liabilities of $14.0 million, partially offset by an increase in inventories of $10.2 million.

During the year ended December 31, 2022, net cash provided by operating activities of $46.4 million resulted primarily from net income of $5.8 million, a $31.9 million add back to net income for stock-based compensation, a $15.7 million add back to net income for depreciation and amortization, a $4.3 million add back to net income for amortization of inventory step-up and a $12.6 million deduction to net income from changes in operating assets and liabilities. Changes in operating assets and liabilities were primarily driven by an increase in accounts receivable of $11.5 million, an increase in prepaid expense and other assets of $7.7 million and an increase in accounts payable and other liabilities of $5.5 million.

Net cash used in investing activities

During the year ended December 31, 2023, we used $6.5 million of cash in investing activities, primarily consisting of $6.7 million for purchases of property and equipment.

During the year ended December 31, 2022, we used $59.6 million of cash in investing activities, primarily consisting of $19.4 million for the acquisition of Radar, $36.2 million for the acquisition of Cyalume and $4.5 million for purchases of property and equipment.

Net cash (used in) provided by financing activities

During the year ended December 31, 2023, we used $24.7 million of cash in financing activities, primarily consisting principal payments on term loans of $10.0 million, taxes paid in connection with employee stock transactions of $2.7 million and dividends distributed of $12.0 million.

During the year ended December 31, 2022, net cash provided by financing activities of $24.5 million resulted primarily from proceeds from the secondary offering of $56.3 million, partially offset by principal payments on term loans of $10.1 million, taxes paid in connection with employee stock transactions of $6.3 million and dividends distributed of $11.5 million.

Contractual Obligations

The following table summarizes our significant contractual obligations as of December 31, 2023 by period:

Less than

More than

(in thousands)

    

Total

    

1 year

    

1-3 Years

    

3-5 Years

    

5 Years

Lease obligations(1)

$

6,988

  

$

3,438

  

$

3,004

  

$

515

  

$

31

Debt(2)

 

139,095

  

 

10,133

  

 

128,830

  

 

132

  

 

Interest on debt(3)

 

11,766

  

 

4,894

  

 

6,872

  

 

  

 

Total contractual obligations

$

157,849

  

$

18,465

  

$

138,706

  

$

647

  

$

31

(1)Includes future minimum lease payments required under non-cancelable operating and capital leases.
(2)Includes scheduled cash principal payments on our debt, excluding interest, original issuance discount and debt issuance costs.
(3)Includes the effect of our interest rate swap and assumes (a) one-month SOFR rate in effect as of December 31, 2023; (b) applicable margins remain constant; (c) only mandatory debt repayments are made; and (d) no refinancing occurs at debt maturity.

44

Off-Balance Sheet Arrangements

We do not engage in off-balance sheet financing arrangements, as defined in Item 303(a)(4)(ii) of Regulation S-K.

Critical Accounting Policies and Significant Judgements and Estimates

Our consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles, or U.S. GAAP. Preparation of the financial statements requires us to make judgments, estimates and assumptions that impact the reported amount of net sales and expenses, assets and liabilities and the disclosure of contingent assets and liabilities. We consider an accounting judgment, estimate or assumption to be critical when the estimate or assumption is complex in nature or requires a high degree of judgment and when the use of different judgments, estimates and assumptions could have a material impact on our consolidated financial statements. While our significant accounting policies are described in more detail in Note 1 of our consolidated financial statements, we believe that the following accounting policies are those most critical to the judgments and estimates used in the preparation of our financial statements.

Business Combinations

We allocate the purchase price, including contingent consideration, of our acquisitions to the assets and liabilities acquired, including identifiable intangible assets, based on their fair values at the date of acquisition. The fair values are primarily based on third-party valuations using our management assumptions that require significant judgments and estimates. The purchase price allocated to intangibles is based on unobservable factors, including but not limited to, projected revenues, expenses, customer attrition rates, royalty rates, and weighted average cost of capital, among others. The weighted average cost of capital uses a market participant’s cost of equity and after-tax cost of debt and reflects the risks inherent in the cash flows. The unobservable factors we use are based upon assumptions believed to be reasonable, but are also uncertain and unpredictable, as a result these estimates, and assumptions may require adjustment in the future if actual results differ from our estimates.

Item 7A. Quantitative and Qualitative Disclosures About Market Risk

We have in the past and may in the future be exposed to certain market risks, including interest rate, foreign currency exchange in the ordinary course of our business. Market risk represents the risk of loss that may impact our financial condition or results of operations due to adverse changes in financial market prices and rates. These risks are not significant to our results of operations, but they may be in the future. We do not hold or issue financial instruments for speculative or trading purposes. There have not been material changes in market risk exposures as of December 31, 2023.

Interest rate risk

Changes in interest rates affect the amount of interest expense we are required to pay on our floating rate debt. As of December 31, 2023, we had $138.6 million in outstanding floating rate debt, which bears interest at one-month SOFR (5.36% as of December 31, 2023) plus 1.60%.

We entered into the Swap Agreements to convert a portion of the interest rate exposure on our floating rate debt from variable to fixed and designated them as cash flow hedges. Under the terms of the Swap Agreements, we receive payments based on the 1-month SOFR. A portion of the amount included in accumulated other comprehensive income is reclassified into interest expense, net as a yield adjustment as interest is either paid or received on the hedged debt. The fair value of our Swap Agreements is based upon Level 2 inputs. We have considered our own credit risk and the credit risk of the counterparties when determining the fair value of our Swap Agreements.

We performed a sensitivity analysis on the principal amount of debt as of December 31, 2023, as well as the effect of our Swap Agreements. Further, in this sensitivity analysis, the change in interest rates is assumed to be applicable for an entire year. On an annual basis, a change of 100 basis points in the applicable interest rate would cause a change in interest expense of $1.4 million on the principal amount of debt and would have an immaterial effect when including the effect of our Swap Agreements.

45

As of December 31, 2023, we had the following Swap Agreements (in thousands):

Effective Date

    

Notional Amount

    

Fixed Rate

September 30, 2021 through July 23, 2026

$

88,750

0.812

%

May 31, 2023 through July 23, 2026

    

$

48,125

    

3.905

%

During the year ended December 31, 2023, there were no interest rate swap agreements that expired.

Foreign currency exchange rate risk

Our operations are geographically diverse and we are exposed to foreign currency exchange risk primarily for the Canadian dollar and Mexican peso, related to our transactions and our subsidiaries’ balances that are denominated in currencies other than the U.S. dollar, our functional currency. We do not currently hedge our foreign currency transaction or translation exposure, though we have done so in the past and may do so in the future. Significant currency fluctuations could impact the comparability of our results of operations between periods. A 10% increase or decrease in the value of the Canadian dollar to the U.S. dollar would have caused our reported net sales to increase or decrease by approximately $1.3 million for the year ended December 31, 2023. A 10% increase or decrease in the value of the Canadian dollar to the U.S. dollar would have caused our reported net income to increase or decrease by approximately $0.2 million for the year ended December 31, 2023, excluding unrealized gains or losses from remeasurement. A 10% increase or decrease in the value of the Mexican peso to the U.S. dollar would have caused our reported net income to increase or decrease by approximately $0.7 million for the year ended December 31, 2023, excluding unrealized gains or losses from remeasurement.

46

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

To the Shareholders and Board of Directors

Cadre Holdings, Inc.:

Opinion on the Consolidated Financial Statements

We have audited the accompanying consolidated balance sheets of Cadre Holdings, Inc. and subsidiaries (the Company) as of December 31, 2023 and 2022, the related consolidated statements of operations and comprehensive income, shareholders’ equity, and cash flows for each of the years in the three-year period ended December 31, 2023, and the related notes (collectively, the consolidated financial statements). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the years in the three-year period ended December 31, 2023, in conformity with U.S. generally accepted accounting principles.

Basis for Opinion

These consolidated financial statements are the responsibility of the Company’s management. Our responsibility is to express an opinion on these consolidated financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (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 consolidated financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company’s internal control over financial reporting. Accordingly, we express no such opinion.

Our audits included performing procedures to assess the risks of material misstatement of the consolidated 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 consolidated 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 consolidated financial statements. We believe that our audits provide a reasonable basis for our opinion.

/s/ KPMG LLP

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

Jacksonville, Florida

March 12, 2024

48

CADRE HOLDINGS, INC.

Consolidated Balance Sheets

(In thousands, except for share and per share amounts)

    

December 31, 

2023

    

2022

Assets

 

  

 

  

Current assets

 

  

 

  

Cash and cash equivalents

$

87,691

$

45,286

Accounts receivable, net

 

58,360

 

64,557

Inventories

 

80,976

 

70,273

Prepaid expenses

 

11,930

 

10,091

Other current assets

 

6,886

 

6,811

Total current assets

 

245,843

 

197,018

Property and equipment, net

44,647

45,285

Operating lease assets

6,554

8,489

Deferred tax assets, net

 

4,004

 

2,255

Intangible assets, net

 

43,472

 

50,695

Goodwill

 

81,667

 

81,576

Other assets

 

4,992

 

6,634

Total assets

$

431,179

$

391,952

Liabilities, Mezzanine Equity and Shareholders' Equity

 

  

 

  

Current liabilities

 

  

 

  

Accounts payable

$

28,418

$

23,406

Accrued liabilities

 

44,524

 

38,720

Income tax payable

 

9,944

 

4,584

Current portion of long-term debt

 

12,320

 

12,211

Total current liabilities

 

95,206

 

78,921

Long-term debt

 

127,812

 

137,476

Long-term operating lease liabilities

3,186

4,965

Deferred tax liabilities

 

4,843

 

3,508

Other liabilities

 

2,970

 

1,192

Total liabilities

 

234,017

 

226,062

Commitments and contingencies (Note 14)

 

 

  

Mezzanine equity

 

 

  

Preferred stock ($0.0001 par value, 10,000,000 shares authorized, no shares issued and outstanding as of December 31, 2023 and December 31, 2022)

 

 

Shareholders' equity

 

 

  

Common stock ($0.0001 par value, 190,000,000 shares authorized, 37,587,436 and 37,332,271 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively)

 

4

 

4

Additional paid-in capital

 

212,630

 

206,540

Accumulated other comprehensive income

 

634

 

2,087

Accumulated deficit

 

(16,106)

 

(42,741)

Total shareholders’ equity

 

197,162

 

165,890

Total liabilities, mezzanine equity and shareholders' equity

$

431,179

$

391,952

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

49

CADRE HOLDINGS, INC.

Consolidated Statements of Operations and Comprehensive Income

(In thousands, except for share and per share amounts)

Year Ended December 31, 

    

2023

    

2022

    

2021

Net sales

$

482,532

$

457,837

$

427,288

Cost of goods sold

 

281,806

 

282,159

 

256,598

Gross profit

 

200,726

 

175,678

 

170,690

Operating expenses

 

  

 

  

 

  

Selling, general and administrative

 

140,519

 

153,129

 

114,962

Restructuring and transaction costs

 

2,192

 

4,355

 

3,430

Related party expense

 

1,496

 

1,478

 

579

Total operating expenses

 

144,207

 

158,962

 

118,971

Operating income

 

56,519

 

16,716

 

51,719

Other expense

 

  

 

  

 

  

Interest expense

 

(4,531)

 

(6,206)

 

(16,425)

Loss on extinguishment of debt

(15,155)

Other income (expense), net

 

936

 

(1,137)

 

(947)

Total other expense, net

 

(3,595)

 

(7,343)

 

(32,527)

Income before provision for income taxes

 

52,924

 

9,373

 

19,192

Provision for income taxes

 

(14,283)

 

(3,553)

 

(6,531)

Net income

$

38,641

$

5,820

$

12,661

Net income per share:

 

  

 

  

 

  

Basic

$

1.03

$

0.16

$

0.44

Diluted

$

1.02

$

0.16

$

0.44

Weighted average shares outstanding:

 

  

 

  

 

  

Basic

 

37,533,818

 

36,109,844

 

28,598,692

Diluted

 

37,920,488

 

36,122,374

 

28,598,692

Net income

$

38,641

$

5,820

$

12,661

Other comprehensive income:

 

  

 

  

 

  

Unrealized holding gains on interest rate swaps, net of tax(1)

775

6,444

767

Reclassification adjustments for (gains) losses included in net income, net of tax(2)

(3,157)

(618)

146

Total unrealized (loss) gain on interest rate swaps, net of tax

(2,382)

5,826

913

Foreign currency translation adjustments, net of tax(3)

 

929

 

(1,822)

 

30

Other comprehensive (loss) income

(1,453)

4,004

943

Comprehensive income, net of tax

$

37,188

$

9,824

$

13,604

(1) Net of income tax expense of $258, $2,148 and $256 for the years ended December 31, 2023, 2022 and 2021, respectively.

(2) Amounts reclassified to net income relate to (gains) losses on interest rate swaps and are included in Interest expense above. Amounts are net of income tax benefit of $1,052, $206 and $49 for the years ended December 31, 2023, 2022 and 2021.

(3) Net of income tax expense of $257, $587 and $24 for the years ended December 31, 2023, 2022 and 2021, respectively.

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

50

CADRE HOLDINGS, INC.

Consolidated Statements of Cash Flows

(In thousands)

Year Ended December 31, 

    

2023

    

2022

    

2021

Cash Flows From Operating Activities:

 

  

 

  

 

  

Net income

$

38,641

$

5,820

$

12,661

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

 

  

 

  

 

  

Depreciation and amortization

 

15,737

 

15,651

 

13,718

Amortization of original issue discount and debt issue costs

 

479

 

740

 

3,193

Amortization of inventory step-up

4,255

Loss on extinguishment of debt

15,155

Deferred income taxes

 

(210)

 

(1,087)

 

4,772

Stock-based compensation

9,368

31,858

355

Provision for (recoveries from) losses on accounts receivable

 

66

 

417

 

(188)

Foreign exchange (gain) loss

 

(602)

 

1,517

 

102

Other

(381)

(170)

Changes in operating assets and liabilities, net of impact of acquisitions:

 

 

 

Accounts receivable

 

6,602

 

(11,536)

 

(4,641)

Inventories

 

(10,223)

 

1,162

 

(3,189)

Prepaid expenses and other assets

 

(302)

 

(7,711)

 

(4,564)

Accounts payable and other liabilities

 

14,034

 

5,493

 

2,720

Net cash provided by operating activities

 

73,209

 

46,409

 

40,094

Cash Flows From Investing Activities:

 

  

 

  

 

  

Purchase of property and equipment

 

(6,727)

 

(4,494)

 

(2,832)

Proceeds from disposition of property and equipment

207

411

Business acquisitions, net of cash acquired

 

 

(55,543)

 

Net cash used in investing activities

 

(6,520)

 

(59,626)

 

(2,832)

Cash Flows From Financing Activities:

 

  

 

  

 

  

Proceeds from revolving credit facilities

 

 

43,000

 

257,980

Principal payments on revolving credit facilities

 

 

(43,000)

 

(258,612)

Proceeds from term loans

198,716

Principal payments on term loans

 

(10,000)

 

(10,116)

 

(266,000)

Proceeds from insurance premium financing

3,949

3,989

5,010

Principal payments on insurance premium financing

 

(3,973)

 

(4,952)

 

(3,061)

Payments for debt issuance costs

(2,198)

Payments on extinguishment of debt

(4,217)

Taxes paid in connection with employee stock transactions

(2,725)

(6,300)

Proceeds from initial public offering, net of underwriter discounts

83,421

Proceeds from secondary offering, net of underwriter discounts

56,329

Deferred offering costs

(2,953)

(4,841)

Dividends distributed

 

(12,006)

 

(11,509)

 

(12,751)

Other

33

(25)

(43)

Net cash (used in) provided by financing activities

 

(24,722)

 

24,463

 

(6,596)

Effect of foreign exchange rates on cash and cash equivalents

 

438

 

183

 

318

Change in cash and cash equivalents

 

42,405

 

11,429

 

30,984

Cash and cash equivalents, beginning of period

 

45,286

 

33,857

 

2,873

Cash and cash equivalents, end of period

$

87,691

$

45,286

$

33,857

Supplemental Disclosure of Cash Flows Information:

Cash paid for income taxes, net

$

8,729

$

1,395

$

1,158

Cash paid for interest

$

10,090

$

6,109

$

13,336

Supplemental Disclosure of Non-Cash Investing and Financing Activities:

Accruals and accounts payable for capital expenditures

$

234

$

172

$

197

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

51

CADRE HOLDINGS, INC.

Consolidated Statements of Shareholders’ Equity

(In thousands, except for share amounts)

Accumulated

Additional

Other

Common Stock

Paid-In

Comprehensive

Accumulated

Shareholders’

    

Shares

    

Amount

    

Capital

    

Income (Loss)

    

Deficit

    

Equity

Balance, December 31, 2020

27,483,350

$

3

$

48,670

$

(2,860)

$

(36,962)

$

8,851

Net income

 

 

 

 

 

12,661

 

12,661

Issuance of common stock in initial public offering, net of underwriter discounts and issuance costs

6,900,000

78,581

78,581

Dividends declared

(12,751)

(12,751)

Stock-based compensation

355

355

Foreign currency translation adjustments

 

 

 

 

30

 

 

30

Change in fair value of derivative instruments

913

913

Balance, December 31, 2021

34,383,350

$

3

$

127,606

$

(1,917)

$

(37,052)

$

88,640

Net income

 

 

 

 

 

5,820

 

5,820

Issuance of common stock in secondary offering, net of underwriter discounts and issuance costs

2,550,000

1

53,376

53,377

Dividends declared

(11,509)

(11,509)

Stock-based compensation

30,706

30,706

Common stock issued under employee compensation plans

580,990

1,152

1,152

Common stock withheld related to net share settlement of stock-based compensation

(182,069)

(6,300)

(6,300)

Foreign currency translation adjustments

 

 

 

 

(1,822)

 

 

(1,822)

Change in fair value of derivative instruments

5,826

5,826

Balance, December 31, 2022

 

37,332,271

 

$

4

 

$

206,540

 

$

2,087

 

$

(42,741)

 

$

165,890

Net income

 

 

 

 

 

38,641

 

38,641

Dividends declared

(12,006)

(12,006)

Stock-based compensation

8,782

8,782

Common stock issued under employee compensation plans

395,837

Common stock withheld related to net share settlement of stock-based compensation

(142,077)

(2,725)

(2,725)

Exercise of stock options

1,405

33

33

Foreign currency translation adjustments

 

 

 

 

929

 

 

929

Change in fair value of derivative instruments

(2,382)

(2,382)

Balance, December 31, 2023

 

37,587,436

 

$

4

 

$

212,630

 

$

634

 

$

(16,106)

 

$

197,162

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

52

CADRE HOLDINGS, INC.

Notes to Consolidated Financial Statements

(In thousands, except for share amounts)

1.SIGNIFICANT ACCOUNTING POLICIES

Nature of Operations and Basis of Presentation

Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 21 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.

Principles of Consolidation

The accompanying consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (“GAAP” or “U.S. GAAP”) and include the accounts of Cadre Holdings, Inc. and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.

Emerging Growth Company

We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.

In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.

Use of Estimates

The preparation of these consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.

Fair Value Measurements

The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, Fair Value Measurements and Disclosures, which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:

Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.

Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.

53

Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.

The Company’s financial instruments consist principally of cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts.

Cash and Cash Equivalents

Included in cash and cash equivalents are deposits with banks, cash on hand in stores, amounts due from credit card transactions and money market funds. We have no restrictions on our cash and cash equivalents.

Accounts Receivable

Trade accounts receivable consists of amounts owed to the Company and is stated net of allowances for known and potential losses. The Company’s outstanding accounts receivable balances are exposed to credit risk and valuation allowances are established for estimated losses resulting from non-collection of outstanding amounts due from customers.

The estimate of expected credit losses is based on the Company’s historical loss experience, adjusted for current and reasonable and supportable forecasts of economic conditions and other pertinent factors affecting the Company’s customers such as known credit risk or industry trends. In addition, specific reserves are established for customer accounts as known collection problems occur due to insolvency, disputes, or other collection issues. The amounts of these specific reserves are estimated by management based on the customer’s financial position, the age of the customer’s receivables and the reasons for any disputes. The allowance for doubtful accounts is reduced by any write-off of uncollectible customer accounts.

Inventories

Inventories are stated at the lower of cost, determined using the first-in, first-out (“FIFO”) or average cost methods, or net realizable value. Elements of cost in the Company’s manufactured inventories generally include raw materials, direct labor, indirect labor, manufacturing overhead and freight-in. The Company periodically reviews its inventories considering sales forecasts and historical experience to identify excess, close-out, or slow-moving items and makes provisions as necessary to properly reflect inventory value at the lower of cost or net realizable value.

Property and Equipment

Property and equipment, including those acquired under capital lease agreements, is stated at cost less accumulated depreciation and amortization, except for assets acquired using acquisition accounting, which are initially recorded at fair value. Depreciation is computed using the straight-line method over the following estimated useful lives:

Buildings and improvements

   

5 to 39 years

Furniture and fixtures

2 to 10 years

Computer hardware and software

3 to 5 years

Machinery and equipment

3 to 8 years

Leasehold improvements are amortized over the lesser of the estimated useful life of the improvement or the life of the lease. Major replacements, which extend the useful lives of property and equipment, are capitalized and depreciated over the remaining useful life of the asset. Normal repair and maintenance items are expensed as incurred.

The recoverability of the carrying amount of property and equipment is assessed when events or changes in circumstances indicate that the carrying amount of an asset or asset group may not be recoverable. If it is determined that the carrying amount of an asset or asset group is not recoverable based upon expected undiscounted future cash flows of the asset or asset group, an impairment loss equal to the excess of the carrying amount over the estimated fair value of the asset or asset group is recorded.

54

Leases

Lease assets and lease liabilities are recognized at the commencement of an arrangement where it is determined at inception that a lease exists.  Lease assets represent the right to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the lease.  These assets and liabilities are initially recognized based on the present value of lease payments over the lease term calculated using our incremental borrowing rate.  Lease terms include options to extend or terminate the lease when it is reasonably certain that those options will be exercised.

Variable lease payments are generally expensed as incurred and include certain non-lease components, such as common area maintenance and other services provided by the lessor, and other charges such as utilities, insurance and property taxes included in the lease.  Leases with an initial term of 12 months or less are not recorded on the balance sheet, and the expense for these short-term leases and for operating leases is recognized on a straight-line basis over the lease term. Non-lease components are excluded from the right-of-use (“ROU”) asset and lease liability present value computations. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.

Goodwill and Intangible Assets

The Company classifies intangible assets into three categories: i) intangible assets with definite lives subject to amortization, ii) intangible assets with indefinite lives not subject to amortization and iii) goodwill. The Company determines the useful lives of its identifiable intangible assets after considering the specific facts and circumstances related to each intangible asset. Factors the Company considers when determining useful lives include the contractual term of any agreement related to the asset, the historical performance of the asset, the Company’s long-term strategy for using the asset, any laws or other local regulations which could impact the useful life of the asset, and other economic factors, including competition and specific market conditions. Intangible assets that are deemed to have definite lives are amortized on a straight-line basis over their useful lives.

The Company tests goodwill and intangible assets determined to have indefinite useful lives for impairment annually, or more frequently if events or circumstances indicate that assets might be impaired. The Company performs these annual impairment tests as of October 31st each year. Goodwill is evaluated for impairment at the reporting unit level, which is defined as an operating segment or one level below an operating segment. As of October 31, 2023, 2022 and 2021, the Company had three reporting units: Safariland, Med-Eng, and Distribution.

In evaluating goodwill for impairment, qualitative factors are considered to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. Some of these qualitative factors may include macroeconomic conditions, industry and market considerations, a change in financial performance, or entity-specific events. If, through this qualitative assessment, the conclusion is made that it is more likely than not that a reporting unit’s fair value is less than its carrying amount, the Company compares the fair value of a reporting unit to its carrying value.

The Company would generally determine the fair value of reporting units based on a combination of the income approach and market approach, weighted based on the circumstances. Under the income approach, the discounted cash flow model determines fair value based on the present value of projected cash flows over a specific projection period and a residual value related to future cash flows beyond the projection period. Both values are discounted using a rate that reflects the Company’s best estimate of the weighted average cost of capital of a market participant and is adjusted for appropriate risk factors. The Company performs sensitivity tests with respect to growth rates and discount rates used in the income approach. Under the market approach, valuation multiples are derived based on a selection of comparable companies and acquisition transactions and applied to projected operating data for each reporting unit to arrive at an indication of fair value.

For all periods presented, the Company performed the qualitative assessment of goodwill and determined it was more likely than not that the fair value of each of its reporting units would be greater than its carrying amount. Therefore, the Company determined it was not necessary to perform the quantitative goodwill impairment test.

For indefinite-lived intangible assets other than goodwill, the impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount exceeds the fair value, an impairment charge is recognized in an amount equal to that excess.

55

The Company tests definite-lived intangible assets for recoverability when changes in circumstances indicate the carrying value may not be recoverable. Events that trigger a test for recoverability include:

material adverse changes in projected revenues and expenses;
significant underperformance relative to historical and projected future operating results;
significant negative industry or economic trends; and,
a significant adverse change in the manner in which an asset group is used or in its physical condition.

Future adverse changes in these or other unforeseeable factors could result in an impairment charge that could materially impact future results of operations and financial position in the reporting period identified.

When a triggering event occurs, a test for recoverability is performed by comparing projected undiscounted future cash flows to the carrying value of the asset group. If the test for recoverability identifies a possible impairment, the asset group’s fair value is measured relying primarily on a discounted cash flow method. An impairment charge is recognized for the amount by which the carrying value of the asset group exceeds its estimated fair value. When an impairment loss is recognized for assets to be held and used, the adjusted carrying amount of those assets is depreciated over their remaining useful life. We did not have any events or circumstances indicating impairment of our long-lived assets for the years presented.

Accounts Payable

Accounts payable represents amounts owed by us to third parties at the end of the period. Accounts payable includes $1,055 and $188 of book cash overdrafts in excess of cash balances in such accounts as of December 31, 2023 and 2022, respectively. We include the change in book cash overdrafts in operating cash flows in the consolidated statements of cash flows.

Revenue Recognition

The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.

The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.

At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.

Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.

Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.

56

Product Warranty

Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements and is recorded in cost of goods sold in the Company’s consolidated statements of operations and comprehensive income.

The following table sets forth the changes in the Company’s accrued warranties, which is recorded in accrued liabilities in the consolidated balance sheets:

Year ended December 31, 

    

2023

    

2022

Beginning accrued warranty expense

$

1,234

$

1,256

Current period claims

 

(886)

 

(278)

Provision for current period sales

 

1,262

 

256

Ending accrued warranty expense

$

1,610

$

1,234

Cost of Goods Sold

Cost of goods sold includes raw material purchases, manufacturing-related labor costs, contracted labor, shipping costs, reimbursable research and development costs, allocated manufacturing overhead, facility costs, depreciation and amortization, and product warranty costs.

Selling, General & Administrative Expenses

Selling, general and administrative expense includes personnel-related costs, including stock-based compensation, professional services, marketing and advertising expense, research and development and depreciation and amortization.

Advertising Expenses

Advertising costs are expensed in the period incurred. Advertising expenses primarily consist of marketing, promotions, catalog and trade show expenses and were $6,145, $4,711 and $3,120 for the years ended December 31, 2023, 2022 and 2021, respectively. Advertising expenses are included in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.

Research and Development

Research and development expenses are expensed as incurred and included within selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income. Total research and development costs were $6,954, $7,086 and $6,460 for the years ended December 31, 2023, 2022 and 2021, respectively.

57

Debt Issuance Costs

The Company capitalizes costs related to the issuance of debt under the provisions of ASC Subtopic 835-30, Interest — Imputation of Interest. Debt issuance costs related to a recognized debt liability are presented in the consolidated balance sheets as a direct deduction from the carrying amount of that debt liability and subsequently amortized on a straight-line method which approximates the effective interest method over the life of the related loan. Debt issuance costs related to line-of-credit are presented in the consolidated balance sheets as an asset and subsequently amortized ratably over the term of the respective arrangement. Amortization of debt issuance costs is included as a component of interest expense in the Company’s consolidated statements of operations and comprehensive income.

Stock-Based Compensation

The Company records compensation expense for all stock-based awards granted based on the fair value of the award at the time of the grant. The fair value of each option award is estimated on the date of grant using the Black-Scholes option pricing model that uses assumptions and estimates that the Company believes are reasonable. The fair value of restricted stock awards is measured based on the closing market value of the Company’s common stock on the date of the grant. For restricted stock awards subject to market conditions, the fair value of each restricted stock award has been estimated as of the date of grant using a Monte-Carlo pricing model. The Company recognizes the cost of the stock-based awards on a straight-line basis over the requisite service period of the award and recognizes forfeitures in the period they occur. Stock options granted have contractual terms of up to ten years. Upon vesting of restricted stock awards, the Company issues shares from those authorized and reserved for issuance.

Derivatives

The Company mitigates the impact of changes in interest rates with interest rate swaps that are accounted for as designated hedges pursuant to ASC Topic 815, Derivatives and Hedging ("ASC 815"). ASC 815 requires that an entity recognize all derivatives as either assets or liabilities on the balance sheet, measure those instruments at fair value and recognize changes in the fair value of derivatives in earnings in the period of change unless the derivative qualifies as designated cash flow hedge that offsets certain exposures. Certain criteria must be satisfied in order for derivative financial instruments to be classified and accounted for as a cash flow hedge. Changes in the fair value of derivatives that are not elected for hedge accounting treatment are recorded immediately into earnings.

The Company would discontinue hedge accounting prospectively (i) if it is determined that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item, (ii) when the derivative expires or is sold, terminated, or exercised, (iii) if it becomes probable that the forecasted transaction being hedged by the derivative will not occur, (iv) if a hedged firm commitment no longer meets the definition of a firm commitment, or (v) if it is determined that designation of the derivative as a hedge instrument is no longer appropriate. 

Restructuring Costs

Restructuring costs consist primarily of termination benefits and relocation of employees, termination of operating leases and other contracts related to consolidating or closing facilities. The Company applies the provisions of ASC Topic 420, Exit or Disposal Cost Obligations (“ASC 420”) and ASC Topic 712, Nonretirement Postemployment Benefits (“ASC 712”) in the recording of severance costs. Severance costs accounted for under ASC 420 are recognized when management with the proper level of authority commits to a restructuring plan and communicates those actions to employees and other applicable criteria. Severance costs accounted for under ASC 712 are recognized when it is probable that employees are entitled to benefits and the amount could be reasonably estimated. Other exit costs are accounted for under ASC 420 and are either deferred or expensed as incurred based on the nature of the expense.

Income Taxes

The Company accounts for income taxes under the provisions of ASC Topic 740, Income Taxes. Deferred tax assets and liabilities are determined based on differences between the financial statement carrying amounts and tax bases of assets and liabilities and are classified as noncurrent in the consolidated balance sheets.

58

Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of changes in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. Changes in tax laws and rates could have a material impact on the deferred tax assets and liabilities recorded.

Deferred tax assets are reduced by a valuation allowance when, in the opinion of management, it is more likely than not that some portion or all of the deferred tax assets will not be realized. Significant estimates are used in the evaluation of the need for a valuation allowance including estimates regarding future taxable income. Changes to those estimates could impact management’s conclusions regarding the need for valuation allowances on some or all of the deferred tax assets. The Company releases the income tax effects of deferred tax balances that have a valuation allowance from accumulated other comprehensive income once the reason the tax effects were established ceases to exist.

The Company is subject to income taxes in the United States and several foreign jurisdictions. In the United States, the Company files a consolidated income tax return with its domestic subsidiaries. When tax returns are filed, it is highly certain that some positions taken would be sustained upon examination by taxing authorities, while others are subject to uncertainty about the merits of the position taken or the amount of the position that would be ultimately sustained. The benefit of a tax position is recognized in the consolidated financial statements in the period during which, based on all available evidence, it is more likely than not that the position will be sustained upon examination, including the resolution of appeals or litigation processes, if any. Tax positions taken are not offset or aggregated with other positions. Tax positions that meet the more-likely than-not threshold are measured as the largest amount of tax benefit that is more than 50% likely of being realized upon settlement with the applicable taxing authority. The portion of the benefits associated with tax positions taken that exceeds the amount measured as described above is reflected as a liability for unrecognized tax benefits in the accompanying balance sheets along with any associated interest and penalties that would be payable to the taxing authorities upon examination.

Further information regarding the Company’s tax positions is included in Note 15, Income Taxes.

Accumulated Other Comprehensive Income

Comprehensive income represents all changes in equity of the Company that result from recognized transactions and other economic events during the period. Other comprehensive (loss) income refers to revenues, expenses, gains, and losses that under GAAP are included in comprehensive income but excluded from net income.

Foreign Currency

Translation

Assets and liabilities of subsidiaries operating outside the United States with a functional currency other than U.S. Dollars are translated into U.S. Dollars using the exchange rates in effect at the balance sheet date. Results of operations are translated using the average exchange rate prevailing throughout the period. The effects of unrealized exchange rate fluctuations on translating foreign currency assets and liabilities into U.S. dollars are accumulated as the cumulative translation adjustment included in accumulated other comprehensive income in the consolidated balance sheets.

Transaction

Transactions denominated in foreign currency are recorded at the exchange rate on the date of each transaction. Realized gains and losses on foreign currency transactions are included in other income (expense), net in the consolidated statements of operations and comprehensive income, except on certain intercompany balances which the Company has determined are of a long-term investment nature, which are included in accumulated other comprehensive income in the consolidated balance sheets. Monetary assets and liabilities are remeasured at the balance sheet date at end-of-period exchange rates. Unrealized gains and losses arising from remeasurement of foreign currency-denominated monetary assets and liabilities are included in other income (expense), net in the consolidated statements of operations and comprehensive income in the period in which they occur.

59

Net Income per Share

Basic income or loss per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. Diluted income or loss per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method. The calculation of weighted average shares outstanding and net income per share are as follows:

    

Year ended December 31, 

    

2023

    

2022

    

2021

Net income

$

38,641

$

5,820

$

12,661

 

  

 

  

 

  

Weighted average shares outstanding - basic

 

37,533,818

 

36,109,844

 

28,598,692

Effect of dilutive securities:

Stock-based awards

386,670

12,530

Weighted average shares outstanding - diluted

 

37,920,488

 

36,122,374

 

28,598,692

Net income per share:

 

  

 

  

 

  

Basic

$

1.03

$

0.16

$

0.44

Diluted

$

1.02

$

0.16

$

0.44

There were no dilutive instruments outstanding for the year ended December 31, 2021.

Risk and Uncertainties

Concentration of Credit Risk

Financial instruments that potentially subject the Company to concentration of credit risk consist principally of cash and accounts receivable. Risks associated with cash within the United States and foreign countries are mitigated by banking with federally insured, creditworthy institutions, although certain of our cash deposits exceed the federally insured limits. As of December 31, 2023 and 2022, the Company had deposits of $9,757 and $10,142, respectively, at foreign financial institutions.

Accounts receivable are financial instruments that also expose the Company to concentration of credit risk. Such exposure is limited by the large number of customers comprising the Company’s customer base and their dispersion across different geographic areas. In addition, the Company routinely assesses the financial strength of its customers and maintains an allowance for doubtful accounts that management believes will adequately provide for credit losses. Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses as considered necessary by management.

Recent Accounting Pronouncements

Recently Adopted Accounting Pronouncements

In June 2016, the FASB issued ASU 2016-13, Financial Instruments — Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments. ASU 2016-13 includes an impairment model (known as the current expected credit loss model) that is based on expected losses rather than incurred losses. Under the new guidance, an entity recognizes as an allowance its estimate of expected credit losses, which the FASB believes will result in more timely recognition of such losses. The use of forecasted information is intended to incorporate more timely information in the estimate of expected credit loss. In November 2019, the FASB issued additional guidance which extends the effective date of ASU 2016-13 for emerging growth companies to begin in fiscal years beginning after December 15, 2022. The Company adopted this standard on January 1, 2023. The adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures.

In March 2020, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting and related amendments. This ASU provides temporary optional expedients and exceptions to existing guidance on contract modifications and hedge accounting to facilitate the market transition from existing reference rates, such as the London Inter-Bank Offered Rate (“LIBOR”) which began to be phased out in 2021, to alternate reference rates, such as the Secured Overnight Financing Rate

60

(“SOFR”). On May 31, 2023, we amended our 2021 credit agreement and interest rate swap agreements to affect the transition from LIBOR to SOFR. In connection with these amendments, the Company adopted ASU 2020-04 in the second quarter of 2023. In doing so, the Company elected to adopt the suite of optional expedients when analyzing the amendment to the credit agreement and related interest swaps. As such, the amendments to the Company’s 2021 credit agreement and swap agreements, and the adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures.

Accounting Pronouncements Not Yet Adopted

In November 2023, the FASB issued Accounting Standards Update (“ASU”) 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires a public entity to disclose significant segment expenses and other segment items on an annual and interim basis and provide in interim periods all disclosures about a reportable segment’s profit or loss and assets that are currently required annually. The amendments in ASU 2023-07 are effective for all public entities for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted. The Company is currently evaluating the impact of the adoption of this standard on our consolidated financial statements and disclosures.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires a public entity to disclose in its rate reconciliation table additional categories of information about federal, state and foreign income taxes and provide more details about the reconciling items in some categories if items meet a quantitative threshold. The guidance will require all entities to disclose income taxes paid, net of refunds, disaggregated by federal (national), state and foreign taxes for annual periods and to disaggregate the information by jurisdiction based on a quantitative threshold. The guidance makes several other changes to the disclosure requirements. All entities are required to apply the guidance prospectively, with the option to apply it retrospectively. The guidance is effective for public business entities for fiscal years beginning after December 15, 2024. Early adoption is permitted. The Company is currently evaluating the enhanced disclosure requirements, however, we do not anticipate a material change to our consolidated financial statements and disclosures.

2.ACQUISITIONS

Radar Acquisition

On January 11, 2022, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of Radar Leather Division S.r.l. (“Radar”), a premiere family-owned duty gear business based in Italy that specializes in the production of high-quality holsters, belts, duty belts, and other accessories.

Total consideration, net of cash acquired, was $19,365 for 100% of the equity interests in Radar.

The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the Radar acquisition is included in the Product segment and reflects

61

synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.

Total consideration, net

    

$

19,365

Accounts receivable

$

2,347

Inventories

1,874

Prepaid expenses

682

Other current assets

665

Property and equipment

3,053

Intangible assets

10,200

Goodwill

7,101

Total assets acquired

25,922

Accounts payable

1,120

Deferred tax liabilities

2,787

Accrued liabilities

2,106

Long-term debt

544

Total liabilities assumed

6,557

Net assets acquired

$

19,365

The full amount of goodwill of $7,101 is expected to be non-deductible for tax purposes.

Cyalume Acquisition

On May 4, 2022, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of Cyalume Technologies, Inc, CT SAS Holdings, Inc. and Cyalume Technologies SAS (collectively “Cyalume”). Cyalume is engaged in the design and manufacture of proprietary chemical illumination solutions for a diverse range of products, including light sticks, infrared products, safety markings and non-pyrophoric training ammunition.

Total consideration, net of cash acquired, was $36,178 for 100% of the equity interests in Cyalume.

The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. During fiscal 2023, in the measurement period, we have decreased goodwill by $393 for changes in assumptions used to fair value property, equipment, and customer relationships, and deferred income taxes for certain book and tax basis differences as we complete the tax return filings for the pre-acquisition period. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the Cyalume acquisition

62

is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.

Total consideration, net

    

$

36,178

Accounts receivable

$

3,302

Inventories

10,908

Prepaid expenses

255

Other current assets

10

Property and equipment

12,492

Intangible assets

8,100

Goodwill

8,708

Total assets acquired

43,775

Accounts payable

1,080

Deferred tax liabilities

4,652

Accrued liabilities

1,577

Other long-term liabilities

288

Total liabilities assumed

7,597

Net assets acquired

$

36,178

The full amount of goodwill of $8,708 is expected to be non-deductible for tax purposes.

3.ACCOUNTS RECEIVABLE, NET

The following is a reconciliation of the changes in our allowance for doubtful accounts during 2023 and 2022:

Year ended December 31, 

    

2023

    

2022

Beginning allowance for doubtful accounts

$

924

$

645

Provision

 

66

 

417

Write-offs

 

(355)

 

(138)

Ending allowance for doubtful accounts

$

635

$

924

4.REVENUE RECOGNITION

The following tables disaggregate net sales by channel and geography:

Year ended December 31, 

    

2023

    

2022

    

2021

U.S. state and local agencies (a)

$

282,318

$

250,680

$

231,095

Commercial

 

42,406

 

45,357

 

34,860

U.S. federal agencies

 

57,447

 

51,165

 

47,575

International

 

97,058

 

106,593

 

107,503

Other

 

3,303

 

4,042

 

6,255

Net sales

$

482,532

$

457,837

$

427,288

63

(a) Includes all Distribution sales

Year ended December 31, 

    

2023

    

2022

    

2021

United States

$

385,474

$

351,244

$

319,785

International

 

97,058

 

106,593

 

107,503

Net sales

$

482,532

$

457,837

$

427,288

Revenue by product is not disclosed, as it is impractical to do so.

Contract Liabilities

Contract liabilities are recorded as a component of other liabilities when customers remit cash payments in advance of the Company satisfying performance obligations. Contract liabilities are recognized into revenue when the performance obligation is satisfied. Contract liabilities are included in accrued liabilities in the Company’s consolidated balance sheets and totaled $4,246 and $4,615, as of December 31, 2023 and 2022, with $2,937 of the 2022 contract liabilities being recognized in revenue during the year ended December 31, 2023.

Remaining Performance Obligations

As of December 31, 2023, we had $24,721 of remaining unfulfilled performance obligations, which included amounts that will be invoiced and recognized in future periods. The remaining performance obligations are limited only to arrangements that meet the definition of a contract under Topic 606, Revenue from Contracts with Customers, as of December 31, 2023. We expect to recognize approximately 54% of this balance over the next twelve months and expect the remainder to be recognized in the following two years.

5.FAIR VALUE MEASUREMENTS

Assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and 2022 consisted of the following:

December 31, 2023

December 31, 2022

Carrying 

Fair Value

Carrying 

Fair Value

    

Amount

    

Level 1

    

Level 2

    

Level 3

    

Amount

    

Level 1

    

Level 2

    

Level 3

Assets:

 

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Interest rate swap (Note 10)

$

6,505

$

$

6,505

$

$

8,985

$

$

8,985

$

Liabilities:

Interest rate swap (Note 10)

$

427

$

$

427

$

$

$

$

$

There were no transfers of assets or liabilities between levels during the years ended December 31, 2023 and 2022.

6.INVENTORIES

The following table sets forth a summary of inventories stated at lower of cost or net realizable value, as of December 31, 2023 and 2022:

    

December 31, 

    

2023

    

2022

Finished goods

$

31,674

$

25,208

Work-in-process

 

8,473

 

7,466

Raw materials and supplies

 

40,829

 

37,599

Total

$

80,976

$

70,273

7.

64

7.PROPERTY AND EQUIPMENT

Property and equipment consist of the following:

    

December 31, 

2023

    

2022

Land

$

7,614

$

7,545

Building and improvements

 

24,433

 

22,992

Furniture and fixtures

 

1,966

 

1,400

Computer hardware and software

 

25,145

 

24,140

Machinery and equipment

 

31,770

 

28,464

Construction in progress

 

4,687

 

3,438

 

95,615

 

87,979

Less accumulated depreciation

 

(50,968)

 

(42,694)

Total

$

44,647

$

45,285

The Company recorded depreciation expense of $7,943, $6,851 and $5,143 for the years ended December 31, 2023, 2022 and 2021, respectively, of which $4,590, $3,433 and $2,144 was included in cost of goods sold in the consolidated statements of operations and comprehensive income for the respective years.

8.GOODWILL AND OTHER INTANGIBLE ASSETS

Goodwill

The following table summarizes the changes in goodwill during the years ended December 31, 2023 and 2022:

    

Product

    

Distribution

    

Total

Balance, December 31, 2021

 

$

63,646

$

2,616

 

$

66,262

Radar acquisition

7,101

7,101

Cyalume acquisition

9,101

9,101

Foreign currency translation adjustments

 

(888)

 

(888)

Balance, December 31, 2022

$

78,960

$

2,616

$

81,576

Measurement period adjustments

(393)

(393)

Foreign currency translation adjustments

484

484

Balance, December 31, 2023

$

79,051

$

2,616

$

81,667

Impairment of Goodwill

No impairment losses were recorded during the years ended December 31, 2023, 2022 and 2021. Gross goodwill and accumulated impairment losses was $89,252 and $7,585, respectively, as of December 31, 2023 and $89,161 and $7,585, respectively, as of December 31, 2022.

Intangible Assets

Intangible assets such as certain customer relationships and patents on core technologies and product technologies are amortizable over their estimated useful lives. Certain trade names and trademarks which provide exclusive and perpetual rights to manufacture and sell their respective products are deemed indefinite-lived and are therefore not subject to amortization.

65

Intangible assets consisted of the following as of December 31, 2023 and 2022:

December 31, 2023

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

86,621

 

$

(65,650)

 

$

20,971

 

11

Technology

 

16,111

 

 

(11,979)

 

 

4,132

 

8

Tradenames

 

6,622

 

 

(5,492)

 

 

1,130

 

4

Non-compete agreements

 

1,003

 

 

(1,003)

 

 

 

4

$

110,357

 

$

(84,124)

 

$

26,233

Indefinite lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,239

 

 

 

 

17,239

 

Indefinite

Total

$

127,596

 

$

(84,124)

 

$

43,472

 

  

December 31, 2022

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

85,847

$

(59,122)

 

$

26,725

 

11

Technology

 

15,629

 

 

(11,309)

 

 

4,320

 

8

Tradenames

 

6,484

 

 

(4,254)

 

 

2,230

 

4

Non-compete agreements

 

973

 

 

(973)

 

 

 

4

$

108,933

 

$

(75,658)

 

$

33,275

Indefinite lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,420

 

 

 

 

17,420

 

Indefinite

Total

$

126,353

 

$

(75,658)

 

$

50,695

 

  

The Company recorded amortization expense of $7,794, $8,800 and $8,575 for the years ended December 31, 2023, 2022 and 2021, respectively, of which $465, $439 and $666 was included in cost of goods sold in the consolidated statements of operations and comprehensive income for the respective years.

The estimated amortization expense for definite-lived intangible assets for the next five years and thereafter is presented below:

2024

    

$

5,115

2025

 

3,139

2026

 

2,736

2027

 

2,553

2028

 

2,553

Thereafter

 

10,137

Total

$

26,233

9.

66

9.ACCRUED LIABILITIES

Accrued liabilities as of December 31, 2023 and 2022 are as follows:

    

December 31, 

2023

2022

Accrued expenses

$

4,384

$

3,656

Accrued compensation and payroll tax

 

24,621

 

20,420

Accrued interest payable

 

137

 

73

Accrued warranties

 

1,610

 

1,234

Contract liabilities and customer credits

5,122

5,937

Current lease liabilities

3,510

3,773

Other accrued liabilities

5,140

3,627

Total

$

44,524

$

38,720

10.

10.DEBT

The Company’s debt is as follows:

    

December 31, 

2023

    

2022

Short-term debt:

 

  

 

  

Insurance premium financing

$

2,187

$

2,211

Current portion of term loan

 

10,000

 

10,000

Current portion of other

 

133

 

$

12,320

$

12,211

Long-term debt:

 

  

 

  

Revolver

 

 

Term loan

 

128,564

 

138,564

Other

 

398

 

512

$

128,962

$

139,076

Unamortized debt discount and debt issuance costs

 

(1,150)

 

(1,600)

Total long-term debt, net

$

127,812

$

137,476

The following summarizes the aggregate principal payments of our long-term debt, excluding debt discount and debt issuance costs, for the next five years and thereafter:

2024

    

$

10,133

2025

 

10,133

2026

 

118,697

2027

 

132

2028

 

Total principal payments

$

139,095

2021 Credit Facility

On August 20, 2021 (the “Closing Date”), the Company refinanced its existing credit facilities and entered into a new credit agreement whereby Safariland, LLC, as borrower (the “Borrower”), the Company and certain domestic subsidiaries of the Borrower, as guarantors (the “Guarantors”), closed on and received funding under a credit agreement (initially entered into on July 23, 2021), pursuant to a First Amendment to Credit Agreement (collectively, the “2021 Credit Agreement”) with PNC Bank, National Association (“PNC”), as administrative agent, and the several lenders from time to time party thereto (together with PNC, the “Lenders”) pursuant to which the Borrower (i) borrowed $200,000 under a term loan (the “Term Loan”), and (ii) may borrow up to

67

$100,000 under a revolving credit facility (including up to $15,000 for letters of credit and up to $10,000 for swing line loans) (the “Revolving Loan”). Each of the Term Loan and the Revolving Loan mature on July 23, 2026. Commencing December 31, 2021, the Term Loan requires scheduled quarterly payments in amounts equal to 1.25% per quarter of the original aggregate principal amount of the Term Loan, with the balance due at maturity. The 2021 Credit Agreement is guaranteed, jointly and severally, by the Guarantors and, subject to certain exceptions, secured by a first-priority security interest in substantially all of the assets of the Borrower and the Guarantors pursuant to a Security and Pledge Agreement and a Guaranty and Suretyship Agreement, each dated as of the Closing Date.

The Company performed an analysis on a creditor-by-creditor basis for debt modifications and extinguishments to determine the appropriate accounting treatment of associated issuance costs. In connection with the refinancing, the Company recorded a loss on debt extinguishment of $15,155 for the year ended December 31, 2021 related to early extinguishments fees and the write-off of unamortized debt discount and debt issuance costs.

In connection with the 2021 Credit Agreement, the Company paid financing costs totaling $4,114, of which $2,749 related to the Term Loan and $1,365 related to the Revolving Loan. Total financing costs consisted of $1,916 of fees paid to lenders and $2,198 of debt issuance costs. Costs incurred in connection with the Term Loan were deferred and recorded as an offset to long-term debt. Costs incurred in connection with the Revolving Loan were deferred and recorded to other assets. All deferred debt costs are amortized to interest expense over the term of the loan using the effective interest method.

As of December 31, 2023 and 2022, the Company had an unamortized debt discount of $537 and $748 and unamortized debt issuance costs of $613 and $851, respectively, included as an offset to debt in the consolidated balance sheets.

There were no amounts outstanding under any revolving loans as of December 31, 2023 and 2022. As of December 31, 2023, there were $2,584 in outstanding letters of credit and $97,416 of availability.

As of December 31, 2023 and 2022, the term loan outstanding principal balance was $138,564 and $148,564 and bore interest at 6.96% and 6.14%, respectively.

The Borrower may elect to have the Revolving Loan and Term Loan under the 2021 Credit Agreement bear interest at a base rate or LIBOR, in each case, plus an applicable margin. However, in connection with the market transition away from applicable LIBOR rates to SOFR, on May 31, 2023, the Company, the Borrowers and the Lenders entered into the third amendment to the 2021 Credit Agreement (the “Third Amendment”) pursuant to which the 2021 Credit Agreement was amended to implement the SOFR rates. The applicable interest rates for these borrowings are, at the Company’s option, either (a) a base rate plus an applicable margin between 0.50% and 1.50% or (b) a Term SOFR rate, plus a SOFR adjustment equal to 0.10%, plus an applicable margin equal to 1.50% to 2.50%. The 2021 Credit Agreement also requires the Borrower to pay a commitment fee on the unused portion of the loan commitments. Such commitment fee ranges between 0.175% and 0.25% per annum, and is also based upon the level of the Company’s consolidated total net leverage ratio. The 2021 Credit Agreement also contains customary representations and warranties, and affirmative and negative covenants, including limitations on additional indebtedness, dividends, and other distributions, entry into new lines of business, use of loan proceeds, capital expenditures, restricted payments, restrictions on liens on the assets of the Borrowers or any Guarantor, transactions with affiliates, amendments to organizational documents, accounting changes, sale and leaseback transactions, dispositions, and mandatory prepayments in connection with certain liquidity events. The 2021 Credit Agreement contains certain restrictive debt covenants, which require us to: (i) maintain a minimum fixed charge coverage ratio of 1.25 to 1.00, starting with the quarter ended December 31, 2021, which is to be determined for each quarter end on a trailing four quarter basis and (ii) maintain a quarterly maximum consolidated total net leverage ratio of 3.75 to 1.00 from the quarter ended December 31, 2022 until the quarter ended September 30, 2022, and thereafter 3.50 to 1.00, which is in each case to be determined on a trailing four quarter basis; provided that under certain circumstances and subject to certain limitations, in the event of a material acquisition, we may temporarily increase the consolidated total net leverage ratio by up to 0.50 to 1.00 for four fiscal quarters following such acquisition. The 2021 Credit Agreement contains customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the 2021 Credit Agreement may be accelerated and the Lenders could foreclose on their security interests in the assets of the Borrowers and the Guarantors.

68

Canadian Credit Facility

On October 14, 2021, Med-Eng Holdings ULC and Pacific Safety Products Inc., the Company’s Canadian subsidiaries, as borrowers (the “Canadian Borrowers”), and Safariland, LLC, as guarantor (the “Canadian Guarantor”), closed on a line of credit pursuant to a Loan Agreement (the “Canadian Loan Agreement”) and a Revolving Line of Credit Note (the “Note”) with PNC Bank Canada Branch (“PNC Canada”), as lender pursuant to which the Canadian Borrowers may borrow up to CDN$10,000 under a revolving line of credit (including up to $3,000 for letters of credit) (the “Revolving Canadian Loan”). The Revolving Canadian Loan matures on July 23, 2026. The Canadian Loan Agreement is guaranteed by the Canadian Guarantor pursuant to a Guaranty and Suretyship Agreement (the “Canadian Guaranty Agreement”).

The Canadian Borrowers may elect to have borrowings either in United States dollars or Canadian dollars under the Canadian Loan Agreement, which will bear interest at a base rate or SOFR, in each case, plus an applicable margin, in the case of borrowings in United States dollars, or at a Canadian Prime Rate (as announced from time to time by PNC Canada) or a Canadian deposit offered rate (“CDOR”) as determined from time to time by PNC Canada in accordance with the Canadian Loan Agreement. The applicable margin for these borrowings range from 0.50% to 1.50% per annum, in the case of base rate borrowings and Canadian Prime Rate borrowings, and 1.50% to 2.50% per annum, in the case of SOFR borrowings and CDOR borrowings. The Canadian Loan Agreement also requires the Canadian Borrowers to pay (i) an unused line fee on the unused portion of the loan commitments in an amount ranging between 0.175% and 0.25% per annum, based upon the level of the Company’s consolidated total net leverage ratio, and (ii) an upfront fee equal to 0.25% of the principal amount of the Note.

There were no amounts outstanding under the Revolving Canadian Loan as of December 31, 2023 and 2022.

The Canadian Loan Agreement also contains customary representations and warranties, and affirmative and negative covenants, including, among others, limitations on additional indebtedness, entry into new lines of business, entry into guarantee agreements, making of any loans or advances to, or investments in, any other person, restrictions on liens on the assets of the Canadian Borrowers and mergers, transfers of assets and acquisitions. The Canadian Loan Agreement and Note also contain customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions.

Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the Canadian Loan Agreement may be accelerated.

Short-Term Debt

In July 2022, the Company entered into a short-term loan facility for insurance premiums with AFCO Credit Corporation for $3,989 with a maturity date of June 27, 2023. The loan has fixed annual interest of 5.75% on the outstanding balance and requires monthly payments of principal and interest of $373. As of December 31, 2022, $2,211 was outstanding.

In July 2023, the Company entered into a short-term loan facility for insurance premiums with First Insurance Funding for $3,948 with a maturity date of June 27, 2024. The loan has fixed annual interest of 7.49% on the outstanding balance and requires monthly payments of principal and interest of $373. As of December 31, 2023, $2,187 was outstanding.

Fair Value of Debt

The fair value of our Term Loan is based upon established market prices for the securities using Level 2 inputs. The fair value of our Term Loan as of December 31, 2023 was $141,340 compared to its carrying value of $138,564. The Company classifies its long-term debt within Level 2 of the fair value hierarchy

69

Interest Rate Swaps

We entered into interest rate swap agreements to hedge forecasted monthly interest rate payments on our floating rate debt. As of December 31, 2023, we had the following interest rate swap agreements (the “Swap Agreements”):

Effective Date

    

Notional Amount

    

Fixed Rate

September 30, 2021 through July 23, 2026

$

88,750

0.812

%

May 31, 2023 through July 23, 2026

    

$

48,125

    

3.905

%

On May 31, 2023, concurrent with the third amendment to the 2021 Credit Agreement, we amended our September 30, 2021 swap agreement to reflect the change from LIBOR to SOFR. In addition, we entered into an additional $50,000 notional amount interest rate swap to further mitigate our interest rate exposure on our floating rate debt. Under the terms of the Swap Agreements, we receive payments based on the 1-month SOFR (5.36% as of December 31, 2023).

During the year ended December 31, 2023, there were no interest rate swap agreements that expired.

We designated the Swap Agreements as cash flow hedges. A portion of the amount included in accumulated other comprehensive income is reclassified into interest expense, net as a yield adjustment as interest is either paid or received on the hedged debt. The fair value of our Swap Agreements is based upon Level 2 inputs. We have considered our own credit risk and the credit risk of the counterparties when determining the fair value of our Swap Agreements.

It is our policy to execute such instruments with creditworthy banks and not to enter into derivative financial instruments for speculative purposes. We believe our interest rate swap counterparty will be able to fulfill their obligations under our agreements, and we believe we will have debt outstanding through the expiration date of the swap agreements such that the occurrence of future cash flow hedges remains probable.

The estimated fair value of our Swap Agreements in the consolidated balance sheets was as follows:

    

December 31, 

Balance Sheet Accounts

2023

    

2022

Other current assets

$

3,655

$

3,619

Other assets

$

2,850

$

5,366

Other liabilities

$

427

$

A cumulative gain, net of tax, of $4,357 and $6,739 is recorded in accumulated other comprehensive income as of December 31, 2023 and 2022, respectively.

The amount of gain, net of tax, recognized in other comprehensive income for the years ended December 31, 2023, 2022 and 2021 was $775, $6,444 and $767, respectfully. There was a gain, net of tax, of $3,157 and $618 and a loss, net of tax, of $146 reclassified from accumulated other comprehensive income into earnings for the years ended December 31, 2023, 2022 and 2021, respectively.

As of December 31, 2023, approximately $3,552 is expected to be reclassified from accumulated other comprehensive income into interest expense over the next 12 months.

11.SHAREHOLDERS’ EQUITY

Initial Public Offering

On November 3, 2021, the Company completed its initial public offering (“IPO”) in which the Company issued and sold 6,900,000 shares, which included 900,000 shares that were offered and sold pursuant to the full exercise of the underwriters’ over-allotment option, of common stock at a public offering price of $13.00 per share. The Company’s net proceeds from the sale of shares in the IPO was $78,581 after underwriter discounts and commissions, fees and expenses of $11,119, of which $2,250 was paid to Kanders & Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer.

70

Secondary Offering

On June 9, 2022, the Company completed a secondary offering in which the Company issued and sold 2,250,000 shares of common stock at a price of $23.50 per share. The Company’s net proceeds from the sale of shares were $46,988 after underwriter discounts and commissions, fees and expenses of $2,715, of which $2,000 was paid to Kanders & Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer.

On July 14, 2022, the underwriters exercised a portion of their over-allotment option and purchased an additional 300,000 shares of common stock at a price of $23.50 per share, resulting in net proceeds to the Company of $6,389 after underwriter discounts and commissions, fees and expenses of $661.

Dividends

On January 23, 2024, the Company announced that its board of directors approved the initiation of a quarterly cash dividend policy of $0.0875 per share of the Company’s common stock (the “Quarterly Cash Dividend”) or $0.35 per share on an annualized basis, representing an increase of 3 cents over the previous annualized dividend of $0.32 per share. The declaration and payment of future Quarterly Cash Dividends is subject to the discretion of and approval of the Company’s board of directors. Our Quarterly Cash Dividends totaled $12,006, $11,509 and $2,751 for the years ended December 31, 2023, 2022 and 2021, respectively.

12.STOCK-BASED COMPENSATION

2021 Phantom Restricted Share Plan

The Company maintains a cash-based executive compensation plan for certain employees. The Company’s board of directors awarded 1,433,500 interests in the plan (“units”). Each unit represents an unfunded and unsecured right, subject to certain conditions as set forth by the plan. One-third of the units granted to any holder will vest on each of the first, second, and third anniversaries of March 18, 2021 during the term of such holder’s employment with the Company. Payment of a holder’s vested balance is dependent upon a transaction or series of related transactions constituting a qualifying exit event, as defined by the executive compensation plan. The plan will expire on March 18, 2025, at which time the plan and all awarded units will be terminated for no consideration if a qualifying exit event has not occurred before that date.

On March 9, 2022, the Company’s board of directors modified the performance condition, specifically the definition of a qualifying exit event. In addition, the board of directors approved the settlement of vested and unvested units in common stock rather than cash, which resulted in a change in classification of the outstanding units from liability to equity. As a result, modification of the units occurred on March 9, 2022 with a grant date fair value of $23.45, the closing stock price of the Company on the date of modification. There were 632,500 units that vested March 18, 2022 and 791,667 units that will vest in equal amounts on the second and third anniversaries of the plan. The Company recognized compensation expense of $22,100 on March 9, 2022, the date the performance condition became probable.

A summary of our phantom award activity for the year ended December 31, 2023 is as follows:

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

791,667

 

$

Granted

 

Vested

 

(418,174)

 

23.45

Forfeited

 

 

Outstanding at December 31, 2023

373,493

 

$

23.45

The total fair value of phantom awards vested in 2023 was $9,806.

71

Compensation cost related to phantom awards was $4,371 and $28,578 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $626 of unrecognized compensation cost related to phantom awards, which is expected to be recognized over a weighted-average period of 0.2 years.

2021 Stock Incentive Plan

In November 2021, we adopted the 2021 Stock Incentive Plan (the “2021 Plan”). The 2021 Plan provides for the grant of incentive stock options to our employees and any parent and subsidiary companies’ employees, and for the grant of non-statutory stock options, restricted stock, restricted stock units (“RSUs”), stock appreciation rights (“SARs”), performance units, and performance shares to our employees, directors, and consultants and our parent and subsidiary companies’ employees and consultants. The maximum aggregate number of shares of common stock that may be issued under the 2021 Plan is 9,650,000 shares. As of December 31, 2023, 5,776,326 shares of common stock were reserved and available for issuance under the 2021 Plan.

Market Condition Restricted Shares

On November 4, 2021, the Company issued and granted to certain employees a total of 2,600,000 RSUs under the 2021 Plan, of which 2,600,000 RSUs will vest if, on or before November 8, 2031, the Fair Market Value (as defined in the Plan) of the Company’s common stock shall have equaled or exceeded $40.00 per share for twenty consecutive trading days. For computing the fair value of the 2,600,000 RSUs with a market condition, the fair value of the RSU grant has been estimated as of the date of grant using the Monte-Carlo pricing model with the assumptions below.

2021

Number issued

2,600,000

Vesting period

$40.00 stock price target

Grant price (per share)

$4.65

Dividend yield

0.0%

Expected volatility

32.08%

Risk-free interest rate

1.59%

Expected term (years)

5.67

Weighted average fair value (per share)

$4.65

A summary of our market condition RSU activity for the year ended December 31, 2023 is as follows:

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

2,600,000

 

$

4.65

Granted

 

Vested

 

 

Forfeited

 

 

Outstanding at December 31, 2023

2,600,000

 

$

4.65

Compensation cost related to market condition RSUs was $2,132, $2132 and $355 for the years ended December 31, 2023, 2022 and 2021 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $7,470 of unrecognized compensation cost related to market condition RSUs, which is expected to be recognized over a weighted-average period of 3.5 years.

Stock Options

Stock options granted under the 2021 Plan are non-qualified and are granted with an exercise price equal to the market value of the Company’s common stock on the date of grant, and vest from one to three years from the date of grant. Stock options are granted with ten-year terms. We recorded compensation expense for employee stock options based on the estimated fair value of the options

72

on the date of grant using the Black-Scholes option-pricing model. The model uses various assumptions, including a risk-free interest rate, the expected term of the options, the expected stock price volatility, and the expected dividend yield. 

The fair value of each option grant has been estimated as of the date of grant with the following assumptions:

2023

2022

Number issued

395,253

373,479

Vesting period

1 - 3 years

1 - 3 years

Grant price (per share)

$20.53

$23.45 - $23.70

Dividend yield

1.56%

1.35% - 1.36%

Expected volatility

31.40%

33.22%

Risk-free interest rate

3.68%

1.12%

Expected term (years)

4.68 - 6.00

4.61 - 6.00

Weighted average fair value (per share)

$6.34

$6.69

A summary of our stock option activity for the year ended December 31, 2023 is as follows:

Weighted 

Aggregate

Weighted Average 

Average 

Intrinsic

Remaining Contractual

Options

Exercise Price

Value

Life (in years)

Outstanding at December 31, 2022

367,611

 

$

23.46

 

$

9.2

Granted

 

395,253

20.53

 

Exercised

 

(1,405)

 

23.45

 

12

 

Forfeited

 

 

 

 

Outstanding at December 31, 2023

761,459

 

$

21.98

 

$

8,310

8.7

Exercisable at December 31, 2023

227,806

$

22.77

$

2,305

8.5

Vested and expected to vest at December 31, 2023

761,459

 

$

21.98

 

$

8,310

8.7

Compensation cost related to stock options was $1,619 and $974 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $2,374 of unrecognized compensation cost related to stock options, which is expected to be recognized over a weighted-average period of 1.9 years.

Restricted Stock Units

Restricted stock units vest in three equal installments over a three-year period from the date of grant and have a grant date fair value of the closing stock price of the Company on the date of grant.

A summary of our RSU activity for the year ended December 31, 2023 is as follows:

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

83,494

 

$

23.45

Granted

 

113,097

20.53

Vested

 

(27,838)

 

23.45

Forfeited

 

(1,676)

 

20.53

Outstanding at December 31, 2023

167,077

 

$

21.50

Compensation cost related to RSUs was $1,267 and $531 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $2,453 of unrecognized compensation cost related to RSUs, which is expected to be recognized over a weighted-average period of 1.9 years.

73

13.COMPENSATION AND DEFINED CONTRIBUTION PLANS

The Company and its wholly owned subsidiaries sponsor Internal Revenue Code Section 401(k) defined contribution plans for the benefit of all full-time and part-time employees. Employees are entitled to make tax- deferred contributions up to the maximum allowed by law of their eligible compensation.

The Company sponsors various other non-U.S. Defined Contribution and Defined Profit-Sharing Plans that are offered by the Company’s foreign subsidiaries. Many of these plans were assumed through the Company’s acquisitions or are required by local regulatory requirements. The Company may deposit funds for these plans with insurance companies, or into government-managed accounts consistent with local regulatory requirements, as applicable.

Contribution to the plans are made by both the employee and the Company. The Company’s contributions to the plans was $2,380, $3,198 and $1,780 for the years ended December 31, 2023, 2022 and 2021, respectively.

Long-Term Incentive Plan

In March 2021, the Company initiated a cash-based long-term incentive plan. Each award granted under the plan shall be eligible to vest in three equal annual installments over a period of three consecutive one-year performance periods, with each installment of the award vesting on the last day of the applicable performance period, subject to the achievement of the performance metrics established by the board of directors for the applicable annual performance period.

On March 9, 2022, the Company’s board of directors approved the common stock settlement of vested awards of the long-term incentive plan. The board of directors also approved the option to settle unvested awards in common stock. Modification accounting was not applied as this change did not affect the fair value of the awards, vesting conditions, or the liability classification of the awards.

Total compensation expense related to this plan was $860, $1,369 and $2,162 for the years ended December 31, 2023, 2022 and 2021, respectively, and is included in selling, general and administrative in the Company’s consolidated statements of operations and comprehensive income.

14.COMMITMENTS AND CONTINGENCIES

Legal Proceedings

In September 2021, Safariland, LLC, a wholly-owned subsidiary of the Company, received a jury verdict awarding $7,500 to a plaintiff relating to a personal injury case wherein the plaintiff alleged various product liability claims against Safariland, LLC. The plaintiff in the proceeding, Mr. David Hakim, instituted the proceeding on July 24, 2015, through the filing of a complaint with the United States District Court, Northern District of Illinois, Eastern Division. In the proceeding, the plaintiff, a SWAT officer with the DuPage County Sheriff’s Office (“DCSO”), alleged that he suffered injuries during a training exercise conducted by DCSO in which a Defense Technology Shotgun Breaching TKO round was deployed and passed through a door and lower-floor ceiling causing a fragment to strike plaintiff’s back resulting in injury. Prior to the jury rendering its verdict, the court deferred ruling on Safariland, LLC’s Motion for Judgment as a Matter of Law (“JMOL”). On November 8, 2021, Safariland, LLC filed its post-trial motions, including a supplemental JMOL, motion for new trial and remittitur. On April 18, 2022, the court denied Safariland, LLC’s JMOL, motion for new trial and remittitur and, accordingly, entered a judgment in favor of plaintiff, David Hakim, as to the Third Claim. In response, Safariland, LLC timely filed its notice of appeal with the United States Court of Appeals for the Seventh Circuit (the “Seventh Circuit”). Safariland and Plaintiff have filed their appeal briefs, and oral arguments were held on October 25, 2022. On August 21, 2023, the Seventh Circuit affirmed the judgment of the district court. In accordance with the Company’s applicable insurance policies, the Company was fully indemnified. The insurer satisfied the judgment and a release of the judgment was entered on September 11, 2023. Accordingly, this matter is now closed..

74

The Company is also involved in various legal disputes and other legal proceedings and claims that arise from time to time in the ordinary course of business. The Company vigorously defends itself against all lawsuits and evaluates the amount of reasonably possible losses that the Company could incur as a result of these matters. While any litigation contains an element of uncertainty, the Company believes that the reasonably possible losses that the Company could incur in excess of insurance coverage would not have a material adverse effect on the Company’s consolidated financial position, results of operations, or liquidity.

Insurance

The Company has various insurance policies, including product liability insurance, covering risks and in amounts it considers adequate. There can be no assurance that the insurance coverage maintained by the Company is sufficient or will be available in adequate amounts or at a reasonable cost.

International

As an international company, we are, from time to time, the subject of investigations relation to the Company’s international operations, including under U.S. export control laws (such as ITAR), the FCPA and other similar U.S. and foreign laws. To the best of the Company’s knowledge, there are not any potential or pending investigations at this time.

15. INCOME TAXES

Consolidated income from continuing operations before provision for income taxes consisted of the following:

Year ended December 31, 

2023

    

2022

    

2021

U.S. operations

$

49,603

$

6,455

$

18,243

Foreign operations

3,321

2,918

949

Income before provision for income taxes

$

52,924

$

9,373

$

19,192

The provision for income taxes is detailed below:

Year ended December 31, 

2023

    

2022

    

2021

Current tax provision:

Federal

$

9,969

$

2,711

$

State

 

1,811

 

624

 

907

Foreign

 

2,713

 

1,305

 

852

Total current provision

 

14,493

 

4,640

 

1,759

Deferred tax (benefit) provision:

Federal

 

1,692

 

(24)

 

4,704

State

 

322

 

(5)

 

897

Foreign

 

(2,224)

 

(1,058)

 

(829)

Total deferred (benefit) provision

 

(210)

 

(1,087)

 

4,772

Total provision for income taxes

$

14,283

$

3,553

$

6,531

75

The following is a reconciliation of the statutory federal income tax rate to the effective rate reported in the Company’s consolidated financial statements:

    

Year ended December 31, 

2023

    

2022

 

2021

 

Federal statutory rate

21.0

%

21.0

%

21.0

%

Increase (decrease) in income taxes resulting from:

State income taxes, net of federal income taxes

 

4.6

 

5.6

8.4

Change in valuation allowance

 

 

0.8

Current year tax credits

 

(0.7)

 

(6.5)

(4.7)

Difference between foreign and federal tax rate

 

0.7

 

5.4

2.8

Permanent items

 

1.6

 

12.2

5.2

Reserve for uncertain tax positions

 

 

0.5

Other

 

(0.2)

 

(0.3)

0.5

Effective tax rate

 

27.0

%

37.9

%

34.0

%

Deferred taxes have not been recognized for the excess financial reporting basis over the tax basis of investments of foreign subsidiaries. It is the Company’s intent to permanently reinvest the earnings of those foreign subsidiaries in those jurisdictions. It is not practical to determine the amount of any unrecognized deferred tax liability on this item.

Deferred income tax assets and liabilities are determined based on the difference between the financial reporting carrying amounts and tax bases of existing assets and liabilities and operating loss and tax credit carryforwards. The tax effects of temporary differences giving rise to significant components of the Company’s deferred income tax assets and liabilities are as follows:

    

December 31, 

2023

    

2022

Deferred tax assets:

Net operating loss and other carry forwards

$

4,667

$

7,335

Accrued liabilities

 

4,656

 

3,351

Reserves and other

 

2,749

 

3,039

263A uniform capitalization costs

 

115

 

201

Other deferred tax assets

 

6,741

 

5,232

Total deferred tax assets

 

18,928

 

19,158

Valuation allowance

 

(1,872)

 

(1,888)

Net deferred tax assets

 

17,056

 

17,270

Deferred tax liabilities:

Intangibles

 

(4,832)

 

(5,789)

Depreciation

 

(4,017)

 

(4,447)

Goodwill

 

(8,512)

 

(7,560)

Other

 

(534)

 

(727)

Total deferred tax liabilities

 

(17,895)

 

(18,523)

Total deferred income taxes

$

(839)

$

(1,253)

In assessing the realizability of deferred income tax assets, the Company performs an evaluation of whether it is more likely than not that some portion, or all, of its deferred income tax assets will not be realized. During the course of this evaluation, the Company considers all available positive and negative evidence and if, based upon the weight of available evidence, it is more likely than not the deferred tax assets will not be realized, a valuation allowance is recorded.

As of December 31, 2023, the Company had net operating loss carryforwards that expire in varying amounts beginning in 2024 through 2039 and tax credit carryforwards that expire in varying amounts beginning in 2024 through 2038.

76

The total amount of unrecognized benefits on uncertain tax positions that, if recognized, would affect the Company’s effective tax rate was $2,052. A reconciliation of the change in the unrecognized income tax benefit for the years ended December 31, 2023 and 2022 is as follows:

    

Year ended December 31, 

2023

    

2022

Beginning unrecognized tax benefits

$

1,986

$

2,090

Current period unrecognized tax benefits

 

 

39

Foreign currency fluctuations

66

(143)

Ending unrecognized tax benefits

$

2,052

$

1,986

The Company recognizes interest expense and penalties related to unrecognized tax benefits as income tax expense. No amounts representing penalties and interest were recorded as income tax expense during the years ended December 31, 2023, 2022 and 2021. The Company had no interest or penalties accrued in the consolidated balance sheets as of December 31, 2023 and 2022.

The Company and its subsidiaries file income tax returns in the U.S. federal, various state and local, and certain foreign jurisdictions. As of December 31, 2023, the Company’s tax years subsequent to 2017 are subject to examination by tax authorities with few exceptions. One of the Company’s Canadian subsidiaries underwent an examination of its tax filings for the period June 1, 2016 through December 31, 2017. In January 2022, the Company received notification that the Canadian tax authority has completed its examination and proposed no changes to the tax filings.

16.LEASES

The Company leases certain manufacturing and office space, retail locations, and equipment. Operating lease assets and liabilities are recognized at the commencement date based on the present value of lease payments over the lease term. The Company has elected the practical expedient and does not recognize a lease liability or right-of-use (“ROU”) asset for short-term leases (leases with a term of twelve months or less). The Company uses its incremental borrowing rate based on the information available at the commencement date in determining the present value of lease payments. The Company’s incremental borrowing rate is the rate for collateralized borrowings based on the current economic environment, credit history, credit rating, value of leases, currency in which the lease obligation is satisfied, rate sensitivity, lease term and materiality. Our operating leases have remaining contractual terms of up to five years, some of which include options to extend the leases for up to five years.

The amount of assets and liabilities related to our operating leases were as follows:

    

December 31, 

Balance Sheet Accounts

2023

    

2022

Assets:

Operating lease assets

Operating lease assets

$

6,554

$

8,489

Liabilities:

Current:

Operating lease liabilities

Accrued liabilities

$

3,510

$

3,773

Long-term:

Operating lease liabilities

Long-term operating lease liabilities

3,186

4,965

Total lease liabilities

$

6,696

$

8,738

77

The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the consolidated statements of operations and comprehensive income. The components of lease expense were as follows:

Year Ended December 31, 

    

2023

    

2022

Fixed operating lease costs(1)

$

3,981

$

4,047

Variable operating lease costs

 

1,441

 

1,329

Total

$

5,422

$

5,376

(1) Includes short-term leases, which are immaterial.

The weighted average remaining lease term and weighted average discount rate is as follows:

    

December 31, 

2023

    

2022

Weighted average remaining lease term (years):

 

 

Operating leases

2.53

2.62

Weighted average discount rate:

Operating leases

3.06%

2.96%

The approximate future minimum lease payments under operating leases as of December 31, 2023 are as follows:

2024

$

3,438

2025

 

2,039

2026

 

965

2027

 

325

2028

 

190

Thereafter

 

31

Total future lease payments

6,988

Less: Amount representing interest

(292)

Present value of lease liabilities

$

6,696

Supplemental cash flow information related to leases is as follows:

    

December 31, 2023

    

December 31, 2022

Cash paid for amounts included in the measurement of lease liabilities:

 

 

Operating cash flows - operating leases

$

4,044

$

4,047

Right-of-use assets obtained in exchange for lease liabilities:

Operating leases

$

$

17.RELATED PARTY TRANSACTIONS

The Company leases 4 distribution warehouses and retail stores from certain employees. The Company recorded rent expense related to these leases of $496, $478 and $579 for the years ended December 31, 2023, 2022 and 2021, respectively. Rent expense related to these leases is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.

For the year ended December 31, 2023, the Company made the following payments to Kanders & Company, Inc., a company controlled by Warren Kanders, our Chief Executive Officer:

78

$1,000 for services related to the acquisition of ICOR, which is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.

For the year ended December 31, 2022, the Company made the following payments to Kanders & Company, Inc.:

$1,000 for services related to the acquisition of Cyalume, which is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.
$2,000 for services related to the Company’s secondary offering, which is included in direct offering costs and recorded against offering proceeds in additional paid in capital in the Company’s consolidated balance sheets.

For the year ended December 31, 2021, the Company made the following payments to Kanders & Company, Inc.:

$2,250 for services related to the Company’s initial public offering, which is included in direct offering costs and recorded against offering proceeds in additional paid in capital in the Company’s consolidated balance sheets.
$1,000 for services related to the execution of the 2021 Credit Agreement, which is included in debt issuance costs and recorded as an offset to long-term debt in the Company’s consolidated balance sheets.

18.SEGMENT DATA

Our operations are comprised of two reportable segments: Product and Distribution. Segment information is consistent with how the chief operating decision maker (“CODM”), our chief executive officer, reviews the business, makes investing and resource allocation decisions and assesses operating performance. Senior management evaluates segment performance based on segment profit. Each segment’s profit is measured as gross profit. The CODM is not provided asset information or operating expenses by segment as that information is not available.

    

Year Ended December 31, 2023

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

410,825

$

102,371

$

(30,664)

    

$

482,532

Cost of goods sold

233,937

$

78,335

$

(30,466)

281,806

Gross profit

$

176,888

$

24,036

$

(198)

$

200,726

    

Year Ended December 31, 2022

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

385,423

    

$

97,106

$

(24,692)

    

$

457,837

Cost of goods sold

230,245

76,633

(24,719)

282,159

Gross profit

$

155,178

$

20,473

$

27

$

175,678

    

Year Ended December 31, 2021

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

362,189

    

$

90,043

    

$

(24,944)

    

$

427,288

Cost of goods sold

213,881

67,649

(24,932)

256,598

Gross profit

$

148,308

$

22,394

$

(12)

$

170,690

(1)Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.

79

19. SUBSEQUENT EVENTS

Acquisitions

In January 2024, The Company acquired ICOR Technology Inc. (“ICOR”) for approximately CDN$52,000 (approximately $38,800), net of cash acquired.

In March 2024, the Company acquired Alpha Safety Intermediate, LLC (“Alpha Safety”) for approximately $106.5 million, net of cash acquired.

The acquisitions will be accounted for using the acquisition method of accounting whereby the acquired assets and liabilities of the acquired companies will be recorded at their respective fair values and added to those of the Company, including an amount for goodwill representing the difference between the acquisition consideration and the fair value of the identifiable net assets. Results of operations of the acquired companies will be included in the operations of the Company beginning with the respective Closing Dates. As of the date of the filing of this Form 10-K, the initial purchase price allocations have not been prepared as there has not been sufficient time to complete the related activities.

During the fiscal year ended December 31, 2023, the Company recognized related transaction costs of $1,601, of which $601 is included in Restructuring and transaction costs and $1,000 is included in Related party expenses in the accompanying consolidated statements of operations and comprehensive income.

Long-Term Debt

In March 2024, in connection with the acquisition of Alpha Safety, the Borrower entered into an $80,000 Incremental Term Loan (“ITL”) under the 2021 Credit Agreement.  The ITL has the same terms and conditions as the Term Loan including such items as interest rate, quarterly amortization payment requirements, and maturity date.

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

None.

Item 9A. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

The Company’s management carried out an evaluation, under the supervision and with the participation of the Company’s Chief Executive Officer and Chief Financial Officer, its principal executive officer and principal financial officer, respectively, of the effectiveness of the design and operation of the Company’s disclosure controls and procedures (as such term is defined in Rules 13a-15(c) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (“Exchange Act”)) as of December 31, 2023, pursuant to Exchange Act Rule 13a-15. Such disclosure controls and procedures are designed to ensure that information required to be disclosed by the Company in reports we file or submit under the Exchange Act is (i) recorded, processed, summarized, evaluated and reported, as applicable, within the time periods specified in the SEC’s rules and forms, and (ii) accumulated and communicated to the appropriate management on a basis that permits timely decisions regarding disclosure. Based upon that evaluation, the Company’s Chief Executive Officer and Chief Financial Officer concluded that the Company’s disclosure controls and procedures as of December 31, 2023 were effective.

Management’s Report on Internal Control Over Financial Reporting

Management of the Company is responsible for establishing and maintaining adequate internal control over financial reporting as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act. 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

80

purposes in accordance with accounting principles generally accepted in the United States of America (“US GAAP”). The Company’s internal control over financial reporting includes those policies and procedures that:

pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the Company;
provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with US GAAP, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and directors of the Company; and
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.

As required by Section 404 of the Sarbanes-Oxley Act of 2002, management assessed the effectiveness of the Company’s internal control over financial reporting as of December 31, 2023. In making this assessment, management used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (“COSO”) in Internal Control-Integrated Framework (2013).

Based on our assessment and those criteria, management concluded that the Company maintained effective internal control over financial reporting as of December 31, 2023.

Changes in Internal Control over Financial Reporting

There has been no change in our internal control over financial reporting during the quarter ended December 31, 2023 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.

Limitations on Effectiveness of Controls and Procedures

Our management, including our principal executive officer and principal financial officer, does not expect that our disclosure controls can prevent all errors and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. There are inherent limitations in all control systems, including the realities that judgments in decision-making can be faulty and that breakdowns can occur because of simple error or mistake. Additionally, controls can be circumvented by the individual acts of one or more persons. The design of any system of controls also is based in part upon certain assumptions about the likelihood of future events and there can be no assurance that any design will succeed in achieving its stated goals under all potential conditions. Because of the inherent limitations in any control system, misstatements due to error or fraud may occur and not be detected.

Item 9B. Other Information

None.

PART III

Item 10. Directors, Executive Officers, and Corporate Governance

The Company has adopted a Code of Business Conduct and ethics that applies to all of its directors and employees, including the chief executive officer, chief financial officers, and all senior financial officers of the Company and its subsidiaries, including the principal financial officer, principal accounting officer, controller and internal audit staff of the Company and its subsidiaries. In addition, such officers are also subject to the Code of Ethics for Senior Executive Officer and Senior Financial Officers. These documents

81

may be accessed at www.cadre-holdings.com, our Internet website, at the tab “Governance” under the section called “Governance Documents.” The Company intends to disclose future amendments to, or waivers from, certain provisions of its codes of conduct, if any, on the above website within five business days following the date of such amendment or waiver.

Other information required by this Item 10 of Form 10-K will be included in our Proxy Statement for the 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days of the fiscal year ended December 31, 2023 (the “2024 Proxy Statement”), and is incorporated herein by reference.

Item 11. Executive Compensation

The information required by this Item 11 of Form 10-K will be included in our 2024 Proxy Statement and is incorporated herein by reference.

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

The information required by this Item 12 of Form 10-K will be included in our 2024 Proxy Statement and is incorporated herein by reference.

Item 13. Certain Relationships and Related Transactions, and Director Independence

The information required by this Item 13 of Form 10-K will be included in our 2024 Proxy Statement and is incorporated herein by reference.

Item 14. Principal Accountant’s Fees and Services

The information required by this Item 14 of Form 10-K will be included in our 2024 Proxy Statement and is incorporated herein by reference

Part IV

Item 15. Exhibits and Financial Statement Schedules

Financial Statements, Financial Statement Schedules and Exhibits

(a)(1) The Financial Statements. The Financial Statements of the Company are included in Item 8 above.

(a)(2) Financial Statement Schedules. No schedules are included because the required information is inapplicable, not required or are presented in the financial statements or the related notes thereto.

(a)(3) The following Exhibits are hereby filed as part of this Annual Report on Form 10-K:

82

EXHIBIT INDEX

Exhibit
Number

    

Description

2.1

Stock Purchase Agreement dated May 3, 2022, by and between Safariland, LLC and Cyalume Technologies Holdings, Inc. (incorporated by reference to Exhibit 2.1 to the Company’s Current Report on Form 8-K filed on May 6, 2022).

2.2

Share Purchase Agreement dated December 22, 2023, by and among 1000694376 Ontario Inc., Hany Guirguis, 2491189 Ontario Inc., the Guirguis Family Trust, Alexander Grant, 2491191 Ontario Inc., the Grant Family Trust, Kenneth Molnar, 2491190 Ontario Inc. and the Molnar Family Trust (incorporated by reference to Exhibit 2.1 to the Company’s Current Report on Form 8-K filed December 29, 2023).

3.1

Amended and Restated and Certificate of Incorporation of the Company (incorporated by reference to Exhibit 3.1 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021).

3.2

Amended and Restated Bylaws of the Company (incorporated by reference to Exhibit 3.2 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021).

4.1

See Exhibits 3.1 and 3.2 for provisions of the Amended and Restated Certificate of Incorporation and Amended and Restated Bylaws of the Company defining rights of the holders of Common Stock of the Company.

10.01

Safariland Group Long-Term Incentive Plan (incorporated by reference to Exhibit 10.11 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

10.02

Form of Award Agreement under the Safariland Group Long-Term Incentive Plan (incorporated by reference to Exhibit 10.12 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

10.03

Safariland Group 2021 Amended and Restated Phantom Restricted Share Plan (incorporated by reference to Exhibit 10.23 to Amendment No. 2 to the Company’s Registration Statement on Form S-1 filed on August 3, 2021). +

10.04

Form of Award Agreement under the Safariland Group 2021 Amended and Restated Phantom Restricted Share Plan (incorporated by reference to Exhibit 10.14 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

10.05

2021 Stock Incentive Plan (incorporated by reference to Exhibit 10.15 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

10.06

Form of Option Agreement under the 2021 Stock Incentive Plan (incorporated by reference to Exhibit 10.16 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

10.07

Form of Stock Award Agreement under the 2021 Stock Incentive Plan (incorporated by reference to Exhibit 10.17 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

10.08

Form of Indemnification Agreement (incorporated by reference to Exhibit 10.18 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021).

10.09

Employment Agreement between Cadre Holdings, Inc. and Warren B. Kanders, dated as of July 9, 2021 (incorporated by reference to Exhibit 10.19 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

10.10

First Amendment to Employment Agreement between Cadre Holdings, Inc. and Warren B. Kanders, dated September 1, 2021 (incorporated by reference to Exhibit 10.25 to Amendment No. 3 to the Company’s Registration Statement on Form S-1 filed on September 13, 2021). +

10.11

Employment Agreement between Cadre Holdings, Inc. and Brad Williams, dated as of July 9, 2021 (incorporated by reference to Exhibit 10.20 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

10.12

First Amendment to Employment Agreement between Cadre Holdings, Inc. and Brad Williams, dated September 1, 2021 (incorporated by reference to Exhibit 10.26 to Amendment No. 3 to the Company’s Registration Statement on Form S-1 filed on September 13, 2021). +

10.13

Employment Agreement between Cadre Holdings, Inc. and Blaine Browers, dated as of July 9, 2021 (incorporated by reference to Exhibit 10.21 to the Company’s Registration Statement on Form S-1 filed on July 12, 2021). +

83

10.14

First Amendment to Employment Agreement between Cadre Holdings, Inc. and Blaine Browers, dated September 1, 2021 (incorporated by reference to Exhibit 10.27 to Amendment No. 3 to the Company’s Registration Statement on Form S-1 filed on September 13, 2021). +

10.15

Credit Agreement, dated July 23, 2021, by and among Cadre Holdings, Inc., certain of its domestic subsidiaries, as guarantors, PNC Bank, National Association, as administrative agent, and the several lenders from time to time party thereto (incorporated by reference to Exhibit 10.22 to Amendment No. 1 to the Company’s Registration Statement on Form S-1 filed on July 27, 2021).

10.16

First Amendment to Credit Agreement, dated August 20, 2021, by and among Cadre Holdings, Inc., certain of its domestic subsidiaries, as guarantors, PNC Bank, National Association, as administrative agent, and the several lenders from time to time party thereto (incorporated by reference to Exhibit 10.24 to Amendment No. 3 to the Company’s Registration Statement on Form S-1 filed on September 13, 2021).

10.17

Second Amendment to Credit Agreement, dated December 14, 2022, by and among Cadre Holdings, Inc., certain of its domestic subsidiaries, as guarantors, PNC Bank, National Association, as administrative agent, and the several lenders from time to time party thereto (filed as Exhibit 10.17 to the Company’s Annual Report on Form 10-K filed March 15, 2023).

10.18

Third Amendment to Credit Agreement, dated May 31, 2023, by and among Cadre Holdings, Inc., certain of its domestic subsidiaries, as guarantors, PNC Bank, National Association, administrative agent, and the several lenders from time to time party thereto (filed as Exhibit 10.1 to the Company’s Quarterly Report on Form 10-Q filed August 8, 2023).

10.19

Loan Agreement, dated as of October 14, 2021, by and among Med-Eng Holdings ULC and Pacific Safety Products Inc., as borrowers, and PNC Bank Canada Branch, as lender (incorporated by reference to Exhibit 10.28 to Amendment No. 4 to the Company’s Registration Statement on Form S-1 filed on October 28, 2021).

19.1*

Cadre Holdings, Inc. Insider Trading Policy.

21.1*

Subsidiaries of the Company.

23.1*

Consent of Independent Registered Public Accounting Firm.

31.1*

Certification of Principal Executive Officer pursuant to Rules 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

31.2*

Certification of Principal Financial Officer pursuant to Rule 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

32.1**

Certification of Principal Executive Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

32.2**

Certification of Principal Financial Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

97.1*

Cadre Holdings, Inc. Compensation Recovery Policy.

101.INS*

XBRL Instance Document

101.SCH*

XBRL Taxonomy Extension Schema Document

101.CAL*

XBRL Taxonomy Extension Calculation Linkbase Document.

101.LAB*

XBRL Taxonomy Extension Label Linkbase Document.

101.PRE*

XBRL Taxonomy Extension Presentation Linkbase Document.

104

Cover Page Interactive Data File (embedded within the Inline XBRL document)

* Filed herewith

** Furnished herewith

+ Indicates management contract or compensatory plan

84

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, on March 12, 2024.

CADRE HOLDINGS, INC.

By:

/s/ Blaine Browers

Blaine Browers

Chief Financial Officer

(Principal Financial Officer and

Principal Accounting Officer)

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

Signature

Title

/s/ Warren B. Kanders

Chief Executive Officer

Warren B. Kanders

(Principal Executive Officer)

/s/ Blaine Browers

Chief Financial Officer

Blaine Browers

(Principal Financial Officer and Principal Accounting Officer)

/s/ Hamish Norton

Director

Hamish Norton

/s/ Nicholas Sokolow

Director

Nicholas Sokolow

/s/ William Quigley

Director

William Quigley

/s/ Deborah A. DeCotis

Director

Deborah A. DeCotis

85

EX-19.1 2 cdre-20231231xex19d1.htm EX-19.1

Exhibit 19.1

Graphic

Cadre Holdings, Inc. Policy on Insider Trading

This Insider Trading Policy (the “Policy”) describes the standards of Cadre Holdings, Inc. and its subsidiaries (the “Company”) on trading, and causing the trading of, the Company’s securities or securities of certain other companies while in possession of material nonpublic information. This Policy is divided into two parts: the first part prohibits trading in certain circumstances and applies to all directors, officers and employees of the Company and their respective “immediate family members,” and the second part imposes special additional trading restrictions and applies to all (i) members of the board of directors of Cadre Holdings, Inc., (ii) executive officers of Cadre Holdings, Inc. (together with members of the board of directors of Cadre Holdings, Inc., “Company Insiders”), (iii) (a) officers and employees of Cadre Holdings, Inc. at the level of Vice President and above, (b) the Company’s employees involved in the accounting and financial reporting functions of the Company, and/or (c)  employees of the Company that report directly to any of the Company Insiders (collectively, “Covered Persons”) and (iv) certain other employees that the Company may designate from time to time as “Covered Persons” because of their position, responsibilities or their actual or potential access to material nonpublic information.

One of the principal purposes of the federal securities laws is to prohibit so-called “insider trading.” Simply stated, insider trading occurs when a person uses material nonpublic information obtained through involvement with the Company to make decisions to purchase, sell, gift or otherwise trade the Company’s securities or the securities of certain other companies or to provide that information to others outside the Company. The prohibitions against insider trading apply to trades, tips and recommendations by virtually any person, including all persons associated with the Company, if the information involved is “material” and “nonpublic.” These terms, as well as “immediate family member,” are defined in this Policy under Part I, Section 3 below. The prohibitions would apply to any director, officer or employee who buys or sells securities on the basis of material nonpublic information that he or she obtained about the Company, its customers, suppliers, partners, competitors or other companies with which the Company has contractual relationships or may be negotiating transactions.

PART I

1. Applicability

This Policy applies to all trading or other transactions in (i) the Company’s securities, including common stock, options and any other securities that the Company may issue, such as preferred stock, notes, bonds and convertible securities, as well as to derivative securities relating to any of the Company’s securities, and (ii) the securities of certain other companies, including common stock, options and other securities issued by those companies as well as derivative securities relating to any of those companies’ securities, where the person trading used material nonpublic information obtained while working for the Company.

This Policy applies to all employees, officers and members of the board of directors of the Company and their respective immediate family members.


Graphic

2. General Policy: No Trading or Causing Trading While in Possession of Material Nonpublic Information

(a) No director, officer or employee or any of their immediate family members may purchase or sell, or offer to purchase or sell, any Company security, while in possession of material nonpublic information about the Company. (The terms “material” and “nonpublic” are defined in Part I, Section 3(a) and (b) below.)

(b) No director, officer or employee or any of their immediate family members who knows of any material nonpublic information about the Company may communicate that information to “tip” any other person, including family members and friends, or otherwise disclose such information.

(c) No director, officer or employee or any of their immediate family members may purchase or sell any security of any other company while in possession of material nonpublic information that was obtained in the course of his or her involvement with the Company. No director, officer or employee or any of their immediate family members who knows of any such material nonpublic information may communicate that information to, or tip, any other person, including family members and friends, or otherwise disclose such information.

(d) For compliance purposes, you should never trade, tip or recommend securities (or otherwise cause the purchase or sale of securities) while in possession of information that you have reason to believe is material and nonpublic unless you first consult with, and obtain the advance approval of, the Compliance Officer (which is defined in Part I, Section 3(c) below).

(e) Company Insiders and Covered Persons must “pre-clear” all trading in securities of the Company in accordance with the procedures set forth in Part II, Section 1 below.

3. Definitions

(a) Material. Insider trading restrictions come into play only if the information you possess is “material.” Materiality, however, involves a relatively low threshold. Information is generally regarded as “material” if it has market significance, that is, if its public dissemination is likely to affect the market price of securities, or if it otherwise is information that a reasonable investor would want to know before making an investment decision.

Information dealing with the following subjects is reasonably likely to be found material in particular situations:

(i) significant changes in the Company’s prospects;

(ii) significant write-downs in assets or increases in reserves;

(iii) developments regarding significant litigation or government agency investigations;

(iv) liquidity problems;

(v) changes in earnings estimates or unusual gains or losses in major operations;

(vi) major changes in the Company’s management or the board of directors;

(vii) changes in dividends;

(viii) extraordinary borrowings;


Graphic

(ix) major changes in accounting methods or policies;

(x) award or loss of a significant contract;

(xi) cybersecurity risks and incidents, including vulnerabilities and breaches;

(xii) changes in debt ratings;

(xiii) proposals, plans or agreements, even if preliminary in nature, involving mergers, acquisitions, divestitures, recapitalizations, strategic alliances, licensing arrangements, or purchases or sales of substantial assets; and

(xiv) offerings of Company securities.

Material information is not limited to historical facts but may also include projections and forecasts. With respect to a future event, such as a merger, acquisition or introduction of a new product, the point at which negotiations or product developments are determined to be material is determined by balancing the probability that the event will occur against the magnitude of the effect the event would have on a company’s operations or stock price should it occur. Thus, information concerning an event that would have a large effect on stock price, such as a merger, may be material even if the possibility that the event will occur is relatively small. When in doubt about whether particular nonpublic information is material, you should presume it is material. If you are unsure whether information is material, you should either (i) consult the Compliance Officer before making any decision to disclose such information (other than to persons who need to know it) or to trade based on such information, or (ii) assume that the information is material.

(b) Nonpublic. Insider trading prohibitions come into play only when you possess information that is material and “nonpublic.” The fact that information has been disclosed to a few members of the public does not make it public for insider trading purposes. To be “public” the information must have been disseminated in a manner designed to reach investors generally, and the investors must be given the opportunity to absorb the information. Even after public disclosure of information about the Company, you must wait until the opening of business on the third trading day after the information was publicly disclosed before you can treat the information as public.

Nonpublic information may include:

(i) information available to a select group of analysts or brokers or institutional investors;

(ii) undisclosed facts that are the subject of rumors, even if the rumors are widely circulated; and

(iii) information that has been entrusted to the Company on a confidential basis until a public announcement of the information has been made and enough time has elapsed for the market to respond to a public announcement of the information (normally two trading days).

As with questions of materiality, if you are not sure whether information is considered public, you should either consult with the Compliance Officer or assume that the information is nonpublic and treat it as confidential.


Graphic

(c) Compliance Officer. The Company has appointed the Vice President, Legal & Compliance, as the Compliance Officer for this Policy. The duties of the Compliance Officer include, but are not limited to, the following:

(i) assisting with implementation and enforcement of this Policy;

(ii) circulating this Policy to all directors, officers and employees and ensuring that this Policy is amended as necessary to remain up-to-date with insider trading laws;

(iii) pre-clearing all trading in securities of the Company by Company Insiders and Covered Persons in accordance with the procedures set forth in Part II, Section 1 below; and

(iv) providing approval of any Rule 10b5-1 plans under Part I, Section 4(c) below.

(d) Immediate Family Members.  For purposes of this Policy, “immediate family member” means a director’s, officer’s and/or employee’s respective child, stepchild, parent, stepparent, spouse, sibling, mother-in-law, father-in-law, son-in-law, daughter-in-law, brother-in-law, or sister-in-law, and any person (other than a tenant or employee) in each such case sharing the household of such director, officer and/or employee.

4. Blackout Periods

All Company Insiders and Covered Persons are prohibited from trading in the Company’s securities during blackout periods as defined below.

(a) Quarterly Blackout Periods. Trading in the Company’s securities is prohibited during the period beginning on the seventh day prior to the end of each fiscal quarter and ending upon the opening of business on the third trading day following the date the Company’s financial results are publicly disclosed by the filing of the Quarterly Reports on Form 10-Q or Annual Reports on Form 10-K with the Securities and Exchange Commission (the “SEC”). During these periods, Company Insiders and Covered Persons possess or are presumed to possess material nonpublic information about the Company’s financial results.

(b) Other Blackout Periods. From time to time, other types of material nonpublic information regarding the Company (such as negotiation of mergers, acquisitions or dispositions, investigation and assessment of cybersecurity incidents or new product developments) may be pending and not be publicly disclosed. While such material nonpublic information is pending, the Company may impose special blackout periods during which any designated directors, officers and/or employees of the Company under this Policy are prohibited from trading in the Company’s securities. If the Company imposes a special blackout period, it will notify any directors, officers and/or employees that are affected.

(c) Exception. These trading restrictions do not apply to transactions under a pre-existing written plan, contract, instruction, or arrangement under Rule 10b5-1 under the Securities Exchange Act of 1934 (an “Approved 10b5-1 Plan”) that meet the following requirements:

(i) it has been reviewed and approved by the Compliance Officer at least five days in advance of being entered into (or, if revised or amended, such proposed revisions or amendments have been reviewed and approved by the Compliance Officer at least five days in advance of being entered into);


Graphic

(ii) it provides that no trades may occur thereunder until expiration of the applicable cooling-off period specified in Rule 10b5-1(c)(ii)(B).  For Company Insiders, the cooling-off period ends on the later of (x) ninety days after adoption or certain modifications of the 10b5-1 plan; or (y) the opening of the third business day following disclosure of the Company’s financial results in a Quarterly Report on Form 10-Q or Annual Report on Form 10-K filed with the SEC for the quarter in which the 10b5-1 plan was adopted, but in any event not to exceed 120 days after adoption of the plan. For all Covered Persons and other employees, the cooling-off period ends 30 days after adoption or modification of the 10b5-1 plan. This required cooling-off period will apply to the entry into a new 10b5-1 plan and any revision or modification of a 10b5-1 plan;

(iii) it is entered into in good faith, and not as part of a plan or scheme to evade the prohibitions of Rule 10b5-1, at a time when the  applicable director, officer and/or employee is not in possession of material nonpublic information about the Company; and, the 10b5-1 plan must include representations by the applicable director, officer and/or employee certifying to that effect;

(iv) it gives a third party the discretionary authority to execute such purchases and sales, outside the control of the applicable director, officer and/or employee, so long as such third party does not possess any material nonpublic information about the Company; or explicitly specifies the security or securities to be purchased or sold, the number of shares, the prices and/or dates of transactions, or other formula(s) describing such transactions; and

(iv) it is the only outstanding Approved 10b5-1 Plan entered into by the applicable director, officer and/or employee (subject to the exceptions set out in Rule 10b5-1(c)(ii)(D)).

No Approved 10b5-1 Plan may be adopted and/or amended during a blackout period.

If any director, officer and/or employee is considering entering into, modifying or terminating an Approved 10b5-1 Plan or have any questions regarding Approved Rule 10b5-1 Plans, please contact the Compliance Officer. You should consult your own legal and tax advisors before entering into, or modifying or terminating, an Approved 10b5-1 Plan. A trading plan, contract, instruction or arrangement will not qualify as an Approved 10b5-1 Plan without the prior review and approval of the Compliance Officer as described above.

5. Trading Window

All directors, officers and/or employees of the Company are permitted to trade in the Company’s securities when no blackout period is in effect, provided that they are not then in possession of material nonpublic information. Generally, this means that all directors, officers and/or employees of the Company as well as any of their immediate family members can trade during the period beginning on the opening of the third trading day following the filing of the Company’s Quarterly Reports on Form 10-Q and Annual Reports on Form 10-K with the SEC and ending on the seventh  day before the end of the third month of the quarter to shut the window before the results of such quarter are released. This means that you cannot trade, either directly or indirectly, through family members (as well as other members of your household) or other persons or entities, the Company’s securities outside of these trading windows.

However, even during this trading window, any director, officer and/or employee of the Company as well as any of their immediate family members who is in possession of any material nonpublic information should not trade in the Company’s securities until the information has been made


Graphic

publicly available for at least two trading days or is no longer material. In addition, the Company may close this trading window if a special blackout period under Part I, Section 4(b) above is imposed and will re-open the trading window once the special blackout period has ended.

6. Exception for Certain Exercises of Stock Options

The trading restrictions of this Policy do not apply to the exercise of stock options granted under the Company’s 2021 Stock Incentive Plan for cash or the delivery of previously owned Company stock. However, the sale of any shares issued on the exercise of Company-granted stock options and any cashless exercise of Company-granted stock options are subject to trading restrictions under this Policy.

7. Violations of Insider Trading Laws

Penalties for trading on or communicating material nonpublic information can be severe, both for individuals involved in such unlawful conduct and their employers and supervisors, and may include jail terms, criminal fines, civil penalties and civil enforcement injunctions. Given the severity of the potential penalties, compliance with this Policy is absolutely mandatory.

(a) Legal Penalties. A person who is convicted of violating insider trading laws by engaging in transactions in a company’s securities when he or she has material nonpublic information can be sentenced to a substantial jail term and required to pay a criminal penalty of several times the amount of profits gained or losses avoided.

In addition, a person who tips others may also be liable for transactions by the tippees to whom he or she has disclosed material nonpublic information. Tippers can be subject to the same penalties and sanctions as the tippees, and the SEC has imposed large penalties even when the tipper did not profit from the transaction.

The SEC can also seek substantial civil penalties from any person who, at the time of an insider trading violation, “directly or indirectly controlled the person who committed such violation,” which would apply to the Company and/or management and supervisory personnel. These control persons may be held liable for fines, including fines based on a multiple of the amount of the profits gained or losses avoided. Even for violations that result in a small or no profit, the SEC can seek penalties from a company and/or its management and supervisory personnel as control persons.

(b) Company-Imposed Penalties. A person who violates this Policy may be subject to disciplinary action by the Company, including dismissal for cause. Any exceptions to the Policy, if permitted, may only be granted by the Compliance Officer and must be provided before any activity contrary to the above requirements takes place.

8. Acknowledgment and Certification

All Company Insiders and Covered Persons are required to sign the attached acknowledgment and certification.

9.   Inquiries

If you have any questions regarding any of the provisions of this Policy, please contact the Compliance Officer.


Graphic

PART II

1. Pre-Clearance of Securities Transactions

(a) Because Company Insiders and Covered Persons are likely to obtain material nonpublic information on a regular basis, the Company requires all such persons to refrain from trading, even during a trading window under Part I, Section 5 above, without first pre-clearing all transactions in the Company’s securities.

(b) Subject to the exemption in subsection (d) below, no Company Insider or Covered Person may, directly or indirectly, purchase or sell any Company security at any time without first obtaining prior approval from the Compliance Officer. These procedures also apply to transactions by such person’s spouse, other persons living in such person’s household and minor children and to transactions by entities over which such person exercises control.

(c) The Compliance Officer shall record the date each request is received and the date and time each request is approved or disapproved. Unless revoked, a grant of permission will normally remain valid until the close of trading 30 days following the day on which it was granted, or if earlier, the commencement of a blackout period. If the transaction does not occur during such period, pre-clearance of the transaction must be re-requested.  Please note that there is no obligation on the part of the Compliance Officer to approve a transaction submitted for pre-clearance.  If your pre-clearance and permission to engage in a transaction is denied, then you must refrain from initiating any transaction involving the Company’s securities.

(d) Pre-clearance is not required for purchases and sales of securities under an Approved 10b5-1 Plan once the applicable cooling-off period has expired. No trades may be made under an Approved 10b5-1 Plan until expiration of the applicable cooling-off period. With respect to any purchase or sale under an Approved 10b5-1 Plan, the third-party effecting transactions on behalf of the Company Insider and Covered Person should be instructed to send duplicate confirmations of all such transactions to the Compliance Officer.

(e) No Company Insider may make gifts of any Company security at any time without first providing written notice to the Compliance Officer. This notice requirement also applies to gifts by such person’s spouse, other persons living in such person’s household and minor children and to transactions by entities over which such person exercises control.

2. Prohibited Transactions

(a) Company Insiders are prohibited from trading in the Company’s equity securities during a blackout period imposed under an “individual account” retirement or pension plan of the Company, during which at least 50% of the plan participants are unable to purchase, sell or otherwise acquire or transfer an interest in equity securities of the Company, due to a temporary suspension of trading by the Company or the plan fiduciary.

(b) Company Insiders who purchase and/or sell the Company’s securities may not engage in an opposite transaction (selling or purchasing) in the Company’s securities of the same class for at least six months after their initial purchase and/or sale of such securities, except in connection with the exercise and sale of options and the underlying stock under a shareholder approved stock incentive plan.


Graphic

(c)  Company Insiders and Covered Persons, including any person’s spouse, other persons living in such person’s household and minor children and entities over which such person exercises control, are prohibited from engaging in the following transactions in the Company’s securities:

(i)  selling the Company’s securities short;  

(ii)  buying or selling puts or calls or other derivative securities on the Company’s securities; and

(iii)  entering into hedging or monetization transactions or similar arrangements or contracts which may have short selling features to them (e.g. forward sales contracts) with respect to Company securities without the approval of the Executive Chairman of the Board or the Chairman’s designee.

[REMAINDER OF PAGE INTENTIONALLY LEFT BLANK]


Graphic

ACKNOWLEDGMENT AND CERTIFICATION

The undersigned does hereby acknowledge receipt of the Company’s Insider Trading Policy. The undersigned has read and understands (or has had explained) such Policy and agrees to be governed by such Policy at all times in connection with the purchase and sale of securities and the confidentiality of nonpublic information.

 

__________________________________

(Signature)

__________________________________

(Please print name)

Date: ________________________


EX-21.1 3 cdre-20231231xex21d1.htm EX-21.1

EXHIBIT 21.1

 

SUBSIDIARIES OF CADRE HOLDINGS, INC.

The following are subsidiaries of Cadre Holdings, Inc. as of December 31, 2022 and the jurisdictions in which they are organized.



Company

 

State or Jurisdiction of Incorporation/Organization

Safariland, LLC

 

Delaware

Safariland Global Sourcing, LLC

 

Delaware

Horsepower, LLC

 

Delaware

Sencan Holdings, LLC

 

Delaware

Med-Eng, LLC

 

Delaware

Atlantic Tactical, Inc.

 

Pennsylvania

GH Armor Systems Inc.

 

Delaware

Defense Technology, LLC

 

Delaware

Safariland Distribution, LLC

 

Delaware

Lawmen’s Distribution, LLC

 

Delaware

United Uniform Distribution, LLC

 

Delaware

Safariland Internacional S.A. de C.V.

 

Mexico

The Safariland Group Hong Kong Limited

 

Hong Kong

The Safariland Group Nederland B.V.

 

Netherlands

UAB Safariland Lithuania

Lithuania

The Safariland Group SPRL

Belgium

Med-Eng Holdings ULC

British Columbia

Pacific Safety Products Inc.

Canada

TSG UK Investment Holdings Limited

England and Wales

Safariland UK Holding Limited

England and Wales

Safariland UK Ltd.

England and Wales

LBA International Limited

England and Wales

SenCan Limited

England and Wales

TSG Italy Investment Holdings S.r.l.

Italy

Radar Leather Division S.r.l.

Italy

Cyalume Technologies, Inc.

Delaware

CT SAS Holdings, Inc.

Delaware

Cyalume Technologies SAS

France


EX-23.1 4 cdre-20231231xex23d1.htm EX-23.1

Exhibit 23.1

Consent of Independent Registered Public Accounting Firm

 

We consent to the incorporation by reference in the registration statements (No. 333-261813) on Form S-8 and (No. 333-271328) of Form S-3 of our report dated March 12, 2024, with respect to the consolidated financial statements of Cadre Holdings, Inc.

/s/ KPMG LLP

Jacksonville, Florida

March 12, 2024


EX-31.1 5 cdre-20231231xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER

I, Warren B. Kanders, certify that:

1. I have reviewed this Annual Report on Form 10-K of Cadre Holdings, 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.

Date: March 12, 2024

By:

/s/ Warren B. Kanders

Name:

Warren B. Kanders

Title:

Chief Executive Officer

 

(Principal Executive Officer)


EX-31.2 6 cdre-20231231xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER

I, Blaine Browers, certify that:

1. I have reviewed this Annual Report on Form 10-K of Cadre Holdings, 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.

Date: March 12, 2024

By:

/s/ Blaine Browers

Name:

Blaine Browers

Title:

Chief Financial Officer

 

(Principal Financial Officer)


EX-32.1 7 cdre-20231231xex32d1.htm EX-32.1

Exhibit 32.1

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Annual Report of Cadre Holdings, Inc. (the “Company”) on Form 10-K for the period ended December 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Warren B. Kanders, Chief Executive Officer, certify to my knowledge, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

(1)

the Report 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 Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

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

2

Date: March 12, 2024

By:

/s/ Warren B. Kanders

Name:

Warren B. Kanders

Title:

Chief Executive Officer

 

(Principal Executive Officer)


EX-32.2 8 cdre-20231231xex32d2.htm EX-32.2

Exhibit 32.2

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Annual Report of Cadre Holdings, Inc. (the “Company”) on Form 10-K for the period ended December 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Blaine Browers, Chief Financial Officer, certify to my knowledge, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

(1)

the Report 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 Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

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

Date: March 12, 2024

By:

/s/ Blaine Browers

Name:

Blaine Browers

Title:

Chief Financial Officer

 

(Principal Financial Officer)


EX-97.1 9 cdre-20231231xex97d1.htm EX-97.1

Exhibit 97.1

CADRE HOLDINGS, INC.

COMPENSATION RECOVERY POLICY

(Adopted and approved on November 6, 2023, and effective as of October 2, 2023)

1.Introduction

The Board of Directors (the “Board”) of Cadre Holdings, Inc. (the “Company”) is adopting this Compensation Recovery Policy (this “Policy”) to provide the Company’s criteria and process for recovering certain erroneous incentive-based compensation awarded to or earned or received by certain officers of the Company in the event of an accounting restatement resulting from material noncompliance with financial reporting requirements under U.S. securities laws.  This Policy is designed to comply with Section 10D and Rule 10D-1 of the Exchange Act and the Exchange’s listing standards.  All capitalized terms not defined herein shall have the meanings set forth in Section 2 of this Policy.

2.Definitions

For purposes of this Policy, the following definitions apply:

“Applicable Period” shall have the meaning set forth in Section 5.

“Committee” shall mean the compensation committee of the Board.

“Covered Executives” shall have the meaning set forth in Section 4.

“Effective Date” means October 2, 2023.

“Exchange” means the New York Stock Exchange.

“Exchange Act” means the Securities Exchange Act of 1934, as amended.

“Financial Reporting Measure” means a measure that is determined and presented in accordance with the accounting principles used in preparing the Company’s financial statements (including, but not limited to, “non-GAAP” financial measures), and any measure that is derived wholly or in part from such measure, including, but not limited to: (a) Company stock price, (b) total shareholder return, (c) revenues, (d) net income, (e) earnings before interest, taxes, depreciation, and amortization (EBITDA), (f) funds from operations, (g) liquidity measures, such as working capital or operating cash flow, (h) return measures, such as return on invested capital or return on assets, and (i) earnings measures, such as earnings per share.  For the avoidance of doubt, a Financial Reporting Measure need not be presented in the Company’s financial statements or included in a filing with the SEC.

“Incentive-Based Compensation” means any compensation that is granted, earned, or vested, based wholly or in part on the attainment of a Financial Reporting Measure, including but not limited to, annual bonuses and other short- and long-term cash incentives, the size of which is

4863-7905-8828 v3


determined based wholly or in part on satisfying a Financial Reporting Measure performance goal, and stock options, stock appreciation rights, restricted stock, restricted stock units, performance shares and performance units that are granted or become vested based wholly or in part on satisfying a financial reporting measure performance goal.  Incentive-Based Compensation does not include any: (a) base salaries (except with respect to any salary increases earned wholly or in part based on the attainment of a Financial Reporting Measure performance goal), (b) bonuses paid solely at the discretion of the Committee or the Board that are not paid from a “bonus pool” that is determined by satisfying a Financial Reporting Measure performance goal, (c) bonuses paid solely upon satisfying one or more subjective standards and/or completion of a specified employment period, (d) non-equity incentive plan awards earned solely upon satisfying one or more strategic measures or operational measures, and (e) equity awards that vest solely based on the passage of time and/or attaining one or more non-Financial Reporting Measures.

“Restatement” means an accounting restatement due to the material noncompliance of the Company with any financial reporting requirement under U.S. securities laws, including any required accounting restatement that corrects errors: (a) that are material to previously issued financial statements, or (b) that are not material to previously issued financial statements but would result in a material misstatement if the errors were left uncorrected in the current report or the error correction was recognized in the current period.

“SEC” means the Securities and Exchange Commission.

3.Administration

This Policy shall be administered by the Committee (if composed entirely of independent directors, or in the absence of such a committee, a majority of independent directors serving on the Board).  The Committee will, subject to the provisions of this Policy, Section 10D of the Exchange Act, and the Exchange’s listing standards, make such determinations and interpretations and take such actions in connection with this Policy as it deems necessary, appropriate or advisable in its sole discretion.  Any determinations and interpretations made by the Committee shall be conclusive, final and binding on all affected individuals.

4.Covered Executives

This Policy applies to any person who is, or was at any time, during the Applicable Period, an executive officer of the Company, as determined by the Committee in accordance with Section 10D of the Exchange Act and the Exchange’s listing standards, and such other senior executives and senior employees who may from time to time be deemed to be subject to the Policy by the Committee, including, but not limited to, the Company’s president, principal executive officer, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice-president in charge of a principal business unit, division, or function (such as sales, administration, or finance), any other officer who performs a policy-making function, or any other person (including an officer of the Company’s subsidiaries) who performs similar policy-making functions for the Company (collectively, “Covered Executives”).

2


5.Recoupment; Accounting Restatement

In the event that the Company is required to prepare a Restatement of its financial statements filed with the SEC under the Exchange Act, or the Securities Act of 1933, as amended, due to the Company’s material noncompliance with any financial reporting requirement under U.S. securities laws, the Company will require, reasonably promptly, recovery, reimbursement or forfeiture of any excess Incentive-Based Compensation received by any Covered Executive during the three (3) completed fiscal years immediately preceding the date on which the Company is required to prepare a Restatement (the “Applicable Period”).  The date on which the Company is required to prepare a Restatement shall be deemed to be the earlier to occur of (i) the date the Board, a committee of the Board or the officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare a Restatement, or (ii) the date a court, regulator or other legally authorized body directs the Company to prepare a Restatement.  Such recovery, in the case of a Restatement, will be made without regard to any Company or individual knowledge or responsibility related to the Restatement.  

6.Excess Incentive-Based Compensation; Amount Subject to Recovery

The amount to be recovered will be the excess of the Incentive-Based Compensation (calculated on a pre-tax basis) paid to the Covered Executive based on the erroneous data over the Incentive-Based Compensation that would have been paid to the Covered Executive had it been based on the restated results, as determined by the Committee.  Incentive-Based Compensation is deemed received by the Covered Executive in the Company’s fiscal period during which the Financial Reporting Measure specified in the Incentive-Based Compensation award is attained, even if the payment or grant of the Incentive-Based Compensation occurs after the end of that period.  For the avoidance of doubt, excess Incentive-Based Compensation does not include any Incentive-Based Compensation received by a person: (a) before such person began service in a position or capacity meeting the definition of a Covered Executive, (b) who did not serve as a Covered Executive at any time during the performance period for that Incentive-Based Compensation, or (c) during any period the Company did not have a class of its securities listed on the Exchange or any other national securities exchange or a national securities association.  

Where the amount of the excess Incentive-Based Compensation is not subject to mathematical recalculation directly from the information in the applicable Restatement, then the Committee, in its sole determination, will make a good faith estimate of the effect of the Restatement on the stock price or total shareholder return upon which the excess Incentive-Based Compensation was received (in which case, the Company will maintain documentation of such determination of that reasonable estimate and provide such documentation to the Exchange).

7.Method of Recoupment

The Committee will determine, in its sole discretion subject to applicable law, the method for recouping the excess Incentive-Based Compensation hereunder, which may include, without limitation: (a) requiring reimbursement of cash Incentive-Based Compensation previously paid, (b) seeking recovery of any gain realized on the vesting, exercise, settlement, sale, transfer, or

3


other disposition of any equity-based awards, (c) offsetting the recouped amount from any compensation otherwise owed by the Company to the Covered Executive, (d) cancelling outstanding vested or unvested equity awards, and/or (e) taking any other remedial and recovery action permitted by law, as determined by the Committee.

If a Covered Executive fails to repay all of the excess Incentive-Based Compensation to the Company when due, the Company will, or will cause one or more of its subsidiaries to, take all actions reasonable and appropriate to recover the excess Incentive-Based Compensation from the Covered Executive; and in that case the Covered Executive will be required to reimburse the Company and its subsidiaries for any and all expenses reasonably incurred (including legal fees) by the Company or any of its subsidiaries in recovering the excess Incentive-Based Compensation.

8.Indemnification and Insurance

Neither the Company nor any of its subsidiaries is permitted to indemnify or reimburse any Covered Executive against the recovery of the excess Incentive-Based Compensation.  In addition, the Company and its subsidiaries are prohibited from paying the premiums on an insurance policy that would cover a Covered Executive’s potential recoupment obligations, or entering into any agreement that exempts any Incentive-Based Compensation from this Policy or that waives the Company’s or any of its subsidiary’s rights to recover the excess Incentive-Based Compensation in accordance with this Policy, and this Policy will supersede any such agreement.

9.Interpretation

The Committee is authorized to interpret and construe this Policy and to make all determinations necessary, appropriate, or advisable for the administration of this Policy in its sole discretion.  It is intended that this Policy be interpreted in a manner that is consistent with the requirements of Section 10D and Rule 10D-1 of the Exchange Act, and any other applicable rules or standards adopted by the SEC, the Exchange, or any other national securities exchange on which the Company’s securities are or may be listed.

10.Applicability; Survivability

This Policy shall be effective as of the Effective Date. The terms of this Policy shall apply to any Incentive-Based Compensation that is received by Covered Executives on or after the Effective Date, even if such Incentive-Based Compensation was approved, awarded, granted or paid to Covered Executives prior to the Effective Date. The Committee may require that any employment agreement, offer letter, compensation plan, equity award agreement, or similar agreement entered into on or after the Effective Date shall, as a condition to the grant of any benefit thereunder, require a Covered Executive to agree to abide by the terms of this Policy.  

This Policy will survive and continue notwithstanding any termination of a Covered Executive’s employment with the Company and its subsidiaries.

4


11.Amendment; Termination

The Committee may amend this Policy from time to time in its sole discretion and shall amend this Policy as it deems necessary in its sole discretion to reflect regulations adopted by the SEC under Section 10D of the Exchange Act and to comply with any rules or standards adopted by the SEC, the Exchange, or any other national securities exchange on which the Company’s securities are or may be listed.  The Committee may terminate this Policy at any time. Notwithstanding anything in this Section 11 to the contrary, no amendment or termination of this Policy shall be effective if such amendment or termination would (after taking into account any actions taken by the Company contemporaneously with such amendment or termination) cause the Company to violate any federal securities laws or rules or standards adopted by the SEC, the Exchange, or any other national securities exchange on which the Company’s securities are or may be listed.

12.No Impairment of Other Remedies; Disclosure

This Policy does not preclude the Company from taking any other action to enforce a Covered Executive’s obligations to the Company or limit any other remedies that the Company may have available to it and any other actions that the Company may take, including termination of employment, institution of civil proceedings, or reporting of any misconduct to appropriate government authorities.  The Company will comply with the disclosure, documentation and records requirements related to this Policy under Section 10D of the Exchange Act, applicable listing rules of the Exchange and applicable SEC filings.  This Policy is in addition to the requirements of Section 304 of the Sarbanes-Oxley Act of 2002 that are applicable to the Company’s chief executive officer and chief financial officer.  The Board intends that this Policy will be applied to the fullest extent of the law.  Any right of recoupment under this Policy is in addition to, and not in lieu of, any other remedies or rights of recoupment that may be available to the Company and any of its subsidiaries under applicable law, regulation or rule or under the terms of any similar policy in any employment agreement, offer letter, compensation plan, equity award agreement, or similar agreement and any other legal and equitable remedies available to the Company or any of its subsidiaries, or any actions that may be imposed by law enforcement agencies, regulators, administrative bodies, or other authorities.  

13.Impracticability

The Company shall recover any excess Incentive-Based Compensation in accordance with this Policy unless such recovery would be impracticable, after exercising a normal due process review of all the relevant facts and circumstances.  The Committee may determine in good faith that recovery of any excess Incentive-Based Compensation is impracticable if: (a) pursuing such recovery would violate home country law of the jurisdiction of incorporation of the Company where that law was adopted prior to November 28, 2022 and the Company provides an opinion of home country counsel to that effect acceptable to the Exchange, (b) the direct expense paid to a third party to assist in enforcing this Policy would exceed the excess Incentive-Based Compensation and the Company has (i) made a reasonable attempt to recover such amounts and (ii) provided documentation of such attempts to recover to the Exchange, or (c) recovery would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available

5


to employees of the Company, to fail to meet the requirements of Section 401(a)(13) or Section 411(a) of the Internal Revenue Code of 1986, as amended.

14.Successors

This Policy shall be binding and enforceable against all Covered Executives and their successors, beneficiaries, heirs, executors, administrators or other legal representatives.

[Remainder Of Page Intentionally Left Blank]

6


GRAPHIC 10 cdre-20231231x10k001.jpg GRAPHIC begin 644 cdre-20231231x10k001.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" !U VH# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4Z3I2TV3 M.QL=<4 4/$'B#3/#&CW.J:OJ%MIFG6Z[I;NZE6..,$X&6)P.2!^->0:U^V5\ M%=#WBZ^(VBY'40RF7_T$&OAG_@J[^TW8^)7TGX5>&M46YALKEKO7S;L=AE48 MA@+#KC+LPZ9"9Y%? 5DC7=HK?Q#AL4 ?T8> ?&^B?$7PS9>(?#NHQ:IH]ZF^ M"Z@/R.,D'W&"",&NB!!Z'-?EW_P2L^/CZ+K&I?"K5[G_ $2^)O=*WMPDH \R M,?4#=]0?6OU AXR#B@"6D+ =2!2&10<%A7S)\TT>'SS"?1VR%!]LT ?3A8#J0/QHW#/4?G7Y)?M=?\%0]0\5W'ANR^"VM MZCH-E"HNK^_DMPDSOG"P%7!!4 9)[Y'-7/@U_P %;O%VBR6]E\1O#MGXBM00 MCZGIG^BW*CNS1_ZMCS_"$H _6'-+65X=UZT\3Z%IVK63EK2^MTN82W4HR@C/ MYUJT %%%% !1110 4444 %%%)F@"M?ZI9Z5 9KV[@LX1UDN)%11^)-84WQ1\ M&6Y_>^+="B_W]2A'_LU?C=_P4&^+NI_$;]I7Q5IPU>:?0="F73[.UBF80HR* M!*=H."V_<"?8>E?,3PECR6/U-5RL5S^B>'XM^![B39'XQT!VST75(3_[-6S: M>*]$O\?9=8T^YST\JZ1OY&OYPX+8;AU_[Z(KHM+1PPV2RH>Q65A_(T^4+G]% MJR(ZY5E8>H.:4$'H0:_!#PWXN\0Z%+&^G>(=6L74Y#6]_*F/R:OU;_8.^,FL M?%WX23?\)#=F^UG1[IK.2Y<_O)DP"C/ZMUY^F>)M/\ #]I)<:E>V]G#&,NTT@7 K&^)WQ%T MSX:^$[K6]3?,40VQPQ\O-(>%51WR:_,?Q3XZ\0?%/XB>*KZX\9ZII6GVLH:8 MJ+=(K?=_RR&48_(.IS7)6KJGHMS:%-S9^BEI^T=X(OQ="TU":Z,!Z);O^\'J MA(^:M/1_CGX+U:T\Y=>M;9@)-7\1:A;Z9=7G MD6?]JRQMYP4X20XC!0$@\ XQ79:S ;?Q%)J,4AGM]2'FB3=O"R8Y ;N#U'IG M':O+>/J)_"=JPB?4_1*W^*_A*Y;;'XBTYF/0&X4?SK8A\5Z/.H,>J64F>FVX M4_UK\V(ISV)_&K,5VZ?=(_J7F?I='OSP\-_$3Q!X8U&"33-;NM/5SL(:0O%_P)#D<^V*^B_ 7[3(F>&T\201K M.WRBZM>%G'8^B<_2D#9/(K-TO5K36;2.YLYDGA< M9#*<_A6B&!;%>HI1DKQ..S6C'T4450!1110 444A8 XS0 M-+ =Q2[@.]>7? M&WX^^%?@7IUO=>([B4S7A9;6SMEWS3D8SM&0 !QR2 ,]:EM)78TFW9'._'WX M[O\ !?QO\.+:Z\I="\0:G)I][*XYBW)^[8'L Y /UKW%)%=00001D$5^.'[? MG[5=Y\8;_1=+&CG1]%BB6ZL9&.ZY,S=2S@E1@ 8 'XU][?L3?M/:5\>_AUIN MFRWC/XRT6RB@U>&5"OF2* IF0]&5L9]06Q6<9J6VQI*FX[[GTW2T@/:EK8R" MBBB@ HHHH **** "BBB@ HHI"<"@ )'(STZU'YHSVZXZU!>3Q6T$LDC".-5+ M.['@ 5^?WQ9_X*#>+9=9O=)\$:'8:;9K+)%%K%ZWVIYE4G]XBC"+TXW;OI6- M2K&FKR&HN6Q^@Y<$9W@#ZT]77IN'YU^-&N?M3_'.VUQ-:F\8:C?]8%'W9!T9 M>G<8!P,H8B$]C:5)Q5V?68(/0BEJM;."H (Y/:K&X>M=9S@6 ZD"FLZ\6TE&' R*_./X:_\%4;L:A:V'C_ ,#+;1NP5M3T&=G3 MG[K>2^3@@'HY.17W3\,_B1H'Q1\,6VO^'+Y;W39V(#E=K*PZJRX!!'H:F-2, MM@:L=K12 @]*6K$%%%%, HHIKC<,#@T ->55)R:3SD;&&&:\Z^/'Q4B^"OPQ MUOQG/I%[KD.F(LCV=CM\PJ6"YY( SN)[ 'TK\ROBY_P4\^)OQ/LFT[P)HT? M@BS?_67<$@N;MAZ;V4*@_P!T9Z;L?K5K7B'2_#=E)>Z MKJ%KIMH@^::[F6)1^+$5+I>JV6LV,%]8W4-W9SH)(KB%PZ.I'!!'!K\ -?OO M&WQ$N1>>+/%M[JMR>BZC>RSY/XL5'Y5]<_LL_M3^(?A'X2NK32H/^$K\&Z>Q M>ZT"_NQ%J.C/UD\B4C;) 3RJL!C) -=%;"5L/%3J+1F-+$TJTW"#U1^J:R*Y MX(-+O7U%?('AC_@II\&M=@<>A*8]NMO##QYZCLC^@X3H>AIZRJ>]?BI\._VN/CS\*=1C8^*+GQ M3I2%0]EJS"[CD0'IEAYB'W5A7WS^S;^W?H?Q[\56?A:7P_J&B^(9HFDV<2VY MVKEB'&".!QN'4@5=;"UL/_%BT10Q5'$*]*:9]:CVI:BM^$QZ&I:Y3K"BBB@ MHHHH **** $) ZU'/I-$YPHKX7_;U^-&+B18X_$.ER.QP%6]C))_[ZK\8VO7)_P!:P_&H MAJ-Q#,'25B135=OH+E/V^25'0,&!!Z'UI]?)O[#GQN;QOX9D\*:IS-GZN:DTZ5K5+:9#EHFS]1F@#U31-.UG0RG MB+2)Y-,>R;=%J$,FR1'_ -@CG/TKWCPA_P %5OC'X$MHM/U:UT3Q2MLHB,U_ M;O',X'0L\;#)]]OI7SYIGBXZXNG:)]HDALI90A(B.Q&)ZL1UYKBO$&AZM#K5 M]%<6%P9HI6C8QPL5XXX..1P*GF5[7'9GTI\7O^"HOQ?^)^EW&FZ?-I_@ZRG4 MI(-&C83NIX(\UR67_@.*^/[BXFO9I)993--(Q9Y'.68GJ23UK2F\.WGWOL5R MG_;%A_2J[:1+$]=O!I$=W80N!@E O-RG->N?M/VWE?M'_$K/?7+P_^1WKV+]B[]B3PC^T]X+U_5=5\ M9WVFZQI^JM;2:99;&*0&-&CE(;G#%F'I\AK1NQ"U/D:&+#"M[3DX%?I8O_!( M'P$N"?&WB$D?[,7^%*/^"1_@B!]T?C77>.0'6.CF0['Y\:>,$9[&OT+_ ."6 MH(M?&^<\S*>?]XC^E?,W[27PC\+_ 6\3Q^%_#VI)JL]IM^TSF0-('(;*N 3 MM(X&*^J/^"7=N/\ A&_%L^W&;C;GU_>2?X54MB5N?=-%%%8F@4444 %%%% " M,< U5N+A4B8DC./PJ:>0)&M0W9-C2N['F_[2?QHUWQ#KFH7.L0BVLM-=X] M)L(7#++<.=L>2#\Q"@MGID@5Y5X>^'=G&=.\0)I]KE36]CT\Z(>9L_+G%1&G)P;N-SBI6:/=-X22 M14D,R!B%D( W#UQD_P ZD2;CK@UB:+K5CX@MOM%C=Q7,(ZLC8Q[$=C]:U44% M@!@@]#7%*+.BT2T46>-DR,L,<]O>K^E:H;BQAE+ RA3'+GKE>,_RI-&TE]4F M&"1'G;QW-;EWX)BTFUFFMS<329+O;PA223UZD9S6(]+M=1M)!)!.@88_A/*HQE'VD3ZF%+42.20#U[U)UKZO<\46BBBF 5#,P4CU MQ4U03(6;C&* /BK]H_\ X*-Z=\*?$6I>&_"_ARXUG5;"0P7-[>AHH(9!U54 MW/\ 7Y1]:^"_BS\1_BE^T9J)U_4M"U/6+3=MQ'"T<:1 YV1JO0<9S7Z]?%3P M+\.;:"\\7>+-!TVXEM8=LEU-$-[J> I_O$YP,\U\-?&[]L'Q!807VA>!M/@T MU 6M+6TTFW4J@(QG\:[!/X>NY"N[]_:C/'3YU_0'\Z^C X)QWKZ7"5UB**F?/8JC[" MJX=!U%%%=AR!1110 4444 %%%% !3'Z>UQE3BD!R/Q1LI]3^''BBSL]PNK MC3;B.(CKO,;;<5_/MX#\977A_7=3TBZG*V%X[P3Q.S!HR6V[EXRK#FOZ,)H2 M\;@@$$=Z_ /]L[PP?AW^TUX^T^W4VD+W[3QQH@4%)!OX_$FLIPB]T7%N-FCT M'1=#4V$^CWDTEW=12%")F!:="?E89X ]ZN^$?$FN?#3Q7I=[I,/V"XTVX\^+ MRBT@8GE@6Z;2."!FO._ OQWT&WT71?[7BD&KV'^BR2[,^=#D!N^, M;.YU"%6L;\B"Z4-;B).$4KG(^OK7SU12H3YFK(].36(A9,_5[X/_ !.TSXK> M"-.\0Z _>MY@!O1OH?TP:[H2C ]*_+_\ 94_:,LOV:;?6-&U=;[78 M-3=;MH[8J6BN.%)R2.&7 ^JBOH.[_;UMY[AQI_@ZYGML#:\]ZB/D]<@ XKUJ M>-I.*NS@]C+8^F_'_C#3_ GA#6/$>IRB'3]*M9+R9LCE44G ]ST'N17\Y?Q4 M^(VH_%?XD>(?%^JR--?:M>273$M]Q2<*@] J[5'LM?J!^U'^TIJ/Q\^#E]X( MTO29_#MSJDL8N;IIUE4PJ=Q3 QU(%? 5U^R=XGCE AGMYDQGYCM(_(G-:K%4 M>XG0J+6Q#\.M>U>>TTN2W2UF0![,B9"2^'^M_#_4K"61X[B2VNMTJ1YZ?+ MV/&< U]C?L?W=Q??'SP;>6Q*Q2&XBN(@<\>1)_\ KX]*\QS2K)P>C+=127(U MJC]18N%%25#$W"@^N*FKWSF"BBB@ I#2T4 >#?MNZ1J6L?LL?$NUTQI!=G2' MEQ$<,44AI /JBL/Q/K7XZZ#:BZTV 0 ;/+4X''.T9/O7[X:_I5OKFEWFGW:K M):W4+P2(PSE6!!_3-?C%I/@"3X;_ !WU+P;<::^KII.M"VCT[<5:[BW[HDSZ ME<"OILAG&->49+HV?,Y\I*A&4>Z.6T'X7>)/$FBW^JZ7H]Q>Z;8\W-Q%C;#@ M9Y.>N*X;Q5H]S%;/+!)+;W#IY,NPE1.F.M?&_[W3Q-/,7]6E'?9]CQZM&I@$L3S;'Q!!XIUNRT2;1(Y&AL'!5X MO+ZGY@?KPQ_.ND\#_$KQWX4T2/3])>*"RW%UFNPFT88,>7('4]#[UNW6D6=P MG[V)';D?.H-8$O@W3@XD, 4ZT?AU,71)=76_U" MVTB[>+[:QCO6M6Q ZD\@ <>O(KUKPYX9BTS3;>SB8+''\[$?QMQD_2M[]F?X M>:=\0/&NJ:1>PSR6]K8RW2V]M*D+.Z@8&]N!R>]?06B?LZ:?J]MKSVZ:CI&H MV5[:VRV5W/%*VQU5G8LGR]#D8_&O6RWZOERO+63/"S9XG'M1AI$\$71U$8#* M) WX=Z]5_8STJZL_VM?"RVCLD:VM\URB]&C\G&"?]\J?PKOM5_9ZT;3CXF\K M4M2O(]+N7MS+:0I,;8+$) \Z#Y@K9P"H[5I?\$\_#,VL?%SQ5XDGCV+IE@EE M$W4%I7#'Z<(,^QK;-\70Q.!E*/1K\3CR;#5\/CHJ76Y^B,(PISZ]:>.:9""$ MY]:?TK\Q1^GBT444P"BBB@ I"P4$0?4X_"OR,U[6[[Q/K5_K&HRFXO[^=KB>4_Q,QS^78>P KZ>_;P M^+Q\2^+K?P3I\^^PTD^;>%#PUPPX7_@(/YFOE7KGBO.K5+RL:Q17D&/I4$@S MZYJX0#P>#]:SK[4(;678W)'4L<*OU8\"LD7<4\\=NM-*\_X5)%(ES&&4_4>E M##!JDR#K?A'\0[[X9>.M+UNQD*R6TP8KGAEZ,I]B#BOUX\'>*+'QKX=TW6]/ ME\RTO8EE3GD9Z@^X/'X5^*W0@]QR#7W/^P-\9A*\W@;49OF?-Q8;C_$.70?A M\P^AKII3Z$M'W%13!("P !IV?8UV$"UB^-M__"&:]Y?,GV"?;]?+;%;58/CV MX6T\#>(IF.%CTZX8GZ1M0!_--K)D&KW@8D-YS[@#WW'-?0_[)_A30/%NF:[# MK&DVE_=6LB/&]Q'N*JPZ?I7SSJ$RR:I=S<'=([?F2?\ "OHC]C%F.K>)B2=C M11C\OI3;3-:7QH^E=)TVST&T%G9V\5K;HS%8H4"*N3G@"KQD& .*J2,/ M-900>>U)DD]:\6[[GIV19:4,1E1BHI!$PYC4Y[E0:8#^--8X.!1<-"-X+8D! MK>(D^L8_PJ"YL;*:/$EK#(%' :-3CZ<4YSS[$]*1N2<=*=P/HO\ 8#-GIOB7 MQKI\,,<,UW#;W1V*%+!"R$\>F]1^-?:]?GO^R!J[Z5\>[*!6VQZA9W%LPSUP MHD'ZQU^A%>OAI7IGGUU:84445U'.%%%% !1110 5$TP5B"#QQ4M?E-_P4+^/ M7BF?X[WWA6QU.[TS1M'@CA^SVMU+$MPSC MHZJ>QKC+EGN9GFD;=))RQJJZC!X^M:D(_H"^%_Q.T+XN^!M+\5>'KI;S2]0B M$D; Y*'^)&'9E/!'M7AW[<'[647[.G@(6&B21W'CW6U:'2[4D-Y Z-<./1>P M[FOSE_91_;#\1_LKWNJVMMIP\2^%]24ROI$EQY)@N1P)HVP<;APPQS@=,5Y[ M\1/B7K_QG^(^K>-O%$WFZG?N1% C$QVD ^Y"GL!^9YJ.76Q5QFEB9FFN+VZD MO=1NI6GN[N=MSSRL\?:I\3O@?X6\2:T8CJE[:AK@Q="P)4GH.3C)P,5ZM6)H%% M%% !1110!'*#LZ_E7Y<_M8?$#3OA?\:OB1IWV];FQU>_LM4FLX1_JITM%0[V M[$@@X^GI7ZBSY"' R?I7Y8?\%-/V;]1_X3V+Q9H4*M9>)VCMID#@%+U5(SST M5HT!)]5-!QZ?2HK?\ :MLXV _L M20$C Q*,U\\:M87.DWT]E<;#-"Y1RA!7(X.#Z5G,2C!O3H/>I6%I-;%>WJ'U M?I_[4WAR9U6ZL;FV(&#@*W%M(O(:)] MM>N_#?XF?$7Q5>?V+83_ -O9C,C6MX=^5''!^]^1KEJ8)Q5TSICBE)ZGWKXJ MN=6T'X9W.K^'8'GU"/9\EH!)*L>XB1DSD%N]6/A)J_B37%U6\UW4%OM*F=!I M:26?V:=44$2&1?=L8[U\D^!OVB/%'@J_.GQW+6#[LG3=3'F0[O1)#\RU],^! M_P!H6?7;*2/4/#5Q9WR*&5X"&MI<_P 2OZ5E+]W#E-5+GES$FN^ YCJMK=>? M)::S--<)/J5H^V4Q@%X]X/$@& N&!QG(P:3P9X^UKP5KVD:G%/XLYY8D\9!J[9 M^.=-UF.>"X#TKZ(7D"OI:,N:"D>)47+-H=1116Q 4TC-.I".: .3^(_P[L/B7X^TYP?8C(_&H/"7P>\&^ Y/,T#PUIFE2[=OFV]LH?'^]C-=G@^ MM'Z4K*]RN>7+R]#\KOVXO![>$_VHKBZ="]AXBMHKX9'&]%\MR3[;5/XUYYX& M_:-\%^'KIM.O=2>.V5L,ZP%E)Y!YKZ/_ ."IFK^&8M/\.V3@MXKQ)MDCD(,= MJ?O J/[Q&/PK\VI-:T2RL(X1;$7?FXD#Q_)L_P!GWYZYKR:N6PQ%1SFST:6/ ME0BHP1][^'OVH/ 6C7%GJ.C:M<37-O)O3R83DX/3GM7Z!_"_XD:5\4O!NG>( M]'F\VTNT)*GAHW'#*1V(K\ 9?$,-E%(^GKY:E@J84@>YQ7T?^Q[^V/KGP-UR M.PNV_M#PK?W*M?6KJ6=,\&2(YX8=QT(SWYKLPN#AA8VIO0Y\3BYXEIS1^SP? M)QC\:=61H/B&Q\1Z;;ZCIMPEW97"!XIHSD,*U5?<2,5UG(.HHHH **** "BB MB@ I#TI:* &/_JC7Y _\%?/AW;:3\7O#_BJ!H]VL6'EW$8/S!HB0&^A'\C7Z M_N/D(K\AO^"N^K)=?&CP[8D FUTA4)Z %Y&8$CO_ /KJ&-'Y^1L=K*>G7G^5 M>U?#'XW7,&C2Z#J+X7>W:] M\D-*EJIP)'QC![X[UC7A&I!\QI2DXRT/ICP#:7]]8RWKV;+<-+ND8_-M.#M3 MGN,YQ71S-?0.9)7>V01VJR,#'IUNFR.$#H<\EB?4 MFJ\=E%=?.\\10@[D:0DG\Z^7:CM$]B]]2S::O?*N$F,@ ^]US5LZ]J+_ '@0 M^,;C&.E8L&F_O"JW,:+D@#)Q5O\ L?Q#WX=*VZ\M_9INFO?@=X,F;ES8@,=NW)#,"*9 MX[5F%%%%6(***3=0!%.A=6YX-?DM^VA=1^#OVI?%DZ2FVN9EM;U7B)5US%C< M&'H17ZT2R[<_XU^3'_!2Y%@_:.,Z#YKC1;E=F#KSPU7VD%.N>,5X?XG^+ M=SXNGMY=3O;W46MHQ!%)<,TC)&N=J@GL,FN(OD+ LUP%'/R]1^8K#+;E81S" M/GJ"PS^5>PLSG3?-"-FSRO[*A4BHU)7L=G+XWT]#R)A[;#S5;_A-K-\CRIE' MJ4-<)$K;2K6XD,IM+>:5 ME#& Q'ELD]=W)[8KXTA7:ZN)Q$,Y(RV1*#^I-?ENLBJ2!<^:X'"88[OT_I7ZS_P#! M.VV@TS]FW18U*M>/=W$MRHQE9"^=IQ[8KFQ6+G4HN*C:+_0K"8.%.M[1S]Y7 M5O+N?5D8VKCOFGTQ'W+DC%.'->*CW!:***8!1110 UFVKFO/?CI\5;3X2?#3 M5?$,VUKB)/+M(&/^NG;A%^F>3[ UZ#+_ *ML\5^>W[=GQ NO$7Q%MO"L;%-- MT6(2LF<>9-(,D_@,#\36-6?)$J*NSYCU"_N]6O[F^OIFN+VZE>>>9^KNS$LQ M_$U2;)YP1[XJ>164D=#ZUXO?>$O%6M^.M?DAU2XTVQBG$D$AF?E<9ZLU;L>N%WYY)_P_SBN5U;1$M9I7M;1_M-R&)NT),@X^[GL.V?2O)[30 M_'UFZ7"7%\K2K<+YC7+8!Z(6R2H!SQC%2P>'/%-Q9:A\^KVVVS#113W3!Y+K M(R5YR1C/%="II=2'(]FT=-U@K+&T>3C9MVXP ,?2K3*1C/YUX=J?AOQ/9OI M#PMJDL?V17O-US(VV;^('##';O4MOI?BA8;UKI-9;57:79\$^*KSP9XHL-6L9VM[JTF6:*53C:RG(_P^E>#^ -'\ M50^*;)M:>Z>S2QP0TC!5?(P&YY/!Y[UZTR'Z<=?2LVN5Z#6I^R?PI^(%E\3? M!6EZ_:%1]IC EB4_ZJ0??3\#^F*[2OSZ_8"^+4VF>*9?"%VY:SU$%X W\$RC M/ZC@_2OT%KNA+F1F]!"< FO-/VB_$ \/? ?Q]J#L(Q!HUTVX\8_=D?UKTL]# M7YX?\%2?VGK32?!$GPA\+7:7_BC5RO\ :D5J=YM+<$-Y38Z._'R]=N2>HK01 M^1CMND)]3TK[$_9*\)MI'P^N]5N$*2:C.60GC*+P,?7FO'_AA^S;K?B:[M[G M7MFD:9D,R.X,T@_NX'W?QY]J^O[);+2M/M]/L%2&UMT$<:KT 'I7G8FHFN5' M70A9\S)X?";Q1#X+^*WA?7+H[;:"^43-_=1P48_DQ/X5^GL5V)@ MK(0R-R&!R"*_"W5_VFO#[IMMK"^FQT+*J?U-?H5_P3[_ &Q6_:#T_4/"FIZ< M;+5= @B:&X5RPN+?[JECV<8Q[BO0PT915I(Y*SC+5'VA12#I2UWG*%%%% !1 M110 5^-'_!0BW$7[57BGG.^*W?'_ "OV7K\_PJ1=(B=\MR*VM-LHK0 1J%]Z23ON! MM6*W!9U?&*T5FQ&Q/IQ6A)^P_[#<8C_ &8/ M!!'\=JS_ )NU>\UX9^Q$NW]EOX?>^GJ?S)KW.L'N:(****0PHHHH :V IS7S ME^VIX1U77_AM8ZAI&EOK+Z)>?;I[.(XD>'RG5BN.Q!Q]0:XZ1=RG_ M Q7["_\%%O@1=ZSX,TW5=%\,>'+#PYH]Q%+>WD49CNG+OY8C*(H'EYD4[B< M@_G7SA^U;_P30OOAMX-D\:> [F;6=)MK=;B_TYE+26Z@9=U[L@Y)SR "3P,U M$=- 9^?[#ICGW%.0@*!FK3VS0NR,A1U)!#=:A:($]*U)L-7D\5ZU^S#XML/ MOQ9T_4]2]>3JI4D=J]B_9Y\ V?CJXUJVNW4?(A7>:QJV]F[ET_C/>OCM\*/$_AG0=2F\0:9I6NZ5'#)-!KUC,(W@_N;@<'). M!WYKRWX'_'Y-&6/2M;EVV8P ^,^63_$H]/4?C65^T;XKU_3+BP\"MK5Y/H]K M:QG[&\I*LV3M&.^ !Q[BN-\-? GQUXFLUN[30IX+0C*SW/[H,/8$YQ^%'[/Q BM(H@O8B/ M+NE^5NO0\?,N>.>G6OB7PU;^+?"']LRQ:A/I]YI4D:/$6(5@P;(_05Z_\*_V MF)=4N(=/\11J#D+]H08"GL2.A_"O*J8.4?>@[H[(8F,G:2U/NK]A'Q->P_$' M6]!>TFM[#[!&=SR[HWE0\L@/(^\1SUP*^Z4/'YU\1?L1Z2ES\2_$.H*1(BV* MX=>C;R.:^W4S@9KV<&VZ*N<%?XQ]%%%=ISA1110 4PDEB/UI]-*C.:3 _$WQ MOI6M?M'?M=_$F/Q)?78ATW5+BTB16VB"&.5HXE4=@ ??->3_&KX-ZM\+-:M ME^T"]TJZ8K%.Z?,C#G:WOCFOO7XR?!>\^%G[7NL^*X(6'A[QM:-)'Q8*6'KS7D7[2MI#KGPTU5RH-S9;+B+')R",_P#CM?.8C&5,/CHP;]UG MOX?"0KX24U\2/C>PMWF/EW!#I@X & *B1)-)N\$G .58=QZU!;:FT+C(W?3T M]:Z._L;271;>X-[%-M?31:>Q\]ZGZ$?L$?&V_P#$VBR>'-.U M%(?%6FQAX]-O'Q;:M;CJN3_JYE[..HQD'%?H3X>U9=;TV"]2)X1(O,4HP\; MX9&'8@Y!]P:_GV^'7CG5_AYXJT[7=*N6LM3L)EFBD4]P>A]0>A%?LW^R/\>K M3XZ>'M_-#0(^@J*:I))S3JDH*** M* "BBB@ HI&.%)]!VKD_'OQ)T3X9^';K7?$>HQZ9I=LN9)V1I"#Z!5!)/L!2 MN!U;C*FOQ0_X*OZHT_[35_!DMY.GVJ!?8J3_ #KZD^)W_!7KPYHMU/9>"O!6 MJ^(I$X%W?@VL3'GD)@L1[\5^<7QV^)_BG]H3XEZMXVU?0Y;6XORN+>WA=HXD M5=JJI/\ .IYH[W*L^QY*S,Y&X;7 ^8&O2?V<[R.Q^*%K-+A@J29X_P!FN*G\ M+ZYY#7 TB],(',A@;'\JZGX&P/'\0;5)%9&\J0D,"#]WT-8U91=-V9=--25D M?5TVJR:K>,/-W6V=P5F/ Z#]35(@JS@P1YR0I#\CZ\5 UI>62VKVUG-.UPY5 M!%AN@)P?3\:C:R\3Z_";BULH=-:-@%BN7.91WYQ]*^<<5T/6E)VT1;0,7RT8 M5NGRL#4J.6F ,(*Y&.0/KWJOK4\'A&U$FJZ@D<;[?N_.2Q[ 9K0C\2Z/J.E MVUQI=M+J,P[U M #(20Q=@, CGGD<<5HM;K-I]M]MN$CNDE,C>4/+W <[<'VQ6O_PC>D^()(F$ M[0?,%8Q.-K+U*GZU,O=:N=?);5'Z._LM7RW_ ,"?"$L9W)]F= 3U(65U_I7K M8.:^4_V,/&FJ:A-KGAI[J*;1=(A0V4$42CR2S'<-P^]SD_C7U0C-W],U]10F MI4XM'B55:;):*0'./I2UT&0USA2?056DG95!'?DFK+C*D56+E\$_#RWTW4]92V674KJ5&E>Q9C\B!1\N2,'G/45\*/JWBG MQYK6J>(?&VHR:OK&HA5 *]N_;#\.#PU^U#XS9HR(]2AM-2 MA)'W@T>QL>P>)A^->-W$DL7^I52.H#-C\17Z1D>5T%0ABY.[:>GS/S7/Z!>:'O^U6VXYSO4[E/Y&O9[W4;P M0N6L6=!R3"=V/PK#NKVUOXBR #^^KK@K[D=JZL9E>$KOFIZ,SP.:XZA&TES1 M/$IYDEI;YC^%;>C^&K33XU$,8#]V/)-=?I=H8(BV>/0BO?P.0*2YJ[/G^@=BL<4DBA8YR#_ J^T%AT!/I7P?XU\27.K>(KJ9RP2*4JJKTXXKV/PYJX MUA[BWNG11!!%@OR=K+T^E>1C\PP]2E+"TX64=GW.W+\KQ%&O'%U*CDY+5'[X M6UP)U1XF62)N593D,/7/<8Q5T=*\A_9-U.;7/V=_ EY'2ODC[+J+1110 4444 -<94U^7G[8#$_M#>)L$\+"/\ QP5^HC?=.*_+ M7]KQ\_M$>*1GH8A_XX*Y,3\*-(;GCARQP><]<>+/A='XFUN\U![BX1[@(A"A=NU5 "\GU M&?QKCA:^I;>AF7'Q"\+)IJ:?YV;8.P6);>3(*8;^]G^(8J[;^/M'U&UGNXI MZZ5%YA;[*^Y5;Y?EYY/:LJ7X&VLTIE^T77GD9+X3)^]SU]Q_WS5RP^$T>FZ= MJ=HLURZ7\(A,0O>WCP!EHVX_ M&NT,@P.>:RE:^A:/9OV1I?*^//A4@XS=8/XHU?K#Y>>&D'(]J_):_O[W6+^XO;N:>[O)Y&EFN)F+O(Y.2S,>22>YKZ._;B M\'_\(+^U[X^MU7;!J%VNIQ#'!$Z!V/\ WV7KR*$X/ XKH).+CGG@)"2/&<<[ M25-3#4KS_GZGQT_UC?XUN>(K![OR988C)-G:P1LA-1.[2'+L6]R:L_V7>_\^DY_[9G_ IZ:#J4O"Z? M=-GTA;_"EH/WBCCBD QSVK;@\$^(+@CR]&OI,^ENU7X?A7XMGQLT"^VGNT>/ MYT-Q0K2.6^E&,_7TKM$^#GBO&9+".V'K/<(F/S--D^&-S9C-]KFC69')5KL. M?R4&CG@NHQ5@4@HHHH&%%%% !36 (/%.I MKY"''7% 'G?Q[CLS\*M92\B6:WD,"-&P!#$SQ@#GW(K\V/CI^VKXYM+Z+3/" M_B.2PO\ PY>76C7D,.UX;V.-\12NK @DKPWKS7Z,?'.UU'7=(\/Z#:6,EU:7 M^KV\FH3A=R06L#?:'9O3+1(H_P!ZOCG]A[]E3P/\14^(7B[Q3X7CUS3;O79H MM&EU#>-T",-'J>J7>H""*UGN96D:&T4)$I+$_(H MX"CH!V'%*XDNML\C2F19G M /S!3C;D'&,D#L.U<6)J^YH=%&'OW9VFB_#3PWH6MRZY/"=6U^X"O)J&H?O) M$.W@*#PNT<9]JS_'?[37A7X?EXXLZ_JRC"V]NWR)CL\G0?05],^'_#/[,E]X M1AM_&/CS3M0OKJ-7NHCK4EJ(V(!:/$3J< Y'7M7EOCGX<_L%07AL!KUQ:W#* M)3=:/J=U< 9XP6;>N?:IIX=R=YNZ'.JOLZ'PUXG^,\OC77=:OIM/BTW^TP@F MBMMS+F-2$Y/.?FYKA+&UN+.^@*AV+A@" ?F SG%?:MW^RY^S[\3O%GASPY\' MO'.LZMK5_J$<5W;W";_L]GAC)+DHN2"!Q[]J]DN_^"1%Q8WH;2?B'#<0Q_<^ MWZ=M9>>?NL179R\B:BC"]W=GI7_!,!9;SX?7VH7!+2K#%;[B(@W"FPF[_ .P:_.SX M:?#Z'XF>+=%\-:C$[Z?>SLERJ,48P\E^1T.!U[5\EFT>;%4HGT^5SY,-4D?G M&Q^T7MP+3/E"1@'QCY"RQD6YMX]UQ:+G[LR#)XZ;QP>X!KYGO/"&LW,6Z/1KZ:%QG>(& 'OG%? M3E)+34 M+.[D'!2,D$$?0\U\H:/XFD\&Z+?:9+ID2W=R@3SI(_WD1!Y.2,8_SFMWPYJ\ M,QC/9J^F #BO'/VM- /B'X ^,K M=%R\=I]H7 ZE"&K&K?D=C2F_?2/R^\/>(;7PA;%=$TBV60MO+22-D@]1G&>/ M3-;%GXW@B-S#>%9!J*%DLMQVR-GH!Z?X5Q]]=6$%C;7=W-%:6[#:"W!?GT'4 MUZ'X=\*:7!J-EK]HZ3H+?;$7RQ /<9X'Y5\O4:BK2;/95KVLQ/M8,R_*#SG%>MZWW! MM]0THS0*Q"R21[UQZ\]*\KFB@?5-6M=,U&/2K9K^)"R-MEC7#<(N:UI*,XN, M60TH--'JP\ MI$TT\6H^38L,RK(F23]17EWB_P (:5K6I;H[J[7+#[CLJ'GT MQ@5UESX#NSQN5D\N&>X8 G->9:#J=K:^)(DB$=_>HI+!Y3%;1$C'SL1DGV%=#'<>+-:;48S MJ6F:6T@#B2Q+2-( "I !X'3K4N+YKRD4TELCL&T_1&B:22PMF4X9 PY) Y)R M<5AW_BC3+2__ +%@\.W-XTT6<6Z (1Z%^@^M5]"N]7^Q26(TNTN]/"D&>=SY MF_&"1FN=D36["95#7 9>41?3..GI0K]62Y6T/K3_ ()T_P!H+K7C(WDQ2(Q1 M;+ ("EN Q'#XR2:^YT !Q_LU^?\ _P $[OB-;ZK\1?''ARZ3[)JD<2,$"@>< MJ8W'/7(W@8'UK] (NG(Z=Q7TN&BU22/'JM.;LR0=OI3J2EKK,1&^Z:B=01T& M0,U(W2HGSD8!Z4@/S]_X*:>'&T?Q-X%\91P-+%+!<:/=;!GH5FB_]K5\5IXO MTYY-LC20MZ,N,5^H?[?V@Q:M^SKJMX\>Z;2KRUNX6[JQE$1_\=D:OR[$D%RF M9HT9R.=Z\5^B9#[:IA/W4[6>S1^/E)KM]6\)Z%J5RDC0%"1M/ER$$_A7BWCZ 6 M^NO#&3Y<054!.< 5MF=?$4Z#YTEZ$Y5AL+.OS4F_F;WP_GE:WO0S-L&&Y.>2 M,?T%=Y" @!"@,>IQ7#?#R('2;]LT:19CN9%;A ML?A5^UNY"VZ]CQPDJ9 7\3\W MT ]:ZRPTNSTB-X;*VBMHR2Q2-< D]3]:=':PVQE>*)(WE?>[*,%F]3ZFM>9$ MV(Y21>0C '#=!7E$GB?Q5!J=YYMWNMEE=8XUMQE1G@9QSQ7K3J#(K$G*@@8] MZCDX;) R3SQ3C*W03*>E2RSZ5:33?ZYXU+G&,G'-3$ YK\=OV:I0GQM\(D\#^T8?_ $*OV)Q[UUT=C.1^ M27_!7+PY#IGQN\(:U#&$GU'26BE;^]Y4GRY^@ +$_*8-,GD+$8!W2J ,_\!KXBM[B)T7;*A..SBN@DMM?76F1/=64[VUU$ M-Z2)P1C_ .M4(^,OC# _XGMP0/[P!_I4SO%Y3L[*%"G)S7!XP2 >*EQ3W'=H M[=_C-XP/GKNG)_K68$S3MA/8T^GF/SS M2/\ [S$U"6.3Q1M*_P#ZZ0*.IJDK"W$SEAZ5^@O_ 2:OHHOC7=VQ==\F@RG M'?(F0_US7Y][0.2V?:OM;_@D_IL^I_M/&Y&3!I^BW#L>P+/&H'ZF@#]FZ*** M!A1110 4444 %?D'_P %-T$?[4NUY3^RH MGE?LY?#I.XT2VS_WP*]6K(I!1110,**** "D/0TM(W"F@#&\4N8] U%T&7CM MY&"@=?E->&?L#ZS;ZO\ LP^%'@8&6$W$5P,])1,Y;^==[^T1\2U^$_PIU?Q MHC>Y15MK:.;[C32,$4'VY-?G!\(_V@/%7P0L-7TSPQ=VT.F7M])?M;SQ^8J2 M2-E@F>BY[5SSK1@[,M1;V/UBF4,,\#VK\X?^"A?[#VGZQ<7WQ5\.ZC::.&*O MK-G=-LCD)(!FB(!^/)H]\[Z9)$N22UL5X_ \UXE^UQ^U M7XC^-_@FV\(R?9;"WCN5N9FM58>>0#L1@3P,Y./;FH^L1:LBG3:/G#Q7D MZ;%I4=@8+!4$=K+ 0R2)U^8]0V>3]:]3_9QTZXA\$W4C(0[73.@/'88ZXZXQ M7=_LB?L0^+OC5I2Z[XLN9="\&2HZ6[1$&YNCT5X\_=4'G)Z]JZ?XB?\ !-[X MI?"S3M2U?X=>.7UV.WC:9-+E0QW,NT$[5SE6;TZ5G*@YQLS15;,_.?4M2O[B M*ZL;A&,YN'D(Y%7V';ZUIZZU]#XAOY-4CN[74_M# M-V*^E_V6?V%O&W[1^I6NIZE;ZAX?\%-N9M9N%VF?&,"% M"V[?M?K"% .<5Y_\ ![X1Z%\$_ VF>$_#EK]ETRR3'W1NF<\M(Y[L2*]" MH&)@48YI:* "BBB@ HHHH *0TM,9@"/^^FY]J]A_:)\:Z3K?PWU"TTN^AOI_/" MN(FW!=I^;)]L5C_LB?#74?#>EZMXEU:&XL[K56$=O;3!?2OSZ\ M6>/K#3]>=M-O%U+2?,(AG107"=MP!/3I7%G<)S<91>AV9/.$>921R'Q#^$5E MK4[75I:0QN!DQ+T/YBO#O%7PMEM$DN=)5H94Y,1'RL>^?0U]0V&LR:Y;K*LB MLA. RG@>QK,\36MN(MQ0+YG# ="<5X6'Q%2A*ZD>Y6H4ZRUCN2_\$Z_B?J/@ M/Q;';ZY:&VT3Q#1@.BEQT)#@;3U#@CH:_4V [E)]^]?'W[$_P\ MT#Q+\&/$FF7]@+R"XUUKIMZX*2"*/8Z'JK# P:^O[5&1"#GC&":_0Z%3VM-3 M?4^#KT_95'!=">BBBMS **** "L/Q5I::[X=U;3I(Q(EU;21;#SN#*1^')K< MJM*-S=,8']?_ *U1(:=F?CMIWPW@TK4Y6U.V>^GCEDA2U8K*EJH;''K[UZ3! M%:V5G%&L:J@& HP,>P]/I6%\=]9?P1^T%XMT".[5H8;OSF^3 B67Y@I]\B"]MHHY$U!)#\A5P@7CIFOE*L+U7&1[M--Q4CTK6HDO8)HK955F!V;R M #[5X#;?"S7-;^)L6I+9VYCAU%9IP\JC]VFT/GU.6Z5Z),%8B4L=H.3Y9SQ] M!7(Z9\2Y-&\8WME9R0!@'BMEG;8TQ>121SW&VMJ/N-I(BJKV/8?$VCI;:#=? MV?:A-X!.A],UY[:^$+R;16OCJL$8(^16@(4#W)8_E6QXNO[G4]#>WO MKV6TBD \T6SA/FQ]TM_=S7G;^'TFO EUK _LB) 3913D;A[D'CFL81BO(FM5 MC3?O%X:=<3RJBS[WSDM& N?<<5T.DZ ]Q")(M:53R'1V$;J<]>@S65=IX#T' M3X9=0BNY@1MD$3.54^K'//X5T\'A?P7+IC_9X6ELKM ^Y/,.]TMRLK7_A2YN(G\WQ>FFQ'CRMX=QQQR"/?BJ6E>'K[2Y;>>37X-2T MX*VRY2&5Y4';Y@#CGUKM/#G@O2+%+>>SM6>WB!,4,FPJ7Q_K-QYR &_.J/Q" MO;J*WCMXHH;>.4%F7?D@C\!VJ(U9.R3_ +Y'+61ZA^P%I=MI/QY>^N+M-0O MM0M;M/M CVEL;#G\AC\*_3!% YQQ7QS^QQ^SKI>G:5X1^)T%]='59K:\2:$ MD&)XG;8J =MOEY_'Z5]CH"% /I7U5!-05V>34MS:(DHI!TI:W,PHHHH \I_: MBT >)O@)XXL 7;3))$!_OIAU_4"OQU[RPGU[1HW]?9&3J 1L(SGCYL_G7B/C 9UB=B23 MT)/J*]BN)7M9)(ID>*:,X>.52K(?1@>1^->2>.+1XKZ64C"NV>?<#%>OF\HS MHIP=SAR2,X5I*2.A^'+ Z-=?]=A^>!79G&.N:\^^'MV!974(8;MZMCZX']*[ M;RYQC 7I6F737U>*1VXR"]M*[+B$5"^*Y?/\7W9'1IV(_[Z%>F-?*L> /FQWKOO@S^Q9XP_ M:+\5W,NAQK;Z5%<%KC5KA2+: YSM!_Y:/ZHO3N17Z"?#O_@E]X T-HI_%.I: MAXGN5(S"C?9K?/7[J_,>G.M,=N?>DR:XC48QP?K43/Q3R1CYB!CN:A> M:+;GS$ ]=PJA7!V&.N#4+/DCGM1+-&!_K$S_ +PJ-R& P$3TQJ=O_ .ABOV4'2OQ@^ ,I3XO^$SGI MJ5MQ_P!M%K]F_-'JOYUU4M$9RW/!OVH_V//"/[5.C:?!XAEN].U/30_V'4;( MC?%NQN5E/#+P...G6OR__:2_X)R_$;X'S-J&A1R^./#6W<;NPA)N(?\ KI$, MG'N,CZ5^WI&014#0DKC:&^O2N@D_F7ECF@EDBE1HY4)5HW!5E/H1VINYP>O& M*_H2^*7[)OPI^,P=_%?@?3+Z[;_E_@0VUT#Z^;$58_0DU\Q>,/\ @CO\-M4D M=_#GBOQ%X?+CH/YS&@#\LOPI",'KBOUN MTO\ X(W_ ^A(_M+QSXGO<=1 EO!G\T>N_\ #7_!*7X$:#(CW=CKNO$8)74- M595/U6$1T"L?C)X<\.ZEXLURRT71[*;4M4O91#;VMNA>21ST K]N?V$OV/H M_P!F3P,]WJH2?QGK*H^HRK@BW4F4#"BBB@ HHHH **** "OS._P""F?[/7B_6OB58 M^/= T:[UW2[BQ2TNDL8C+);NF<$J.=I!ZCTK],:A>'<3P"#ZTUH!_.GJ-M<: M?,T-W;SVLRG#1W$91A]01FLV6>//WQ^=?T1:W\/_ YXFC$>L:!IFJ(/X;RT MCD'Y,#7FOC']C;X.^.-.N+/4/A[H<"3 S6%JMK.O3[LD6UAT[&GS(5C\(A/ M&3PX_.IXIXQQO&?K7[/^&_\ @FU\!_#MU,\I\P()S MZFI!_P $W?@'_;4FHGP43N8.+0:C<+;ICL$$G3CUI\P6/QFBN8V(56#,>@'6 MO3/AO^SY\1/B[?6]GX?\*:E+;W#B,W\UNT5O&I_B+L " /3-?MGX>^"W@;PJ MRG2/!>@:85Z-:Z?%&1^(6NPBM$@7;%&D8'9 *7,%C ^&/A$> _ .@>'@V_^ MS+&&T+_WMB@$_GFNHID:E<\ #VI]2,**** "BBB@ I&Y4TM% '#?%;X4:-\8 M?# T'Q EP^F^>EP4MY?+9F7.,GTYKX]_;!_89NQX#M-3^#=M<0:W8MB?2!/O M^W1'&<%SPPQTR 1GO7WW377<,5/*AW:/R;\8>(=>G^'-EH]C^S=J>E^-_*\J M]U,VUP]NLHX\R)%)!)ZX/ .>M7/V:/V ?'OQ \0VVN_$V!]'\-1,)&L+D@75 MV>N-HX5>Q)Y[5^J?E'T'^%/B4KG(J/91O ==UU=M=K%:>2@1$VJ!C ]*NT4P&!< 4^BB@ HHHH **** "BBB M@ KE/B*WB"#PKJ+^&K.*]U4H1#!*^U6)X/-=714R7,K#3L[GQA\-OA'XUUWQ MM%9ZQX$C\+>&C-]IO[@7"L;AEY"A03P3QZ8K[%2#R8E1$V*HP #@ 59H/0UC M3H0I7<5JS6I6G4LI/1'G/QB\'^ O%'A2:3XAZ7INH:-9CS-^H*,1$\?*W52< M@<$5\5ZU9_ ?291<^'/".G:5=QL?LTJZM<(0PZ,%\PJ1QT/!K]#+W2X-1M9+ M>ZMX[F"08>&90Z,/0@\'\:YV#X2>#()O.3PEHB2YSO6PB!_/;FL\10E65HRM M\C2A5C2=Y*_S/S%OM>O/#FJ/?Z1:Z>UK,2SV_P!I!7_@->K?#"/2/C),FB6\ M/V/Q#(I91-&6B!Q]XD=0.*^^%\%:%'C;HNGKCIBV0?TJU#HEG;/O@M((7Q@L MD:J?IP*\?^R+RYIRO\CU7FKY>6$6OF>8_LS?!O4/@QX1OM.U.^@OKRZNC.S6 MP(C4;0 !GZ&O8:CB39GWJ2O?I4XTH*$-D>)4J2JR'_C9K,FO+?W6B:^R!6GB DBDPNU=RGH0.X-?*GC+_ M ()N_$&.X6/3IM+UJV#;A*UPT+GV.1FOTYHK"5&$G>QM&M..B/RFL?\ @GU\ M9;75YKL:7H_E2H5\LZE\J\?2I?C#^QPWP-^'UCXQ\0:G#ZMA+#*/**$9^;.SQ M0V4K0#H=@&Y?3_/I7K>C?L1_&6Z@2?\ LFUBF!^7[1=1HY Z,,?\ 5KQEAJG-HCFDY5[QK;GS1=/'?VL]M-$[Q.- MI!X_*ET[05T&2UN4N;@RHN!']H)3'8$=J^I=(_X)X?%.YN]ML,L\PV19Y^;/\77I[5@>(->.HSVHGNFEEB4+( MRX4'V ':OTW\*?L*_"[PNJFXT^^UV48.[4[QF!/NL>Q3],5Z':? 'X=6*@0> M!?#L9'<:;"3^97^>::P4V];'I/$QN+=?LW^$#O!*0SJ?;$TE>X@YK' M\/\ ARP\-Z=#I^EV%OIUA%NV6]M$L:+DDG"C@9))X]:V0*]:$>6-CSY/F;8" MEHHJR0HHHH CD&0*)?M,#=B&ZE<]5/!K\WOB!_P3K^)^D7DEE'X>C\3VD; M'RKW3KM5\Q>S%'P5)ST^M?L"8\]^::8LC';&.*[:.+JT=G=>9R3PM.J[O1^1 M^&GB/]D/XD?"G2+SQ)JOA"\TO1+5 +F>::-A'E@%. Q/).*X]XRW ."*_=WQ MCX&TOQ]X8U7P]KEJM[I&I6[6UQ;L2-Z,"",@\=>".1VKY3U+_@EQ\.;BXWV/ MB/Q1IT);)A6Y@E4#^Z"T6?Q))KW\!G,*<7&LON/(Q>6RFTZ3/S1CBP1\U:%D M-K#=A?[W.*_3#3?^"8_PJM)$:YU'Q/J(7JDVHHBG_OW&I_6O4?!_['?PE\#- M')IG@VQ>XC(99[XM=R!AWS*6P?IBO5?$6'@K0BSR*F0UJSNY6)?V6_#<_ASX M"^$+.YA6WG_L^-W0(!RP)Y'XU[!%&%R>!S4<%F(8U15"HH 48QVJ=5/KGFO M@:DW5J2J/J?;4H*E!4UT0\4M%%0:!1110 4444 ,E!:,@EQRW>E7K@ZD@Y-M)C ?\ W#C\#7Z"U5U/3X-4L9K2Y@BN;>52DD,R MAD=3U!!X(-9S@IH:=C\3RZX'S#'UII92G]GQ_ MX4UOV<_A@XY\!:!^%A'_ (5R?5V:?A_H7X6HJU2E'J)M,_$Z\\ M+:O-=I)'J,D4(*EHAWQC/.>^#^==9;+Y%M&C (>?E!Z<]*_8)OV5_A*W7X?Z M)_X#_P#UZ%_96^$B]/A]H9^ML*KV3%S'X]R2*.XJK+.@(!=0?X];",_S%:-K\"_A[8C_ $?P-X=B8=&73(0?_0:%1?<.8^*/V'OV M7;CQ)J-EX_\ $4+PZ5:N)=-MG!4W+CI*?]@=O6OT/"''2J]I8I9)%'#&D4,: MA51 % XP .E7*WC'E);N%%%%6(**** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@!#TH'2BB@ /%)FB MBE:PD"TZBBF,**** "BBB@ HHHH **** $)Q4,PWX!Z444 1XV' Q4JE%%):B>@@- /-%% (#Q2CI113Z#%HHHH **** " FBBB@ HHHH 0'.:6BBD@"BBBF TG!HW444 &ZC-%% #J***3 _]D! end GRAPHIC 11 cdre-20231231x10k002.jpg GRAPHIC begin 644 cdre-20231231x10k002.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" "6 WX# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4Z*** "B MBB@ HII<#J:!(I[T .HIN\#O2A@>AH 6BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **3/-&10 M%)D4;@#C/- "T4T.I[TGF+GK0 ^BF[QG&:4'-*Z 6BBBF 44 M44 %%%% !1110 4444 %%%% !12$XIHE4G&: 'T4FX4QYE09)H DHJBVM6:7 M$=NUQ$MQ("4A9P'8#J0O4U'JGB'3]$M6N=0O(+*W7),MQ($7\S0!I45RFD?% M;P?KV?[/\2Z7=GTBNT)_+-=%'?P3KNBD61?5#D?I0!9HJ-9T(R#3P0PR*5P% MHHHHN@"BBBBZ ****8!1110 4444 %%%% !1110 44F:-P]: %HIN\'O1N'K M0 ZBDR*6@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH ***0G S0 M,E8(A)Z"E#@U@>-_$]CX6\,WNHZA>KI]M&A_P!)8 A#V.#U M]<>U2VDKL%J<5XP_:-\ ^#Y[RUO]>MEO+3_60KDD'TSTKYK^+O[<.G7KVT6@ M:XFGVPW,TL,C*TN>@!V\@<]/6OB7XW:U=^(=7O-660ZB68M/?*@3>[$G=@< MG]*X2#6/%^N^&=(MH-/233M,:5HYWMXP[[V7(=^K@8PN>@+5C*:2N]C:$>>5 MHH^Y_!/[=%_H'B"$WNM1ZUIKG:\%S.5?'JK%>#7V-X!_:(\ ^/+:V.G>)=/^ MUW&,64EPJS;CVP3R?I7XRWFA^+=.C^TS:(_$D7B8P0:+&;Z,FXA7RHK9MZY;'4 40J1ELRJM.5-VDK'[AI)O3(! IR= M*Y_P3XBL?$WAZUO+#5+35T:-"UU92AT9BO7@G]:Z!.!70FFKHYNHZBBB@844 M44 %%%% !1110 4444 %%%17%S%:023SR)##&I9Y)&"JH'4DGH* ):Y_6O'F MB: ]S'=7J>?;)OE@B!=U&,]![5\B?MF?MN:]\*GT6T\!01-87DC+-XAN;8R0 MDH0S+ "0)!MS\_W<\ DUY=XS_:0\4^+/ .M:_P"#+&&TTJ6V+:GXDU=5MHYI MF'^K@W'+$_="C)[<4-,:1]YV7QF\+:IIEA>V%]]M6]9TBB@4L^4QOR.V-PZ^ MHK=T/Q5#K<[Q"WEMF&=HE(RV/8'C\:^2/V%_&.D_$7X>VJV\5G!XRL&*WT+; M4W'&1,$Z_,.PZ$'VKZ_TC239-+/,L)NI3DM&@&!Z5.H&I1115""BBB@ HHHH M **** "BBB@ HHHH :[A.M,-PH..2?2F7; * >AZG'^-?)?[1G[2'B+P9\2O M^$2T&^L=#2TM([N:XN85=Y%;/,88[=JX((QGIVH ^KK_ %JRTN S7ES%:PCK M),X11^)KBM4_:$^&VBN4O/&^AQ,."!?1MC\B:_(SXI?$K5?'5YKFJZMJLGB2 M*&X,<%Q/J?S#C.8XB" O;Y<5QEEIMSKM@MS9Z=<3PA0/E7*_F?M M8_"*V5BWC[1S@9VK-D_RKD[_ /;C^&5LY2TU>WO0/XEG5,_0$U^2MWX;U&!< MG2+CZA"?PXKFM2'V-R+B"6W.>C J:I1 _7?4/VZ_"\8+65K]H0#)83!N/^ Y MKDKW]O:WN'+1VT6G6N<*SHS._ODG 'X5^?G@?X&:MXYT"VUL:C!;6]QE(0[% MV)!QM/7!/H36+?>'M7\$7=]%]HN7$3F$R(CI&6 !V[QW&1Q[CUHL.S/T13]O MF"V\QR([M!R(W4;F]A@"L*U_X*57MMJ@.I^!&;2?XIK6X/F*,XX!&#^)KX2T M&XOKIH;C9#-*K9+30*&)^N 2/>O1[;XG:AI]NJ7FC6\T) ,#G&,>C9%1*Z6 M@C]/?@]^T]X ^-D:KH.LQIJ)7N$FFBN/#NI(P:.\M 871^S93Y?QP#7V;^QG\<=>U/Q!/X;\2^-+3Q/I36 M^[3;VX=?M9D# >4Q!R3MSUYK-2OT ^V*6JT=V&XVDU*LH8D'@U=P)****8!1 M110 4444 %%%% !2'I2TAZ4 <9\4/B=H_P )O ^K>*->F:+3;")G<#&YV_A1 M03RS$@ 5^?OC?_@JQXB>]D3PIX2TJSMOX)=8DDGD8>I2,H!],FO5O^"K6M06 M7P&T.P-QLN;O78Y(X,']Y&D4NX^F S1]>[+7Y66\_EP;LC>WWF_I4._0J*N? M7NH?\%0_C!-$[H/#]G&!G,&FLV/^^Y#6&_\ P46^.>IJ'B\26<"MRHBTJUQ_ MX\A_G7S!-(ICPRL5/!##/:L*VUN*RE-E-'(H0[5D"D@CW-%^Y;21Z=XE^._Q M$N?&P\9MXCFN_$<<_P!I^U,Y4J1T 4?+@8QM QVH\?_ +47C+XYO'/XRUF[ MO2/NQ1L(X8_I&F%'Y9KSMM6@ECGBA60Y&"Q4A<_C7-Z5"# 5@&)TD(=6S^E MGH>A:5KIL)_.M-0DAF!X+.0?UKT_PI\??'_ABY2\TOQ3J%E/'@@P3LR''JIR MI_$5\[ZD]S(D(V9P^TKM^<^]6+34)M-<3(\R.A'[O/!^H[U-NHT?IC^S=_P4 M(\7:AXSTO0/'T]C>Z3=R"W_M-HEMI;=CT=R"$*^O /O7Z%^'?%>C^([-)])U M.TU.%N5DM)UD4_BI-?SSP:S)<:BPE 7&W(Y!YK[7_X)B:[]E^.NJ:?+.P%] MHLN%+?>99$/\B:-Q25D?JVIW#-+38_N#C%.H,PI!TI:0=* %HHHK4 HHHH * M*** "BDS03BE8)UIC787M[_AZTP))#@YIAE5#S7*^)?BGX;\+@B_U* M,3 [?L\)\R3/^Z.1^->:>/OC.==TTV>@^;:M*,27$H 91Z+@]:YJF(ITT[O4 MZZ6%JUI)):'2^./C)9:!?/9ZWTKYNFM/)=I&D,\H&68\'\:Z;X"137WQ-@D3*-XHN ZBF[P:=3 **** "BBB@ J":[C@8*Y"D],G&:P?'WC[3?AQX; MN]=UN;@T[,=C]PK?4;>Z!,,R2@ M=T8&GK9$GC+67SV^UN!^AK[=_8S_ &C_ (BR_#2> M&]\&Z_X]AM+QD75+>59&1=H/ED,=Q(SQQC!%#5A6/OVBOGRX_;(T70R%\2^# MO%OAPC[S7FDR[!_P(#%>A?#CXZ^#OBM:M/XN.G& M:\J^+7Q1\4>(/&&IW+:IIYT:-\65C%<^5,D/]]GP>3Z#!/2OG/Q%XT2PDDF- MFUM$^5)ADS%+_M=!A_7=Z<&N&M4C4CRQ9O"-M3FO'NFSZJMW%I?V:T6Y<2SV MI&$:3NRG^$'GY>17FEMX@U3PVSV$]F##&03&C@)U)[_C7:S^+K&]U"2VMKD3 M79.64##+]17'^,U\O7U=+A?/DB'F)&I^0CUZ5E1]_P!R95Y4WS0=F=G:_%*2 M2P$+A+:-EP6$\9V?\!SD_3%5+GQ)JVO>&XO"O@_3?M=Q=!EGU"?$0*]2P!QC M''.*X:UCN'RS7 ;!SEUY_.O2?A!J26>JZB964W/E+M/(RH)) ^N.:VE'V$7* M"N:3KU*UE4=S]"/^"?.DVO@'X3R^'Y]2BN-8-QYTT1?YC\H'R+C)48[9KZQM MY#(A).>>M?DIX8_:"O=/UZVM?#$"ZI9HQFNMY,7ED' ,<@&5<>O(/0@BOOCX M3_M&:=JOPZTS4?%EY:Z'JS7?]GS1W$Z*)7!PL@&> PVD\<'(JZ%12BD]SGE& MVI[Q14%I,+FW656#(_S*P/4=JGKJ,@HHHI@%%%% !1110 445SFN>,8+ /%: M!;FY!VY)_=J?0GN?8%EU!O!-_XECEF5+3PYIZ^8L,I'RM>2*2&Y_@7(XY/>O:5Y#S':1#$S_ATC3]?4]JU-,T*;4$C61$MK./[EM'DQK[G^^WN>/K2N!^;= MS^S[K'B9+[XQ_M":E'IEM;6ZFQ\*),(A-M_U5OA3_%'XJZU M\9-+>W9(]%T#2)$73_#^FP$6]H5&,$<98=V.<L6WA&1?$\E@_V_0M3NOL M=B9D'EJYQR0&S\RDYV_C6D=65=6/ /"'Q1\1?#3Q'9:WX/O8H=9\77NHV-I?1?VC:1._DM&_RMD]& R> M_:O._@5\.M*^)FJ%+B>QT37M8F$=GLB<#>(O,;OA5]^/TL^!_ M_!/[X;_#'2M/EU2+_A,-6@E^T)>W8Q$3U4B/)!]>+S /); ^4CL<$<>]7OA; M\9/"GQETNZU'PIJD>IVEM,89'7CGUQUQ[UB!V]%%% !1110 4444 %%%% !2 M,2!Q2U%.2H7'7- ',?$CQYIWPY\&:GXCU8E;&PA,KA3\S^BK[D\5^27Q\^+L MGQG^(UWXFNK06<$A1(+0JC,($P%5FS]X^IKZX_X*4?$N/3_!FD>$+:Z*W-Y) M]OG1<8\I.%!'J7/'T]J_-[7KRYO65 3"KC<(4.%4>_KZ\T .U"RTGYO)>*R! M.&0,>?PZ5!'/# @C35BJKT578#^=8,]JL).06/O578H/0?E51=BCKTN&Z#5" MX)S@2G/\Z+RU2^0-*RS[1@L9:';S6 MUEJ<^FP385_*H>(?V^TF&ZATJ;2O*;74]47NB:AH=^9H)/(EC(8- S(P.<]< ]>:^A/'UE M'HD.H1BWBLK:.9U@DC7R?/C[/Y8.5)'8YKY]O[+7-5N9/L]A?7*\@8B=L_CQ M2ERQW ]B^'/[F[(;]:^X_V:_P!NS1OC3J47 MA_7-.'AOQ!*,VQ63?;7?J$;^%O\ 9:ORLN?"7B:WM)3-HU[%!GV;-'<6CJUM' H>1?G8[PPY0Y'3KBL[I[ ?O%;SF4'.% />IQT MKSOX%>)=5\9?"?PMK&N6LEGJMW8Q/<12C#;^ 3^/7\:]$%2@%HHHI@%%%% ! M1110 4AZ&EIK_<;Z4 ? '_!6Y+0_"OP7,UTJWPULQ+;;A\\;1.SL0>?E9$'_ M +Z5^85G92+$8A+@;BP9>00:^[/^"KUQ'/X@\/R2;S,$3M/,Q![LX %4=*> R7*1+N0R M9R>AXJMJ=FCV,^II-'%&BS%R>I:LG3XC!J5P9P9(W !(..U)"D7 MI3<-M:1EW=<;><8J/[<(F4^6[D$< 9SGBI;I/+D3;+-MQ@9 85"EV8P5VH7] MC@_RIALC;6V:6]FE3DK(2P/'4#%?7W_!-/3YM3_:5TV8*2EGIUW,Y7W54'_H M=?(^F3>>TN2 S1*^ >_.:^^/^"4&A&?QYXPU;EC::=% I _YZ2$G_P!%T6![ M:GZAJ,*!_*EIL?W!WIU29!2#I2T@Z4 +1116H!1110 44V1BJY&/QJ RR#T( MH$W8G:HI92G< >IJCJFMVNDP&:]N8;:)>2TC[17B?Q#^.K:@CZ;X:+ L<2:@ MPQ@=P@/\_P!*PJ5H4DVSIHT*E:24$=_X]^+>B>"(L7,C7-YCY;.W.Z4^_H!] M:^=O&'QA\3>/[EX52X=YYV::9CN=V.2Q]2>] M6HK%8D(7@#GD5\_6QM2I[L=$?78/+*5+6:U,JUTR2&W.TJ,]_6M6(M;VZ[FX MQR/\*S]4O7LK-Y%!.P]"<5Q^L_$>SL--ENKN\6%(URU<2CW=V>\X MNW,M$=+JFHL0R*<*3U'4]S^E>Y_LR^&_L^@W^MO&-][-Y<+D<^6HZ^V3_(5\ M-:+^TEX'O?%5K;ZU<:BFAO\ ZZZL;;S"PS]P D'!]0#7W?\ #;]H_P"$OB33 M;33O#_BO3K:-$$<5K<-]G<8[;7P(CAXG# C'MQ5E6R/O#&.#7M'R5AU%'\Z* "BBBD(*E'05% M4HZ"J0"T444P"BBBD!%-;17"LLJ"16&"K#((^AKX,_X*'Z!H?AF]\'#2M&T_ M3[F[:YENI;>V2-I%5 1D@#O7VGX\F\0P^&[]_"\=M/K:IFWBNW*1N>,@GL2. MAK\T/VI-!^)7C'68K[Q??:MH)M4DC@MM3LEFLTW'D)!?$I6\TR:)I+-YOF:TG7[KQD\KTP0.N:\+(\J1XVZH2I(] M172OH4_A"6YEN[VV :/>)8)ED4KG.!K#8'7CRDKXYM? MV!?CA?"(+>&OB7I7B2W7[MKXAT]HI#[&1" MP/Y"NK^>BK96YDC3GY6/&&'OP?SJCX@M M]?UOP5KFK:/;[-(T_:ES>APR(TA^1 ?[QK$\$VPTW0H8&&9" S \DD]2:X^1 M1BFEJ:\[.X-O!'HAOHPB3JCN)D4;^!W->2?O)G:>:7>\AW,2#EO\YKUV. WG MANX@'1HW7 /L:\G@M"L$:[2"J@8)]JZ<+[S=R9GH=MX'\-KX<-^OBNU6^,!D M^P'&XM_=SG^ES,UN>[6OA^U\(:;:Q1(L6Q2\ MK1@*TCD97^N*O>(]#?XH^&$MHY$L+^WG$MI+(WRQG !# =L<'UP*XWXWS7^F M^$M&:WF5/,N(VF+$9 R*?\ #+X@7<]]#:-'%(GF"1WW8(7^H(->&N:W/'N= M&FS/U+_9=T[QGH7PAT>P\:/;RW\*A8)()O-+0?P9;UQ7L,1R@KP?]D_QZ/%G M@6XL&N%FGTN;R!M?<0A&5!^E>\1?<%>W3DY139RR5F/HHHK4D**** "J6IZO M::1$KW4RH6.$3JSGT4=2:NUA>)O!6E>+6LGU&!GELY?-@ECU*P$&E>&8K<%[C,KN=SASN+GU<]_ITK=50H P!T I:*8"5^5'[?W[(7C^ M/XA^)/B= YU_PG(H;RHP9)=/C(^8>6XB2:"5 M2DD4BAE=2,$$'J"*J,G%W0'X3?!WQ5J_@&RTC7]'A1]1\//YV8&W3"5@4]"/ M+:%F5E(Y ![&OV)_9V^-7AKXP?"W0-7TBYCMW,2VLMC-*OG0S(H#(1W]1Z@B MOSX_;(_99M_@7XIU+Q5\/YI-,L$"WNGS\?>.2&QP1Z<>U>I?\$^M$MO#_ M (V^)>G6)_$_X>>%OC)I-C\6?"^LV=^WB MO7$L]0L+Z",S:9-(KN\?SKNDFVEPUUI\GS0W(ZD,O3_@0P0>1BO6?VMM<-_\0+33 MT?>MC;C)[!F.?Z5X)>R8@(&?F&0*5^@'=?$?4--^*VF7MSIS31:CIL0N8B[E MG>+HR$YY9&/XC&6,9D7C(';((.!7@?@&"7 M2(-:U:Z'E6]M921GS&QNDDP$3]"?PKUW]GK1&T7P))(9(Y4O[AKJ)HSG*%47 MGT(8$5P8M>YJR9*YW\EW-9RM+ J2S8(19!E2>V:\;^&.O^-=+U;5H-DNEPM< MFXNA/81XW?, 49@01]WVY->L74_EL>1SD''0UGS327(6) 9)7 6-!V8G ]. MU>;3K\JLF0KH_1'X2ZT-?^'_ (?OC*LS36D;,R8P6Q@]..H/05VPKA?@KX;E M\)_#;P_I=Q&(;JWM4\Y.X<\G/YUW=>W&_*KFH44450!1110 4444 %(>AIKO MM&>U>;>(/VDOA?X7FN+?5/B!X(P2OAAT)S"F#UPH':OS-E2\11Y3DJ.Y 88 MK]COC!^T7^S/\6/"]QX5\7^,M*U/3Y'\X+&DS&.0 XD1T0X8;CS[GUKY;LK? M]A7P?<2-=>)-;\1R@_)_#T M>O:)X%UO4=+<92\@LY)$<<_,H RPX/(&.*\WO=)N]$O'MKY+B&^5MLD$\91P MWIM.,5_0E\+?'&F_$'PI'?:=%;VL4G%?F!_P M4[BNM*^/%U'+IQ1-0L[3['>"%0I10WF*&QG.X\_04FRHJ\K,^-H=.F\G$D]O M#W$;')'XUGWNF3,Y(D&T# V'@_4UN:7&5OD226*,DY9IF.WH>O\ +-206]WJ M&L);06S"2:98TA QR2 H]N3^M90WB34)1/?/ VY(^RQ@]\# M]2:U39RMZ'T=&O7_C1& M)OACKR'D&)?_ $-:^5M'TU(GW=-J>N M/]HU2^GOI&Y/VARX6*%@>%QS6/=ZVS*P2,$9Q@CI5:_OELAM+D@CL:Y_P"U M7.H7T-G8PO=7L[[(H$P2Y/3_ /7[5HN9Z(Z[))S>R)-:U">\$=K:Q-/=SL(H MH8@2SN<@ ?XU\@_M,Z?=:%\3)?#-[>+.^G11R7T$#?NEN&7S"AQU*JR ^C9' M:OTY\%?#/2O@QX3U3QKXI>*XU&PLI;R>0\I;1JI9E3WXZ_E7Y,7.HWOQ,^(& MH:QJ+;[_ %S4'NY^?N[W+M@^W KVZ&&5)F7=_#+>W$^H1HRLH'R1_.".>V.>*=/X>OSJMY9R>'4N3;(LAO-*=H5 M<-T8*^5;C!PN.3446EP>-_&6HRE0UK;$01;<\!1M)X]JO3?#^_T;RO[,O[BU M$1W(D(_AY=!M&\7ZYX5F7!6&[,D*$GINP M2I_$8KWOP5^WA\7O#5O&;^'2_&E@F TX11+CW:(CGW*Y]:^9O$J^++JQN[:: MX\Z&XV>< NSS BD $KE1G.221D@9H74] 0N=4T.]TB]!7R[W2SL&% 4\K\N2 M=Q)'J*VYEW(L?H'X-_X*7^%-1:*W\2^']2T6X/WW@Q<(/P&#^8->[>"?VIOA MCX^:)-+\8:Q.KK^8JSD9QGFOQ#T?QKXD^&O]EZQX2\1:GI45ZIECBBE M>(X]'0$@CZU^J?[)OQ3U7XO_ ;TS7]'='T^[W-M+:L3)&P/^RIS7;?\ !1N:5O"?@VR6 M0I#<:HY=0>&*Q'&?SK\L?$=M/9ZC<>4ZHS(Y!//(YIQ5]RCV _%Z/1?&&M>* MM7\#>!-=;6')&FWED\EE;-\OS1Q]C\OYLWK4WP0_:QN_@9K?B#4]"T?P_!<: MS)N>*VL_*2W ).V,CG9D]">U>?1^!;KQ!\/DU\NCVJ $JN201PV?QKCETZV4 M;40<#KBM+(+'TW9?MS_%+5O%%Q)IGC26SL7(F^P20BX1#D9"L_S8.>A)QVKL M/"/_ 4C^(D/C33[35#:WFDB]C2[_P!$7=Y.X!]N!D';DU\I?"+PRGB/XC?V M=YRVRO;E@W;@YKM7\ -;>-]4@DU."T2&0@22H[E_3 4?U%)I"6Y^W]E'P]W]KN=-C%A-+@J7,8PIP>?N[ M>OI7LM0(2EHHH _.+_@I!X#O_$GQ(\.W2WQM;,:844!,[F$C%N_NM?#?C'X2 M3V%EYUI?&>X()\J5 Y] 1TS[U^FO_!0,".Q\+2*H$FZ8;^^/EXKX>U1$N+3 M=(<[3DX/)'H*\Z MQTJ%KL3S2P0J/WK@?<#!AQ[5X";LRRAMHBX."O1AZ5G7?OH$KG6^'%DETI)I M@%<-RJGY17E5\DECJ]Y$(_,6.1DP9 .,GM7HEA>[+547.T^AXS7EFLW[7>N: ME($0AKAP"_7C/3\Z6&NY,)FQ:W]O(9$$3"2/ ?##Y36]X4<3^*]&CZ_Z4AP6 MS@#DUY?8Z7=1W$K&X*Q.P.1R6^M>A> 96'BS2@$+'S&'3K\A_P _C7?4^!F< M=SU_XT^!;[QK\./%$R3Q0KHEO%J"QL<-*@(5ESZ_-G\*^0] FO$N/]%\]V.Y M2L1)X_.OM[5_#-U\0H9_#EBX6[OX)8XBW0LL18*/=BH7\:^8?AOY?_"466C6 M\$EO,CYUX.2?8U^CD.?+&?I7YE_L9_$VWT[XR^'](BE8QZH)H%=H_+! 0MZ M_P"S7Z:0?ZI?ZUV4>;E]Y&<]R2BBBMR HHHH ***SE\1Z4]Y]D74[,W7_/$3 MKO\ RSF@"76-7L_#^DWNIZC<):6%G"]Q<7$IPL<:@LS$^@ )KS;1?VG?AUXL M^SQ^&?$5MXFN[@D16FFR*TC8ZDAB ![FL7]J/Q+HFL?##Q#X$_M^+3]<\16; MV,"QH9I55L;V$8()PN>I ]2*_*&^^&U]\+-3NTC,MM%!%MMYKCRFGV \N$!/ MEL?4YQVK2,4Q'[-_\+*@T^:-==TC4?#T,KK''=WJHT!8\ %T9@N?]K ]Z['K M7XY?#7]H_P".D]G';>&+S4/%FEQB03Z%J\<=Z)E4;7& [)CLIX.:^S/@-JO M[3EYX!T[6)H/#=UI\J[K;2==66"]6+^%3(O0#H-X+8 S1*'*%S["HKPJ'XX_ M$?0@J>)O@WJI(^_/X?OH;R/\ 2K5(/VO/!UCD:[I7B?PV1]XZEHDZHO_ )5 M(J+,9T7[2WPX'Q8^"/BOPP)I;:2_M/+^T0(7D10ZLVU006X7[N?FZ5^-?@EK MCX5_$"+1DU.'2]:T2_EA@U2U)17)/RB5ADE3CD$?*&(//3]MOAU\6/"/Q;TJ M;4?"&OV>O6D+^7,UJ^6B;&=KJ>5/U%?(/[>'[%VD^)=-U3XF>%;>*QUNVB:; M5;ZP/G3XNV>A^'+;1?B_X :XT_3)-7BM_$O@U MU*FWU!4:0R1+R/+9"Y![)?"]ZMU9SH-\+$>;;OC ME)%!X8?_ *J_%;PS\0[FXU'1[F]5+JYT>:,36[NV+L*"%$G4$!20&QW[U]:^ M#-2U[]GS]H/P7XRTG3=.T#P/\2[W[+)X;TV]-S$N[ 6X0D+M!9@=N!M^88JI M1[@?I;1116(!1110 4444 %%%% !4*DI",T ?G9_P4<^#\UKK^G> M.[: _8=0C6SOF0?ZF9/]7(?J/E_ 5\%ZG%/8W)>:)D!YR!E6'JOM7[P^/_!& MD_$#PK?>']FWT1AE0G:1Z%3V(Z@U^17[1O[/7C#]GSQ');S6_\ :WA: MYF(T[4<960<[4?L)!P,<;NW2FAGSUB0^"[FZ0RZEH, M>DJ.LE]#78WWPMGMK=YK:&>ZA49,EM.DX'_?(S2_#SQ+'\.?$" MZQ;6]KJ=_#Q&NI*VV$]S\C+S]<]*I ?HI\'O!P\#> ]*TC"AH(E5R.A?'S'\ MR:ZW5-4@TFQN;NZ<1P11L[LW& .,- U76?$OB>"YT"QBW7EM;*HCP?]GY0P_!J=[$'COBKQ)>?$SQO MJVHZ?:S7\EU.S1A1@*@.%W,>%& .36[I7ABQ\'6O]KZWJFF-<*V%P'ECMP1C M*@A1))V Y4')-01^*[_Q%#]E\#:!(]J.!J=^JI$!ZA OY"NC\&?L[:IXPU< M7>JB\\6ZF,8M;>,FVB]B.X'N0*YYU80=T[@ZVD:6=E#:VT:6]M"@C2-. J@8 S["O7_"/[(WB[4( MHA=R66@VP VJQ\QE'LJ\#\:]D\(_LC^%=&*2ZM>-2L2?[SGBO;/@3^S1?MX@AUSQ M5-#&--GS'I,8)<2CD&0] .^!D&OJ32] T_PY8)9Z=:Q6=M&,+% @11^5<=9> M(!-\:+G2+>5F$>E)-:DK MK3&%%%%, HHHH ***0G% $$DXVG&?RK\J/VO?"UB;[QM?:;<:O<:JUW(\:V] MK,D2'?AAN$"KZ\F0U^BGQUUS4]#^%?B.XT>8VVK/;BWM+A>##)(RHLGT0MN) MYP >#7S-X$\/>*OB)XJC_P"$^U:WUKP7H^BM UNLA$5VS84F4\%CE>"?SR*B M3LAK5V/S3TG]G'XJ^.;2.]TSP/KNJ6\N=MQ':.Z'_@1X_6NPT7_@GO\ 'C60 MC1^!I[%3SNO;F&''URV17WKX8\/Z7>ZGX9\.6-_XK\,Z/I5T93IWAZ-([2X9 MC@&1P"Q (R22>_->Q^*_BGX?\%?$+4K/QGXJ?2K&6VRFGS%A%Y9& 05'7KSG M-2GIJ:,_+KX*O!OVZRD:*YMCJSRR1,.H(CC;TZYQ7J?@ M7_@F-KL/C&"WE^*7A*+4[*=3/::=/))C8XXXKS#]KSX?I^U_\ "BX7P9Y;^)_"]X;@6-P0 M)IXBG*KC."P *]B17K?QVT.X3P#J?C/1_!D7B/QWIUF8;0E1]I: R!F1&P>, M;CC&3SZYK\S]>^)WQTF^*VH^)O"6@>(/!VK74443:=:6TTGRH>%96C 89.3D M8J@OU/%?$?P_U?PGJ;6,FE:K'<>4H*W=HT3YP,@)SQG..?RKU;X#?LG_ !2^ M+OC?3I=-M+O0;".5)Y]#?&UY<1OXAT]XTDV0,Y16D1\[=ZKNQGY22,U]G^*M.OO$>AP_V#JZ6%J\3E MYK9PC,I0A620*VW:3GIS@4U%797.[:'#_#[Q7X;\ IHWPPT7Q+X8@O\ 1[6. MR33&OC-DF[H#UX.>:^S?V1-7^)7Q3^'-SHGQHTE-RK]T4F(=F@9)Q24Y/O"D(DHHHJP" MBBB@#D/BTGF?#S65QG,2\?\ UKY=ALMA# F/'HI%'>/;D;U$B^N.:QM7UV%2SLL1+M8#!)&2*\JUDCZ>FE(Y37-?:X=Q%G+ @"N%$&J7MI-= MP7LUI2F^N4/<$_+G\S^5?24>9QO(_/<=R>UM!6.O\ AGHQL-&2 M1QF20;F8]23_ )%==(0W0]JK:7;"TL(HPI&!@CTJ+UMM63)/8,I7^M?F'\5-)_L MG7Y@RE_+D*G![$?_ *J_6[]MWP\VO_!/4/+7=+;N)DP.A4$C]0/SK\K/B[)] MJ:*\*[DNK>-N/4 ?X4XOHBUL<]\.?B VF>%M4T%[-;I))6\MG;_5A^N!]FR\1S06\\=MWI72?$G0;OPS MK26-_+]HOO+$DLHZ,6Y'.%!QZ@4O;4^?V=]7=_)&\:-5P=6,;Q32OYLI_#[5 M[_1/'UIY:)H&J^)=OR>"?& M;^'+J0K:ZK'F-&. )E&1CW(R*^T X+8Y!K\NX?BG'IM_H^OV\HCGL[N*5V!Z M ,"?TS7Z;Z/J$6KZ?9WT)#0W,*RH1W##(_G6ASLOT444"/F']LOX5^)_B1X< MTZY\.PV,XTM9KB:.YF,;,,#[N <]#7YXV8OKV.:&\CM+8MR6T*>*[22+2H[IE._ M$:X<;O[I0 _C7R+$+NTF>-+03)G&U9UP3[!J^QOVN/#%A\.K7PKX.T=&2SM8 M9+Z9W&?-D(6)6XX!*H:^655HW8J6P3G:1Q7+4=I+G6J(ER\S<-CA]4\5V^D% MX[VVGTV0Y*">(*IX[,.*X&,F2+S/-;,GS_7)Y_I7=?K>/0ETOS(Y9YF^> M,I\T8'/6O&K#67T>8Q3%GMV/RG&2/I[5V4(V3E8PD=Q:Q[=I9R!Z[J[3X?/# M9^*["XX&FZ5']M9KK 5I"?DP MR7J9;VZ:0YVNNUEV+D\9 MSG/K7'2NJ2]FCIC&,JGONR/$OV4/@]XE@^)GA/Q1;:-J4NF:9<^7)*J I'N& M&)( Z9K]4+BVLAN'4%I9CP))#U8#L*[N$8C4# MBNZG"45>3.:I*+DU$?1116IF%)2UY#\6O%.K>)X;[P7X46\M]8F CN;EK>2, MQ0MD%HW8!3G!^8' K.C*IY57&1EFX3.3D\5X-\6OV3=<_9\\$7_ ([T674+S6;R)8=3 M5K]KIU:4,)6&4^8!BN#U&TGZ?;7P9^!6@_":&2^BL[9-:GA6&:[4[GV#^$N? MO'/)/4FO+/\ @H%\6M#\._ 'Q)X;CNHKW7]8MS;P6D$OSPJ2-TSE?N*OJ<9. M!5TIN44VK/L*<5&347==S\B/#GC#QGI?BW3+[2-_O86QMC=6.(QC)] M?:O3?^"?WA+2KWPM_;RZ9IUT(+2VM[;4Q;*91)M8R8?'7E02I[8/(K['K:2WS?=_.OS<^+ MOP1MO#NBS^+/"OQ%TGXA:&;IK:10LMMJ<1'1I()!RA'1\X-:I0F#/N;]F'XV M_#_PS^T;\8_&^H^(],\'>#O$D1W\GV:*]9&]O8KB.66WO6LY$MYUC M*ARCD88 L.1Q[UZE7YP_L(?M#:IXG^,L/A.?5['2O#EMI2PVVC65DL44DJJ! ML4MAAMY/&0>.QS7Z/5SM6&%%%%( HHHH **** "BBB@"O=#.W@Y/ QU_.OF7 M0_&=K^T]XVU[PU]IN=/\+:#(/M5K$ DU](KD$F3JB@@'*X;.,%:^D]:D:'3K MF2, R)$[+GIG'>O@']@/4-1O?C3XUF\F-K>19_/9I22K^:I&T'KS]* .1_:0 M_P"">WC#P_?7VO?"^^G\0Z;<%WET/491)<1Y.<1L_P!\?4[OJ:^&_$_AWQ!X M!U)[+Q+H>I>'KU&PT.H6[V[=\C##D?3-?T*10 CYOYU#J?A_3M9A,6H65O?P MXP8[F)9%/X,#3N!_/IH/CE]!NVFACWNRX1HY#$5/7(*8-=YIOQ=T/Q=*EKXV MT6"X5L)'K5L/]+@/."S?\M5Z9#9^M?LKJ7[-/PHU>0R7?PZ\,S2'JW]EP@G\ ME%4XOV5_A! VY?AOX:!]6TV(_P Q2O8=S\>-8^&'BB#6[*QT6.UU72]5'F66 MIV,0$$T??=_=8=UZYZ5])_!_]C3Q=!;;X.:K8>,O!NFVNEZ=9X@U;2[.%8HI;;IYBJH&&7U]*]GTNZM]4T MVVN[>02P3H)$=>C @$?SJ)IR$?/?@7]C_3K'R9?$M\UX$(Q9VF8HA[$]3^E? M0.B>%-+\-6"66E6,%A;)]V.! HS[XY/XUJ)$JCCGWIY'%3&G&.P$0B" >OZ5 M&\PB1G8A%49W,> /Z4^64H#7QQ^TI^T6+JXO]#TJ_6RT2U8QWE]OVB=Q]Y0? M[HP1[FM$F!W?QP_:PT;P9I-[;:%<07&H(&7[?<'%M;L >2>K'CH*;^Q7X/U M^ YO'^NWLM_KGC';?&25RQ6VY\D<]21\V?<5\'_#?P9K?[8?Q/MM T>&>S\# M:=()=4U-AC]V#G:#_>;& N>!DFOUP\/:+:>'M*L]*L8%M[&Q@CMX(DX"(BA5 M'Y 53:L!IHNW/.);'0HPUW*%=SMCB4%I)# MZ*HY)^@I/$FO)XQKRGQ%KKZ]\3]!&EQW-N M;B%U:^D&$,8/)12O.3_%QFHE*PTM36\>:*_CCP3/ MWU&+6?L]N9;G2[N9P"VX$2-M!#=5PIZ8Z55\?BCX4/Q5\/-92M RZ5J-O?Z9;WA"27#1#YMX)W+D.0,@' MH3P:OZW\(8;KQ'XPUV"RMY;N_P!+2ST^8L \9",I'L.>]2DF:ZGQEX?_ &+M M5N[&V\5:7\0O US9S'R;>^ABQ:K.SA=D8#! 3D+CKGC'2O6?#G[,7QY\/7MI M'9?%:UL[ %3)%!YI0 ')V(Q*XQSTKVWQ/\#/#4_A2RTN;29+G2M/5+LZ5;RD M"^NPJI'O8D[MHC 8XY!_A%5=(\)7'P7A\0^.O%?CF^731:EY[2XW2VMB@"A M411DL%Z9QEB3UJN6(7>YZ7XDL-3DT2W-EJ_]GW-J!(TK@>7+@?=;/08P(5P<8!!.<$XXKY,\.?$#P3KOQ+@U[5 M/VCK&;3FO%OIM(2*>WBFPOUOX_P#B1\.?#'PYM/$>MW5O M+X:U!TAM[JTA:X$SOG;MV DYP3GVI.[$C\O/B7^PU^T!-X\U.]O-)O\ QE/< M3$G6[6[CN!.I'!)D<,#CL1@=J^O/V-],\3?LU?#+5+'XFZP#$9?,M-%-PLYL M8QU+."0"3_ #P1QUKW+PMK-GIOQ2G\(V'CJ&\;^S1,/#N<_GS4-R6Q5KGQAAD_N8; M9 RI&.F-HR..N15#6OA!J6G3V5GHBA+2XB$4[#&V)5/')YZ>GI7JNE^'IK+P M>NDO?2O.L!B%VAPX)&,@]L5G2<[OF-J\XS:Y4EIT/!;[POIOC_7_ .U/"OG> M$_%D;&1[?:5CFQR3D?=)]\9KZ2TE9TTVV%T0UR(E\UEZ%L<_K7@_CF\\0^&- M/GA\-Z?8:OXA@V0O<2:F;;Y?5V()'KM[YKJ_@M=>*I=--SXMU33VOI1M%C87 MGVE$YZ[R 2?:N@YK'K%.3[PIJ_='?BG)]X4$DE%%%6 4444 &,D-. G'O6%\7]<7PA\.[]T)&!D [L",TZ,7*:.;%3Y*3E+8\6\(:*^L:I M:V[@NUS,JR,!U7.YOZ?G7L?B;P-;^)Q!-"\MCJ-LH2.:++ #KM8=ADGN.O>O M/_"%];^';.[UJ[B=S !;Q1Q_>+OR>><#'< GVKK_ KI%[\6+35KC5-0ETJR MM\"""P)3:=NXEL*21@Y&[ ^E?3QM%:'YQ.3G)R9DW-QXN\(*WGQ&_M(^#+&- MP ]\N/>NB\1^+/#^FZEO\BW6X)V&X6,A\'J3M&0O?+U\5ZH-.TZXE)P8T,@'J? M3\:X14.E> ]-MWXDU.8W$@[E%Z?GC]:V]1\%>*=;@6TO+BP2$N"\@E.<#IQC MFN:^)FK16E_K^.D^QJJ1VR;I&=00H8 M@!0.G2ON#X1_%O5OA_?P?OY)M..!/:NQ*D?WE'13].M?'_[/%G]D\+/J$F!/ M>R-*[D_PXQC\J]YT)I;S9MZ-S@UX^(K2C6O%GWF#RZ,\(E-;GZ->'O$EIXIT M:WU.QE\VVN$#*PZ@]P:Z&'[B^F*^7OV:_&+:=JDV@74FR"Z'FVRD\"0?>4?5 M1G\*^G[=LH.<\<5[F'K*O34NO4^)QF&EA:KILFHHHKJ.$**** .'^,NCC6OA MUK5L5W@PEL8].:_';XCP0IHUUIDF!=:=<2QCCHH)(S^%?MGJ]FNHZ?=6SC*2 MQLA_$?\ UZ_%G]J;3+KPG\3O%5DIVQ*RSE,=<\$_F*E+WBTSYKAU%]-UJWN8 M_E>*0,,^Q_\ K5].?M#PVOBSP7X/\8622.N."/2OE&]? M&XMPV2*[CPSJ$>H:6BF0[RNTCW%<]7"JK7IU[V<+_--;'93Q;I4:M"UU.WWI M[F=X8O1#XNTZ4' 2YC(_!A7T!^UEXSTW7_%'AS5]*E>0Q6RV]P7C9/W@ )Z] M?K7SZVD26'B.$I&S(TJR*0#Z\C\*]&^-$:+H-E.ARRW R/8J:VE0C.K&O+>* MM]]K_D8JO*-*5&.S=_N_X?!CP3-.6\V32 M;=F#=<[!UK\4?V=/AWJ?QL^)6E^%;%6:.X<&X8 D)$""S'T&,U^[GAS1X- T MFPTVU4);6<"01@#&%5<#C\*V>FASZ/4UZ***D0U4"TV2)2K<J^&/'GAG[#*;>*YTYB7V [B'ZN,3H2/]BO*KS2;>;3YIH80DL0W?(2,BOU8_9I^$/G_L"2 M^'A:K]M\2:1>7.UP,M),K&//TQ'^ K5O2PFS\:8HO+=E8< ]JV=)N3:7"20N MT4B'*NIP0:U5\*SZ=>31:G:M:SQNRO#+U# XJ]!9V^\J+:-NF/DR:BZ>@;'W M!_P3:^)&N:Q\59=(O)UFLI=/D9LH 25QCD#-?I]#$I0Y )/7^=?F-_P3"\"W MK_$[7/$'D[-,M+'R@3P!*YZ ?05^G=MQ&>!7TW3[>Z9H]4U6Z;-S;1X^7R$QM8DD\L>/3 MFO2**35U:XT[.YX)>_LQWNH>$I=)?QIJ!NIW$DMW=AKDENY(+J#U/' 'I6?H MG[#?@.-(QXEFO/%H5DD:"\$<-N[+RI9(E7=@\C<6KZ+KQW]H[]I3PK^SYX9D MEUC4E@UN\MY6TVS6,NTS@8!] 2.I%13IJFK1Z^;9=2I*H[R_*QZ9H6@:-X+ MTF'3=)LK31M.C)$=O;(L48)Y. ,GVAMANF$UTBF,=.M?BK\5?VM_B5\4]/BTWQS?VFL6=G+]MM88%>S 8@C,AB925P3COZ8R:YS MX2?$#27N+^S\5>"DU35;J 0Z3>:K=3>4DCR#:S1F13,%!^Z&ST]*Z%#JS,_9 M_5OVC_A?H?\ Q^^/-"ARAD ^VHV0/3!K@]4_;U^"FEO&H\7+>&0$J+2VDDY' M; 7J:_-SQK<:3^S3^([R,[BQ8_6M$U'W16N>2V$FJ:1I6IWD3:K8M)&L9DA@=8Y(W.UF+\8501C MKGVQ5WQ5J4OA30K6RDC\J(Q[_P!T,+(.@(/3Q'+J>E2$PL]M> M>6)1G@*K+NS@9VCTJY>ZI!+9?V=>W5OJ%Q!(L$37$CR2K'MPL0QC:F/X1QGG MK5-H#I=7\=^(+GP3H6FZG=SW\LMN)XIW*NTB$X6'<"3L3^X>23D] GQ"\;? M$[P)X2TWP5XBTK5M,T&[C^V0B:(PO,O\*JQ!RFXAB,<]*X"X\4O;6]MIRV\J M:;;S9MQ;PHBPN6*ELL26Z8S[<8KH_$-QK&OVT5]?ZE/J\L*QQ1K>7KNT4>0% M"=^.RYQ4:7*/0OV"[JWL_P!H.QO/&^M0Z'X?MTFOKJ:_8Q^?*&!1$8\AB^PG M&,JK=N*_8_0/CS\._%6HPV&D^,M'U"]G8)%!!=*SNQ[ 9Y-?SXZ;X@U&Y\2_ M9W6&WM)I&0A(AEN>.6R0>!G&*]"\/27?AKQ%I>IZ9?W%CJ%JYEBNH9\2(XY4 M@G(SGU'/3I4R5W<#^@FBO ?V)_C=/\*_'N@^%X/^)OK-EIY=^%G;4XB"&M[QS M$Q'3'/C5X/\ %-U! M;V&M0O-/_JHY0T3/]-P%?G.O[0,:1$VGAM5'9]RIC'T3G\ZI:)\:]57[HK%Z.P%#5M.AU>RN;*YC$EO<1M%(I[JPP:\F_9JUB M;_A%-7\,W;DWGAG4YM.;<(=> MF^6#2-)'G3L??'"CW:@"M^TE\5[+X1?"O6=5N)2MU-$UM9HIY,KJ0"/IUSVQ M7P1\,_V+_B1^TG#INN^*-7'A7P5<,9?););/Q/\64@&GV1+Z7X/MSNMX3_P ])VS^]?I\OW17T/:VH@"($"JJ MA0%X HO8#DOA1\)O#/P?\*VOASPOI:Z=IT"\XY>5^,N[=68^IKN .@I:* M"BBB@ HHHH **** ,_59(8K29[A5>$ [U89!7TQ7B=CXMT_XC^(8-->$::=K M&VN[-L2Q!6_U9R.-R\\=,U[3K-M]LLYH2&*N"#M//0]*\GTCP_+;ZI ;:*2$ MA\ S$'"@>N!^5?-9GC,7A:U*-"-U)I/37?7^F=^'I4IPDYNS13\0:EHWA#5[ MQ]$NO^)UJ4D>G1LL9*PE"3(2W.Y@ 21UR/RWI+[59O$NDRH;FZ@@MU4%&$2S MRDX9G4]!CG\:XS3?"LL'B*.Z:YD>>WN#-A)01O+9)P!G+!B">M>E7=QHVMW< M\,%\MMJL8V-L;G..X[_6GEN:/'^T7)RN&EF_F:UL,J3CK=/K8\_\5_!2[U'5 MY;^?4)6L0YD$-H H&6R2=VXCOT/^%7].OS JP6TJ"TB&Q5EF?)]".#_.M_PQ MKGB)KK5;;7-*<06[2K X.\3Q C:P/N,Y'/3WK/%S822YBT>%-Q+;&+D ^F#Q M^E>I._Q+1BAII)70VXU]H@3%>VZ28 "&0Y]21@9/UQZU-J_AFY^(&ASZ+XCL M(=1\.:B +E'F*JR<,".^ 0#U%4K..VBU^W$&D1;IWRZP@@G [_Y]/>HOC,^I M)JWAZV OK?PO@F^DLHV;9_=W8&<=*NFF];[&%:22LD$[![ MT1858KJ08Q]TD!_\XK%\)?&C2_!&K+\.O%VBZ79Z3I#I:QF',L<+ @QEE;/8 MCG/'7-3M\.-2N?B/IMW\/S?:/ID#K->7]X9!%._##7'B&WNT2'5-$T^-)Y+>6,9295!#$$ JPZ^E;R>#R..*\L\+_!Z^_:&_9UU'0;B#5_!U]I MVM-8KJ?F22/'!'S<@F MO%_B1\!-<^$?CK5X?#,-SXO\/:A>O/8V%E,KR:868E[=E9MY4,2006('H:ZB M\_93>UL[+QYI<-OX?U_6;%9=2\+:C?M'Ð(,D3D$@D'!W#'S#D4KRZ"LCZ M3;4M)U?5;FX\+:H]W+J$'VJ2&. 2Q'/&_M\Q(Z9KS_PI\.+OPGXFN?$GB[QO MJE]8H6D2P;3$L;>,YR#N#,21C YYS74?!3P?/H_P[L[WQ?86WAS5(IY5MY8I M@'2!L%0SC 8DEL]CZ5S:5J5MJ^FVMY:R"2WGC5XWQC,Y\I>G^^M?(?VDGCYL# MKFOKSXRML^&FN,.T2_\ H:U\=";EQZU\]F7\2/H?=QF_,+B0YW^G/-9- M],7C8JV&8]JFU"Z^8(I&#UQ6'JFK6^G(UQ(V$C& ,]:\:Y]6Y-1,WQUXH7PY MHUQ*'432KLB']>M?%#Q:^NSR^6V(85+LPZ!1 M7ANAR%[V:Y?F1FS^O6O5P,+MR/ETCY$[&;Q-J>KZ1$UOY&G(K',6TQ(J= $)&,X[DY]ZZCP MIK^A>&?AUKEAJF@'4-6O0K&D@[.<\ C%=7\4?!]W\*=8T^QFNHM5:YMA(9H0+:56[XV$9R>[*:=B&S M'TB-?%7A:ZT96S=K_P >YR/]:JML!QW9-ZCW45S>F:-K.FV,.L"].F699@LI MF(^<$Y7:.6/MC SS5K5=4O-/N+&>*ZDMYD9+CR940/$P;@N54$\9///-27NM M:)XA?[7=B72KQ^9&BC$UNS=VV[LJ2>>X]JHD]4T?7X=9\-0ZQ+(R-#&3,@.- MKJN2"/<#/XUX)XOOCK-4HWEH=N M$PU7$U.6"*'P:\9Q+X?M[$R8>,D8/7'TKZ7^'^JQW:##!BHX!(!/ZUS,?P2T MJXB#-9PPN#\A@ 4_G7T5^SUIW@"^OH-%USPQ80:['Q%=(&5;@=MZ A=WX8/: MO"]VO.\='YGWCQ$\%AU&2NX]CHO@CXI[=> M_2OKVT_U2_2N:L[6WL8UB@B2*)1@(B@ >V.P]A72VG^I3G/%?0X6BJ$.6Y\! MCL5+%U/:-$]%%%=AYH4444 1N/F/'Y5^5G[?_A61O$GB[7T@V>2GV62Y!C^ M4GJ >2*TW5C.:DX>Z[/N>V1)Y$FJ:9H^KZ/J3Z>PMX]4A7,G-?,/P.^$5] MI/BB&U3Q?-X=NKF)94OH[-)H(B,Y9ED!^[ZC! :OJ;X)?M26.J^'-4TC2_#5 M[?:QHEN7GN;.VQ;WBK)R<#H9%#X!X['K6WVJ+-,J@_=))PO/7 %>Y>!OB)X:^(<%Q<>&];L=;M[ M:4PRR64HD"/Z''>OQY^)VL:+XG\6ZY>^&ICH>F:GYBR:;?V9+0ER=Z### !Z M9Y&*]%_8E\77O[/-R]T6:ZTN\N_)U#R\X>+&%;!Z,I.1^7>K<7N6?K5D'O2U MR/A7XE^'_%FPV6H()'&1%+\K'Z>OX5UH8$X!YK.X"TV091A[4ZFN<(WTI@?F MG^W]X8EU'XB:L\O.;&WNK23'S*<,K+_XY^M?!0 =@3WPQ^@ZBOT>_;UC-I\1 M[>=R2D^DKQT'RL^4D;/X4>Z?LL?!=OCE\3-/T)G M\K3DC-Q?2C^&%3R/J>E?LCH>AVOA_2+/2[2,0VEI&D,,8'"HJX'L*_-__@F' MI=Q<_%#6+Y%V0061CE8=.>@_/%?IO(H5<]1[5O&]S-GY2?\ !0'POX<@\5QN<_CD9]Z^2-+7%P%W9]_T!_7]*^N/V_;=['XC^+D4 M%4EDADP3W*+FOD*Q9H[M@&P!\H_/_P"O65-[EO6UC]>/^">6AVUA\"A=Q#%Q M>WKO*>^!@*/Y_G7U(@VCWKY@_P""=DS2_LYZ>\C;G^TR _I7U #D<5O!W,WN M+1115B"BBB@ HHHH *_)7_@IE\2I?&7QXM/"IM+JUMM A$02[C>%+@OAFEC< M'!7&%SC.5-?K2:_*7_@IW\,/%LOQKC\7&QMT\.7%E#:PW7#%F7.X,,Y!RW'' M-7'<#X)\::Q&;"9D\Z))V10G0GKGN M*[N9-T<5K;6XR2QR0!U.3T].U;6=P'Z+XOU,3Q6\?B;4(H'8*P>Y+*H/4D-G MIUJ_XQFDM=3DL1J%KJL"HI$\]I$2V><@@?R-<[K-HMG>&'6M(GL;U5!:.5#& MV.V5J&*\T*62W2XMY(X%(#O'RP7/..15W)/5/@!JE]8>,;:Q75([2TCM+R2W MW#]W',T6"?8M@+N'3CTKH+G6?%>NZTZZJLFL>4B^O8<5Y?HK^%& M\;Q'1M5U#2-+.G716FG76]YI[=US(HCW^65/ M!8R^7@Y'7ZFL+3M-O=%^':VTP,=Y(I:%_I68REH$-MJLDA9<1D M-.T;DMSGY1\PSQZCT%:9U/48-82SU&PG@LKL,T9FA*H6#UURUE"+:% M(GB.[<6;J<87'N:Z#XA>#[KPSX2L=2>UPNI/"8KU4)503D9/? ./3/ KG-$M MH?%_BG1;31X4U#4]1E%L( H63S#P 3V&:0'ZK?\ !,R_@N/@7?Q6T$44<>KR MD/'M&\$ XP.1CWK[#'2O%_V6/A.OP9^$NC^&B\X$L+?Q#Y.0?7FON) M\XKXT_X*0P*G@OPC>R6S7,"7TL+[&PRAT!R/H4S^%-;@?#.O6CPW\B.CPF:! MI A;/S8XKPN?Q'X@?4KVW@N908"6;:0,*#C)).,.:OX?U!_$.H2VMRMNLC&-\;OF&1D< ]2*TD(JS7'B%5$E[O:7I5U;V\CW4Z.;A@SRKL+X 9O][MP< U/_P (A:W. MG"*YO+R2\*_.QD.S?U!P3_2E\->%8="\0:;>IXQK(3G!YKSCQU\'+/Q;K\'B"QU*]\-^)((3;IJFG.NYXB2=DB."K+DGJ.YK MTJDQ2 \=7X#WFIJ4\0^//$NN6YX-KYZ6T3#T(B49'MFNY\)_#S0_!%NT.B:7 M!IZNA*M.'O6BG=KO;8RM,@TW[5&E_:FPU%W)6WF(*2L.24/1N!GU] M0*J^)OA+HWB?4?[0W7FFZB65S=V%V\1FW7 MB;07?;=7-H-MU8IQ^]"K@N%]4^<8S@C)%?P4+J#0!_9WB&?Q1H=U%OM);F,O M,BD<1LZX;H?O,"?6N"&%H4[\D$K[Z+?8]%U)MIW-S2OMF@3F.:Z:;3(R$$TO MSF3D=,9+'KTZ5TMG9Z3+-/41W?V-#Y$CL6MD,2P2 M:+J5_IVM6UT)HI(Y&B9I%/4\@$GD$<]2#UK.M-4^R6T^M0ZU/I7BFTGC\F*) M&_?+SEPXX!4A>.X/M736-KXY^/EY*VF^'KC6M6@7SKB]M83E2.?,=L[1TY)_ M6LDI;>2U11+(CDYX7N>O2NCU7P'H][""(39R+]V:%BK*?6O*O&GB.[L%DT^WUJX MBDMY5D::WB7+0KG(^\.6(QQG/M63B4G_..?2MOPEEV4$ABFR& PN[ /.W<<#-=3Y8;!K56W)'CH* :[9VD^BW5K M!$298RF<$Y)]:\QO?#%_X<(CNK*:' 'S,O!'J*^D]4^'\UKJ4(C19[8.'9!Z M#UKFO%+W6H75MI#0E&E<*VX<8')/Y "O1HXCV+L>-B\O^M:GAL-V%""2-)0G M(W#D5-)?V^HYCF3([9[&O9-9\!:1?A87L4C;^\GRG]*Y35O@LL49FL=2V,/X M)AD?G7IQQ<);GAU5^,87KM&.YYJOJ^DZIX:F666, X,L+\'\*8GBMXPC MRL1N&?G&,CZUU*HGL>34P]:D[21GC0;^Z8EHIY]ZKZIX?GAV-,V=W9 M?\:ZRW\8V=SB-U*D_P 0^84MU>6E] R*RY'W23CGWK123.:WD9'P]TV!?&FF M13(/+#M($/\ $RJ2N?K7UMX5BCF?&L>$=5?3-9LGM+J-MGSM=Y\%O@U?:QK\?B+7(7M[-'\V&.4?/,_4''H*YT>.FT5R:-MVX;&T8P!Q75:>=;^)OQ1\+:MI6R&VFLYK6:[90WD2 MH&>-B/KMQ]*^XZ\2_:$^&'BCQ_J'AF]\+ZDME=Z7N!S MQ[YHV:8T?E7\/_%=[X;@AT'Q-\/K/79[.::.Y6] @*2!@I ?&W@H<8/&35;X ML>/M$AT::#1_AH_A/4)679J$%]YL6 P)#*.&!QWKZ/\ #/[,E_:>']7T#Q[- M,OB:*^FN;76(U,;.LC;BASPP#;B.OWCZ5Y1XR^$6K^#+AX]4M?[1TG=Q?6BY MVC_;3M7G_4Z3J^TN[^KM^9ZT<$ .H(!/< M8R00?QKT.;X)>&[/3;7Q3!XCTRSQ^]BDM+MHKM2/1 ,@^U=G\*_%J?:]4L]/ MOM$UB[O8BKW^MVT2SHG*3BKG#^'],TWXJZS<6^M7(TB_ MCW/!*5'GW 7KM(X)Y!VMS@YKUGPOX';PS\/+Z&/7=)OKJ*&>:.RGN#'=38#$ M($V\N< #GKBO'/'$7A30I([JRUUKS6;:4-$-)@:5(V'8N< CUQ572/VD_$NG M7DIM[198Y8_+)G4IL.?O =<]1CWI.[0Y)O;0^F?A-\0M/OO#-]=:S&K02W>A:=IWVJ&[NC^\+>:J ? M[I#'KZ5^<'B+QAXO^(+21R2W-U!<%0T4,1VL0>%X'/TK]!_^":_P*UWX;>'/ M$?B/Q)IDFEWFM>3%:07*[9O(3)+,IY4,S<9]*3BDKEW/M>FR[N;>W%HMTY(B.UB254_7&:^>=) MTR37A)'-Y#+*2WGN=FWCNV.!Q7-&-FWW-^A][_\ !,VWM?#G@CQ+KEU(JO>W M*PH3TVKG_ 5]D77Q'TV-#F93C/IZ?6OB;]E;PQJ=A\+["%$FD\QG=F .T\\; M3W''7OFO<(_"&JW QY4@)!YY]*W2L8MW/F;_ (*#P6>M>(8M2M'61=2@2 A6 M'$B'^+.,9&,5\63^&);&6,W4KP[MP*HF3G!QR>@]_:OU%\=_LJ3?$X12274N MGW<9#1RHHD7/^TK @UX=XW_X)Z?$B>5I-.U?3]2!Y4.K0DD=SP1T)J.2VJ*3 M6Q[[_P $Z=A/O7Y[_L\_L5 M?$KP!X]TC7]4U.VTB"SD#N+:8NTJ#JF, $$<5^@]J,1>Q.1QBJ@K*PFB:BBB MK)"BBB@ HHHH *\H_:(_9^\.?M%>"1X<\2BZ6UCG6YBELY?+D20 @'/<8)X- M>KTA /44 ?CG\:_^"7?C73M6O#X1U"UU/2=V(/MEP4N=OH^1M./:N7\)_P#! M-?QOHVM?:+SQ/!8*H#+/ID#-.K?[); 'U%?M5<:9#<@AU!_"J3>%[%FR8US_ M +M7S,#\N=/_ ."=>EZMJ"7WB"^U[Q)>% CRW]W@-_WR ?PS7L/AC]AKPK:Z M5#IW_",:>;./HDL =N>N6/)_.ONJ/P_:1=(U_*K4=A%'T4?E4W8'PCXF_P"" M(?#BW\<6 MH:?,T"SS6[?O)8VY4*,C)(('8U_0C/81SH5/ /H*^9?CK^P!X(^,8>[L+@># M]=DN/M$NJZ?9)))+G[P920ISZ]:I2MN!^0%Q:VNIZ':RGR+T+,?,5D)97+ 9 M)SG(_+VJ/7?&UUX?-HNGPI:]1\(?\$X_AWX1BA9)7O;Q(A')/5=PN[SEB,_=91R#7ZQZ3^S#X?TA$2"Y*QH,*B0*J@>@ Z5U>F_"/2= M-(*G>1ZH*GF _.OP=_P3]AU:.T'B35]0U)($4100'RU@8')"L? I;QW(ELM1B=,9 M).Y70X'L#G\*^H2,UPOQ@^%.A_&'P=-X;U\7'V*1Q,DEO,8Y(Y%!VL".XS0! M^0=EI&J>)9]-:VE,L$&)!YK!41%S\V>PQ^O% M@/ ]Z^P/BW^P7\2;6V-AX-U6PU717;#12G[/<2\\"0GA@/0'KS7,>'_^":7Q M+OV1[_6="TDX!)+238X] H'ZUIS(#YUALM#6(I+>7MPV<_NK9$SQV9C_ $JK M/)I5NZF#3[MY8LLLEQ=;LG:>RJ,<9[U]L>'_ /@EU(\BG7?B/-@=8]-T]4_( MLQ_E7K'A+_@G5\*?#-Q!/>MK7B*9'5V74[[,4A'.#&JJ"/:AR3 TOV!-0^U_ ML_V@^Q3696]G/[U"/,!Q\PR.0>>:^F%.5!JGIFE6FFV$-I:V\=O;1($CAB0* MB*.@ '05=48 Z"LP%HHHH **** "BBB@ HHHH **** "BBB@ HHHH *C?K4 ME1O]ZDP(7MDEC;KTP3&NW).[C"326$P:/(Z'R3WQQD'GCBO298_D;;A6QP3R/RKSC7M&U&TUS M[9;3S:CJ1*L$-OA$3!7Y3N [YV@YR!2"Y\ ?M:?LF7/A_P 9GXG_ 4@D6Y1 MC=:GX=A4Q2P..3)#'PS*> M:A+Y%O*_>0!P"N>IZ\\]Z_9*S\0I;W%E:ZI9JFIN%5WB12L6]F5,G.1G;T&< M5:A\:Z-+!?21S,$LAF4^0XXSCY?E^;GCY<\TN5%=K-R\H P,Y7/H:]O\*_#S3-:T^_TWPWHMOH.AG; M#;Z?9@6JL@;+,VT9YQCW%>K^*?B'I5KHEI,T)GM-0E>W*R@PD$'#*0PR&Z\' M!/6N%USX9>*M!O+IO#NH7GV*90T2+*IDB;_:#$;A[Y^N:4HL$T7YX-5\$/#) M<-(S+^[C^T.)XWW=0#@,OZ^]=/H7&CO, [1PD[(!HLNEWL1A(-YJ^J2&0X Z1KDKDDCH!GUKW'PWH%_I4LC76K7-_&0- MD4P7"X[\ ?ETI+0;MT,JR^'MZ 4OO$%W=Q=U4!-WX\UN0^"])AA$8M(G&,9D M7;BL']9DI[E^:?4( M.')>[OO;]#\_!97/(^SR=/[AI)HIHED(MIO(;N^ETZ0):+Y*'RR/F(&>WTK]7C8VYZPQ_\ ?(I!86RYQ!&,]<*.:?\ M9?\ ?_ %Q!9W]E^/_ /RS;1)WG*FUF(ZY\L_X53U?3;B&!MMM*.,$",U^K(L MK$?_ 'R*O^SO[WX%/B*__+K\?^ ?AKXJL;[Q#XFL])2T MGV2N&D(C;A1^%>@:?\-AJ[)!+IC&#HRF XQZ=.*_8C^S;3=N^S19]=@IPLK= M>D,8_P" BJ^H-?#.WR(>?1D_>HW^?_ /RVTSX#>&4TWR3X921F_B\LA_P..* M\S\9?LUJSM)HAN;)^H@N8VDC^F>H^M?LL+2 =(4_[Y%(;&W)YA3_ +YJH8*< M'?G_ .2KFE"MO0_'_@'Y2_LA_!-K+XN:7?^++5DEL',MC'&G[M[A1E7;(Y MSD#VK]#)].@NU"SVRW"J,8EC##]0:]/6R@4@B% 1T(%2>6G]T5VQI-*TW<\F M>(CS)_[R0J#_*M0RF/!^;CVKT;RUS]T4>6O]T5 MJH);&$JKGN>:-J+)C[_)]*] T:3S--MVP1E >:M&)#U4?E2JH7H,525C.4N8 M=1115$!1110 5&\"N23G)]*DHH QO$/A+2_%.GO9:E;"X@8Y /!4^H/8\FOG M+XH_!&]\+V-[?6$+5;?1=&L M]-C7_GA$%8_5NI^I-:*32!GY7>!_V!_BAXJM]LVG_P#"-+C'G74RA3QD'&"? MK3_"7[-47@#]HOPCX'\=M#?/J-S%YRV\QVF-PQ"@X')*\X]:_6D0WOB+RTBAO+K,IMU4<"(-PAZDE>3FCF?40_PA\*/"'@JV MAM]%T"RL4B'RLL0+C_@1R2??-=?' L;$KZ8IX4#I2U(!5:_MHKJVDCE&492# MCTQ110!\N^+?^">'PP\4:U<7WEWMB\S%F2WF.T$\D 'H*U?!'[!?PN\'7B77 MV"?5)4Y47TA=1_P'H:**20[GO.F^%].TR%(+:UB@B0;52- .P%:B:? HXC M''>BBF(>+>-<84#\*=L7A0,#M110 WRT!( QQCBI% X[T44 .HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M0@'KS110 ;1Z#\J H'0 444 &!Z4;1Z"BB@ P,#@4M%% !1110 4444 %%% M% !1110 4444 %%%% !1110 5&_WJ**3 2/[C4_!]%HHJ0$(.#TJ$Q@C/2BB MF!F+X9T]=4DU*2!9KZ0@K-* S1C&-JGL.IP/4^M9VE>"++3Y-8=AYT>I2EV1 MOX1_='H,\\=Z**H"]I'ANRTK2QIL,>;56?"-SU8G&3R>N*V(X@BA1C P.:** M5]!]16B!R2%)Y[4Y$VC@#\J**0#L'T%&#Z"BBD(,'T6C!]%HHH ,'T6FK]ZB MB@"2BBBK **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** E* "BBB@ HHHH **** "BBB@ HHHH 0C- '08HHH 6BBB@#_V0$! end GRAPHIC 12 cdre-20231231x10k003.jpg GRAPHIC begin 644 cdre-20231231x10k003.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" !_ W0# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4Z*** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HI"P49/2F^:G'S#GI[T /HIJNK=#GZ4Z@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH ***0G H 6BF>:N,Y/Y4JNK_=.: '4444 %%%% !11 M10 4444 %%%% !1110 444F:5P%HIC.H.,X-,:900<\'VI@2YI:@60,V-QX[ M$=:GH **** "BBB@ HHHH **** "BBB@ HHHH **** "H;@,=N,_A4U,=@N, M]Z /PT^.?Q&\;VOQ8\8VT?CCQ-%##JURB0QZQ<*B*)#@*H? ':N$M_B5XY5 MP4\=^*(FSU&M7(_]G]ZW_P!H-#_PNCQP!VUBY/\ Y$->>H) R\'J.E '[/?L M&ZYJOB;]E_PI?:QJ5WK%\TEVCWM].TTSA;F0 ,[$DX P.:^CJ^;/^">Q$/[) MO@T'J9+TD8_Z>Y:^DZ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **3.*0MCM0 ZBFA\]J4&@!:0G S3=_M574+];. MPN)WP%BC9SD] !FDVK-@M=$2RW"B-CG: ,G/:OF+XS?M9?\ "-:W%8>%UBO( M()-MW>D;DD(."D?K_O?EQR?,O%G[3/B3Q-INI:/<3M#8W+LGF6PV2[,G@-[B MO&]42U32Q#"92"&8>:+B,9?W:9ZU#"6UJ'Z9^ _%-KXS\*V&M6CAX; MN)9.#T)&3_.NB4Y%?)?["?CYK[1=9\+SR[Y+.3[1;H3_ ,>0/Q_G7UFAR/Q MKTL/4]K34C@K4_9U'$=111728!1110 4444 %%%% !1110 4444 %%%% !47 MG*0>HX[UB>.O'.E?#KPGJWB36Y3;Z3I=N]U=NS'LO4]>E>WZ!JMMKFFVNH6D@EMKJ%)XG'1D8 M9!_6OPM^(_B&_P#&.AOJNIW#W&O1NTL]P9!(TFX\G<"00?Z5^G7_ 3?^+J_ M$_\ 9RTZTN)_-U3P[*VESAC\VP -$3_P$@?\!H ^JJ*0'-+0 4444 %%%% ! M1110 4444 %%%% "4QW I[=*PO%WB"S\)^']2UF_D6&ST^W>ZE=N %523_*D M]P/D[]N_]L>[^!$5GX7\)O&_BJ^B,LUPPWBRC_A.WNS<]>@&>]?FQK?[2'Q. MU[4)+J\\=:^97.[,5_(BCV"J0!^ K-^-?Q2OOC)\4-<\67NX2:A.QC3)^2,' M" >F%P*XG=MD4^U=<()(RE(_63_@FS\-?I?6$[7T-$+1114 M#"BBB@ HHHH **** "BBB@ HHHH **** "J][)Y,+2'.U 6.!ZC @_0TF!_/]\:/']IX@^+'C"_M[:6.&XU6Y=0Y&<>81V^E<4OBB-77-N21 MSG/:O0OCGX#TO0OB[XRLK19$@@U:X1%9\X&\GK^-<1%X:LSC._G_ &JH#]>? M^":'CN+QC^S#86J6K6S:+J-U8LQ;(E);SMPXX_UV/^ U]' M?V6-$N+*,Q2ZE>WEU<,227<3-$#[?)&H_"OJRD 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4A.!FEKB?BS\3K'X6?#_6?$E[M(LX6\F( MMCSICQ&@^K8_7TH ZT:A;[]GFJ'_ +I89J7ST(R#D>W-?BZ?'/B/Q#XUDUJ] MU>]DU*YE::2<3,K YS@$'@>@'2OJ7]E3XN>-=1^+NB:#<:U=:GI-Z)5G@O)# M+M58F<,I/((('?O0!]^^>ON/K138T*KC(&** )J*** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@!#7G?QJ^)K_#3PY#W M#F.%9"=JX&2Q Y/T]Z]$(S7S[^UY_P @70!_TTG/_CJ?XUS8B3A3;1M1BIU$ MF<]XB^,WQ/\ !D]@-231Y5O;<74:HA(52< $C'/TS]:KVG[5/B9KA(;J#0[- M6!)N+A)]BGWV;F_(&D_:#VV]QX;R0H&DQ_S-?)OQ0^)"^'(VBM[.[U34) WV M>PL(6DFE/L , >YKQ9UJL:G+&1ZL*5.4.9Q/I/QA^VUJOAFZ^S))X9NVV[O- MA>95^F)-I_3\Z\F\>?M?>)_B%/HGAI9XK%]0NMSOIQ*JT*C)4G))R%/M7Q!X ME^"'C7XA>+KCQCXKTJ7PGH]?\ TF15 ^54ZC.,%C@#.>>E>R_".Q7_ M (3*SFD@VQPVTL=LH'RJ0N H_P" [JUJRDU_$OZ!2C&6JA8]BFL@90-HQWJI MJ>AK= *S^5L&Q67G'4EHV>@I:GTQ^QU\")?"B?\)O=ZI'%;B3_2[*1KB-3T,;XS^O\Z^B(AM0 M#^=?383E]DN4^=Q+E[1\P^BBBNTY@HHHH **** "BBB@ HHHH CFD\I-V,\X MK/U#Q'I^CJK:A>VUBK'"M<2B,'\ZT)UW)BOSHVD@/=)T/\C3WURR3K=VZYZ9 ME7G]:_$_Q'X/M/!>HW]M93W2+#,Z#,[# !..]21%+2.6 49("DY.!G%: MUCHZ37;,HWKWP,U26EP./U>*YT72LH2\2PK'(.H'%?7G_!(BY\6V?Q)\4+;Z M5=R^#[ZR'VN^9"(([A&_=X8\%B"PP/Z<^:_ GP)!\2OBWX:\/7=NEQ97U_'Y M\4O(:($LX*CMM4\U^ROAKPUI7A728-*T?3[?3-.MU"Q6MK&(T0>P'%2!JQ-N M!XQCBGTU5"YQWIU !1110 4444 %%%% !112$OAQ8?#[3+H+JOB-_-O A^:.S0CCZN^T?137U]\1? MB/HGPR\':CXC\1WL=AIEE$9)'-_#EQ->3V$P\[3[D*@NH#PZ!P3@LI/)P.E?KSX&\;:9X\T"SUS2+I M9K*[C#J"/F1L+PGITA%MN!!NWZ&8CT_N M@] ?4US?QW_:^\0_'>=H&D&C^&PV8M,MG)#C/#2-@;S^GH*\6FU*%5+L2J+R M25/'Z52 W/#K!K]FW9"(<&OK;]@_1QJ7QAOKU@"NG:7(P/HSNB#]-U?'?AG4 M[6YDF\F>-GP/E4\XK[Z_X)UZ4'MO&>KE<[G@M%;_ '0S$?\ CPJ0/LOKVS13 ML44 +16-K_B?2?"M@]YK&I6VFVJC)ENI0@_6OGOQS_P4.^#/@F9X/[=N-:N4 M)!CTNV:3)_WCM4_G2 ^G:*^&KG_@J1X9N\C1_!U_<+T5]0O8[?/X(LAKFM3_ M ."GFLRW#0:7X*TLR;2X$FH3R\ 9)XA7WI@?H532P!^\!^-?EQK'_!53XC1, M1:^$?#Z#@AFBN9#@]./,%>@_M%_M&_$/PAI?@B\\.WVC6-UK6D)J5[_:4HC M=T4_NPS_ '06(YS0!^@P<>H_.G5^4_P%_;0^)NO_ !;\+>$_$&J66I6>I:FE ME-+%"&)!W1<^%=&N)0!O6#49HR,^S0MC\ZW-6_X*=6 M>G>'KV__ .$+A>:WA:54_MQ0K$#H280>Q['M18#[MHKX8\'_ /!47P]K]OI\ MU_X(U6PM[H*3+;WD<^P'O@A,X]*]@TK]MWX::C+''-=ZEI^[OBL?P[XETSQ9I,&I:/?0ZA8S+F.>!]RMZCV-:XH 6BBB@ HHHH **** "BB MB@ KYX_:_F5-*T 'INN/Y1U]!7&=@QZ\U\E?ME>.O#?]M^'/"<^O6L.N.DLL MEAYH\Y8FV8?'OL;'TKBQCM1D=.&_BHC_ &G9/.U?P[;1W$<3G1XV7>W4[FKY M[\!%M-^(EO%?_NYB6CSG(+D<8/H?ZUU'B3X?W6O6&DZKI-[]LM;F (@N)V+J M%. Y%.G"VYY5 M\2]4'BGQ!JB2S'[,&,$9!SA0<9'XBLCPY:&'5-,AM'$;PN&5W&1@=2?8C/YU M[9XQU/X;O/:6BQQR"S))D@BR)"3R"P^\>_\ 6N;OWTR?5;FXTJS2PANL/'%M MQ\@&!QV[G'O37NKE-5*\;-&1XW:[N;.#3M*,4DM^[1R21M\Z@ ' &..IY]JU M] \/_P!FZ=;V-E"9VLX5/EA@I;WRQ[G-9]]K]MH-U;32(LUY&VZ%2<,IY^;/ M]*[3XYII3E[L=Q/W8WZ(^ MF?V8OAD_A?P_+XBOFW:AJX+&(K_JH@S; #WR,'\17N: !<#H*JZ5:1V-E#;0 MIY<,2+&B>B@8'Z"KE?6T:?LX*)\U4FZDG)A1116YF%%%% !1110 4444 %%% M% "-TYK\^?@Y$(/V^+\@!=PU0'\B?Z5^@K]!DX%?F3J?Q-TOX.?M@:_XCU1R ML%NNJI'$H),LI1MB#'JV!GWH \ ^-.HM+XOUFSM &?[5(I<_=7DUY%_PAT%Q M-Y]].UX2A/EI\L8QVW=:Z36?$DNL:]>WU_#Y$UU=R39!+QC<2<#N.O>HS%)) M$K1L PC(_>/4 C/O2>&9U MT_3KF1;'^S&EC\M8'F\SS)2S'4Y.#ZCH*-,MS-> MB5CN$):) .>W//8]*:>E@/H#]B"34[3]H[PC_9>FG4(RDJW Q,K2% MNH.2,9X.2.M?K1$27/IBOB3_ ()C:!$FA>-M/OVD/ OP[MI?MNLQWEVF0+2Q(FE/MP<#ZDU\2_'S]H#5_CK(RB$:9X:M' MW067F9>1NSN1P3].EJ?M$^+$GN1)8>#["0 M_P!G:0XPTN>/.F']\CH.P^IKD;-C+8MY:!53G.![?ET[5GO,UO*H;!R,C%=5 MIUCY.B2%N-Z%LXKP)UI5>8^SH86&&M%(Y:,?,P]>O-7+6)#*!C:,?G4=K'NG M<[AAA_6MGX-?'?Q3 M\'KR:72)8KG3+AM\NFW1+Q,<8R",%6]P>>X-<[XA=!>3*3Q';D#ZXKFH)&) M)&WTR>G:NR-25.W*<%:A"O[LT?8UQ_P4$O39 6O@F$7/3=)JC%,\?PB'/?U_ M&NK^!G[7^H_$7QO%X=\0Z-9Z6]ZC&RN+*9B"X&2CAO4=#G\*^?/V4O!.@_$3 MXFSZ1X@M/M=L-/EG@C+E1Y@9!SCK\K-^55M(TX>!OV@=+LT41K8:T(4(/( D MP._IBO5IUYNTV]-CYVK@\.G*G'=*Y^F=LYD3)X/%2CO45O\ ='TJ6O86Q\OL M+1110 4444 %%%% !1110 4444 %-:@L/6N-^(WQ2T+X;V$<^JW#-/*2(+*V M7?/,?15_J>!0!^)O[2\VSX]>/AGIK-Q_Z%7G5@K7ETD40+,WH.@]:Z'X^:__ M ,)%\7O%^II"]NEYJD\HAD(WIENAQQFK/PVM+0VDKPAKJ\X\XJ,B,'HO^>M M'UG^P9\3F^&/Q./@SX2UCQ=I4NCZ[<6B&>"21 M6\S'W9..FX8.#SZT >JT4FX>HHW ]Q0 M%)D>M!('4T +1110 4444 %%%% M!1110 4444 1SMMCR#CW%?(?P6_:P\4?%;]L+QGX!*VD'A'1[*X-JBQ_OI9( MI43S"_\ M$MQV&*^O9>%S7X+K\;_ !)\)/V@]<\3>&=16PUA?W8:0!T9)%^= M64\$'/Y@'J* /NC]N3]L*1I[OX:>![R07T4QCU>_MVYV@#]S&P.1R3N/^SCN M:^$=6UJSU2?[#,\S7EL-KA2W+'DY8?6J UNTL1)?VVH6VHZ_<%FO?.D -R[$ MDG<>0^$VFW=QXMO;R^\M6NY 3%&V[;D],_0 4 =+<:$]CI%L5AEGO;A?W M-L@.]L+TQ]<_A6!X8FDU>:59H+FP8DQJTB;5'-5D2YC5HURN]1@E#T8>M?J/_P3IT\)\!3J@.1J6HSRAL8R%(0?^@U^>/CN MPBN-/M)-N)1(J9QR5/!%?H!_P3K^(/A_4O@O9>#[6[1-:T4RB:U=L2/&SEED M [CG!QZ4F@/K.BDW#U%%2,_.C]ME;C4/'^IQ:A>2W%M$%6"V#D1QKM!Z=R>? M0EV./,PG0CE3CC ]C['Z5+FS/ZU4E\16LLTC6]O>P MLP*D_:^2I !' '4\THC7:O<=*^8)=+L-4W"2*<9]9 P_4?YXKWGXC^+_"GQ M\T?1F\9^(8O"TVC6B6%DFDP332/ JJ/WVY<%_E_A.*3 \A_9UAN= ^/_ ,.( MIH3$]KXA@\R$MD[B& YZ#.>WI78?M/:E)-\9O&ZV:P1W3:@2&D9G"''((![@ M_G6O\,O#/PG^&GB+2_$J?$2[U:ZTRY6\AM+G3WC621<[0Q"G ^@KS[XD>-8/ M'7Q%U_Q##:""'4+IIE0R9;';. *$!R%XUWY6V!D6]P/FCOM(U2[98-5N[42,>9(D. >,$[_ $]ATIH#ZA_X)O?$75M-^)VO>!)+B6YT M6YM3>0"0D^7(A7[N2<95CGUP*_2,=!7QC^P-\(M(\*P:]XC,CWFN7*I$D\F, M+"?F.W'=BHR?0?6OLX=!4L!:***0!1110 4444 %%%% $5QRGXU\0?MD_LZ> M$[;QJGQ7>\U,^*;Z:"TCL_.0VBB.)E+[2N[.TC^+&>W-?<$WW._X5\2?MA^+ MFU_XA6VAQ-_HNC6X)4<[II,%OR4(/SKBQD^2BUW.K#*]5>1X:FI7FG) (;B1 M!#\RH&XSG/\ D5I^/]4EU&\L=1B,RQ75JNW#\(02''Y_G6/?QA2_IG'O4>H: MT&\+PZ?*A\V"-,^0Q(W''L,U MT_P9@U.VT2]EDO&UE5-RA[21Y&+ MKNWLT/&:?117T)Y04444 %%%% !1110 4444 %%%% $<_P!S\:_&W]JR2&X^ M/WC@QN988K^01[L!5)(W88<]?Y5^R%W(L4#.QPJ@DGZ"OP^^)^J_VY\1_$]^ M'\SS[VX<2 Y)'FM@[NG2@#D+R,>7)N'RF08YVCG'0]ZEF8H!V W C&T$9_N] M^M$PR^U>"9X\E>I^I/'Y42 ,'5>$.\$+T_$GD4DP(Y26&&(.%7A@=O\ WR.: M?(K6MU9LDC@S7&UD<@J1CJ /ZU 7+VRR# 4QJ>#@?]]=34\F7U'38N>9'/@I<:G=(T9UK4'N8@P )B55C4X'')5C^(KZJK@O@;X M;'A+X3>$=*VJIMM-A! &,$J"?U-=[0 4444 %%%% !1110 4AI:0T 8WB.]; M2M'OKY8S*;>W>78/XMHSC]*_-?Q1\3_''Q=UB0W&JZA.)W;RM,L2RQHN,A54 M#G'4D^AK],=2MQ>65Q W*2QE&'L017YL^ M2E^&GQ[L1(I"V6L&UD0G;A'9H MSQCT;-<.)PKTK]J'PA_PB7QNUU5&VWOV%_"0!C:XY ^C!A^5<#H'B*/0E99 MK7SBQR"I)&#D]Z^>K7C+E9]GAI0E24XG'WME<>=YQ1E '3&:[&&K@9-016KF(LP('I6QX90K>C)^ZI?.*Y^IU/8KZ[()+N[8]6 M8KR/?_ZU9B0B-"1CH.V*MZJXED)#!MTN< 5%$N-P/3M6KZ'.OB9ZW^R7JQTG MX[^&69]J7#26YQWW1L /SQ71_'VT/AO]HN6555(VU*"Y))YPVUN/UKQ[PCK- MWX4\0V&L:;(B7UC,LT+2A1FN10\SQL13E&LZKV:/U(TZ3SK6*0G)=%;KZBK0[U0T M)632[16&&$* @]0=HS6A7T*V/B'HV%%%%4(**** "BBB@ HHHH *9*-T9'4' MBGTUSA230!^8?QB_X*;^.;#QKK^C>$=,T33]*M+N6TM[F\MY)[E@CE#(?W@0 M$D$@;3@$=:\CL?VK+[Q)K#?VS)?:QXDU8&%+ARBJAVD@#'W1Q@8'&.+62%D1-9NE3(QD>8>E+X-\%VU_&FIW:,\H.M(#G]>, M7C/Q)J-SIEJ;2ZN9FECTWS3/Y ]&DQ\V,=??->B6.E7>AZ7#!I"6=O&WS3KY M9R[XZ[LY]A6MIVF6FEH\=K;10#'2) ,_E3RH5"00 3BF W2_$/_ CVH02I MIQO9EMWB@5@#YV?YUTGA;]MWXC_"@M8>&]3\JSB?#V&J6PN(5.>=BE MMR#/8,*Y*VB,MTK=0%X^I/\ ]:N*U_0'F:Y/F(S)(["8MCC)ZT ?2OC+_@JQ M\2K3P'I=O8:5H]CXD>[;SM5%LTEO+;[>$6%G^5\D$G)&!QC-85O_ ,%"?CIK M<43+XIL;8L@_X]]+@4=^?F5OYCI7S5KGPU\4>*? ]O?Z)X?U'5H;.["S-8VS MS>671=N0H)Q\K<^U7-"\*>*=#LK:2]\-:U"NP$^9I\JXY_W: /J.W_; ^-%] M()9?'URA;'RPV5LJC\/+KT_]B[]LOXH?%/XT3^%/%VK6NJ:;%=O9#%E'%(3Y M;.K[E Y^7W'-?(>F7DD159H+B%^,H\#J1^!%>S?\$^O">L?\-)3:B^E7L5E] MM-U]HEMG2/8(9!NW$8ZL!^- 'ZZ1#$8%/IJ$%1CI[TZ@ HHHH **** "BBB@ M I"<4M(W2@".<_NS@C-?B]^V=^SOI?PE^/\ J&IVVLV>L:5K6^]CTN$@S6"* M?F20#C:#PIZD<=J_3[]J_P"*VH_"+X/ZAJ^E0N;^XD2SBN0N1:E\CS3[@=,\ M9QFORC\8RR7,XGFS/).A$CS$NTA[[B>3GF@#BD\%>'YCN:SB21@'/XTP-SQ62EHQ/)QBN,TN=5N1N(!J[XB\R7<(Y;V8#^%)B1^IK@O"D M&LZ<]T=8-S*S7#-"T;#Y8OX0<=ZT1-ST;Q7<+_8V[.[RSOS] 37/_!KQ3JWA MGQI'J^D7LMA?62AXYHFQ@^A]0>XI^O3Q2>&+MXV=WVC[[$GJ,]?K67\-8MJ: MI<9QP%'Y5+!'Z\?L^?'"X^+WPYM]:O=/>UU"*5K6Y\L$QR2*JL73'0$..#T. M>V**R?V+= _LSX!:.Y&UKN>:X.>^6VC]%%%*P7-;XW?LD> _CLHEUNTFL]20 M'R]0L)3'*F?T/K7Q_P"-/^"3/B"WDFE\(_$>*:/JEOJ]H0?H67/YXK]*Z0C( M(J2C\@]2_P""M 'XH7?[.OQ0T0L9/ NLR@=HH"_\ *N7UGX<>/+8,DG@# MQ,"?[NG2$?H*_=WHVQ> _$ASZZ;)C]17[S>2F/NC\J7RE_NC\J+@?B+IG[.'Q0UI@8O ^L1 M+Q_K[9(J_UK]FO+!__ %4>4.,<#THN!^/> MF_\ !/+X\:S*JC2M'TB+O)>W@)_$"O:/AM_P2LUQ)X;GQKX[A2,$,]KH]OS] M [CCZBOT<\L?3Z4JH /6BX'%_#3X3:)\*/#D&C:&CBWB4+YDSEW;'.23[DUV MM+12 **** "BBB@ HHHH **** (;J58('DI'Q)\0-7U5\. M+FXD-+V/3O">KW,C;$BM9&+>GRFOSH14N9Q&C!99'"D9Y^M M>'F4[VMC9;1+&"LCY/+9!Z]SUK1\"QVFG7.H.7$CQ*IED_'H*\"4[PT/3]I M%:%_PGH:>'[*.QBE:6*/(+N,;CGK[5T-O&OVDA1@)QM4<5C1WBM<2LK'R]Q8 M'ID>M=S\(M'7Q)XPTN!E+(TGG2 ]U7+'^6/QKG4'4G&"ZG*IV3;/H_X4^&!X M8\*6T;(%NKG]_-DT#?(-1N"1PJG+;N@Y[]J / M,KF81S1E^0LJ$Y7?C@_PCI20W=O<3A5E5B78?,VYA]#V_&AGRZ;C\H4,,G Z M8XQR>O>G%5\\;@ WF$*2 N?H!U_&D!172BS#R[JYB)3^%P3U]2-M=G\,O![^ M(/B-X=T[SYKN6[U*VME! 8 /(JG(QZ'J*YVVY8*1R(V_=L/_ &2OH+]B'PN/ M%W[2?A<,F^'3?,U)]W(7RXVV$ =/G9.M,#]9[:!;>..) B+M4#L!P*GIH7! MIU !1110 4444 %%%% !2'I2TAZ&@"NPXZX]Z_.C]K/P\_@_X[ZE>V\;(+^* M*_ADZ#?W/_?2M7Z,E"V.,U\M_MN_"^]\3^'M,\2Z99/I1BVM;._NDRS+ B2.B%CDE4Z*2>N!2:QHV MIZ+$8]0TZZT\-\H-S T>3TP,XS7@8F$JDN:Q]A@W"C#V;D8FG%5OD+-][(_A M]/<'],5KVD;1([?\LW/.:PHV-M-"=VT\^J]OUKH(6+:?$<Z>A' M<5SYL1V#BM'1E\I9I,XQ&:IK&T2; /QJS&IM]-N6SG*XKEC\1TF#<'+1=R27 MQUZUV_PO^%6K_%GQ7#HNCA(N ]Q=2+^[@3^\?4^@[UQTL>UV."HCC4$YZ?YS M7WY^Q=\._P#A%OAPVMW$3)?:V_G M]Y8APN/8\G\:];#T55EJ>%C<4\-2?+N MS-\/?L)^$K*.-M0U35K^4#Y@CK%&?; 7./QKTWP9^SIX$\ ZA'?Z5H2?VE"3 MY=YE/VD'H:]Z-&$-D?&3Q-:HO>D-MXRD8SP3V MJ6@#%+70:U_ MVT;B'6_VM?&L-L=T:7L5OD= RQH''YYK+D?:&5>% VC%*P%>],4B%95RB@N< M,1[#I^-94:C7;.6;?*+3E8H8W*EE'!O.>?;/8"BP!9ZJ-#\17%C)J&VU54:)+F0.R MY)R-QY(^M:$FKIX=N;+49=,M-;MTG5FLK[<8+A0P)1]I!*MC!QV)K7\%^&3X M@N+;3HHTEDN7R[.H?8O4LV?;-+\5+'2-/\46.D7%U_9&BP[(6N%C,@A3(4N5 M'+8!+$#DX]Z8'W;_ ,$U+*(>&O%3QPQP(\L!\J,'8ORN=JY).!G SDU]I-IL M+8!BC8#U0'_/_P!>OS\_8.^.'@7X5_#'Q%JWBOQ)::-ITVJ"QL[JZ#)]J*(2 M"JN7%/$D&I:BH)-ML=&X&2.0.1Z=: /68UV(%ZX]*=38W\Q WK3J "BBB@ HHHH M **** "D(R*6B@#E/B?X$LOB5X!USPSJ(!MM2MG@WD9,;$?*P]PV#^%?C9XM MTF\T(7ND:@NW4-)O'LYQ_M(Q4_RK]NY/N_XU^37[7GAO_A'?CWXXM%7:EXT> MH1Y[[U!/ZYH \!MW,CK&.N\?SKLIV+>(74'_ %<,4 /H6W'_ -EKE-+0#4(2 MQS\P/ZU>UK4K^SO]6FL88;F\BGC*)*< @J1_0U6P'7:CY>P(O ':NA)UNNH5T.[;OLP>/< M5%\/HBF@N0O,TV/PS6#>ZWKBZ6?MUK:16TZLA,;$N"!G^>*[CX$K,KM9=/B8CW89_K178:'IXTS1K"T"C$$ M$<7_ 'RH']**BXC2HHHI%A1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !2$X%+37P5I >2_M*^*(]'^'=QIRR@7FI.L,: \E007/TQQ^-?( M^G^'H=0UJU3)22)3,73@\=*^Q_C!\(5^)UO8NE\;"[LBWE.R;T8-C((Z]A7C M;_LZ^,=*U0W$*V%_$J%5:*0HS?@1Q7SN84JTVY*-SUL-.$86O9GS1XIT.YAU M>Z%QNFC25BI!VGD]AVEO)K. MD7%O;*Q#2PC?VX&XH^M>*XR44I*QW M14)QY8=2C=>)[RSE,RN'MF(C\@ =#P3]:^K/V3+>'66U+6HR'CA1;5/9F^9O MQ 51^-?,G@_X;ZCXNT.ZU&64&2V8F"VC3F7@/\@$@#],AAR/<5^MS*'&& (]#7(_$KX7>%OBOX?.B^*M&MM8L" M=Z+.N6B;^^C?>1O<$4 ?AJ)-DC,."(%RR\'EO[W0\"G(Q61]HPID^;:, \=\ M_P!*^ZOBS_P3+G6]EN?AYKT7V9U'_$NULEBA&(U_.OE;_ (4+\3K2ZCAF^'OBE;AF95_XE)0H5%.2>]6*:PR.WXT 4191H:+K%E'=V=W&T3 C)7/&5/4$>HKJC&3U(IIBW#G!J7%/1H MI2E%W3/R'^)OPYU;X;>,IM&U:&5&@F813O'M6=,G#J>AR*D%MLLK=2,G;G(& M.^(OV.?A[K4KS6EM>:)(W\- MA<%8@?\ <;('T%>-6P$I? SZ;#YQ&*2J(_/QCO8Y[=<=J?,?+TB3)P'<#YN, M_3\J^S+[]@[2)D<6_BF^1ST,L$;8]NU1Z-^PI81GRM5\3W,]J,8CLX!"QY[G M)S7%'+JJ:/3>U>FK%@YZU[N'H>Q6I\KC<5]9G=;$@_E2T45UGG!1110 M4444 %%%% !1110 4444 %0W=REG:S3RL$BB0N['H !DG\JE)P*\L_:>\7-X M(_9]\?:N&V21:1/'$V?XY%\M]D/)>XE M,A/YU[)HO[,_COXQZ@XC\,^(;6")W(N6TN79Q(VT98*.5((.<8KLK'_@GI\7 M=2OH[>U\,S06V=OVK4)XH%QZXW,WZ4F@/ECQQ.\>C:0I8JBC=M'0<]?TKIO" MUXES!;[P" B]1FOTH?\ X)6^#?$_PST'2M?UF]LO$]J3)>:IIAW))GD1!'XV MJ?XL GG-9A_X))>'+.WC2P\?ZM&T:XW26<;9/KP1^5" ^-=*E5ECP>GXUZ+_ M ,$Z4,/[2][&HP'U63 [8,#U]&0?\$P[BU8>1\128QVETT;OQP]>E?L[_L&: M3\ ?'/UI@?6B?=%.ID1)C!/'UI] ! M1110 4444 %%%% !1110 R490CK7YX?\%%/#?V#XJ^'-9"_)J>FO;,P'5D)Q M^AK]$2,C!KY/_P""BG@.XU_X4Z7XBLK=IY= OEEG\M M?O9[6*64*OSNN3W/]15,#GK>ZM[@N4D#97I5KR$%BO'#.3CZ?_KHU!42_G$: MJB@X 48IT[D06RX[%C^)IH#!\;/LM+*'&"4)Q]37N/[.N@C6_BMX%TTKE6O( M-P]@X8_HIKPKQ9F?7+.W!R!Y:_UKZZ_8=T3^V/V@M*D*EH]-M9KEO1<1%!^L M@I]"7N?IN-V.**!]2**BY1)1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4F :6B@!"H/4"DV+G.!GZ4ZB@".2".9&22-71N"K#(-< MWX@^'/AKQ) +?4-%M)XAC"B/81]"N#744@.:B4(R^)%*4ELSC_#/PO\ "_A& M)(]*TB&!5?S06+2$-Z@L3R*[#:H[#\J#Q11&,8Z)"@HVCT'Y4M% M !1110 4444 %%%% !1110 4444 %%%% !1110 F*,#TI:* $*@]0#1M'H*6 MB@!-H]!^5+110 4444 %%%% !1110 4444 %%%% !1110 A. :^6_P#@HZUX MO[*OB'[(WR"ZM?/]X_,&?UVU]2&N;\=>"M&^(_A+4O#WB&R34-&OXO+N(') M9E 'X8>#HS#HS/T,LI_("MQR9 HQP2!GZ<_TK[\\1_P#!,7PQ M,7'ACQ7JFAP9)2TN8H[E$]L\$_G7GVJ?\$SO&UF[G3_&6BWP&=JW%K)$3]2" M1^E 'R&3D\]Z[?X=:'_PDWC7PWHJH6^VWT$##_9+C=^F:]0U7]@3XQ:3(?)T M_1M34*]+@T?3-)=I=CW<4[S2;2 M%"B-F )R2<4 ?H%;P)!!'&H&$4*.*DP/2D084#VIU #=BD_='Y4NUGK7Z6T4 ?CWKG[+' MQ;TJ>5IO 6L3+DG=:QK./_(9-T47 ;M'I13J*0'__V0$! end GRAPHIC 13 cdre-20231231x10k004.jpg GRAPHIC begin 644 cdre-20231231x10k004.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" '1 LP# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4Z*** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HKY\U?\ X* ?L]Z%X_E\&7WQ M/TJ#7(KE;24^3.UG'*<<-=B,VZ@9PS&3"D$,000.[^,_[1GPW_9ZT2QU;X@^ M++/P[:7[E+-762>:Y(V[C'#$KR.J[DW,JD+O7)&X9 /2**\L^&_[4/PM^+O@ M77/&'A#QA::WH.AQ23ZG+%%*DUG&BLQ:2W=!*H*HY7*?-M.W.*A\#?M5_"OX MD_"WQ'\1?#GBV+4/!WAT3G5-1-G<1&V\J(2R9BDC61L(P(VJ=V<+D\4 >LT5 M\]W?[?OP&L?AUI_CN?QWL\*W^H2Z5;:A_8]^?,N8T5WC\L0;QA64[BH!SP37 M2?!#]KKX1_M':KJ>F?#SQG;Z_J6G0K*8M;UWPW(8]3M$M9XO)(D:,E6D15D M4.I&Z,L.G.",\/\ $7_@H'\ OA/XUU7PEXJ\>_V5XATN00WEG_8]_-Y3E0P& M^.!D/# \$]: /H>BO)(OVL/A/VM%M;B[F:- M3C>R01NR*3D!F #%6 )VM@ ]=HKA_$?QP\!>$OAB/B)JWBO3+3P4ULMW'K)F MWPS1LN5\K;DR,W\*("S'@ GBN3^"G[8/P>_:(UB^TGX?^-[37-5LXUFDL9+: M>SG9#GYHTN(XVD Q\Q0,%RN[&Y<@'LE%>>?#O]H+X?\ Q8N/%]OX4\1Q:M<^ M$KM['6X!;S126,O!NI_VS MX;U+S?LE[]GE@\SRY7B?Y)55QAXW'*C.,C@@T =717AWQ@_;;^"/P%\5'PUX MX\?6FDZ\L:R2Z?!:7-[+ & 91*+>.3RR596"O@E6! P0:V_&_P"U/\*OAY\+ M=)^(^M^,;1/!&K3I;66LV,,U[%-*P* /5J*\2^#'[ M:7P:_:%\63>&?A_XQ_M_6X;1[Z2U_LN]ML0JR(S;IH47AI$&,YYZ<&M[XW_M M,?#+]G&RTVZ^(OBRV\.+J4C1VD1@FN9YBHRS"*%'?8. 7V[064$Y8 @'I]%> M3>(_VK/A3X4^#ND_%34?&%LO@'56C2SUFVMY[A97?=A/+B1I%<%'5E9049&5 M@I!%:WP3_: \ _M%>&[W7_A[KW_"0:39W9L9[C['<6VR8(CE=LT:,?ED0Y Q MSUX- 'H=%>7Z'^TU\-/$?QFU/X4:?XG2;Q_IJ/)=:.UG<1E0JJS8E:,1.0KJ M<*Y.,^APWP=^T]\,O'_Q:U[X9:!XG74?&^A+,VHZ8EE"/[. M%&>7,FT)_"XH ]8HKPGPY^W'\$O M%OA.#Q-I/C7[7HDVN6_AN.Z_LJ^3.H3J6BAVM"&^903OQL'=A7H_B[XM>%/ MOB_PCX7US5?L.N^+)IK?1K3[/+)]JDA57D&]$*IA64YT26Z2RCN7MYIR\SJS*BI$CN3M1SP. I)H [RBO,?'?[ M2WPV^&GPLTCXD>(O$R6/@K5Q;FQU6.TN+A9A/&9(B$BC9QN4$\J,=#@UY?I/ M_!2_]FW7+I[:Q^(_GS)!-=,O]AZDN(X8FED;)MAT1&..IQ@9.!0!]/45YKX& M_:-^'?Q(\76WA?P]XA^VZ[)8+.2RN(#-ITZHT5PC21JK B5,J#N4G# M$$#'\=?M=_"7X:ZEXPL/$7BS[#<^$$M)-<6/3KN=;(7)46X9HHF4L^]?E4D@ M9) . #V*BOGCX=?\% _@%\6/&NE>$O"OCW^U?$.J2&&SL_['OX?-<*6(WR0 M*@X4GDCI7IOQD^-_@K]G_P (KXH\>ZU_8.A-6@OH+?^S+ MRYWPEW0-NAA=1\T;C!.>.G(K&\-_M\? ;Q=X-\5^*]*\>I<:!X62V?5[Q]+O MHOLPGD,<.%> -(6=2 $#'UQ0!] T5P>@_'/P-XG^#TOQ3TO7DO? 45A9E/*D!7;NRI&,UT/@KQEH_Q$\(Z/XG\/7G]H:'J]K'>V M5UY3Q>;"XW*VQPK+D'HP!]J -NBO//C9^T!X!_9U\-V6O_$+7O\ A'])O+L6 M,%Q]CN+G?,4=PNV&-V'RQN%_ WCNWU?7VA>XC ML9K&ZLWE1.6\OSXD#L!EBJDMM#-C"D@ ]RHKY=U+_@IM^S5I&HW5A=_$GRKN MUE>":/\ L+4VVNI*L,BV(."#TKKOB'^V_P#!3X4Z3X3U/Q3XT_LNQ\5Z9'K& MC2_V5>S?:K1U5DDQ'"Q3(=3M<*W/2@#W2BOG'PK_ ,%$/V?/&VHV-CHOQ ^V MW5[J-KI-O'_8NH1[[JX+""/+VX W%&^8X48Y(XKU[Q-\7?"7@_Q]X2\%:OJW MV3Q-XK^T_P!C6/V:9_M7V=!)-\ZH43:I!^=ESVR: .PHKY=U+_@IM^S5I&HW M5A=_$GRKNUE>":/^PM3;:ZDJPR+8@X(/2O4O$/[3GPO\+7/P_AU+QC90CQ\Q M3PU/&DDL&H$>4.)44HG,T0!=ER6P.0< 'J%%<'K_ ,=/ ?A7X@R^"=9\26VE M>(X=#?Q+-!>))%##IJ2-&]P]PRB%%#(P(9P0!G&.:N_#[XN>#?BK;W$WA+Q' M8:XMNTBRI;2?O%"3S6Y?8<-Y9EMYU63&U_+8J6 S0!U]%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %<'\?9-8A^!/Q'D\.K,_B!?#>I-IRVXS(;D6LGE!1_>W[<>]=Y10!\5?L M^M\#C_P3=\)MXW705^'2Z7"=>$V3&;\2+YN_R_G,YF P%^5YV-G.S?CBO7]7_P""?_[/>N^/ MY?&=]\,-*GUR6Y6[E'G3K9R2C'+6@D%NP.,LICPQ)+ DDGO?C+^SK\-_V@]# ML](^(/A.R\16=DQ:T:0O#-;9V[A%-$RR1AMB;@K -M7(.!0!\=_&YM+;]M7X MJ#P;Y.X?![5!XQ^P#$?VG:_V?S]O!GV>3C/S;,=LU\H?#4WO@[P'IWP8TZ.X MC@^/.F>%;BU> ?):XNG@U!P>F72 EL\X;/%?K-\-_P!E[X6_"+P+KG@_PAX/ MM-$T'7(I(-3BBEE>:\C=64K)<.YE8!7<+E_EW';C-,TG]EGX7:'JGP_U&R\* MQQ7O@*WEM/#DS7ERYL8I 0RX:0B7@G!EWD$Y�!^6G@&QUS2_A;\&K/P+'I M4.OV_P ;-2ATB/6O-^PI*L<(B$WE_O/+&!G;SBOJ/X@^%OBC\%+_ ,??M/\ MQEUGP7#XDT#PA)X?T'2_ L-RMO+/-+MADGDN!O)$LB@+\PPBT*/3_"GV=-#U^3Q/IX_M&[;R-2DQOG^:4[L[1\C908X6NM^*WP>\(_& M_P -P:!XUTDZUHT-Y%?K:&ZF@1IH\["_E.I=023L;*DX)!P* /RT_9[\81?L M_P#Q;_9RUJ7X=?$+P8+JPE\%^+=:\5Z#)8V6I7%],]S"\,Y8^:1Z!HEM^PGX"\5:1XA3Q#<^-_BQI_B;5O(M1:PV-_,Q2>TCA#-L6) MHMH)/S?>&%*@>\_M%>"-8\3?M:ZAK7P9\<^'4^*]CX2&F^)/ OC*SF%EJ>BN MQDS'-Y>#NWO5 MN9[2<1$[O+:2"1&= Q8A6)"EG( +-D _/S2/&?@OQ?X/_8LNKKPU!X-^$]CX MEUFTU;2;J^>\TJ'4D93;L9YW70?L M_P#PLL^+8RWV8#[7_88#?;-Y'/E;2^-W'^MQ_'7T9=_L^?#B_P#A%#\+[CP= MIXDD:,'/S!"H;"[L[5P ?FW\-)=;^ VN_%# M]H#2FNKSPW'\2]>\'^---BRRC39C"UO=A0.L,\S9[GS$48!8U]O?\$N/^3$_ MAE_W$_\ TZ7=>RZ#^SW\/O#/@_QEX6T_PY''H'C&]N]1UVQEN9IEO)[I%2X< MEW)3?VA+8^#?/#C3?]7+CRPG/V;?Y?W.V M<K:Z4"2:A!"/#/@^Y\*6D/AGPUJ$&J:3IEB\EI%:W,)8QR 0LNX MYD=B&R&+$L"3F@#(^"'_ OS^T]3_P"%P_\ "N/[.\E?L'_"#_;_ #O-W?-Y MOVGC;C&-O.:X#]JWQKX&^"WC?POXYMO";^,?CQJ5K+X=\&Z7;SRF2;>26+1[ MQ&D2F3YY=N[#;=P!X^GJ\4^-7[&?P>_:(\46OB+XA>$6\0ZQ;6BV,-P=5O;< M)"KNX4)#,B_>D9(H[2,1- QB\\*%GDC5R,KG.T?3'[%'QA\:?$*V^)GA/QYK%C MXLUSP'XFGT,>*-.M4MH]3B RK/&GR+*IW*P0 ;1R07;IF_8D^"3_"-/AC)X M$MYO!,=\=2BTZ6]NG>*Y.,R1SF4S(2!@[7 ()'0D'T/X6?"7PA\$_!UKX5\$ M:%;>'M!MV9TM;?[SI)[Z]:96C[[O),0&WDD9')%?J;XC_93^%?BZV\?V^K^%5O8?'L MUK<>(U:^N5^VR6QS P(E'E%2/^66S/?-;>A? ;P)X:^(-GXWTS05M/$]GH 57YMN[CK0!\S_#>7X2#_@EE;?;SHK>"QX,"ZP&" M%!J9A7S=V.?M/VLC9_'YGEE?FVU\F77P<\4_'*?]F3PY-J-UI'CB'X8W6J:% M?-*8WAN;:9YM/+,/VP?B#XHU33Y=)\0KX,T_3 MM:L)HS&UO?V\PAN%VD< NA8#L& /(->KZ/\ \I7=<_[)*O\ Z=(:]_\ "OP& M\!^"/B;XF^(6A^'X].\7^)45-6U".XF(N0NW'[HN8U.5!)502 M$[?XKS_$N/2MOC:?2!H4FJ?:93NLO-$OE>5O\O[Z@[MN[C&<<4 ? W[(W_#1 M>[XV?\*B_P"%7_\ "-_\+-UO[1_PFO\ :/VS[5^YW;/LWR>5L\K&?FW;^V*] MA_X)+?\ )E?AO_L):A_Z4-7TQ\-OA)X3^$-KKMOX2TK^R8=?7=07[3+-Y M][,%$LN9';;N"+\JX48X YIOPE^#_A'X%^"K;PEX'TG^Q/#UM))-%9_:9KC: M[L6<[Y7=SDDGD_2@#Y9_8#E\-S:#^T0WBJ/38_%1\;ZJ?%PU78)/L9R8?M.\ M_P#'OM-R%W?)Q-C^*N.^(]W\+-(\4?L8W_PMGTNT^&,/B:\MK&YLW985=XT0 M*[2?/YK2!@QD^/?A?#\.M;\&Z7<^"K?9]FT>&+[/ M%;%<[6A,15HF&YOF0@X9AG#'(!\\_$6YAOO^"F/A&WMY4FGL?AK?OM?G9\'_$>J?!;X&VUGH5LSW'QN\(7?ANU5,KYFJ1ZW):DLP!P M!:7+8/KM'>OV#^"_[*'PG_9Z75/^%?\ @VUT";4T\J[N?/GN;B2/C]WYLSNZ MID [58+D XSS532OV/?A!HFC^ =+L_!T:6/@/4)-5\.1O?74AL+EY1,\@9I2 MTF9 &VR%@"HP.!0!^85KX:TWX8?"WQUI-O(EKX?\*_M%6=NUQ,VU(+6W,T8= MR3P N237W!^U9>07O[9G[)%C;S1S78U'6KHPHP+"+[+%\Y'93M;![[3CH:] MQA_9C^&$7A[Q[H3>$K:YTCQWJ$VJ^(K.[GFG2]NI6WO-\[GRFW ,OE[=C*K+ MM(!&-\&?V,O@Q^S[XAGU[P'X&M=%UF:+R3?2W5Q>2QISD1M/)(8\YP=F-PX. M<4 >5_\ !-O_ )%CX[?]E:U[_P! M:\W_;=^)=AXD_:T^&W@6^\$^+OB-X8\ M(:==>(==T/P;I)U*XDGN8V@M=\>5VB/[^[(_UP R>GMGB+_@FO\ LX^*_$&I MZWJOPZ^U:IJ5U+>W<_\ ;FI)YDTCEW;:MP%&68G SP*]/^%'[-_P .O@CJ MVIZIX+\/'2-0U*SL]/NKA[ZYN6>WM(A#;1CSI'VA(PJ_+C.!G.!0!X!_P2Z^ M(-QJOP0UCX=ZI::KIVL_#_5IM,^QZ[;&WOTLI6::U,\1YC?#2)MY $8P2*\D M^%7_ "8+^US_ -C-XK_]$Q5]XZ!\'?"'A?XE>)O'VE:2;/Q9XEB@AU:^2ZF* MW2PJ$BS$7,8*JH&Y5!ZY/)SE:5^SE\.]$\ ^+O!5EX>\GPSXLNKN\UJQ^VW# M?:IKE0L[;S(73<%'",H&. * /B'7KV#X$:5^Q-\>9Y?LFB1>%]+\'>)+C:Q5 M;*YT]&ADDQ_!$YFD/N%QGH?,OB/H5YKW_!./XQ_&+6K:2'7?BCXLMM9'G8\R M.PCOTCM(3_LJ/-*_[+BOTO\ %G[/7P_\5Y_[O_6^7NW?P[L&O M ']FZ]I-PMU97?\ ;.H2^5(.C;)+AE;Z,"*^C* /RZT+^U_^'=?[6']A^?\ M;?\ A.M:\S[-][[-YUI]IS_L^1YN[_9W5[?\>)OA*?\ @F'(?+QSYXGW;_XPWF[OXZ^H_AY\'?!_P *M'UO2O#&C)I^G:UJ M-QJVH6\D\MPMQ6Z+_P $_/V>_#WCZ+QE8?##2X-< MBNFO(LSW#VDW-A9V\16(0\;E>0DG) B))Z5^@GC[P'H7Q/\&ZMX5\36/]I: M!JL!MKRT\Z2+S8SU7?&RLO3JI!KF_#?[/_@+PCX\LO&FE:$;?Q+9:%%X9MKV M2]N)?)TZ,J4@5'D*#!0?.%WGG+'<<@'P%\"/B%'8_L__ +8/PJ;P]XB\)6NG MZ+KGB70=&\56!L;^WTZ[LYLPM"2=JQNJD$$[O.SGL/M?]BO_ )-(^$/_ &+% MA_Z)6N@\8_LZ?#SQ]XQU3Q5KGA\W>O:IX>G\*WMW'?7,/GZ9-O\ ,MV2.15. M=[?/C>.,,-JX\LT+_@FG^S?X:UO3]7TWX<_9M1T^XCN[:;^W-2;RY8V#(V&N M2#@@'!!'K0!Q'_!3W^V/^$;^!G_"/?8?[?\ ^%FZ3_9W]I[_ ++]IV3>5YVS MYO+W[=VWG&<,?AO97&J>'-/\*V$ZV_ MB**YCV2RIU:#7 M-,_TF:'[/>PY\J7]VZ[L;C\K94YY!JIXX^!W@CXC>,_"?BW7]$%UXE\*SFYT M?4X+J:VFMF)!*DQ.OF(<=YWS_\>_R;.F._7-?7_P"U7_:'_#&_Q2_M?[-_ M:O\ PA=_]L^Q;O(\[[(_F>7N^;9NSC/.,9KBM2_X)D_LU:OJ-U?W?PV\V[NI M7GFD_MW4UW.Q+,<"Y &23TKV^/X/>$(OA*?ADND8\$'2CHG]E_:9O^/,Q^68 MO-W^9]PXW;MW?.: /@SXPW4.E?L;_L2:M>S1VFFV'BCPE-=7B@*22>!BO8OVC9H[W_@H1^RK8P2)+>6T'B&YF@5AOCB:RPKL.P)C< ]RI K MZ(U/X%> ];^$4/POU'PY;7_@2&PBTR+2+IY)%C@C4+&%D9C('0*I60-O! 8, M",URWP5_8[^#O[/&MWNL> /!%KH>K7<0@DOI+JXO)EC!)*H\\CF,'/S!,;L+ MNSM& #\W_ WQ3^.WPB_91\>:QX9T;P;JOPHN?%.K:=JL]Q9W5WJ]@D\ACFN& MB\Q(6B7OV:_#GB/3/V+OA)X>\6RZUHE_IGB+^SO%$0,?G M2O;6]S%!? '@;6/!NB>'H8/#&L2W4U_IE MQ++=17+7((G#^:S$JX)!7.W!P *YWPK^R9\*_!1\!G1_#4MM_P ()+>S>'!) MJM[,-/:[ ^T;1),VX/@?*^X*V'C7P[ M\+[OPAXF,5OFD9VYJC9_ 7P'IWQDO_BM; M>'HX/']_9#3KK6$N)@9H $ 5HM_EDXBC&[;NP@&<"N_H **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHJ.XMXKN"2">-)H95*/'(H974C! M!!Z@CM0!\6?#'XBZE-\=]-^*LOAG7;3PKX^U.Y\/#Q#<7-D^F7%EE$T9XD2X M:=2SVTF-\*J6U&3YC\F>8\+?%KXQ>)O!_A:\E^*VH6U[XA^'NL^+))8-%TS% MK=6,D,<*0JUL?DD\X&4/O)*GRS"& 7[CF\$>';CPW9>'I= TN70+$0+:Z4]G M&;6W$!4P".+;M7RRB%, ;2BXQ@57M?AMX1LH+6"W\+:+;PVEE+IMO'%I\*K# M:2E3+;H ORQ.54L@^5MHR#@4 ?+>K_M!^.=0?6O%*$3&7-BD9)8^[(8@@'@_P"SUX]\8:I\2]#TK7?B M"WC33]:^']EXM,,EE9P_9[BXF528FMXT/V<@-Y8?>P^;,DG!6E%X,\!?$CQ? M\>=2^*UM8WE]X:U 1VU[JF/.\/:.--@EBNK-VYMNZSK>F7-QJ.KZI&(IKJ>PT^R"KN+MB*QM;>(L[$%I&1G;8@+850 M.Q\4_"CP1XXUK3M8\1^#M \0:OIV#97^J:7!: /E MCXG?'_Q)H/B/3[CPAXL\5:IH^EZCX7TBX%QI>DV^GL;Z2V9UO_M)6_DNI;>Y M$G^BQ1)'E R@K*1@>./'GBKQ)XC\&>,=0\6217=GX_\ $UA8^%&M;41Z6+'2 M]7AAE4B/S6=DCCD?S7=2;A-JJN ?L36/A)X&\0^(I-?U7P9X>U/79(D@?5+S M2H);IHU8,J&5D+%0RJ0,X! /:DN_A%X%O_%%SXENO!?AZY\17)!GU>72H&NY M<0M -TQ3>V(F:/D_<8KT)% 'R3=?%WXMMX0^'EG9>*/$>JZQKW@63QKA9;ADM\0NMZT$0L83+EP@:#[W[ NH V1NGU.S?RA2M-;6O$(D>1D(V[8N6Y(#?'/CKQ-H_Q@ M\/>'KW6;CQ_/X,\:M+87]U!;Q7<[2^%]2N/LLPMHXXBZMT*HAVRH""1N;Z4^ M*7BCPWX,U?31/X.F\7^*_$\4FCVVG:7:6K7E]:QI)-+$\MQ)%$($4NQ$DBJ2 M^ "S@'AO#WQ ^%_AOP%H\_AKX:+8WNG>)I=%L?!FG:5I]G>V.M^7)YT<8:5+ M:.7R#*YE6;:\;'8[[U# 'SEK_BO7II-'\5ZGXSMO&VJZW\.]+U=H[W3;&2&S M^TZWI^^.*)8MA@!+B/S!)(K(Q,C$+M[[PW\;_B5IFIZ3XBO/%%SXDLM3\6>, M- 7PR^GVD<"PZ?%J4]H8WBA$QES8I&27(97^[N&YO0Y/$OPETK0O!>L^$?@_ M!XGD^)B-?V=MH.BZ9;3W8,27K27!N98$S^[C<[F)+QJ>2 :[SX:)J M5Q9>$QX*U7PYJ]XEU:7UC9)=Z-J4L/F33JT32P^9)#=B0RH[AEN"'))=: /G MW3OBI\38($M+;XHV_B"]UOP!I7B>U-[!I=FT-U>7L,)CLY/+6+,JEX[5;C>I MF=1))(#E?H7]GOQ/J7B/PAJD6LZGK6HZMI>K7&GW*>([.RM]1M64(XAG-BS6 MLK!9%820[5*.@(WJY/@'P&TWX3Z)J7G7_A;7GT+XE67_M+>--?^'OQ2^(^O>%M0 M32M>MO F@):WDMNMPL9DURYC8F-N&&UV&..O!!P1:E^)/C_2/'.H?#"3QOJ- MV9_'-GH,/C&>QL%U&SM)=$.I%0JVZVK2&6)HE9H3\LI^5F ->Y^(]:^%.I>. MSX5U^_\ !MUXSU.VB@.B:E-:/J-W!&S3Q)Y#GS'16#R*,$ [F'.37F!^._P9 M^(/A3Q;>"[ S^*;3QK/"TUK)KMDL2K=/%*\;%A$?+$JE"D@3:HD5\*@^ M4>6?M0Z3=:EXI^!3V^M7VE+'X]@#1VB0,LO^@WC9;S8G/1&3Y2.)7_B",K[' M4? GB+3-=\'^(? DWPF>#PZA>#5X-,@']BP.>8I[:6>%(8&8Y4NIA,BN%3>K M'J-:^)WP8\=>$;;5]7\6>!/$/A>'4/W%_>ZE97-DE[!&9_ED9B@FCC5I.#N5 M06X S0!\B?"OXJ^.?@3\#O"NKZ?K4GB73[SP1XJUF#PW>64"VMG<:?+&\!B> M-%G96$C^:))7W$DIY8PH^B/V:/&GCO5?%/B70O%MWJFIV-OING:E97GB.?0E MU/=-YRR#R=)F>,6S>2CQ2.%8EI5W.$!'I-K+\.O#G@BS\9Z?%X>MO"NAZ9+0HM#L;*36+F\<06J0"VE:%YWD"Q%)'1X\H91&I5B >+>*O"NEZ'K>N M?$:6TT3Q9ITOCF)8_'FF7+Z;XST:Z.HK:MIRK-;N+B&([;?R_-A#VY91&Y(9 MZUEXXM_#/[54'Q)UJWC_ .$8\4>);OPQX?!E_AGJGQLD\"Z+K-EK&F17-]J":%;' M4;ZW9H\13&159BK)'E)&X,0[J* /#/ 7P(OOB1J7CJ]TWP%X"L+P_$;5I5^( MDURP\168AU9G8PQK99W!4*)_I0&&R01E#[9^T[\+9_B_KWP[T=+_ ,$"WT^[ MO=8DTCQO8MJ<%Z4M6@5EL1+$)Q']J)9S(!&61L,2*]#TGQ_\-M$\5R>#],\2 M>%;#Q->7D\KZ!:7UM'>3W3 S3L8%8.TA!,CG;N.=Q]:Y;QEXV^$/Q5\72YXK/5(=+N+9.?M,3LQAE*RNJY3/^L''.0#Y.\2ZYIGQ* M^'OBCQ-?>'M-\//X;^$5KKG@:RTZ-?LVDZD+B_!N=,(4;&,MMIX1T ;881T? MGM-1A>Y\>:QXOO[=!\3K'XK>']"M+QXP+RWTJ6VT\S6D1^\+=H)[Z5D'RDF1 MSDKD?1T&L?!?XJMX=U*&^\!^,&T;4UL]$NTFLKXV-^%$JQ6S@MY"/$OBQ/&5KI/A_5?$UAYNEKX@AMH)KRV\MW26W%P 73:QD5H M]PP2P(SF@#Y]_:Q\4ZIX&^))\2:)=?8M:T?X3>--0L;GRUD\F>(Z;)&^UP5; M#*#A@0<<@BN=U3XP_$CP;>:SX;NO&]QJ;7\'@ZX3Q'>:=91OH@U:_GM;MD1( MEB*+Y2>5YRR%6<;S*.*^MM<\&Z!XFD>36-#TW5G>RGTUVOK2.8M:S[?/MR6! MS%)L3>GW6VKD' J"]\ >%]3BU&*\\-Z1=Q:C9)IEZD]C$ZW5HF_9;R@K\\2^ M9)A&RHWM@N^'H-&&JSM:Z3 MIQ6)1?&*S$A+,TFV/)%O)L1 24]$\._&CQ_J=M\-[:_\1:?;W7BVPM#J]Y9" MUNHM#9;I85GAD@$L#?;V/DHKRNJ2_<\Q5=1[U)\$/AS-X4?PO)X \+OX:>=+ MEM&;1K8V;2JBHLAAV;"P1%4-C("@= *USX \+FPU"Q_X1O2/L6HV\=I>VWV& M+R[J&--D<4B[<.BI\H5L@#@<4 >9_M'>.=5\.W?A'1-"U?Q'8:GJDMWWAW2/YVJ.MK#$ADC+Y5G;<@7: YKYG7]HGXL>)/AO=^*;?QW)I,^ MA?![3_&\EM::58O%J.H^??K)YQ>)RL4J6R!DB9,'!1DY#?%OB!%91 M>*/#6D>)([&<7-JFKV$5T+>8=)(Q(IVL/[PP:KK\+O!B6EY:KX1T);6\L3I= MS --A"3V9>1S;NNW#1;II6V'Y)/#6C^( M)+6*XAMWU2PBN3#'/'Y,?M#ZAHVO7&G6\VHW&FR:C);B.*5/MB:=(]O%.IF:,HNTE8T< MHN^N^O? 'A?4XM1BO/#>D7<6HV2:9>I/8Q.MU:)OV6\H*_/$OF281LJ-[8') MJSX6\)Z'X&T*UT3PWHVG^']%M=WV?3M+M4MK>')_%W@:?6M2N5\)P^([:7Q!I]NP1M->:]N+A8[@P2+<.4: MYDQYT )F6(BOLVB@#Y#\+?!SXJ?$&+X5VOQ8L;BWO/#FJ:B=1O\ PMJXTF!+ M9[#9:_96LI8IT3LG6(H:^E/"7P^TOX<>%[K2?"L+6K2R377VC4KF> M_FGN9,DRW$TTC33'.T9>0G:JJ" J@=110!\?^&/A%XSL=8TJU\,_#[5?AA#' M#J#>)H(?$<4WAC4O,M94\G3-/6ZD$)DNGBF61H+4JB2;R6*_A=\6- M>^+=M)_8.H1:!9^.](UYC8/HL&DW=G%%:QR7,C%?M\M\A#[][(ACA(0N5CCD MY[P9^S!\1[#P].TNBV]GK&F:+X5NM.@N[Z+R;O4-+UF]OY+1WC+E R/"OF8* M@R@C=M85]S44 ?/OQ*U7XL?$KP3XJMM(^'"Z#9C34CMM,\3MIMUJ-[>&XC9G MA5+B>S58X%D*"X)WS-'N"(A,GSSKW@_QQX(^)WA+Q%XF\+Z]XEN];^)MEJEA M::Q$Y8?H110!\ZZ/\"?$6N_LH^// M EX(/#.N>+FU^[M;%I1)%HYU"ZN+B"!WCRI,?G+O\O-X?BNO@R]O[^\\3ZMJ=SX/@OK)=0M[2YT^TL MX3YC3BV:0-I\+NHFP%G;:SL@5N@U/X*>*;3]BF7X>0VL.H>+Y-, DM+:=1%] MIDG$TD:2.5!52S ,<9"YXSBOHZB@#Y8/P-\5_P!O^*-0&@Q^;>_%_3O$]O<> M?!O?2XK2SB>;._( *7"[#A^6PN&YX5/V%QH4NA>&_%6@'QO M-?6K0WDNHJPM[B)(G:<*Y DFWQHRNV%WX+U]PT4 ?&WA/X)>.=0L-=%_X=\4 M6>HZ]9:-H#7_ (CU+0@=*2TEEG6^@@TR&-/]$8@V\A9IC*T8,44:%Z^E?@[H M=]X5^'>D:!J&F)IMSH\?]GEHI \=X(_E^U(=[N!+_K")&,@9F#%C\S=I10 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%> M9?M(?&A?V?\ X/ZUXV;3#JQLF@A2!IO)A5YIDA1YI,'RXE:0%FP2 #@&@#TV MBOF1OVIO'=G^SII/Q/F^&NE3P#2+O6-6G;Q9;P:>D$*AHFMI429Y7N0&K.SL;*SOKAM:\2FUUB6.>R^VM]FTU;:1 MIS%"59_WJCD\_*: /HBBO#/@!^TQ-\:-9BT[4/"Z^&I=1\.V?BW1_+U'[8;G M3+F22.-IOW2"&8&-2T8,BCS!AVP<>YT %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %-O 6J:-X<\0KX9U:Y0+%?2V,=Y"1GYXI8G M^]&ZY1MI5@&RK BNNHH ^)M/_P"">.LVOPN\">#?^$^TD:/H^JW.OZSXM?$]WINF^&H[&\GU"&S-N,7B39,))#;98Y9=H$?G%0,?0]% 'AGP _9GF M^"^LQ:CJ'BA?$LNG>';/PEH_EZ=]C-MIEM)))&LW[UQ-,3(H:0"-3Y8PBY.? M0/%6D6$/C3P;J<=E;IJ4NI2027BQ*)GC^PW1V%\9*Y53C.,@>E=G7+^+O^1@ M\$?]AB3_ -(+R@#J**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ KE_%W_(P>"/\ L,2?^D%Y745R_B[_ )&#P1_V&)/_ $@O* .H MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **I:U(T6C7[HQ1U MMY&5E."#M."#7YJ:/'X4\0?L=ZEXETSQ7\1+[QUIGP^;7+[Q%%XTU/\ L^#5 M!:J_V?FZ"O/N8N8T1E0*0Y0E58 _3BBJ6BR-+HU@[L7=K>-F9CDD[1DDU=H M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***S?$GB72?! MV@WVMZ[J5KI&D6,1GNKZ]E6*&%!U9F8X H TJ*X$_'[X:1^#M#\5W'C_ ,-6 M7AO7/^09JE]JL%O!=MSE(VD9WDJQ0PQCDLS,0 !ZFL+XB_%#0_ACIUI-JKSW-]?S?9M-T MC3XO/O=1GQGRH(ARQQR2<*HRS,J@DSM6'7FB_8P^ \,21K\(/!A5%"@OHL#' ]25R3[FO9J* & MQQK%&J(H1% 5548 '8 4ZBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ KQ;]L/PMIWC#X >(+#5-/\ $6H6Z26UTC>%;=+B^MI8ITDC MG6)\^8B,JLZ!78H&VJ3BO::* /S(L-2\<7/[*G@KPA_PJTV>M^+EU/1YO'VG M> KJX.G:%*(UN+Z:UMH))1'_ (::/X3U1=5T^6R$^JP7%PT@BWJ!<*BL3YR;D/FC M:QRV/I/Q9%J \:^#)'NK9M,.IR!+<6S"82?8+OYC+YF"N,_+L!Y'/'/:5R_B M[_D8/!'_ &&)/_2"\H ZBBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHJ*ZNH;&U MFN;F:.WMX4,DLTK!410,EF)X &230!+7FGCCXN3VOB%O!W@G35\4^-2@:>, MN4L=(1A\LU], =@(Y6)-O$7QWE6U\ 73Z%X!D!6Z\<;<7%\. M,IID;C!4\C[6X*?\\ED^^OI'@3P#H/PU\.PZ)X=L%L+!&:5OG:26>5CEY99& M)>61CRSN2S'J30!@?#CX2Q>#[ZYU_7-4E\6^-[Y-EWK][&$*1YW?9[:(9%O; M@](U))P&=G;YJ] HHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "N7\7?\ (P>"/^PQ)_Z07E=17+^+O^1@ M\$?]AB3_ -(+R@#J**** "BBB@ HHHH **J3ZM8VLK137MO%(O5'E52/P)J> M">*ZB66&1)8VZ.C!@?Q% $E%1RSQ0#,LB1CU=@*CM[^UNW9(+F&9EY98W#$? M7% %BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ KB_C3\0V^$GPB\9>-4L1J;^'])N=36R:7RA.8HV<(7P=N<8S@_2NTKY[^, M?B.?]HWP=XM^&'P[ACU2UU:RN='U;QC*W_$JTO. MA&T@'*?$;]JGXI?!JP\-:GXQ^'OA 66MZE9Z?;V&B^+9KG4[GSY8XS]GMWLH MQ(RB0$@NHZ D9%>F6GPQU_XM74&J_%18;?2H91+9>!+&?S;),'*O?R# NY1P M?+_U*$<+(0)*\>T_]C3XDW-U:OXD^)'AG7)9-6TS4=2U=O#$XU.ZCLKR*YCM MTE:]9((MT*@1QQJ@R3MR23]B4 -1%C1410J*,!5& !Z4ZBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "N7\7?\C!X(_[#$G_ *07E=17+^+O^1@\$?\ 88D_](+R@#J**** "BBB M@ HHKQ/5]>UGX_ZK=:%X1U2XT+P!93M;ZOXJL7*7.I2(<26>GN/N*""LER.0 M=R1?,"Z 'R-XQ\?? JR_:'^-FE^,_#/@/Q3XWNO$\/V6[\9SVMM9V5JNEV2% MI;F568J)EE7RH5D?<&RJCYJ]4_8G^$=OXX^!BW%QXSU/_A$SK^MK8Z%X.O3I M6E+$-3N!NBEM]MP\;8RJF;:$*@+U)^L?#W@#PUX3T:TTG2-"T^PTZU01PV\- MNH"CUZ9))Y).2222236Y!!%:Q+%#&D4:]$10H'X"@#S&']EGX/QG=/\ #3PO MJ/6:* /)?^&B-.\-_N_B#X=UO MX=.O#7VJVXN-,^OVZW,D*+W_ 'S1GK\HQ61XA_:BAB\=3>&/!?@;7OB;)!I5 MKJ\VH>&+O3S:I#<231Q8>:YCW$FWD^[D=*]QKY!^)_[,?C#3OCQKOC?X:>'= M$L;;5M(LK8W&G>)KGP[$=5\.:F-*O],UIK=I4E-O#.I#02R(04G3^+UKT>OD[X(>&_CE M\#IO&_B'QOH.E^-XO$>LIJ5Y'X>U$2ZK J6EO;B0(;>WAG^6 $HBQMD?*KE@ MH^C_ -\0?#WQ)T4:KXOS_ /V8/$@TW]H#XD7'PF\#?#C5=%/A_1EO;3P! MXE5;1)!/?X9&-HB/*0<,K%-H6,[FW$+]6V/[1'AZSOH-/\9:?JOPWU*=Q%$G MBF!(;6:0\!([R-WMG8G "B7<: /4Z*3K2T %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%(S!%+,0J@9))X H 6N9\>_$?0/AKI4 M5[KM[Y+7$GD6=E!&TUW?3'I#;P("\LA_NH">I. ":X>]^-&I>/+V;2/A/IUO MXB>-FBN?%=^670[%U.&4.I#W<@Y_=P?*""'EC-;_ ("^#VG^$M5D\0ZK?7/B MWQI<(8Y_$.JA3,B'DPVR ;+:'/\ RSC SP7+M\Q .8/@_P 7?&_]]XU^T>#O M!,F&B\(V-SMO[Y?34;B,X5".MO V.MZ5I-CH.FVVG:996^G:?:QB* M"TM(EBBB0>&O$] MC]OTJY9)"J2O%)%(C!XY8Y$(:-T90RLI!!% 'Q1#^TM\3HOV1/ 7B7PCXEC\ M0RIK5KIOB7Q-KVGK:ZGIX:_M85T\VI#)-<$7)5KD@*8X6;;YDJLOIWC;XX^* M_ W[0.NR^)Y?&VA_#N'4[+1- >UT[34T;4KU[ W#)/+-$UZ5DE_.>[F,]S=1SK.MQ-,K!WD,J*Q).# M@+C: M6[C]GCX?W?Q /C270F?7&O%U%U-_<_8GNUA,"W36?F?9VG$9*B4QEP M,8;(% 'CG[)OQE\;^-/%.CZ=XLU]O$47B7X?Z9XX0R6=O;C39[B>9)+6'R8U M+0@"/;YI>0;3EVW<>[>++^=O&O@RT.G7*6ZZG(XORT7DLWV"[^0 /OWQQV[F2\N+D1P1L[1V\(FD<0PH99"L,6V- M=YPHK4\7?\C!X(_[#$G_ *07E '44444 %%%>9?%KQOJJ:CIG@/P@^WQCKR, M[7P4.FBV(.V6_D4\$@G9$A^_*1_"LA !C^/K^^^-7B"]^'OAN_GL/#MC((O% MNO6;E' (#?V9;2#D32*1YKKS%&P (>12GK.C:/8^'M)L]+TNSAT_3K.%8+:U MMD"1PQJ,*BJ. *R_ 7@71_AKX2T_PYH4#0:=9(0IE65SR\CL M6=G/+,Q)Y-=!0 4444 %%%% !1110 4444 %><^/?@Q9^)=:/BCP]J$O@WQV MB)&OB'3H@QN(T/RP7<)PMS#U&U_F7)*-&WS5Z-10!YEX,^+MT?$$7A'QYI:> M%/%[Y6S99=^G:T%&6DLICC)QRT#XE3GAE <^FU@^-O N@_$;P_-HGB33(=5T MV5ED\J7(*2*=R21NI#1R*P!5U(92 00:\S_X2[Q-\ RT/C:XNO%?@!6"6WBR M*$R7VF)P NI1H/GC'_/V@X',JK@RD ]JHJ"QOK;4[*WO+.XBN[2XC66&X@)O$VD^#=!O=;US4+?2M)LHS+<7ETX2. M->G)/J2 !U)( Y- &G7D>J?%?5_B#J=UH/PLAM;\6\KVNH^,;P&32]-D4X>. M)00;R=2""B,$0\/(I&PYZ6GB;]H813WJZCX*^&,@S_9DBO:ZOKJ'O/T>TMF' M_+(8FOZ-HNG^'-)M-+TJQM]-TVTC6&WL[2)8HH4 P%55 "@>@H Y M#P!\'-$\"WLNLRO/XB\7W4>R]\3ZP1+?7 _NJ0 L,?I%$J(/[N>3VMU86U]M M^T6\5QMSM\U V,]<9J>B@""UL+:QW?9[>*WW8W>4@7..F<4W4=.M-7L9[*_M M8;VSN$,%?&5LF^X\.:P%2 MX*CK+ P)2YAS_P M8BRC@-M;Y1WUA&"Y]0\,>*='\::'::SH.IVNL:5=+O@O+*598I![, M/3H1U!X- &I1110 4444 %%%-EE2&-Y)'6.- 69V. H'4DT .J.>>*UB:6:1 M(HUZN[!0/Q->::E^TK\.K2^FL-/U\^*=3A;9)8>%+2?69XW_ +KK:))Y9_W] MH Y.!S7S_P#MK?$_4/$WP+*ZI\,-3TWPE_PD&AO>W_C"[LK.TEA&IVQ9)(Q+ M+*L; ;6,D:[022"!@@'V)!JUC=2K%#>V\LC=$256)_ &K=?F=9WW@R]^.?P: M;X4:+\"]'\4GQ!<%8_!>KF_F$?\ 9EYN%P8[:!O*Z=!]_9]:^W/L_P ;Q_R_ M_#\^WV*^'_M:@#U6BO*O/^-]O_RY?#^__P"WN^M<_P#D*3%'_"1?&V#[_@+P M)=K_ 'H?&=Y&W_?+:41_X]0!ZK17E7_"9?&!>&^&'AUCZQ^,7*_K8 _I1_PD MOQJNOEB\ >"K'/\ RUNO&-U)M_X FF\_3)+K2=0UW M_3;/3X-.TORO/GGN;B.WB53*Z(,O*N2S 8KA+#]IV_M_&GA;0/%7PI\7>"(O M$5W+8VFJ:O/IKVRRI;37!#^1=2,!L@DYVXXKE_C]\*_CS\6?AY_9UEK?@;3[ MVVU/3M4@L;>TN@TDEM=Q3K_IJR:A?G5/%4FJ).AM)XEC33TT^VM0?,DC;=LW )C."00#WZ]_:# MTO6[N;3?AWIES\2M5C8QR2Z-(JZ9;..HGOV_P;D>#=%+PZ,H_NW!.)+WMQ+MB/_/$'FO6;.SM].M8K6U@CMK:%0D< M,*!$11T X ]A4U $-G96^G6D%I:016MK BQ100H$2- ,!54< # J:BB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "N7\7?\C!X(_[#$G_I!>5U%6>>5(((E+R2R,%5% R22> .] ',?$[X@V MOPS\(7.LSVLVI71=+:PTJU(^T:C=R';#;1 \;W8@9/"CZW>H28PX&([:'/(@@4[$'?YG/S.Q/-?#BTF^,'C./XG MZI"\>@V2R6_@VSDR UNXVR:FZG^.#,X'LE !1110 4444 %%%% M!1110 4444 %%%% !1110!Y!>_"'6?AS=7>K?"B]MM-CFD:YNO!NJ,W]CWDA MY8PLH9K%V.26B#1DDEHF)W5J^%_CSH&J:O!X?\0Q7/@;Q=)\JZ)XA"P-<,.# M]EFR8KI<]#$S''W@IXKTJLOQ+X5T7QGH\^D^(-(L=BZ)=ZG*\4)C61RMO$Y5098Q MDX^\*/A=\?\ PE\7]:UC2-!.L6^J:3!!F2I%,9%C<+<1(64F*09 M&?NFOG[XP? &_P#A]\9O!7B3X?>%_'=]H-OHNIV-U!X1\0QI)9322V;1"..^ MN!''&RQ2;EC&"53(X%'P?^ -_P#$'XS>-?$GQ"\+^.K'0+C1=,L;6W\7^(8G M>]FCEO&E$D=C<&.2)5ECVK*" 7? Y- 'O'B?X]:5;ZM/X>\&V4WQ!\71,$DT MS1I%,%FV<9O+OF*V SDJQ,A'*1OTJ/PU\'K_ %?7['Q7\2-5B\3^([*0S:?I MUHK1:1I#=C! 23+,HX^T2Y?KL$0)6O0_#_AO2?"6DP:7H>EV6C:9;C;#9:?; MI!#&/140 #\!6C0 4444 %%%% !1110 4444 %>9>)?@1IEWKEYXC\)ZKJ'@ M#Q3=R>==:AH;*(+Z3CYKNT<-#.2 791(!PLB]:]-HH ^0OV@O'7QM\+W_PV M\,W$SVB:SK[V<_B+X>?9S?7T26-U-Y8LM01D@;=$KG$LH*HP!W$*<7P9\;=< M^''Q^\/Z1XA\5?%7Q'X>U+0-3N+G3O$?@EFGBN(9[18I(EL+$.Z;9)=S@LB[ MDW$%AGZ>^*WP9\,_&:PTFU\21ZA_Q*;W^T+&XTO4[C3[B";RGB+++ Z.,I*Z MD9QAJP_A_P#LT>"_AMXSC\5Z8_B"_P!=BLI=/BN=<\17^I^5#*\;R*BW$SA= MQBC)(&?E% #)OVD= DB=M-\+^/\ 5W"DJD'@K5(-Y]%:X@C3GUW8]Z7_ (6K MX\UKC0/A!J\2G[ESXHU:RTZ%O?$+W$RC_>B!]J]7HH \G_X1GXP>*/\ D*>- M-!\%VS=;?POI9O;I/I=79,9_&U_PIT?[-'@O4)$G\5+J?Q"NE(;=XOU"2_@R M.01:,1;(<\_)$OZ"O5J* *NFZ79Z+8PV6GVD%C9PKMCM[:-8XT'HJJ /I4T M\$5U$T4T:2QMU1U# _@:DHH J0:38VLJRPV5O%(O1TB52/Q JW110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %"/^PQ)_Z07E '45XO\ $";_ (7?XSG^&UA( MLGA+2V23QI.IXG#*'ATI2.\H*R3>D)5#_KP1TGQ?^(%_X;MM.\-^&!#<>//$ M;/;:/#.I>*W"@&:]G _Y8P*P8]-S&.,',@K>^'7@*P^&WA2UT2QDENF0M/=W M]R=UQ?7+G=-G.!@ '1Q1)!$D<:+'&@"JB# 4#H .PI]%% ! M1110 44G2EH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH ***\UUS]H+PCX>^-N@_"R[N) MQXFUBS:[A=44V\1PYCAD?=E99%AG9%P3"KS3)"CS28/EQ*T@+-@D ' ->FUR/Q7\*:YXV\!:IHWASQ"OAG5K ME L5]+8QWD)&?GBEB?[T;KE&VE6 ;*L"* / ]2_;?G\'_ [X>^+O$7@B>?Q+ MXMN(88-.T6\6ZT_[.US! VH&\0.L4!^TP%4D E+S)&5X>1>HUK]K6WT+XI7> MA7'AY1X/LO$4?A*Z\1_;F\^/4WL#>A1:"$[H0FU#)YF[>>$*C=7.>#?V)!X= M_9<@^%+^)H;:^FUNU\07E]9V!-I%-'>0W+06\!D!2+$(0$MG)9\<[!T&M_LC MPZ[\3KW6KCQ+GPA?>(D\6W/A[[ ?M#:FM@;(,MV)1MAV;7,?E%MZ_?VG;0!I M? #]IB;XT:S%IVH>%U\-2ZCX=L_%NC^7J/VPW.F7,DD<;3?ND$,P,:EHP9%' MF##M@X^1OC'_ ,%.O%GA3Q8TL?PGLKG2/#WB/4;:VN#KY$EZMNTUCYA00'RU M9YN,YR4<#(1F'US\ /V9YO@OK,6HZAXH7Q++IWAVS\):/Y>G?8S;:9;2221K M-^]<33$R*&D C4^6,(N3GX+^*/\ P3V^.5QXP\:VE@/AS>Z+XV\3WMUI\^J^ M9-=VBL+Z:,*Q@/E8268X7.'*GL#0!]N?LR^/- \6>%],^)7BGQ+HG_"=>.;2 MWN1:&^C4Z=:/\UMIT",V[";\L<9DE9V(^ZJ^F^(/C_\ ##PG9Q76M?$7PII5 MM+(\,-/ W@A_ MB)H=I]CFUS2M-AEE<1LRQ2"X:%9-YCVEC_>+GP*V M]8K6W2)0WJ H S0!Y_X8_:>^%OC;QE;>%?#OC/3]>URYB>:&WTT/<(Z*A=B) M44Q_=4G[W.,#FL_5OVJ/!^FVOFPZ+X\U*4GY;6T\":SYK#GY@'M5!7C&PT4 >9>#?CM!X[\5RZ-IO@;QU:VT=OY[:SK/A^72[/.,^4#=>7(SYXX0C/ M?'-2!C!/N]% M 'YS_%GQ=X__ &U_CQXC^&.EWFL?#'P#X+M;;5+B>ZLXK>_.J& 7%BTRRG?M M$IR$C[1!R260IZ-\"O\ @H-<^-/@3I>OZU\.O&FO>,+6Z;2]5M?"_AR[NK=Y M8Q\\ZSK'Y* _*3&7#*6Z$8)]@^+?[$GP2^.?B;_A(O&?@&RU+7&96FO[>>>T MEN,*JCS3"Z>9A54#=G &!7I'PZ^%?@_X1Z+)I'@OPUIGA?3)9?/DMM+MEA22 M3:J[VVCYFVJHW')X% &!#\;89+-=7D\)^(;3PE]A:^?Q'>QVUM!#M!S%)!+, MMTK[AM_U.W/.[;S7 :?^W?\ "J^\.'4VU5(+L7?V5M$&H:?/J*C9N\TPPW+_ M +OJND:&UY_9 M_P!NUB<6$8N-N[RCY^S#XYP>36[XQ^'WAGXA:-%I/B;0-.UW3H95GBMK^V25 M(I%!59$!'R. S ,N" QP>:Y32?V=O!'A_4[2^TBVUC2'MI5E6WL/$.H0VCX. M=LELLXAD0]"CH5([4 =_;:SI]Y>/:6]];3W2(LCP1S*SJA (8J#D @C!]Q7, M_%_XK:)\$_A[JOC#7Q:!IL;?EQ'*@(/.>,?G=^U M3\-W^%7QC\&Z'\5H=4\4_!.WTV:[TZ/1?+TVR.J,61EE-]?-"KK&$8#*@@X2 M/)E9@#]0_!WBW2_'OA/1_$FB72WNCZM:17MI<(>'BD4,I]C@\CL:V*_/C]CG MQK\3?"6B^*[GPU\//&!^"LUQ=7/@ZPO8+*XDM%F.X#;]K2=H$E$FWR_-WK*" M,?>KZB\$_'W4]<\.6T]_X(UJZUF&Y%MJUGHUE.G]G*S$13/%?QVLSHP&2(8Y M=O8LOSD ]EHKGM&^(7AKQ#XCU3P]IVNV-WKVEX-[I:3K]I@4XVNT1^8(<\/C M:><$X-=#0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 45YK\+?V@_"'Q@\6^-?#GAZXGDU#PI>"SNS,BJEQRZ&6 A MCOC$L4T1; ^>)QC&">ZU;Q!I>@V=W=ZGJ5IIUK:1&>YGNYUB2&,=7=F("K[G MB@#0HKBG^,?A)[;P]4B01LQEMT=(U5C@NY51A MB3\IQ*?&VM75SXAMK'P1K!ETU3]EN;^:UM[74I <;8F$KR*.^YXU&.A)XH [ M"BN)%W\0]0B\.2IIOAW1#(^[6K>>[GO6A0./DMV6.(.S)N^9MH4X^5A3SX5\ M77K>(X[SQR]K!?-C2WT?2H(9],0,2/FG\])G(PI9D ZD*N> #LZ\U^%W[07A M'XO^+?&GAWP]<3R:AX4O!:79F15CN!N=#- 0QWQ"6*:(M@?/"XQC!/G7[7,O MB#X5_L[ZKXNTGQ1XGU+Q#X32S1QK-<1QI$DS+OR(D"[R H4 MEA7R[X-TI/"?Q4^$?AKPW\+_ (M^$K[5(9-&OW\1:Z;07^D'$MRT,J7P:">& M8K=&.'#$>=D$$T ?IC17&+\*].BE\/-%K'B:-=$XA0^(;R07(#;@+G?*QN.> M\A8D<$D<4G_"O-0MT\1?8O'7B6UEU9A)"[O:W TQMY8_9UE@< $';MDWC:!C M!YH [2BN-3PWXQMI_#WD>-(;BWLP%U1=0T=))-1&[)96B>,0MC@$*P'!*GNS M9\1;6W\1/YOA?4YS*&T2'RKFS58_,.5N7W3$L$*CV4S+C!!^0YR"!U-'5OB#XBT#0O%^K M:EX.^QV>B(T]K+)J]N$OH%+&20L<"$*B[SO[''44 =]2U^?_ (1\=^,O#/CO MPW^T?K$"6_A_QW7G=$09G?C_C\D!"X)'V2Z_$ MC4+3Q%$LGA?0;DR*NB76RYU)1&)#N:YBS;Y8Q[<*CX5BHYYX[:%Y M9I$BB0;F=V"JH]23TKDXO!_B"ZU30=0U#QOJ"MI\"I>:=I5G;6]CJ$W.Z1UD M2690<_<28 8[FHK;X-^$$T_5K"]TM_$%EJMPMS=V_B.[FU:-W5BR86Z>0*%) MRJK@# P.* +TOQ+\,1>*-*\.C5X9]:U2 75I:VRM,7A*LPE)0$*A"-AV(!Q@ M$FLB'Q]XE\1^&+G4/#G@:\@U!+D006?BRY72UFCQDS QK.ZJ.F&C#$]@.:U+ MWQ_X,\'ZII7AFXU_1=)U*Y:.TT_1C=11SR=%1(H<[B!P, 8 ]!5;QQXI\7Z1 MJ%K8>%O!!\123QEWU*]U6&QL+4(5#8V@P#..>O'YGZ;\5-9F_9U\6^*=<^'_Q M%U3Q9K/B)-9MOB//'8/:6=]:SB'3L2I-&AM8PBQM*JK$?-GQA6 K](_!MA\0 M)M0N+GQEJ/AT:?+ T<>CZ'9SEHG)'S-=R2?O &&!#'][/:OF'2OV./B)H_@ M[4OA=;ZGH+^!-0M?[%E\47.K:C/JB:-N'^BQ6#YMHI?+41^;&ZJ>7V;CB@#Z M\\&ZGJ>M^$=$U#6]*?0M9NK*&:]TQY%D-I.R R1%E)5MK$C()!Q6S340(BJ. M@&!DYIU !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %"/^PQ)_Z07E '44444 M%%%% !1110 4444 %%%% !1110 4V2-94*NH=3U5AD4ZB@ HHHH \=\3?LH? M#_7;;4HM.M+_ ,(C459;J/PW>O:VLVXY8O9_-:NQ;YMSQ$YYSR,6.OS0);ZS&9-P2YG%M))$RK\JO"H '_+,C 7UJ MB@#YXA_:-\?>!H-7?XE?!SQ#;1P7""PN_!:#6H[F%GPSND9W0B,$$L^-P5CA M>%/KEI\4O"MSK^DZ!+K5K8>(M5LEU"RT34'^S7TT)4L2L$F')4*=R@97'S 5 MU=<[XV^'7A;XDZ;%I_BOP[IGB.SAD$T46IVB3B&0=)$W [''9EP1V- &-\8_ MCAX*^ ?A)_$?CC6X]&TW<4B&QI9KAPI8I%&@+.=JL3@8 !)( )JK\"?CWX1_ M:)\#1>)_"-W*\ D-O>:?>((KS3[A?O07$63LD'ID@]02"#7QI^U=^Q*NB^,_ MA=-\+/A]XFU;P=9W-]/XBT30O$0BC56^S&,01W,[JR7X+:AKWAB-0X_P"?:X> @9S_ !DX MP0"?E !Z[17ENB_&;7M2\(SZO^#-0CM68 $QJQBW$YR,[ M=N0?FQ@D ]NHKRNW_:,\.W'PU/CE=%\5#1EG>"2(Z!<_:8PJEFE:+;N\H 8\ MP97/&,/B _@RZL$TG5+?1)I-:U M#3[Q)G@DN;=CO+*L2@RGJ9%SGAF^A=/_ &FH];\41Z1I?PN^)=W:RA=FM7'A MI[&R+$#@FZ>*5<$X),8'!.2,$@'M%%>7ZEXX^*$VCZ?-HOPOL?[1GGDCN+77 M?$\=JEK$ NR0O!#<;]Q+#:HXVG)Y&6^&A\:KSQ4S^(6\!Z3X:^SN%@TL7M]> M^<4PA\R3R4VAL$_(2P&/ESD 'J5%>,ZU\$O'7C"V4:W\;?$VEREOGB\'6%CI MEOMQ_#YL5Q,#[F9AZ =:VO!OP T+P3KFJZI::[XOOY-2MOLL\&J^)[Z\C"XP M6422DJ_4A@FL?&'Q3X@\+?$A/"]E?V&B?\ "20: MMX=NZUK4-,;5+NY.U]ZM-)*)26=E8EG8':00J&SFTW4I&T)K:>]M&0>7#E;@Q($D2-P1'N.""2", 'J-I^VA\ M(]3M+>ZTS7M4UNUN':*&?1_#6J7R2.HRRAH;9P2!R173/\=-.:UU*XM/"GC: M]2RLA>[5\+WL+W!.S$,2S1HS2G>/EP -K;B-IKTFB@#P"Y_:FUR[TNSN=&^" M'Q%FN9IC')::MI@LFA0'[Y8-("#U SGUQ78^./'/Q!\+7.J267@:'7=*:-H] M*ET>]^T7K3E 5:YMI5@2.+(8$I,[<+Q\W'IU% 'S]H?C[XN^*1X>T^\\*ZYX M:O&O#_:>JQZ+I_V,P%AMPCZK))& ,[F59&.G?V+M0B\06TZ7UE(5'FWI@FVK+%-MF6-BK,$*[&"@ M#]'=8\+>*?#_ (VUS4?!/PR^':C5 OVO7KW59+*^OR5!?SXXM/DW8;(^:5L@ M \=*];2-8]VU0NX[C@8R?6G4 N>.=U'PG\6-0U"Y:/XB^'=-L&E8P0V?A*0S1QY.U6DDOG5F QDA%! M/0#I7IM% '.^&]!UW3_#<]CK/B>76-4EWXU6&RAMGB##"[(P&3Y3R-P;/?-< M9_PI/7Y>;GXR^/[ACU(_LJ$'\([!<5ZK10!Y;\9_@K/\5?@??>!(_$M]:ZGM MM9K+Q!.X@ED"! W[R%-V N1G&#S7B7A+]EKXL^*_'OA_7?B/\0+ MG2K3PT9;BPC\/:W+J$\]Y)$\!FW7-JB0H(I)5\L(Y._EACGZ_HH YOQQXA>++SPG&9+>\=/]B>.\\M3]83^%>BT4 <9XW\0>-]$U"#_ (1OP?IW MB;36BS+)+KGV*Y23)^58F@9&7&/F,H.21MP,F/P1X]\0>)-2:QUOXB@#SWQ+\=?#'A#7+K2M4M/%$ M4UL0&N;?PCJMS:-E0?EN8K9H6Z]G."#Z5@?$#XQ^%/$/P)^)6O6>F/XLTS1= M"O;B]T?4],GMX[Q5MY',#)/&NY7"D' /!^E>PTR>".YADAFC66*12CQNH*LI M&""#U!H _+2#P-\,OAY)X&\2ZAI&B_$(:YJMCI^K>&H_A/\ 9[ +=,%SIMQ' M9AF:(L&57EE,R*"Y=8TK0-1AG6*0VNDZI!]@GD9,A$*O_ M *L,0,%AP#G%<1X,_91^%WP_\466OZ)X:>"]T]G?3H;C4;JYM--9P0QM;:65 MHK6\\VFW]QIK3NHP=QMY$8HV3F,DJ<\@X%= M+10!R_@CX7>$/AK:R6_A;PUI>@)*Q>5K&U2-YF/5I' W.QSU8DUU%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 5R_B[_ )&#P1_V&)/_ $@O*ZBN7\7?\C!X(_[#$G_I!>4 =11110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 5Y7\:_P!F?P'^T#>^'[SQE8ZAP,,B_-^[7D\ MC'N:]4HH \7^#W[(7PT^!/C/4/%?A+3M3M]>U"V:UN[N^UJ[O#.C,C$NLLC MMF-/F(SQ7M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!R?C_ .+'@SX5QZ6_ MC#Q/I?AI-4NEL[)M2N5A$\I_A7<>V1D]!D9(IUY\5_!&G^-(/!]UXQT"V\73 MX,.@3:I E_)E2PVP%O,.5!(PO09KY(_X*0^%9;J_\#^(=$\/:]JOB^S2XM+! M(M#36-$U17DAD_%C7!X7A\4V'B/Q9J MUK;ZWH5QX=CA\.6NF)H?E>=;:FBR?-%,B! +B-BY8&W(RY /LGPG\0?"WCS^ MT/\ A&?$ND>(O[/G-K>?V3?Q77V:8=8Y/+8[&X^ZV#5;Q=_R,'@C_L,2?^D% MY7S1^Q?X0U[3O%FF7UUX;U?PS8:+\,O#OA+48]6TZ6Q\_5[62Z-QY:NJB=4$ MB_OUW(WF?*SZMFTPZG($MQ;,)A)]@N_F,OF8*XS\NP'D M<\<@':4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!7+^+O\ D8/!'_88D_\ 2"\KJ*Y?Q=_R,'@C_L,2?^D%Y0!U%%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5R_B[_D8/!'_88D_] M(+RNHKE_%W_(P>"/^PQ)_P"D%Y0!U%%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !117Q!X^^.'Q(^&'[9=[:>+O$%YH7@JXLYF\,Z:FGQ M7.D:W&MJ'$#RJWFVUV9EF(D?Y2(2H4JP) /M^N7\7?\ (P>"/^PQ)_Z07E>! M_LH?%[QKXM\4Z=I'BWQ _B5=?^'FA^.XY9;2WMCI\UZ]PLUI$(8TW0KY:%#) MN<8;+MGCVOQQKD5KXC\+J;/5)Q8Z@UU^)$:6,1TN MQUR2Y^U6P<-X?OL>29T$QYA'(B\P^O'&3@5H_P#"Q=*_Y]->_P#">O\ _P", M4 =117+_ /"Q=*_Y]->_\)Z__P#C%'_"Q=*_Y]->_P#">O\ _P",4 =117+_ M /"Q=*_Y]->_\)Z__P#C%'_"Q=*_Y]->_P#">O\ _P",4 =117+_ /"Q=*_Y M]->_\)Z__P#C%9WB3XD1Q^'=4?2+'7)=66UE-FC^'[[#3;#Y8.80,;L=2!0! MW-%O_P#XQ1_PL72O^?37O_">O_\ XQ0!U%%O_P#XQ1_PL72O^?37O_">O_\ XQ0!U%%O_P#X MQ1_PL72O^?37O_">O_\ XQ0!U%%O_P#XQ6=X;^)$QUR+5FM8C>(GA^^PLVP>8!B$C&[/0D4 =S17+_\ "Q=*_P"?37O_ GK M_P#^,4?\+%TK_GTU[_PGK_\ ^,4 =117+_\ "Q=*_P"?37O_ GK_P#^,4?\ M+%TK_GTU[_PGK_\ ^,4 =117+_\ "Q=*_P"?37O_ GK_P#^,4?\+%TK_GTU M[_PGK_\ ^,4 =117#>&_B1')X=TM]7L=6?7GG!R* .YHKE_^%BZ5_SZ:]_X3U__ M /&*/^%BZ5_SZ:]_X3U__P#&* .HHKE_^%BZ5_SZ:]_X3U__ /&*/^%BZ5_S MZ:]_X3U__P#&* .HHKE_^%BZ5_SZ:]_X3U__ /&*/^%BZ5_SZ:]_X3U__P#& M* .HHKAM+^)$;7VL"]L=<2V6Z46)'A^^RT/D1$DXAZ^:91S@\#M@G1_X6+I7 M_/IKW_A/7_\ \8H ZBBN7_X6+I7_ #Z:]_X3U_\ _&*/^%BZ5_SZ:]_X3U__ M /&* .HHKE_^%BZ5_P ^FO?^$]?_ /QBC_A8NE?\^FO?^$]?_P#QB@#J**Y? M_A8NE?\ /IKW_A/7_P#\8K.TOXD1M?:P+VQUQ+9;I18D>'[[+0^1$23B'KYI ME'.#P.V"0#N:*Y?_ (6+I7_/IKW_ (3U_P#_ !BC_A8NE?\ /IKW_A/7_P#\ M8H ZBBN7_P"%BZ5_SZ:]_P"$]?\ _P 8H_X6+I7_ #Z:]_X3U_\ _&* .HHK ME_\ A8NE?\^FO?\ A/7_ /\ &*/^%BZ5_P ^FO?^$]?_ /QB@#J**X:#XD1G MQ%?)+8ZX-)%K;FW<>'[[)F+S>:#^YS@*(>HQR<9YQH_\+%TK_GTU[_PGK_\ M^,4 =117+_\ "Q=*_P"?37O_ GK_P#^,4?\+%TK_GTU[_PGK_\ ^,4 =117 M+_\ "Q=*_P"?37O_ GK_P#^,4?\+%TK_GTU[_PGK_\ ^,4 =117+_\ "Q=* M_P"?37O_ GK_P#^,4FF^+)-=\4VMO8VNH1Z8ME<27,E[IEQ:@3!X1$ TJ+G M*F;@9Z<]J .IHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "O&]<_9P^%.D?$J^^+FL:=!8ZA:1R:A>3WM\T>F12K#L>^DA9O M)6580RF4@87)//S5[)7@_P"W!\*5^+_[,WC?21;:MJ=W::;=:C8Z3I,DH:_N MX[:7[/%)''\TRB5HY5CY!DBB.#MP0#J/A[\.?A?\#E@G\.?8M$7Q(]OI]E+= MZM).+H*DDEO:6AGE;$:H9FC@AP@&\JH&:[/6/'GAGP[IVL:AJOB+2=,L-&=8 M]3NKR^BBBL69495G9F C)66-@&QD2*?XA7R_\4/@K=ZCXV_9?\9PZ5KM_K.B MZEIVG7<*B:2VTFT%C=-/*T(&V%GE,"22,,GR8%R,8/E'[6_P0^+'Q2^ ?B>^ MT_0/M^CZE?:GXAN_#T,]W;ZQ-KNF+9ZY)'%I5P;R/R]0>2-I(U@;.)2R*SJ$SE5)' KY0^+_B;Q MMX/T7Q7XY@^%LGB'XCZIK]CHV@"#1[K5[?05@LBCZB62V,S013W&H;9$B5Y% ME7"X=@,#_AFZU\.K^RAK'AZ+Q5XEG\,:K:Z5-BBB@ K/O/$&EZ=JNG:7=ZE9VNIZCYGV*RFG5)KK MRUW2>4A.7VJ06V@X')K0KYD^(GPBDL_VVOA-\0K&PUK4S<6NLPZKJ#&:XM-. MA2QB2V@4 %(%9VG<#AI))'Y;"A0#W'1/BQX(\33:[#H_C'P_JLV@9_M>.QU2 M"9M.P6!^T!6/E8,;YWX^XWH:=I'Q2\%^(/%5SX8TOQ=H.I>);6$7,^C6FIPR MWD41"D2/"K%U7$D9W$8^=?45\/>#K#7/BUKWCF_/@+7O -KJVGP>!/#_ (-3 MP??Z;#8:!-J,0O;RXN6MD@\UTDDE$4;G8H8U=KI.F7?Q9_:OU"RE\,^(? MA;X0\-?VQ8Z)/I?A6^LI=9U&[MVCO-5:_%L+:%0JGRBTA:1PCG)*+0!]B:1X M@TO7_MO]EZE9ZE]BN7LKK[).LOV>X3&^)]I.UUR,J<$9&16A7SK^Q-\-I/A1 MX1^(_A]=#OM!TJ'Q[JYTJ"^24-)9;HUAE1YL:[JEEHND6B>9<7^HW"000KG&YY'(51D@9)[UGQ?$/PK/H M>F:U%XFT>31M3#&PU%+^(V]V%BDF;RI-VU\10RR':3A8W;HI(R?C%?Z9I?@I M[O6/"NH^+K"*[MG:TTG2TU.YMF$J[+M+=@2YA?;+^[1W&S*HQ&*^4_AMX>U/ M1_!,DGB/X8ZMKOA+PS9>*-6MM%N-$FDO/$KW=Z8[1YK65#MN9X1>-)!L4+]J M0B.),)0!]5+\=?AJW@]O%@^(7A4^%EN/L;:X-;MOL(GQGRC/OV;\$?+G/M78 MZ?J%KJUA;7UCNE>*O&GACX1:[ MX[3X;ZKKWQF\;^)8;F.RG\!ZH+#P3NLQ:Q3;7LC),+>V0+)) C;V%#)+-*P5$4#)9B> !DDU+7C?[8?@_7_' MO[,_Q T+PQ;/>ZW=Z>/)M8T#M.JR(\D:H2 Y:-74(2-Q.,C- '?>'_B=X.\6 M:%#K6A^+-#UG1I[I;&+4=/U*&>WDN&8*L*R(Q4R%F4!0#OB%\5;WX,ZS?^,KIM(T[PM\,AX%U&.T\/VUD\HT]V=K1 M5D>(N\S-!G8%14*;E"@'W_H'B#2_%>C6FKZ)J5GK&DWB"6VO["=)X)T/1DD0 ME6'N#6A7C/[(7A(^"O@1HNG3ZAJ&J:E)<7=]J5WJ.C7.DM)>7%Q)/<;+:XBB MD2,22L$RB@J 0.:]FH **** &NZQHSNP55&2Q. !ZUR_AWXK^"/&'AVZ\0:# MXQT#6]!M9OLUQJFG:I!<6L,N%/EO*C%5;$B?*3GYU]12_%3PW;^,OA?XPT"[ MBOY[35='O+&:+2R@NW26!T982Y"B0AB%W$#=C)Q7Q?\ _X?>.==\6RRZI9: MQ/X:UZ_\)V,US>^%+GP^Z)H]M<7DCSVLTDC(-\5E;-)NV2N[*F42@#[)LOC) MX U(^(Q:>./#=T?#:NVMB'5[=_[+"%@YN$_&.@>/=$ MAUGPSKFF^(M'F9EBU#2;N.ZMY"I*L%DC)4D$$'!X((KX4\+>)'U+Q#\3?B/K M'P7\0C1]%T";0?"'PFB\!7\*WMI]NBF\^=WL_(,LUR(I/+CWF&/S&VN4=F^@ M/V)]'U2R^&>NZOXCGOI?%_B77[G7MHZC=P6&GVD+W%Q=W4@CBAC0%G=W8@*H M )))P ":LUXC^V?\+(_BY^S9X[T@V^JZCT>3Q?XZM/!U_J5S%:6L MB2QZ3"UM;2,LQF1G):L?#&CR%+,R-'!!)+YL]C:V:K$ H)4;CMC!(!]D7'Q*\(VGC6U\'3^*M$A M\7749FM] DU&%;^9 K,62W+>8PVH[9"XPK'L:Z2OAV>S_P"$A_:%^'?@W3?! M_B+PQ\/O"DVDZO/XIF\%ZC]J\4:E%9K!9I)<+:[8(X(F599+AE(P8\*JL1]Q M4 %%%% !7.Z+\1_"?B37-8T72/%&BZIK&C-MU/3[+4(9KBQ.2,3QJQ:,Y!'S M =#715\/>+K/5M5^)&NWG@#X:^(O#\DWA?5O#,XU+PZ]BFAW=SJ$4:3630J( M+I;B1WNY95>?:D*OOAW2*X!]::5\7/ NN^([;P_IOC3P]J&O7-JE]!I5KJL$ MMU+;N@D298E:^2+_3O^$@_:FTGPY;?#O6/"WP^\"7#7UO)9^$;H_P#" M7ZLU@UJI:\$ MHX(X28C)-,HR@IM?< ?97ASXB^$_&.L:SI.@>)]&US5=%F^SZI8Z;J$5Q/82[F79 M.B,6B;1Z]H1TI=( MN!J"NMM9F,""Y2X;[1,X?"$GB; M1X_%DT/VB/06OXA?O%@GS%@W;RN%8Y QP?2NAKX>^*GPZ\1#]I@-X6UU1)3'L,2?9_LK1^>99/E_=DF@#ZSU+XO^ ]& MUC3=)O\ QMX=L=5U*Z:QL;&YU:".>ZN%D$30Q(7#/()"$**"0QQC/%7=+^(G MA37/%6I>&=-\3:/J'B33%#WVCVM_%+>6B\M?#OQ*T36[C M2/AS\.+OP)J^C'Q#8VVN^/O'6G^$+[5)H]]^^HR:5!);6TC>:;R29RSD+$&+ M8W/BO7]&LEUC]K3PUJ/A_P"'>M:);:9#KT&M2:OH9L+.S>62)_MMI<1 0WA%-M?B3X1OM TW M7+;Q3HMQHFIF06.I1:C"UM=&..26012!MK[8X)G.TG"Q.3PI(^-O#?@^X_9C M\&?M#R:=\+/$/Q&CA\4V-[X>TJ]TZXU.?5[K[):M]M+LCM+MN=\KS+G#HV"& MP!9^&GA.X\/^ 8+WQ)X9UOXCV^DZ1X@\3Z]I#V\6#XA>%3X66X^QMK@UNV^PB?&?*,^_9 MOP1\N<^U=I:W4-]:PW-M-'<6\R"2*:)@R.I&0RD<$$'((KX9^%2&Z^'7B7Q= M\0O"7C&/QCXVUEKNZ.@> ;IW\&,=/-M;+;PW5KYDS+;Q^2]Q!#*N^0JQV_O& M^G/V8M*U;0OV>OAYIVN>';?PEJMIHMM!-H=J\C)9;4 6/,CN^0H&0S,P.022 M,T >GT444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !7FNK?M-?![0-5O-,U/XK^!].U*RF>VNK.[\1V<4T$J,5>-T:0%65@05( M!!!!KTJB@#PKXA?MJ?![P=X!\2Z_IGQ*\#^)-2TK3+F^M=&M/%%GYU_+%$SI M;IM=CND90@PK'+# /2N*T_\ ;JT.R\7^&-.\2>(/A!;Z+K%[+93ZGX>^)R:D M^G[;2XG666)[*!1$S0+%N,@P\T8P2<5]%?$+P58_$KP#XE\(ZG+<0:;K^F7. ME74MHRK,D4\31.R%E8!@KD@D$9QD'I7%:?\ N__ .$O\,:]KWQ/\8>+?^$= MO9=0LM/U2#28K?SWM+BU+N;6PAD.(KJ7 W@9()!Q0 ?\-8?!#_HLGP__ /"H ML?\ X[70>&OC5X \;:7K.H>%_&OA_P 4VNC0^?J#Z%J<%[]E0J[*9/*=MN1& M^,XSM;'0UVM0WMG#J-G/:7,8EMYXVBDC/1E88(_$&@#PKX,?$+XM?%OPYX.^ M(,4?@ZU\&^(F%X?#LUO=1ZC9Z=(KF*47PE>.:?'E,8?L\:_.R^:-H9J'B7]N MCX?^"?'6J>&/$EAKOA^XLK'4=02XOXK=?M,-DI>5EMA.;I ZJYB::&-90A*, MPP3M?#7X$^-?A?8^&O"VD_$U(_AWX>N-UIIJZ!&VJS6B[_+L9[V25XVA7(O!^J>'?"7@_P 'V7BC[!=V MT0UAQ*9F<'9YOO!OC'3["TL;/5]5O9K M>R:/2-.NW"6UY)OB-:ZIJOC7 MP?;^$FNK+P]]DBLTA$JK.(C=.7)$N64N/FW$%5(56>.?V$]*\7>,[/Q FH^' MWEETC3=&U0Z_X0M-9E,=H0!+8M<,4M99(R\;%XYUQL.S*#(!WG[3?Q[D^ UC M\-=3%SHUIHWB#QC9:%JNH:S(4@M;*6"XDDF63S$5&'DKAG)4 G(/&.+\._ML M:#>>(OC9?3ZAI7B#P/X-N]&LM!O/"A^VW&KSWMLA^SHRR-'+*URWE+MV*O.\ M@*S#U3XR_!E?BU/\.G35AHZ^#_%=GXG""U\X70@BFC\C[Z^7N\[._P";&W&T MYX\_\;_L?0>--=^+.L-XJDL=0\9ZEHFLZ;-'8*YT:]TN&-('(:3%PK/$"R$) M\K,H(.' !3\4_M>3+XI\$:!H^A3:)KEWXXM/"OB30_$T*F\T^*>TFN(Y(VMY MWB8NL:,CJ\BX+ C<"!2\0_MFRWWQ'\$:)X3\.7A\.ZMXJOO#=WXAU:T4VUT; M6"=IOL9CN-^4EB"[IHU5QNV;L$K<;]CBYU;QYIOCK7?&<-[XQ_X2^Q\4:G$/#G MBC4/$^FZ(=#!N$>]282PR77GX=5>=F0B)2 2K;_E90#)\.?\%"O#0\"6&K:A MX?\ $_B&X3PO%XMU.]T?2+:S@MK![F: S-#+?R%2KQ6^'_\ @GE_87@'6/#7_"?^?_:/P_3P+]J_L;;Y>VZFN/M6W[0<_P"NV^7D M?=SOYP.:_:?_ &=?BIJOB+Q5I_P\T4ZAI/B_P/9>&-2U%7LRCSP22!'<37$+ MVRA)#N>-+HNI*A$-(_:\\*^(OBW_PK_2-"\1ZMJ$,EI%?WUA:P30:: MUQ;^?$;B-9C<)%M*JTXA,*NZJT@)KL?VA?B%J/PF^!OCOQGI$-K MC@UH?981']D&I0RQE[5]HW)-#*^TLJNN1M[34/A9XS^*OP,^)7@CQMXA:"\\ M2W.KV6GW[V4!>QT^61TM08H6"OMCP1E]S @N58E5 .>\7?MJZ!\.T%KK/A?Q M'J^H6/A.R\7:O/H5O;&UL[*9F1I,S7",=CIRBAGPP*AL.5ZV+]IG1=1^(%UX M9T;PQXK\16MA>VNFZEXATC3EGL-/NKB(2QQR@2"? 1HR\B0M''YB[W7YMO$^ M._V,_P#A-G\6-_PF'V+^WOA[;>!,?V9YGD>3([_:O]<-V=^/+XQC[YK:\)?L MV^)?AWXSU.^\)?$1=$\.:Y?V6IZSIIT*.>[GG@MT@D6"Y>0I#%,L4>]6ADGSK;7 MFIIKMJ;:VF;[LYLQ&TAN(H]VZ2/9&[;U!&$8YP#7E?P!_;@^'OQL^'FO^+;_ %;2O!-G MHNHBRNQK&K0I'%'+\UI*\K;54RH?N'E762,Y*&O4?C9\*K;XW?##7/!%]J^H M:'8ZO&D-Q=Z68Q-Y8D5F3]XCJ5<+L8%3E68=ZX_X6_LW2_#CXF7GC>\^(7B3 MQ9J=UI":+)!JD%A# 8$D\R(E;:VBRT9+A23P)&'0T =\GQ7\$2>(=(T!/&.@ M-KNL6RWNFZ6NJ0&ZOH&5F66&+=ND0JC,&4$$*3G@U-/XYL;[P'?>*?#+P^,+ M2*SGN;1=&G6X6^:,-^ZB=-P9BR%.,_-Q7253UFRN-2T>^M+34)])NKB"2*+4 M+5(WEMG92%E19%9"RDA@'5E) R",B@#Y/_9]_:^\0_%CX%^-?B(=7\!^)GT3 MPT=7.DZ2T^E76FWZP3226=ZEQ+*JPEHL)=[T5@LAV #(TOV5?VI_%OQU^#7C MKQOJ%CID]AI,"R:3JUGITVGP7DPL4FN8&MY;B5S]GG8Q&59-DF#MQM)K/U'] M@-?&@\?ZAXR\7Z?>>)O%GAZUT*?5/#?AQ=)CFDAN1=&]NX/M$JW,\DL<(DP8 MU:-"@ #9%CP+^PU?^%_C/XT^)%]XXTZ?4/%>FZAI]YI.D^'6LM/@:ZBME:XM MXWNY6CE+VV^1BS>9OQ\F.0"/X,_M,?$77?$GP(B\7MX5U33?BMH=[J,=MH.E MW-C&+_45EOKR64+;M=PW$4%GNC6$(T^A_L\_LS^#?V>?!FA M:;H^A:$?$EEI<6F7WB>QT:&RO-2"A=SRLN7.YD#$,[<@*O'GC5O"?C2'17U2[\(Z5XSL[C0;6:WBB@NRZO:R M+++(7>-T&)05#AO]6A&#D>(_V&=(\7^(-9M=8\0"Y^'FI>(-1\5/X\QAT\Z7?,[.6=P54X4*B '(![=1110 4444 %%%% !1110 M!P/BO]H'X7> ]]XO@WQIX>\6M9!#=+H6JP7I@#YV;_*=MN[:V,XSM..E=910!\M M7G_!1'X7Z?XNFT^ZU"QMM$@U@Z)+JTVNZ>DL(=$A9TEU+2M0BN;:-D 9PTB,5!4$$@G@$5 MYM_PS-%Y_P#9G_"::[_P@7]K_P!M?\(EB#R?-\_[1Y/G[/.^S>=^\\K=_LYV M?)7M= '&>"?C3\/?B9J$]CX0\=^&?%=];Q>?-;:)K%O>21QY WLL3L0N2!D\ M9(KPJ;]JCQ#>?M>:M\)8+[PEX>BTNYL?*TGQ-;W5O>ZY92PJT]S8WBN83+&[ MA4MC$QD$;GS$PWE_5%?/'Q:_94U#XS_$'1M5\1^+]/O_ YH^MVNMZ;:3^'( MO[6TXQ%':VMM125-D$CQH7#PNY QOX4J )OVT-9^#]EIFCWFFZ M5>RI>6MK;R/=6FG+9Q.-0DO!.8N;B58C;^2'7>N6SFJWQ6_:<^)GA7Q-^T'< MZ-/X.M_#GPHCTRX6PU72KE[K5$N+*.YDC^U+>(D3Y9D0^2_)0$'DG%^(/_!- MM_&'6GOWENYUN)(+RX^UJMS )44A/*1L*H+Y&X M^U:5^R7X-/QR^('Q+\2Z3H7B[4?$EUIMU81ZKH<,TVC-:6J0?NII"Y)=HUDR MH3! '.,T 6/VBOCMJ7PA_9MU+XDZ3HS7-[#;6=;1)Y8EDEFC1E9EA M21G90RYV8W*"6'(^%/VN([/P)X-U35Y-.^)5UXRUJ;2_#UW\-8ML5XHA,\7V MB"\G4VX?$3P]K_ (G\+3V/AGQ,?"6L&2.2+46T^*^B M(5@6CE@DQOC=M^'-8MM?T^SNM.\8S^+KJQT70 MOL.G.SV;6JVUM;^>_P!F15(;):0DYX ("@'4_#+]M#PE\3_$?A?2;;PWXIT9 M?$L>I?V5?:I:V_D7,]AC[9;@0SR/YD>3SLV-L;8[8KSSXE_\%!].T[0_$MEX M6T&[TWQKHQTJY;3?%,<#!K2ZU&&T=GBMKII;>51,&\FX$4J[XRT?45T?A#]B M*/PS'\-HIO&D]Q%X/F\32.UM8?9Y;M=7\P$(_FMY+0^9PV'W$9PM>=VG_!-C M4CH^G:=??$O3C;Z;X=L/#5FFF^%/LB+#:ZI;Z@)7'VQM\LCQ3!VR 3,&P"I# M@'9Z_P#M:>+8?C3XO^&6E:;HC:U_PE6G>'/#]U=QR^5!%+IOVZYNKI1(#-Y: MJX6.,Q;B44L.6KU[_A,O''PR\*>(M5^(%IIWBM+.>$:;-X(L)H9[N-PBL)K6 MXE=+;9(6S*UR8_+&]S$%-<)KW['JZG\1_%OCRR\7/IOB?4/$-AXDT6X&G^9' MID]M9?8VBF3S1]IBEC+AE!B8!_E8$!JN_$K]F_Q?\8_AYJFA^,?B/9ZGJ$^L MZ=JUE%%X:2/1K1;22-_L[V9G::XCF*L9!+=-RRE0@7:P!B^%OV^O!GCRYT:P M\*^$_%?B?6M4DU.&+3-)&G3LCV)B\\&<7GV=@4F21'25D=3@-N*J>\U_]I;P M[:_LQ:E\:]&BGU30H=$EU>VM95,,LCJI @?KL;S!Y;'D*03R!S\]Z'^QU\4_ MA]\?="\3Z!XRT^]FN[KQ'K>J>)+G0XQ9VUUJ"V8^SFQ^V"5U+0RNC)(-I$8< ML PD]^T']E_PYI7[+O\ PI"YO+N\T*71YM+N=04+'.[REGDN%&"JMYKM(H(8 M X!W#.0#R#3_ -K_ ,5VOPQ\1ZCDM:3ZCY(#WU MA=MYOE+YC21RQ2E;A5PIC(8C*?\ ;+^(.J>(_$G@#2;?PO%XX\(GQ#/J^JWF MG7+:=>PZTUVQT8VEK8MI.QK/_ $0W$GF$R"5I?WJ[Q*541;0:H7/[#E]%=:GX MCTOQW::?\0->?6UU[67T%I;.ZAU)8D=(+4W0:$PK;0>6S32#((-*M=4CMI6W-")HEDV$X&2N[&1UQ74UA> _!FF_ M#GP1X?\ "FC)(FDZ'I\&FVBRMN?RH8UC3 GRAPHIC 14 cdre-20231231xex19d1001.jpg GRAPHIC begin 644 cdre-20231231xex19d1001.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" !0 . # 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#CQT%%?0?B M_P#8E\=Z 7DTF2S\16H&5,#^3,1[H_ /T8U['\)_V1?".J?#[1[GQ7H=[;>( M'1_M<3W#QE6$C ?*#@< 5^SU\]P-&DJJGS)NVF_S3L?R_A>$LVQ->6'E3Y&E M>\KI/6VC2:9\,T5^BG_#&OPP_P"@5=_^!LG^->=?M!_LT> _A_\ "/7=>T;3 M[B#4K3R/*>2Z=P-TR(>"<'AC7+1XDP=>K&E&,KR:6RZ_,]#$\#YGA*$\14E# ME@FW9O9*_P#*?&MM_P ?,7^\/YU^NFE_\@RT_P"N2?R%?D7;?\?,7^\/YU^N MFE_\@RT_ZY)_(5XW%W_+C_M[]#Z7PXWQ7_;G_MQ:K\V/^"L_Q/>?4?"'@&VF M'D0J^K7L8(.7.8X<]Q@&7Z[AZ5^DKN(T9CP%&37X4?M:_%%_B[^T%XPUX-FR M6[:RLQDD""']VI&>F[:7QZN:^)P<.:IS=C]GZ5Z]^R9\47^ M$'Q^\(Z^6VV7VM;2] SS;R_NW.!U(#;@/4"O3?V7OV<4^*7[/OQC\22V@EN; M:Q6VTR4KRLT3+\:G- \;EE3Y9 M_,_HT5@ZAE(*D9!'>EKR;]E7XFP_%OX!^$/$"2![DV:VMVN1N6>+]V^0"<9* M[@/1A7K-?-M@_*OM+_@JU M_P G"Z-_V (?_1TU9-*\4:)8Z]IHTR>46M_"LL>\8PV#W MKWZ4N2@I/HCY^K%SKN*ZL^6R!Z"M'0O$.J>%]0CO]&U&[TJ]C.Y+BRF:&13[ M,I!K]S3^R5\&#_S3'PO_ ."V+_"OB#_@HM^R1X,^%GA73?''@G3$T)'O!:WU MA"Y\A@P.UT4YVG( P"!@]*SIXN%27+;F_U:1"VEZK* 'FVC)BD/&6QDANIZ<\5]^U^!'[/_B-_"7QJ\%:JDDD0M]5 MMV8Q'#%=X!'XBOWV'2N'%TU3FG'J=^#JNI!J70_GY^,P'_"X?'G'_,P:A_Z4 MR5QV >WZ5V7QF_Y+#X\_[/_2F2ON/_@FU\"?A_P#%/X9^)+[Q;X3TS7[R MWU%8HIKV'>R+LS@>U>K*HJ5-29Y,:;JU7%>9^=>T>@_*NP^'7Q?\8_"758[_ M ,)^(;[1IE8,T<$Q\J3V>/[K#ZBOV;O_ -BOX(:C:26\GPWT6-7&"]O&T3CZ M,K C\#7Y5_MG_ C3?V?OC/=:#HDDK:+-4TR,YMM0TJ02*3T*$,"/?C%?K(>AKR<135.HTMCU\-4= M2FF]S^?KXT*/^%O^-C@?\AJ\_P#1SUQN >PKL_C1_P E?\;?]AJ\_P#1SU]W M_P#!.7X ?#OXI?!_5=3\6^$=-UZ_BU)HDN+R,LRIM''7I7M2J*E34F>)"DZM M1Q1^;N .P_*OTB_X)E?M/++"?A5XANVWH&ET:65LC;U:'V]1^-?5_P#PQI\$ M?^B::%_WX/\ C5S2/V3/A!H&I6^H:9X TBPO[=M\-S;1LDD;>H8'(-<%7$TZ ML>5IGH4<+4I34DT9/PU_;2^#OQ/@MUTSQI96-[(HS8:MFSF1L?=_>85B/568 M>]>VP3QW4*30R++$ZADD1@58'H01U%?SF U^W?[!Q)_9*^'9)S_HL_\ Z4S5 MEB,/&BE*+-<-B95FXR1[Y7+_ !,\ V?Q/\$ZEX:OKB>TM;T)NFM\;U*.KC&0 M1U49]LUU%-DE2)=SNJ+D#+' R>!7'"(M*8W'A[6K/6$0[A;W(-O*P'8'E2?J1]:^UK"-H;&WC<8=8U4CT(% M6**]'&9EB,?&$<0[\M[.UM[?Y'BY9D>"RB=2>#BX\]KJ]UI?:^O7N>3?M4_% M"+X0? 3QAXB9MMTEFUM9J,9:XE_=Q\=P&8$^P-?A&Q::0L26=CDD]2:_2K_@ MK/\ $V.UT+PCX#MYP;BZE;5+N('E8T^2+(Q_$Q?'_7,U^:L3F*1'7&Y2",^M M=&#ART^;N5C9\U3E['[B_L;_ O@^&?[-GA+1W@5+F]M?M][P 9))_F.['4A M2B_117Y"_M+_ T'PD^.?B_PU%$8;*VOGDLTYP+=_GC SR<*P7/?;7H+8D11M51I\ [?(O%5W'?:NT*P-<)"D6Y5 MSC(4 $\XS]*=&E4IS1P&*GGIC/:OV^'(KS\7#EJ7[GHX.?-2MV/R:_X*M#_ (R%T;_L 0_^CIJH M?\$M_P#DY"7_ +!-Q_[+5_\ X*M?\G":-_V (?\ T=-5#_@EO_R?_P Q7S/UUKX\_P""I'_)M\?_ &%;?^M?8=?'G_!4C_DV^/\ M["MO_6O*H?Q8^IZV(_A2/RN^''_(_P#AW_L(0?\ H8K^A,=*_GL^&_\ R4#P MY_V$(/\ T,5_0F.E=F.^*)Q8#X9'\_/QF_Y+#X\S_P!#!J'_ *4R5]V?\$TO MC3X$^&OPQ\267BKQ9I.@7<^HK)%#?W*Q,Z[,9 /:OA/XS?\ )8?'G_8P:A_Z M4R5RD-I/< F*&251U*(37H3IJK346>?"HZ55R7F?NI=_M=_!BRMI)Y/B3X>9 M(U+$1WBNQ^BC))]A7Y,_ME?'6P_: ^-5_K^CI*NB6\2V=D\R[7E12OAD6OKB&]\1:UMN;R:W8-$BX^2-&!(8 '.X<'/'J?H\]#7DXB: MJ5&UL>OAJ;ITTGN?S]_&C_DKWC;_ +#5Y_Z.>O5/V??VWO&_[-_A.Z\/>&]) MT"_L[BX-T\FJ03O(&(Q@%)4&./2O*_C/_P E?\;?]AJ\_P#1SU[C^S#^PKJ7 M[3/@F\\1V?BVUT*.VNC:F">R:8L0 R? M%G_H6_!O_@)=_P#R35W1?^"JWQ5U+5K6UD\.^#UCE<*2EI=9 ]O](KH?^'0^ MN_\ 12=/_P#!7)_\O^"D>@?!;X-^&?!5WX+U+4[G289(WNX;R-$DW2N^0" M,C[^/PKY8'[+WQ@_Z)=XO_\ !)+__ 27'_Q%8JA0BTU^9LZ]>2:?Y'4?"C]M/XP_"VYMK?3?&-WJ M.FAT4Z?K.+R$J#]T;\N@Y_@9:_;C3;AKK3;6>3 >2)';'3) )K\);3]F'XOK M=PLWPO\ %RJ'!).BW''/^Y7[4_$36=7\+?!O6+_1M.N]1URVTEOLEE:0F69Y M_+PJJ@!).['&*Y<6H-QY+:G7@Y32ESWT/QZ_;A^(H^)7[2_B^\CE\VTTZ?\ MLJW.<@+#E6Q[;]Y_'/>NL_8O_8S@_:AMO$E_JNM7>A:7I31012VL*NTTKY)' MS< *H&?]X5Y7+^S)\8YY7DD^&/C!Y')9F;1;DDD]2?DK]9OV&?@_=_!K]GK0 M].U6T>RUW4&?4;^"5"KQ/(?D1@0"&5 @(/(;<*Z*U54:2C!ZG-1I.M5[CL;FV15F5 M!N=1L!.XJ#@=SBOTLJOJ%E'J5A<6DRAHIXVC=3T((P:\Y8JJGJSTGA:35DC^ M=."9K>>.5#AHV# ^A!S7[X_L^?$,?%7X,>$?%#2B:XOK",W#@@YF7Y).F /F M5N*_'WXE?LB_%+P[\0?$6FZ7\/?$NIZ9;7\R6EW9:5-+#-#O.QE95((*D=#Q MTK[^_P"":MMXX\)_#;7/!_C3PSKF@+87@NM/?5[*: /'(,.B%U PK+G _ODU MW8OEG34D]C@P?-3J.+6Y\P?\%6O^3A=&_P"P!#_Z.FKSO]A'XQ>%?@?\:7\0 M>,+]]-THZ?-;B:.WDF.]L8&U 3VZXKW'_@I=\(O''CSXZZ3?^&_"&N:]9)HD M,37.FZ?+/&KB64E2RJ1G!''O7R3_ ,,V?%G_ *)IXL_\$UQ_\16U+DE146^A MC5YHUW**ZGZIM_P4A^ @!(\671([#2+O_P"-U\6_MU?MLZ/^T-IFG>%?!UI> MP>'[.X^TW%[?*(VNG (550$D(,YRV"3C@8Y^?O\ AFOXL_\ 1-/%G_@FN/\ MXBM7P[^R-\9O%&IPV-I\-_$,,DQP);ZQ>TA7W:24*H_$U,*%&G+F3_$J=>O5 MCR-;^15_9=\'W'CGX_>"-*@M_M2MJ44LT?./+1MSDX]@:_>,<"ODS]B?]B9/ MV=HKCQ%XEFMM2\97+&N+6&=AJB &6, M,1\A]:^+?BO^SE\5=3^*GC2\M/AQXINK2XUR^FAGAT>=DD1KARK*0F"""""/ M6OOG_@F3X \2_#_X8^)[3Q-X?U+P]=3:DDD<.IVCV[NNP\@. 2*[L1).A9/L M<.&B_;W:[GM/[2?[.^A_'?X6:IX>>S@M=1"^?87<4:JT4Z\KSCH>A'<&OP]\ M3^&]2\&^(M0T35K:2RU/3YV@GAD!5E93[]NX/<$&OZ(Z^ /^"C7[(NI^-[JU M^(?@C2+C5-8P+;4]-L(&EFG7^"557DE>A&.ASVKFPE;D?)+9G3C*'.N>.Z.E M_P"";G[39^(O@X_#[7[M&U_1(LV3R-A[FV';D\LGMV^E?;)Z5^'?PR^%'QQ^ M%7CK1_%.C?#?Q=%?Z=.)5QHUP XS\RGY.A&17[1_#[Q5-XV\':5K5SI5[H=U M=0J\VG:C"T4UN_\ $C*P!X/?'(K/%4U&7-'9FF%J.4>66Z/PZ_::\$:QX"^. M?C+3]:M#:W$NI3W*]7BM8-1U*!I)H[-&6)2'9?E#,QZ* M.I-=3XYUN?PUX*U_5[58WNK"PGNHEE!*%TC9@& ()&0,X(KR7%I\I["DFN9& MY17,_#'Q+=>,_AUX9UZ^2*.\U/3H+N9(%(C5WC#$*"20,GC)-=-2:L[#3NKA M17BM]\8/%GCSQSK/AGX9:5I<]KHDGV;5/$^N.YLX;GO;Q11D/-(O\7S*J]"P M/!END^/.A6DMZMWX&\4M$N_^S(+"ZTZ2;'\*3-/*H/IN7&>I'6JY'U9'.NB/ M9:*XGX1?%*R^+?A(:O;6=QI5[!/)9:CI5X )[&ZC.)(7QW&00>X(/>NVJ6FG M9EIIJZ"BN#M_'6H2_'"\\'&*W&EPZ#'JBRA6\XRM.T9!.[&W '&,Y[UWE#5@ M3N%%%<_\0=?N/"O@;7]9M$CDNK"QFN8EF!*%D0L P!!QD=B*%J#=M3H**\&\ M":G\=/''@CP_XBCU_P"']HFK6$%^L#:!>L8Q+&KA2?MO.-V,T[Q#\6_B#\&K MBQO/B+I6AZKX1GE6"Y\0^&S+ =/9B KS6\S.?+R1EE=L=2!5\CO9/4S]HK7: MT/=Z*C@GCN88YHG66*10Z.ARK \@@]Q3+V9K>SGE7!9$9AGID"LS4GHK@O@9 MX[U#XE_"_2/$>J16T-]=R7*NEHK+&!'<2Q+@,S'[J#//7/TKO:;5G9B3NKH* M*^>?"?[26L_\+S\0^$/%.DVMGX:;4CIFAZU:JX#7"Q(Y@N"6(#MO^4@ '&,5 M]"D\9IRBX[DQDI;"T5Q?PF\9WWCKPSHW=HJVZE5V13,BDY)YPH MS[^E=I2:L[%)W5PHKR3X@?&+6K;QQ!X&\!Z!#XB\3F$7-Y/>SF&QTR$\*\SJ M"Q+8.$49.*8FE?';S!(_B3P!MZFW70[W'TW_ &O]=OX57+W9//K9(]>HK-\. M-J[:+:G7DLX]6VG[0NGN[0;LG[A+ M_LI?$7QGH_[/W@ZST[X7:KK=E%;.L6H0:I91),/-?D*\H8?B.U=K\3/BCX[N MOAQXJAG^$.L6D,FE72/*U?V,X9+?]F?P+'*C1R+ M:/E'&"/WK]J[_P"+"E_A;XP5068Z/> #)/[EZUE)>T>G7S_ ,S&$7[-:]/( MS?@)_P D1\!_]@2S_P#1*UV6KSO:Z5>31C=)'"[J/4A217'_ '1H_@KX%1U M*,NBV@*L,$'R5KN74.K*>A,OB9M'X4>#_ +#EM$O[-GAN]4A[G4;B^O+J M7N\S7DVXGU(P!^%>]5\R_#[7)OV4KW6O!WBC3]1;P"]]-J&A>)+.U>X@MHIG M,CVUR(P6C*.S8+M2Q^ZTO0+.6ZN96[*%"X M7ZL0!W(K6<92DY)73,X2C&*C)V:,;X/YT[]J;XW:=;EELI8=(OFB!^19VBE5 MV [%@JY]=H]*^@*\;_9V\!ZWI1\5>./%MB--\6>,;Q+NXL!+YALK:-=EM;EN MA95+$D=W/I7LE14=Y?=^1=-6B>06?_)V&I_]B?!_Z5O7K]?//C'XF>&OA?\ MM0W-]XHU5-(M+KPI###-+&[*[BZ-;,DG _VT-Q"XDAE02(X_B4C( M/Y5R?QB1I/A1XP55+,VE7( R2?+:LX[HTE\+*7P _Y(5\._^Q>T_P#])TH^ M/MI:7WP2\Z$LN,[!Y;<_A7EOP8_:?^%_A[X0>"-+U'Q;;6FH66 MB65M<6[PR[HY$@164_)U!!%1_%'XGR_M!^'I? 7PSM-0O[?6_P#1=3\32V3P MV%A:'B4AY%'FR%<@*H[Y)'?7DESW:MJ8J<>2R=]#TC]F?4;W5?@!X N=039= M-H]NK+MV\*NU>/\ = KT+5/^0;=?]%_#VF:/9[_LFGVL5I#Y MARVQ%"KD]S@"I]3&=-NO^N3?R-9-W;9LE:-CRG]DG_D@'AO_ *[7_P#Z6SU[ M!7D7[)T3P_ 3PXDB-&XFOLJPP1_IL]>NTY_$Q4_@7H?.GA?X;:1\6+/XR>'= M8B+07'B5C'*AVR02BW@*2(W9E.#FNJ^!/Q&U:^DU+P%XS_=>-_#JA99F/&IV MIXCNTSU!& W7# \\U+\"HGC\3?%0NC(&\2LREAC(^S0\BD^//PQU#Q!%IWC+ MPE_H_COPX6GL&5MJWD>/WEK)ZHXX]C@UHW=\K,TFES(M_LY_\B%??]AO4O\ MTI>O4J\;_9-U.ZUKX00ZA>Z=/I%W=ZE>SRV-R,20,T[DH?H21GVKV2LY_$RZ M?PH\$_9AB6[\3?%W5K@ :I<^*)(9L_>$<<2"/\,&O=KFXCM+>6>5MD42EW;& M< #)->"ZG!JGP"^*VO>);;0[_6_ _BEDN-2.EQ&XN-.NT7;YOE+\S1LH&=N2 M",X-:&O?M9_"BYT:_M(O%]O)?RP/&EBMO-]H+E2 OE[-V<]L5B78OM+NP6@N%1E#@,5/# $<@CD=JO:C9)J.GW-I)D1 MSQ-$Q'7# @_SKR_]E6PNM,_9_P#!]M>VL]E? M6O6*SDN632-8OFBFSYT^&[?$OX&>'5\&_P#"NI?&6E:?+(-.U72-5MH2\#.6 M59(YV0JPS@D$@^U=#-^T?=>&-1L8O'?P_P!=\#Z;>2B"/5[N>UNK1)#T$CP2 MMY>?5@![UJ:Q^U!\-_#6I7-AKNO/H-U;R&-EU2QN+<,1W5F0!AZ$$@UY=\=/ M'.D_M1>"S\//AX]QX@.K3(MWK5O:R"RL(5.6=IF4*6[!5R:W24?GJ8-J* &M&7R/__9 end EX-101.SCH 15 cdre-20231231.xsd EX-101.SCH 00100 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - Consolidated Statements of Operations and Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 00201 - Statement - Consolidated Statements of Operations and Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Radar (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - PROPERTY AND EQUIPMENT (Details) link:presentationLink link:calculationLink link:definitionLink 40805 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - ACCRUED LIABILITIES (Details) link:presentationLink link:calculationLink link:definitionLink 40903 - Disclosure - GOODWILL AND OTHER INTANGIBLES - Summary of intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - DEBT - Summary of aggregate principal payment of long-term debt (Details) link:presentationLink link:calculationLink link:definitionLink 41009 - Disclosure - Leases - Future Minimum Lease Payments (Details) Calc 2 link:presentationLink link:calculationLink link:definitionLink 41503 - Disclosure - INCOME TAXES - Reconciliation of the statutory federal income tax rate to the effective rate reported in the Company's consolidated financial statements (Details) link:presentationLink link:calculationLink link:definitionLink 41601 - Disclosure - LEASES - Schedule of operating assets and liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41602 - Disclosure - LEASES - Components of lease expense (Details) link:presentationLink link:calculationLink link:definitionLink 41604 - Disclosure - LEASES - Future minimum lease payments under operating leases (Details) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - Consolidated Statements of Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - ACQUISITIONS (Tables) link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - STOCK-BASED COMPENSATION (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40104 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - ACQUISITIONS - Summary - ICOR (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - ACQUISITIONS - Summary - Radar (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - ACQUISITIONS - Intangible Assets - Radar (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - ACQUISITIONS - Summary - Cyalume (Details) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Cyalume (Details) link:presentationLink link:calculationLink link:definitionLink 40207 - Disclosure - ACQUISITIONS - Intangible Assets - Cyalume (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - REVENUE RECOGNITION - Net sales by channel and geography (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - REVENUE RECOGNITION - Includes all Distribution sales (Details) link:presentationLink link:calculationLink link:definitionLink 40404 - Disclosure - REVENUE RECOGNITION - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 40404 - Disclosure - REVENUE RECOGNITION - Additional information Default (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - FAIR VALUE MEASUREMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40803 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - DEBT - Schedule of company's debt (Details) link:presentationLink link:calculationLink link:definitionLink 41003 - Disclosure - DEBT - 2021 Credit Facility (Details) link:presentationLink link:calculationLink link:definitionLink 41004 - Disclosure - DEBT - Canadian Credit Facility (Details) link:presentationLink link:calculationLink link:definitionLink 41005 - Disclosure - DEBT - Short-Term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 41006 - Disclosure - DEBT - Fair Value of Debt (Details) link:presentationLink link:calculationLink link:definitionLink 41007 - Disclosure - DEBT - Schedule of interest rate swaps (Details) link:presentationLink link:calculationLink link:definitionLink 41008 - Disclosure - DEBT - Schedule of fair value swap agreement (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - SHAREHOLDERS EQUITY (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - STOCK-BASED COMPENSATION - Phantom Restricted Share Plan (Details) link:presentationLink link:calculationLink link:definitionLink 41202 - Disclosure - STOCK-BASED COMPENSATION - Stock Incentive Plan and Market Condition Restricted Shares (Details) link:presentationLink link:calculationLink link:definitionLink 41203 - Disclosure - STOCK-BASED COMPENSATION - Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 41204 - Disclosure - STOCK-BASED COMPENSATION - Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 41506 - Disclosure - INCOME TAXES - Operating loss Carryforwards (Details) link:presentationLink link:calculationLink link:definitionLink 41701 - Disclosure - RELATED PARTY TRANSACTIONS (Details) link:presentationLink link:calculationLink link:definitionLink 41802 - Disclosure - SEGMENT DATA - asset information or operating expenses by segment (Details) link:presentationLink link:calculationLink link:definitionLink 41901 - Disclosure - SUBSEQUENT EVENTS (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00205 - Statement - Consolidated Statements of Operations and Comprehensive Income (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - ACQUISITIONS link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - ACCOUNTS RECEIVABLE, NET link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - REVENUE RECOGNITION link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - FAIR VALUE MEASUREMENTS link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - PROPERTY AND EQUIPMENT link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - ACCRUED LIABILITIES link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - DEBT link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - SHAREHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - STOCK-BASED COMPENSATION link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - COMPENSATION AND DEFINED CONTRIBUTION PLANS link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 11601 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 11701 - Disclosure - RELATED PARTY TRANSACTIONS link:presentationLink link:calculationLink link:definitionLink 11801 - Disclosure - SEGMENT DATA link:presentationLink link:calculationLink link:definitionLink 11901 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 30103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - ACCOUNTS RECEIVABLE, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - REVENUE RECOGNITION (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - PROPERTY AND EQUIPMENT (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - ACCRUED LIABILITIES (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - DEBT (Tables) link:presentationLink link:calculationLink link:definitionLink 31503 - Disclosure - INCOME TAXES (Tables) link:presentationLink link:calculationLink link:definitionLink 31603 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 31803 - Disclosure - SEGMENT DATA (Tables) link:presentationLink link:calculationLink link:definitionLink 40103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - ACCOUNTS RECEIVABLE, NET (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - REVENUE RECOGNITION - Contract Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - FAIR VALUE MEASUREMENTS - Transfers of assets or liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40804 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - COMPENSATION AND DEFINED CONTRIBUTION PLANS (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - COMMITMENTS AND CONTINGENCIES - Legal Proceedings (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - INCOME TAXES - Consolidated income from continuing operations before provision for income taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41502 - Disclosure - INCOME TAXES - Benefit for income taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41504 - Disclosure - INCOME TAXES - Deferred Income taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41505 - Disclosure - INCOME TAXES - Reconciliation of Unrecognized Tax Benefits (Details) link:presentationLink link:calculationLink link:definitionLink 41603 - Disclosure - LEASES - Weighted average remaining lease term and discount rate (Details) link:presentationLink link:calculationLink link:definitionLink 41605 - Disclosure - LEASES - Supplemental cash flow information related to leases (Details) link:presentationLink link:calculationLink link:definitionLink 41801 - Disclosure - SEGMENT DATA - Other (Details) link:presentationLink link:calculationLink link:definitionLink 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 16 cdre-20231231_cal.xml EX-101.CAL EX-101.DEF 17 cdre-20231231_def.xml EX-101.DEF EX-101.LAB 18 cdre-20231231_lab.xml EX-101.LAB EX-101.PRE 19 cdre-20231231_pre.xml EX-101.PRE XML 20 R1.htm IDEA: XBRL DOCUMENT v3.24.0.1
Document and Entity Information - USD ($)
12 Months Ended
Dec. 31, 2023
Mar. 08, 2024
Jun. 30, 2023
Document and Entity Information      
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2023    
Document Transition Report false    
Entity File Number 001-40698    
Entity Registrant Name CADRE HOLDINGS, INC.    
Entity Incorporation, State or Country Code DE    
Entity Tax Identification Number 38-3873146    
Entity Address, Address Line One 13386 International Parkway    
Entity Address, City or Town Jacksonville    
Entity Address State Or Province FL    
Entity Address, Postal Zip Code 32218    
City Area Code 904    
Local Phone Number 741-5400    
Title of 12(b) Security Common Stock, $0.0001 Par Value per Share    
Trading Symbol CDRE    
Security Exchange Name NYSE    
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 true    
Entity Ex Transition Period false    
Document Financial Statement Error Correction [Flag] false    
ICFR Auditor Attestation Flag false    
Entity Shell Company false    
Entity Public Float     $ 300,482,938
Entity Common Stock, Shares Outstanding   37,587,436  
Auditor Firm ID 185    
Auditor Name KPMG LLP    
Auditor Location Jacksonville, Florida    
Entity Central Index Key 0001860543    
Current Fiscal Year End Date --12-31    
Document Fiscal Year Focus 2023    
Document Fiscal Period Focus FY    
Amendment Flag false    
XML 21 R2.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Balance Sheets - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Current assets    
Cash and cash equivalents $ 87,691,000 $ 45,286,000
Accounts receivable, net 58,360,000 64,557,000
Inventories 80,976,000 70,273,000
Prepaid expenses 11,930,000 10,091,000
Other current assets 6,886,000 6,811,000
Total current assets 245,843,000 197,018,000
Property and equipment, net 44,647,000 45,285,000
Operating lease assets 6,554,000 8,489,000
Deferred tax assets, net 4,004,000 2,255,000
Intangible assets, net 43,472,000 50,695,000
Goodwill 81,667,000 81,576,000
Other assets 4,992,000 6,634,000
Total assets 431,179,000 391,952,000
Current liabilities    
Accounts payable 28,418,000 23,406,000
Accrued liabilities 44,524,000 38,720,000
Income tax payable 9,944,000 4,584,000
Current portion of long-term debt 12,320,000 12,211,000
Total current liabilities 95,206,000 78,921,000
Long-term debt 127,812,000 137,476,000
Long-term operating lease liabilities 3,186,000 4,965,000
Deferred tax liabilities 4,843,000 3,508,000
Other liabilities 2,970,000 1,192,000
Total liabilities 234,017,000 226,062,000
Commitments and contingencies (Note 14)
Mezzanine equity    
Preferred stock ($0.0001 par value, 10,000,000 shares authorized, no shares issued and outstanding as of December 31, 2023 and December 31, 2022)
Shareholders' equity    
Common stock ($0.0001 par value, 190,000,000 shares authorized, 37,587,436 and 37,332,271 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively) 4,000 4,000
Additional paid-in capital 212,630,000 206,540,000
Accumulated other comprehensive income 634,000 2,087,000
Accumulated deficit (16,106,000) (42,741,000)
Total shareholders' equity 197,162,000 165,890,000
Total liabilities, mezzanine equity and shareholders' equity $ 431,179,000 $ 391,952,000
XML 22 R3.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Balance Sheets (Parenthetical) - $ / shares
Dec. 31, 2023
Dec. 31, 2022
Consolidated Balance Sheets    
Preferred stock, par value $ 0.0001 $ 0.0001
Preferred stock, shares authorized 10,000,000 10,000,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0  
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 190,000,000 190,000,000
Common stock, shares issued 37,587,436 37,332,271
Common stock, shares outstanding 37,587,436 37,332,271
XML 23 R4.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Operations and Comprehensive Income - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Consolidated Statements of Operations and Comprehensive Income      
Net sales $ 482,532,000 $ 457,837,000 $ 427,288,000
Cost of goods sold 281,806,000 282,159,000 256,598,000
Gross profit 200,726,000 175,678,000 170,690,000
Operating expenses      
Selling, general and administrative 140,519,000 153,129,000 114,962,000
Restructuring and transaction costs 2,192,000 4,355,000 3,430,000
Related party expense 1,496,000 1,478,000 579,000
Total operating expenses 144,207,000 158,962,000 118,971,000
Operating income 56,519,000 16,716,000 51,719,000
Other expense      
Interest expense (4,531,000) (6,206,000) (16,425,000)
Loss on extinguishment of debt     (15,155,000)
Other income (expense), net 936,000 (1,137,000) (947,000)
Total other expense, net (3,595,000) (7,343,000) (32,527,000)
Income before provision for income taxes 52,924,000 9,373,000 19,192,000
Provision for income taxes (14,283,000) (3,553,000) (6,531,000)
Net income $ 38,641,000 $ 5,820,000 $ 12,661,000
Net income per share:      
Basic $ 1.03 $ 0.16 $ 0.44
Diluted $ 1.02 $ 0.16 $ 0.44
Weighted average shares outstanding:      
Basic 37,533,818 36,109,844 28,598,692
Diluted 37,920,488 36,122,374 28,598,692
Net income $ 38,641,000 $ 5,820,000 $ 12,661,000
Other comprehensive income:      
Unrealized holding gains on interest rate swaps, net of tax(1) 775,000 6,444,000 767,000
Reclassification adjustments for (gains) losses included in net income (loss), net of tax(2) (3,157,000) (618,000) 146,000
Total unrealized (loss) gain on interest rate swaps, net of tax (2,382,000) 5,826,000 913,000
Foreign currency translation adjustments, net of tax(3) 929,000 (1,822,000) 30,000
Other comprehensive (loss) income (1,453,000) 4,004,000 943,000
Comprehensive income, net of tax $ 37,188,000 $ 9,824,000 $ 13,604,000
XML 24 R5.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Operations and Comprehensive Income (Parenthetical) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Consolidated Statements of Operations and Comprehensive Income      
Unrealized holding gains on interest rate swaps, income tax expense $ 258 $ 2,148 $ 256
Reclassification adjustments for (gains) losses included in net income, income tax benefit 1,052 206 49
Foreign currency translation adjustments, income tax expense $ 257 $ 587 $ 24
XML 25 R6.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Cash Flows From Operating Activities:      
Net income $ 38,641 $ 5,820 $ 12,661
Adjustments to reconcile net income to net cash provided by operating activities:      
Depreciation and amortization 15,737 15,651 13,718
Amortization of original issue discount and debt issue costs 479 740 3,193
Amortization of inventory step-up   4,255  
Loss on extinguishment of debt     15,155
Deferred income taxes (210) (1,087) 4,772
Stock-based compensation 9,368 31,858 355
Provision for (recoveries from) losses on accounts receivable 66 417 (188)
Foreign exchange (gain) loss (602) 1,517 102
Other (381) (170)  
Changes in operating assets and liabilities, net of impact of acquisitions:      
Accounts receivable 6,602 (11,536) (4,641)
Inventories (10,223) 1,162 (3,189)
Prepaid expenses and other assets (302) (7,711) (4,564)
Accounts payable and other liabilities 14,034 5,493 2,720
Net cash provided by operating activities 73,209 46,409 40,094
Cash Flows From Investing Activities:      
Purchase of property and equipment (6,727) (4,494) (2,832)
Proceeds from disposition of property and equipment 207 411  
Business acquisitions, net of cash acquired   (55,543)  
Net cash used in investing activities (6,520) (59,626) (2,832)
Cash Flows From Financing Activities:      
Proceeds from revolving credit facilities   43,000 257,980
Principal payments on revolving credit facilities   (43,000) (258,612)
Proceeds from term loans     198,716
Principal payments on term loans (10,000) (10,116) (266,000)
Proceeds from insurance premium financing 3,949 3,989 5,010
Principal payments on insurance premium financing (3,973) (4,952) (3,061)
Payments for debt issuance costs     (2,198)
Payments on extinguishment of debt     (4,217)
Taxes paid in connection with employee stock transactions (2,725) (6,300)  
Proceeds from initial public offering, net of underwriter discounts     83,421
Proceeds from secondary offering, net of underwriter discounts   56,329  
Deferred offering costs   (2,953) (4,841)
Dividends distributed (12,006) (11,509) (12,751)
Other 33 (25) (43)
Net cash (used in) provided by financing activities (24,722) 24,463 (6,596)
Effect of foreign exchange rates on cash and cash equivalents 438 183 318
Change in cash and cash equivalents 42,405 11,429 30,984
Cash and cash equivalents, beginning of period 45,286 33,857 2,873
Cash and cash equivalents, end of period 87,691 45,286 33,857
Supplemental Disclosure of Cash Flows Information:      
Cash paid for income taxes, net 8,729 1,395 1,158
Cash paid for interest 10,090 6,109 13,336
Supplemental Disclosure of Non-Cash Investing and Financing Activities:      
Accruals and accounts payable for capital expenditures $ 234 $ 172 $ 197
XML 26 R7.htm IDEA: XBRL DOCUMENT v3.24.0.1
Consolidated Statements of Shareholders' Equity - USD ($)
$ in Thousands
Common Stock
Additional Paid-In Capital
Accumulated Other Comprehensive Income (Loss)
Accumulated Deficit
Total
Balance at the beginning at Dec. 31, 2020 $ 3 $ 48,670 $ (2,860) $ (36,962) $ 8,851
Balance at the beginning (in shares) at Dec. 31, 2020 27,483,350        
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income       12,661 12,661
Issuance of common stock in offering, net of underwriter discounts and issuance costs   78,581     78,581
Issuance of common stock in offering, net of underwriter discounts and issuance costs (in shares) 6,900,000        
Dividends declared       (12,751) (12,751)
Stock-based compensation   355     355
Foreign currency translation adjustments     30   30
Change in fair value of derivative instruments     913   913
Balance at the end at Dec. 31, 2021 $ 3 127,606 (1,917) (37,052) 88,640
Balance at the end (in shares) at Dec. 31, 2021 34,383,350        
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income       5,820 5,820
Issuance of common stock in offering, net of underwriter discounts and issuance costs $ 1 53,376     53,377
Issuance of common stock in offering, net of underwriter discounts and issuance costs (in shares) 2,550,000        
Dividends declared       (11,509) (11,509)
Stock-based compensation   30,706     30,706
Common stock issued under employee compensation plans   1,152     1,152
Common stock issued under employee compensation plans (in shares) 580,990        
Common stock withheld related to net share settlement of stock-based compensation   (6,300)     (6,300)
Common stock withheld related to net share settlement of stock-based compensation (in shares) (182,069)        
Foreign currency translation adjustments     (1,822)   (1,822)
Change in fair value of derivative instruments     5,826   5,826
Balance at the end at Dec. 31, 2022 $ 4 206,540 2,087 (42,741) $ 165,890
Balance at the end (in shares) at Dec. 31, 2022 37,332,271       37,332,271
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income       38,641 $ 38,641
Dividends declared       (12,006) (12,006)
Stock-based compensation   8,782     8,782
Common stock issued under employee compensation plans (in shares) 395,837        
Common stock withheld related to net share settlement of stock-based compensation   (2,725)     (2,725)
Common stock withheld related to net share settlement of stock-based compensation (in shares) (142,077)        
Foreign currency translation adjustments     929   929
Change in fair value of derivative instruments     (2,382)   (2,382)
Exercise of stock options   33     $ 33
Exercise of stock options (in shares) 1,405       1,405
Balance at the end at Dec. 31, 2023 $ 4 $ 212,630 $ 634 $ (16,106) $ 197,162
Balance at the end (in shares) at Dec. 31, 2023 37,587,436       37,587,436
XML 27 R8.htm IDEA: XBRL DOCUMENT v3.24.0.1
SIGNIFICANT ACCOUNTING POLICIES
12 Months Ended
Dec. 31, 2023
SIGNIFICANT ACCOUNTING POLICIES  
SIGNIFICANT ACCOUNTING POLICIES
1.SIGNIFICANT ACCOUNTING POLICIES

Nature of Operations and Basis of Presentation

Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 21 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.

Principles of Consolidation

The accompanying consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (“GAAP” or “U.S. GAAP”) and include the accounts of Cadre Holdings, Inc. and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.

Emerging Growth Company

We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.

In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.

Use of Estimates

The preparation of these consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.

Fair Value Measurements

The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, Fair Value Measurements and Disclosures, which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:

Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.

Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.

Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.

The Company’s financial instruments consist principally of cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts.

Cash and Cash Equivalents

Included in cash and cash equivalents are deposits with banks, cash on hand in stores, amounts due from credit card transactions and money market funds. We have no restrictions on our cash and cash equivalents.

Accounts Receivable

Trade accounts receivable consists of amounts owed to the Company and is stated net of allowances for known and potential losses. The Company’s outstanding accounts receivable balances are exposed to credit risk and valuation allowances are established for estimated losses resulting from non-collection of outstanding amounts due from customers.

The estimate of expected credit losses is based on the Company’s historical loss experience, adjusted for current and reasonable and supportable forecasts of economic conditions and other pertinent factors affecting the Company’s customers such as known credit risk or industry trends. In addition, specific reserves are established for customer accounts as known collection problems occur due to insolvency, disputes, or other collection issues. The amounts of these specific reserves are estimated by management based on the customer’s financial position, the age of the customer’s receivables and the reasons for any disputes. The allowance for doubtful accounts is reduced by any write-off of uncollectible customer accounts.

Inventories

Inventories are stated at the lower of cost, determined using the first-in, first-out (“FIFO”) or average cost methods, or net realizable value. Elements of cost in the Company’s manufactured inventories generally include raw materials, direct labor, indirect labor, manufacturing overhead and freight-in. The Company periodically reviews its inventories considering sales forecasts and historical experience to identify excess, close-out, or slow-moving items and makes provisions as necessary to properly reflect inventory value at the lower of cost or net realizable value.

Property and Equipment

Property and equipment, including those acquired under capital lease agreements, is stated at cost less accumulated depreciation and amortization, except for assets acquired using acquisition accounting, which are initially recorded at fair value. Depreciation is computed using the straight-line method over the following estimated useful lives:

Buildings and improvements

   

5 to 39 years

Furniture and fixtures

2 to 10 years

Computer hardware and software

3 to 5 years

Machinery and equipment

3 to 8 years

Leasehold improvements are amortized over the lesser of the estimated useful life of the improvement or the life of the lease. Major replacements, which extend the useful lives of property and equipment, are capitalized and depreciated over the remaining useful life of the asset. Normal repair and maintenance items are expensed as incurred.

The recoverability of the carrying amount of property and equipment is assessed when events or changes in circumstances indicate that the carrying amount of an asset or asset group may not be recoverable. If it is determined that the carrying amount of an asset or asset group is not recoverable based upon expected undiscounted future cash flows of the asset or asset group, an impairment loss equal to the excess of the carrying amount over the estimated fair value of the asset or asset group is recorded.

Leases

Lease assets and lease liabilities are recognized at the commencement of an arrangement where it is determined at inception that a lease exists.  Lease assets represent the right to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the lease.  These assets and liabilities are initially recognized based on the present value of lease payments over the lease term calculated using our incremental borrowing rate.  Lease terms include options to extend or terminate the lease when it is reasonably certain that those options will be exercised.

Variable lease payments are generally expensed as incurred and include certain non-lease components, such as common area maintenance and other services provided by the lessor, and other charges such as utilities, insurance and property taxes included in the lease.  Leases with an initial term of 12 months or less are not recorded on the balance sheet, and the expense for these short-term leases and for operating leases is recognized on a straight-line basis over the lease term. Non-lease components are excluded from the right-of-use (“ROU”) asset and lease liability present value computations. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.

Goodwill and Intangible Assets

The Company classifies intangible assets into three categories: i) intangible assets with definite lives subject to amortization, ii) intangible assets with indefinite lives not subject to amortization and iii) goodwill. The Company determines the useful lives of its identifiable intangible assets after considering the specific facts and circumstances related to each intangible asset. Factors the Company considers when determining useful lives include the contractual term of any agreement related to the asset, the historical performance of the asset, the Company’s long-term strategy for using the asset, any laws or other local regulations which could impact the useful life of the asset, and other economic factors, including competition and specific market conditions. Intangible assets that are deemed to have definite lives are amortized on a straight-line basis over their useful lives.

The Company tests goodwill and intangible assets determined to have indefinite useful lives for impairment annually, or more frequently if events or circumstances indicate that assets might be impaired. The Company performs these annual impairment tests as of October 31st each year. Goodwill is evaluated for impairment at the reporting unit level, which is defined as an operating segment or one level below an operating segment. As of October 31, 2023, 2022 and 2021, the Company had three reporting units: Safariland, Med-Eng, and Distribution.

In evaluating goodwill for impairment, qualitative factors are considered to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. Some of these qualitative factors may include macroeconomic conditions, industry and market considerations, a change in financial performance, or entity-specific events. If, through this qualitative assessment, the conclusion is made that it is more likely than not that a reporting unit’s fair value is less than its carrying amount, the Company compares the fair value of a reporting unit to its carrying value.

The Company would generally determine the fair value of reporting units based on a combination of the income approach and market approach, weighted based on the circumstances. Under the income approach, the discounted cash flow model determines fair value based on the present value of projected cash flows over a specific projection period and a residual value related to future cash flows beyond the projection period. Both values are discounted using a rate that reflects the Company’s best estimate of the weighted average cost of capital of a market participant and is adjusted for appropriate risk factors. The Company performs sensitivity tests with respect to growth rates and discount rates used in the income approach. Under the market approach, valuation multiples are derived based on a selection of comparable companies and acquisition transactions and applied to projected operating data for each reporting unit to arrive at an indication of fair value.

For all periods presented, the Company performed the qualitative assessment of goodwill and determined it was more likely than not that the fair value of each of its reporting units would be greater than its carrying amount. Therefore, the Company determined it was not necessary to perform the quantitative goodwill impairment test.

For indefinite-lived intangible assets other than goodwill, the impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount exceeds the fair value, an impairment charge is recognized in an amount equal to that excess.

The Company tests definite-lived intangible assets for recoverability when changes in circumstances indicate the carrying value may not be recoverable. Events that trigger a test for recoverability include:

material adverse changes in projected revenues and expenses;
significant underperformance relative to historical and projected future operating results;
significant negative industry or economic trends; and,
a significant adverse change in the manner in which an asset group is used or in its physical condition.

Future adverse changes in these or other unforeseeable factors could result in an impairment charge that could materially impact future results of operations and financial position in the reporting period identified.

When a triggering event occurs, a test for recoverability is performed by comparing projected undiscounted future cash flows to the carrying value of the asset group. If the test for recoverability identifies a possible impairment, the asset group’s fair value is measured relying primarily on a discounted cash flow method. An impairment charge is recognized for the amount by which the carrying value of the asset group exceeds its estimated fair value. When an impairment loss is recognized for assets to be held and used, the adjusted carrying amount of those assets is depreciated over their remaining useful life. We did not have any events or circumstances indicating impairment of our long-lived assets for the years presented.

Accounts Payable

Accounts payable represents amounts owed by us to third parties at the end of the period. Accounts payable includes $1,055 and $188 of book cash overdrafts in excess of cash balances in such accounts as of December 31, 2023 and 2022, respectively. We include the change in book cash overdrafts in operating cash flows in the consolidated statements of cash flows.

Revenue Recognition

The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.

The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.

At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.

Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.

Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.

Product Warranty

Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements and is recorded in cost of goods sold in the Company’s consolidated statements of operations and comprehensive income.

The following table sets forth the changes in the Company’s accrued warranties, which is recorded in accrued liabilities in the consolidated balance sheets:

Year ended December 31, 

    

2023

    

2022

Beginning accrued warranty expense

$

1,234

$

1,256

Current period claims

 

(886)

 

(278)

Provision for current period sales

 

1,262

 

256

Ending accrued warranty expense

$

1,610

$

1,234

Cost of Goods Sold

Cost of goods sold includes raw material purchases, manufacturing-related labor costs, contracted labor, shipping costs, reimbursable research and development costs, allocated manufacturing overhead, facility costs, depreciation and amortization, and product warranty costs.

Selling, General & Administrative Expenses

Selling, general and administrative expense includes personnel-related costs, including stock-based compensation, professional services, marketing and advertising expense, research and development and depreciation and amortization.

Advertising Expenses

Advertising costs are expensed in the period incurred. Advertising expenses primarily consist of marketing, promotions, catalog and trade show expenses and were $6,145, $4,711 and $3,120 for the years ended December 31, 2023, 2022 and 2021, respectively. Advertising expenses are included in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.

Research and Development

Research and development expenses are expensed as incurred and included within selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income. Total research and development costs were $6,954, $7,086 and $6,460 for the years ended December 31, 2023, 2022 and 2021, respectively.

Debt Issuance Costs

The Company capitalizes costs related to the issuance of debt under the provisions of ASC Subtopic 835-30, Interest — Imputation of Interest. Debt issuance costs related to a recognized debt liability are presented in the consolidated balance sheets as a direct deduction from the carrying amount of that debt liability and subsequently amortized on a straight-line method which approximates the effective interest method over the life of the related loan. Debt issuance costs related to line-of-credit are presented in the consolidated balance sheets as an asset and subsequently amortized ratably over the term of the respective arrangement. Amortization of debt issuance costs is included as a component of interest expense in the Company’s consolidated statements of operations and comprehensive income.

Stock-Based Compensation

The Company records compensation expense for all stock-based awards granted based on the fair value of the award at the time of the grant. The fair value of each option award is estimated on the date of grant using the Black-Scholes option pricing model that uses assumptions and estimates that the Company believes are reasonable. The fair value of restricted stock awards is measured based on the closing market value of the Company’s common stock on the date of the grant. For restricted stock awards subject to market conditions, the fair value of each restricted stock award has been estimated as of the date of grant using a Monte-Carlo pricing model. The Company recognizes the cost of the stock-based awards on a straight-line basis over the requisite service period of the award and recognizes forfeitures in the period they occur. Stock options granted have contractual terms of up to ten years. Upon vesting of restricted stock awards, the Company issues shares from those authorized and reserved for issuance.

Derivatives

The Company mitigates the impact of changes in interest rates with interest rate swaps that are accounted for as designated hedges pursuant to ASC Topic 815, Derivatives and Hedging ("ASC 815"). ASC 815 requires that an entity recognize all derivatives as either assets or liabilities on the balance sheet, measure those instruments at fair value and recognize changes in the fair value of derivatives in earnings in the period of change unless the derivative qualifies as designated cash flow hedge that offsets certain exposures. Certain criteria must be satisfied in order for derivative financial instruments to be classified and accounted for as a cash flow hedge. Changes in the fair value of derivatives that are not elected for hedge accounting treatment are recorded immediately into earnings.

The Company would discontinue hedge accounting prospectively (i) if it is determined that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item, (ii) when the derivative expires or is sold, terminated, or exercised, (iii) if it becomes probable that the forecasted transaction being hedged by the derivative will not occur, (iv) if a hedged firm commitment no longer meets the definition of a firm commitment, or (v) if it is determined that designation of the derivative as a hedge instrument is no longer appropriate. 

Restructuring Costs

Restructuring costs consist primarily of termination benefits and relocation of employees, termination of operating leases and other contracts related to consolidating or closing facilities. The Company applies the provisions of ASC Topic 420, Exit or Disposal Cost Obligations (“ASC 420”) and ASC Topic 712, Nonretirement Postemployment Benefits (“ASC 712”) in the recording of severance costs. Severance costs accounted for under ASC 420 are recognized when management with the proper level of authority commits to a restructuring plan and communicates those actions to employees and other applicable criteria. Severance costs accounted for under ASC 712 are recognized when it is probable that employees are entitled to benefits and the amount could be reasonably estimated. Other exit costs are accounted for under ASC 420 and are either deferred or expensed as incurred based on the nature of the expense.

Income Taxes

The Company accounts for income taxes under the provisions of ASC Topic 740, Income Taxes. Deferred tax assets and liabilities are determined based on differences between the financial statement carrying amounts and tax bases of assets and liabilities and are classified as noncurrent in the consolidated balance sheets.

Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of changes in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. Changes in tax laws and rates could have a material impact on the deferred tax assets and liabilities recorded.

Deferred tax assets are reduced by a valuation allowance when, in the opinion of management, it is more likely than not that some portion or all of the deferred tax assets will not be realized. Significant estimates are used in the evaluation of the need for a valuation allowance including estimates regarding future taxable income. Changes to those estimates could impact management’s conclusions regarding the need for valuation allowances on some or all of the deferred tax assets. The Company releases the income tax effects of deferred tax balances that have a valuation allowance from accumulated other comprehensive income once the reason the tax effects were established ceases to exist.

The Company is subject to income taxes in the United States and several foreign jurisdictions. In the United States, the Company files a consolidated income tax return with its domestic subsidiaries. When tax returns are filed, it is highly certain that some positions taken would be sustained upon examination by taxing authorities, while others are subject to uncertainty about the merits of the position taken or the amount of the position that would be ultimately sustained. The benefit of a tax position is recognized in the consolidated financial statements in the period during which, based on all available evidence, it is more likely than not that the position will be sustained upon examination, including the resolution of appeals or litigation processes, if any. Tax positions taken are not offset or aggregated with other positions. Tax positions that meet the more-likely than-not threshold are measured as the largest amount of tax benefit that is more than 50% likely of being realized upon settlement with the applicable taxing authority. The portion of the benefits associated with tax positions taken that exceeds the amount measured as described above is reflected as a liability for unrecognized tax benefits in the accompanying balance sheets along with any associated interest and penalties that would be payable to the taxing authorities upon examination.

Further information regarding the Company’s tax positions is included in Note 15, Income Taxes.

Accumulated Other Comprehensive Income

Comprehensive income represents all changes in equity of the Company that result from recognized transactions and other economic events during the period. Other comprehensive (loss) income refers to revenues, expenses, gains, and losses that under GAAP are included in comprehensive income but excluded from net income.

Foreign Currency

Translation

Assets and liabilities of subsidiaries operating outside the United States with a functional currency other than U.S. Dollars are translated into U.S. Dollars using the exchange rates in effect at the balance sheet date. Results of operations are translated using the average exchange rate prevailing throughout the period. The effects of unrealized exchange rate fluctuations on translating foreign currency assets and liabilities into U.S. dollars are accumulated as the cumulative translation adjustment included in accumulated other comprehensive income in the consolidated balance sheets.

Transaction

Transactions denominated in foreign currency are recorded at the exchange rate on the date of each transaction. Realized gains and losses on foreign currency transactions are included in other income (expense), net in the consolidated statements of operations and comprehensive income, except on certain intercompany balances which the Company has determined are of a long-term investment nature, which are included in accumulated other comprehensive income in the consolidated balance sheets. Monetary assets and liabilities are remeasured at the balance sheet date at end-of-period exchange rates. Unrealized gains and losses arising from remeasurement of foreign currency-denominated monetary assets and liabilities are included in other income (expense), net in the consolidated statements of operations and comprehensive income in the period in which they occur.

Net Income per Share

Basic income or loss per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. Diluted income or loss per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method. The calculation of weighted average shares outstanding and net income per share are as follows:

    

Year ended December 31, 

    

2023

    

2022

    

2021

Net income

$

38,641

$

5,820

$

12,661

 

  

 

  

 

  

Weighted average shares outstanding - basic

 

37,533,818

 

36,109,844

 

28,598,692

Effect of dilutive securities:

Stock-based awards

386,670

12,530

Weighted average shares outstanding - diluted

 

37,920,488

 

36,122,374

 

28,598,692

Net income per share:

 

  

 

  

 

  

Basic

$

1.03

$

0.16

$

0.44

Diluted

$

1.02

$

0.16

$

0.44

There were no dilutive instruments outstanding for the year ended December 31, 2021.

Risk and Uncertainties

Concentration of Credit Risk

Financial instruments that potentially subject the Company to concentration of credit risk consist principally of cash and accounts receivable. Risks associated with cash within the United States and foreign countries are mitigated by banking with federally insured, creditworthy institutions, although certain of our cash deposits exceed the federally insured limits. As of December 31, 2023 and 2022, the Company had deposits of $9,757 and $10,142, respectively, at foreign financial institutions.

Accounts receivable are financial instruments that also expose the Company to concentration of credit risk. Such exposure is limited by the large number of customers comprising the Company’s customer base and their dispersion across different geographic areas. In addition, the Company routinely assesses the financial strength of its customers and maintains an allowance for doubtful accounts that management believes will adequately provide for credit losses. Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses as considered necessary by management.

Recent Accounting Pronouncements

Recently Adopted Accounting Pronouncements

In June 2016, the FASB issued ASU 2016-13, Financial Instruments — Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments. ASU 2016-13 includes an impairment model (known as the current expected credit loss model) that is based on expected losses rather than incurred losses. Under the new guidance, an entity recognizes as an allowance its estimate of expected credit losses, which the FASB believes will result in more timely recognition of such losses. The use of forecasted information is intended to incorporate more timely information in the estimate of expected credit loss. In November 2019, the FASB issued additional guidance which extends the effective date of ASU 2016-13 for emerging growth companies to begin in fiscal years beginning after December 15, 2022. The Company adopted this standard on January 1, 2023. The adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures.

In March 2020, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting and related amendments. This ASU provides temporary optional expedients and exceptions to existing guidance on contract modifications and hedge accounting to facilitate the market transition from existing reference rates, such as the London Inter-Bank Offered Rate (“LIBOR”) which began to be phased out in 2021, to alternate reference rates, such as the Secured Overnight Financing Rate

(“SOFR”). On May 31, 2023, we amended our 2021 credit agreement and interest rate swap agreements to affect the transition from LIBOR to SOFR. In connection with these amendments, the Company adopted ASU 2020-04 in the second quarter of 2023. In doing so, the Company elected to adopt the suite of optional expedients when analyzing the amendment to the credit agreement and related interest swaps. As such, the amendments to the Company’s 2021 credit agreement and swap agreements, and the adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures.

Accounting Pronouncements Not Yet Adopted

XML 28 R9.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS
12 Months Ended
Dec. 31, 2023
ACQUISITIONS  
ACQUISITIONS
2.ACQUISITIONS

Radar Acquisition

On January 11, 2022, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of Radar Leather Division S.r.l. (“Radar”), a premiere family-owned duty gear business based in Italy that specializes in the production of high-quality holsters, belts, duty belts, and other accessories.

Total consideration, net of cash acquired, was $19,365 for 100% of the equity interests in Radar.

The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the Radar acquisition is included in the Product segment and reflects

synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.

Total consideration, net

    

$

19,365

Accounts receivable

$

2,347

Inventories

1,874

Prepaid expenses

682

Other current assets

665

Property and equipment

3,053

Intangible assets

10,200

Goodwill

7,101

Total assets acquired

25,922

Accounts payable

1,120

Deferred tax liabilities

2,787

Accrued liabilities

2,106

Long-term debt

544

Total liabilities assumed

6,557

Net assets acquired

$

19,365

The full amount of goodwill of $7,101 is expected to be non-deductible for tax purposes.

Cyalume Acquisition

On May 4, 2022, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of Cyalume Technologies, Inc, CT SAS Holdings, Inc. and Cyalume Technologies SAS (collectively “Cyalume”). Cyalume is engaged in the design and manufacture of proprietary chemical illumination solutions for a diverse range of products, including light sticks, infrared products, safety markings and non-pyrophoric training ammunition.

Total consideration, net of cash acquired, was $36,178 for 100% of the equity interests in Cyalume.

The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. During fiscal 2023, in the measurement period, we have decreased goodwill by $393 for changes in assumptions used to fair value property, equipment, and customer relationships, and deferred income taxes for certain book and tax basis differences as we complete the tax return filings for the pre-acquisition period. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the Cyalume acquisition

is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.

Total consideration, net

    

$

36,178

Accounts receivable

$

3,302

Inventories

10,908

Prepaid expenses

255

Other current assets

10

Property and equipment

12,492

Intangible assets

8,100

Goodwill

8,708

Total assets acquired

43,775

Accounts payable

1,080

Deferred tax liabilities

4,652

Accrued liabilities

1,577

Other long-term liabilities

288

Total liabilities assumed

7,597

Net assets acquired

$

36,178

The full amount of goodwill of $8,708 is expected to be non-deductible for tax purposes.

XML 29 R10.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCOUNTS RECEIVABLE, NET
12 Months Ended
Dec. 31, 2023
ACCOUNTS RECEIVABLE, NET  
ACCOUNTS RECEIVABLE, NET
3.ACCOUNTS RECEIVABLE, NET

The following is a reconciliation of the changes in our allowance for doubtful accounts during 2023 and 2022:

Year ended December 31, 

    

2023

    

2022

Beginning allowance for doubtful accounts

$

924

$

645

Provision

 

66

 

417

Write-offs

 

(355)

 

(138)

Ending allowance for doubtful accounts

$

635

$

924

XML 30 R11.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE RECOGNITION
12 Months Ended
Dec. 31, 2023
REVENUE RECOGNITION  
REVENUE RECOGNITION
4.REVENUE RECOGNITION

The following tables disaggregate net sales by channel and geography:

Year ended December 31, 

    

2023

    

2022

    

2021

U.S. state and local agencies (a)

$

282,318

$

250,680

$

231,095

Commercial

 

42,406

 

45,357

 

34,860

U.S. federal agencies

 

57,447

 

51,165

 

47,575

International

 

97,058

 

106,593

 

107,503

Other

 

3,303

 

4,042

 

6,255

Net sales

$

482,532

$

457,837

$

427,288

(a) Includes all Distribution sales

Year ended December 31, 

    

2023

    

2022

    

2021

United States

$

385,474

$

351,244

$

319,785

International

 

97,058

 

106,593

 

107,503

Net sales

$

482,532

$

457,837

$

427,288

Revenue by product is not disclosed, as it is impractical to do so.

Contract Liabilities

Contract liabilities are recorded as a component of other liabilities when customers remit cash payments in advance of the Company satisfying performance obligations. Contract liabilities are recognized into revenue when the performance obligation is satisfied. Contract liabilities are included in accrued liabilities in the Company’s consolidated balance sheets and totaled $4,246 and $4,615, as of December 31, 2023 and 2022, with $2,937 of the 2022 contract liabilities being recognized in revenue during the year ended December 31, 2023.

Remaining Performance Obligations

As of December 31, 2023, we had $24,721 of remaining unfulfilled performance obligations, which included amounts that will be invoiced and recognized in future periods. The remaining performance obligations are limited only to arrangements that meet the definition of a contract under Topic 606, Revenue from Contracts with Customers, as of December 31, 2023. We expect to recognize approximately 54% of this balance over the next twelve months and expect the remainder to be recognized in the following two years.

XML 31 R12.htm IDEA: XBRL DOCUMENT v3.24.0.1
FAIR VALUE MEASUREMENTS
12 Months Ended
Dec. 31, 2023
FAIR VALUE MEASUREMENTS  
FAIR VALUE MEASUREMENTS
5.FAIR VALUE MEASUREMENTS

Assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and 2022 consisted of the following:

December 31, 2023

December 31, 2022

Carrying 

Fair Value

Carrying 

Fair Value

    

Amount

    

Level 1

    

Level 2

    

Level 3

    

Amount

    

Level 1

    

Level 2

    

Level 3

Assets:

 

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Interest rate swap (Note 10)

$

6,505

$

$

6,505

$

$

8,985

$

$

8,985

$

Liabilities:

Interest rate swap (Note 10)

$

427

$

$

427

$

$

$

$

$

There were no transfers of assets or liabilities between levels during the years ended December 31, 2023 and 2022.

XML 32 R13.htm IDEA: XBRL DOCUMENT v3.24.0.1
INVENTORIES
12 Months Ended
Dec. 31, 2023
INVENTORIES  
INVENTORIES
6.INVENTORIES

The following table sets forth a summary of inventories stated at lower of cost or net realizable value, as of December 31, 2023 and 2022:

    

December 31, 

    

2023

    

2022

Finished goods

$

31,674

$

25,208

Work-in-process

 

8,473

 

7,466

Raw materials and supplies

 

40,829

 

37,599

Total

$

80,976

$

70,273

7.
XML 33 R14.htm IDEA: XBRL DOCUMENT v3.24.0.1
PROPERTY AND EQUIPMENT
12 Months Ended
Dec. 31, 2023
PROPERTY AND EQUIPMENT  
PROPERTY AND EQUIPMENT
7.PROPERTY AND EQUIPMENT

Property and equipment consist of the following:

    

December 31, 

2023

    

2022

Land

$

7,614

$

7,545

Building and improvements

 

24,433

 

22,992

Furniture and fixtures

 

1,966

 

1,400

Computer hardware and software

 

25,145

 

24,140

Machinery and equipment

 

31,770

 

28,464

Construction in progress

 

4,687

 

3,438

 

95,615

 

87,979

Less accumulated depreciation

 

(50,968)

 

(42,694)

Total

$

44,647

$

45,285

The Company recorded depreciation expense of $7,943, $6,851 and $5,143 for the years ended December 31, 2023, 2022 and 2021, respectively, of which $4,590, $3,433 and $2,144 was included in cost of goods sold in the consolidated statements of operations and comprehensive income for the respective years.

XML 34 R15.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS
12 Months Ended
Dec. 31, 2023
GOODWILL AND OTHER INTANGIBLE ASSETS  
GOODWILL AND OTHER INTANGIBLE ASSETS
8.GOODWILL AND OTHER INTANGIBLE ASSETS

Goodwill

The following table summarizes the changes in goodwill during the years ended December 31, 2023 and 2022:

    

Product

    

Distribution

    

Total

Balance, December 31, 2021

 

$

63,646

$

2,616

 

$

66,262

Radar acquisition

7,101

7,101

Cyalume acquisition

9,101

9,101

Foreign currency translation adjustments

 

(888)

 

(888)

Balance, December 31, 2022

$

78,960

$

2,616

$

81,576

Measurement period adjustments

(393)

(393)

Foreign currency translation adjustments

484

484

Balance, December 31, 2023

$

79,051

$

2,616

$

81,667

Impairment of Goodwill

No impairment losses were recorded during the years ended December 31, 2023, 2022 and 2021. Gross goodwill and accumulated impairment losses was $89,252 and $7,585, respectively, as of December 31, 2023 and $89,161 and $7,585, respectively, as of December 31, 2022.

Intangible Assets

Intangible assets such as certain customer relationships and patents on core technologies and product technologies are amortizable over their estimated useful lives. Certain trade names and trademarks which provide exclusive and perpetual rights to manufacture and sell their respective products are deemed indefinite-lived and are therefore not subject to amortization.

Intangible assets consisted of the following as of December 31, 2023 and 2022:

December 31, 2023

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

86,621

 

$

(65,650)

 

$

20,971

 

11

Technology

 

16,111

 

 

(11,979)

 

 

4,132

 

8

Tradenames

 

6,622

 

 

(5,492)

 

 

1,130

 

4

Non-compete agreements

 

1,003

 

 

(1,003)

 

 

 

4

$

110,357

 

$

(84,124)

 

$

26,233

Indefinite lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,239

 

 

 

 

17,239

 

Indefinite

Total

$

127,596

 

$

(84,124)

 

$

43,472

 

  

December 31, 2022

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

85,847

$

(59,122)

 

$

26,725

 

11

Technology

 

15,629

 

 

(11,309)

 

 

4,320

 

8

Tradenames

 

6,484

 

 

(4,254)

 

 

2,230

 

4

Non-compete agreements

 

973

 

 

(973)

 

 

 

4

$

108,933

 

$

(75,658)

 

$

33,275

Indefinite lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,420

 

 

 

 

17,420

 

Indefinite

Total

$

126,353

 

$

(75,658)

 

$

50,695

 

  

The Company recorded amortization expense of $7,794, $8,800 and $8,575 for the years ended December 31, 2023, 2022 and 2021, respectively, of which $465, $439 and $666 was included in cost of goods sold in the consolidated statements of operations and comprehensive income for the respective years.

The estimated amortization expense for definite-lived intangible assets for the next five years and thereafter is presented below:

2024

    

$

5,115

2025

 

3,139

2026

 

2,736

2027

 

2,553

2028

 

2,553

Thereafter

 

10,137

Total

$

26,233

9.
XML 35 R16.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCRUED LIABILITIES
12 Months Ended
Dec. 31, 2023
ACCRUED LIABILITIES  
ACCRUED LIABILITIES
9.ACCRUED LIABILITIES

Accrued liabilities as of December 31, 2023 and 2022 are as follows:

    

December 31, 

2023

2022

Accrued expenses

$

4,384

$

3,656

Accrued compensation and payroll tax

 

24,621

 

20,420

Accrued interest payable

 

137

 

73

Accrued warranties

 

1,610

 

1,234

Contract liabilities and customer credits

5,122

5,937

Current lease liabilities

3,510

3,773

Other accrued liabilities

5,140

3,627

Total

$

44,524

$

38,720

10.
XML 36 R17.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT
12 Months Ended
Dec. 31, 2023
DEBT  
DEBT
10.DEBT

The Company’s debt is as follows:

    

December 31, 

2023

    

2022

Short-term debt:

 

  

 

  

Insurance premium financing

$

2,187

$

2,211

Current portion of term loan

 

10,000

 

10,000

Current portion of other

 

133

 

$

12,320

$

12,211

Long-term debt:

 

  

 

  

Revolver

 

 

Term loan

 

128,564

 

138,564

Other

 

398

 

512

$

128,962

$

139,076

Unamortized debt discount and debt issuance costs

 

(1,150)

 

(1,600)

Total long-term debt, net

$

127,812

$

137,476

The following summarizes the aggregate principal payments of our long-term debt, excluding debt discount and debt issuance costs, for the next five years and thereafter:

2024

    

$

10,133

2025

 

10,133

2026

 

118,697

2027

 

132

2028

 

Total principal payments

$

139,095

2021 Credit Facility

On August 20, 2021 (the “Closing Date”), the Company refinanced its existing credit facilities and entered into a new credit agreement whereby Safariland, LLC, as borrower (the “Borrower”), the Company and certain domestic subsidiaries of the Borrower, as guarantors (the “Guarantors”), closed on and received funding under a credit agreement (initially entered into on July 23, 2021), pursuant to a First Amendment to Credit Agreement (collectively, the “2021 Credit Agreement”) with PNC Bank, National Association (“PNC”), as administrative agent, and the several lenders from time to time party thereto (together with PNC, the “Lenders”) pursuant to which the Borrower (i) borrowed $200,000 under a term loan (the “Term Loan”), and (ii) may borrow up to

$100,000 under a revolving credit facility (including up to $15,000 for letters of credit and up to $10,000 for swing line loans) (the “Revolving Loan”). Each of the Term Loan and the Revolving Loan mature on July 23, 2026. Commencing December 31, 2021, the Term Loan requires scheduled quarterly payments in amounts equal to 1.25% per quarter of the original aggregate principal amount of the Term Loan, with the balance due at maturity. The 2021 Credit Agreement is guaranteed, jointly and severally, by the Guarantors and, subject to certain exceptions, secured by a first-priority security interest in substantially all of the assets of the Borrower and the Guarantors pursuant to a Security and Pledge Agreement and a Guaranty and Suretyship Agreement, each dated as of the Closing Date.

The Company performed an analysis on a creditor-by-creditor basis for debt modifications and extinguishments to determine the appropriate accounting treatment of associated issuance costs. In connection with the refinancing, the Company recorded a loss on debt extinguishment of $15,155 for the year ended December 31, 2021 related to early extinguishments fees and the write-off of unamortized debt discount and debt issuance costs.

In connection with the 2021 Credit Agreement, the Company paid financing costs totaling $4,114, of which $2,749 related to the Term Loan and $1,365 related to the Revolving Loan. Total financing costs consisted of $1,916 of fees paid to lenders and $2,198 of debt issuance costs. Costs incurred in connection with the Term Loan were deferred and recorded as an offset to long-term debt. Costs incurred in connection with the Revolving Loan were deferred and recorded to other assets. All deferred debt costs are amortized to interest expense over the term of the loan using the effective interest method.

As of December 31, 2023 and 2022, the Company had an unamortized debt discount of $537 and $748 and unamortized debt issuance costs of $613 and $851, respectively, included as an offset to debt in the consolidated balance sheets.

There were no amounts outstanding under any revolving loans as of December 31, 2023 and 2022. As of December 31, 2023, there were $2,584 in outstanding letters of credit and $97,416 of availability.

As of December 31, 2023 and 2022, the term loan outstanding principal balance was $138,564 and $148,564 and bore interest at 6.96% and 6.14%, respectively.

The Borrower may elect to have the Revolving Loan and Term Loan under the 2021 Credit Agreement bear interest at a base rate or LIBOR, in each case, plus an applicable margin. However, in connection with the market transition away from applicable LIBOR rates to SOFR, on May 31, 2023, the Company, the Borrowers and the Lenders entered into the third amendment to the 2021 Credit Agreement (the “Third Amendment”) pursuant to which the 2021 Credit Agreement was amended to implement the SOFR rates. The applicable interest rates for these borrowings are, at the Company’s option, either (a) a base rate plus an applicable margin between 0.50% and 1.50% or (b) a Term SOFR rate, plus a SOFR adjustment equal to 0.10%, plus an applicable margin equal to 1.50% to 2.50%. The 2021 Credit Agreement also requires the Borrower to pay a commitment fee on the unused portion of the loan commitments. Such commitment fee ranges between 0.175% and 0.25% per annum, and is also based upon the level of the Company’s consolidated total net leverage ratio. The 2021 Credit Agreement also contains customary representations and warranties, and affirmative and negative covenants, including limitations on additional indebtedness, dividends, and other distributions, entry into new lines of business, use of loan proceeds, capital expenditures, restricted payments, restrictions on liens on the assets of the Borrowers or any Guarantor, transactions with affiliates, amendments to organizational documents, accounting changes, sale and leaseback transactions, dispositions, and mandatory prepayments in connection with certain liquidity events. The 2021 Credit Agreement contains certain restrictive debt covenants, which require us to: (i) maintain a minimum fixed charge coverage ratio of 1.25 to 1.00, starting with the quarter ended December 31, 2021, which is to be determined for each quarter end on a trailing four quarter basis and (ii) maintain a quarterly maximum consolidated total net leverage ratio of 3.75 to 1.00 from the quarter ended December 31, 2022 until the quarter ended September 30, 2022, and thereafter 3.50 to 1.00, which is in each case to be determined on a trailing four quarter basis; provided that under certain circumstances and subject to certain limitations, in the event of a material acquisition, we may temporarily increase the consolidated total net leverage ratio by up to 0.50 to 1.00 for four fiscal quarters following such acquisition. The 2021 Credit Agreement contains customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the 2021 Credit Agreement may be accelerated and the Lenders could foreclose on their security interests in the assets of the Borrowers and the Guarantors.

Canadian Credit Facility

On October 14, 2021, Med-Eng Holdings ULC and Pacific Safety Products Inc., the Company’s Canadian subsidiaries, as borrowers (the “Canadian Borrowers”), and Safariland, LLC, as guarantor (the “Canadian Guarantor”), closed on a line of credit pursuant to a Loan Agreement (the “Canadian Loan Agreement”) and a Revolving Line of Credit Note (the “Note”) with PNC Bank Canada Branch (“PNC Canada”), as lender pursuant to which the Canadian Borrowers may borrow up to CDN$10,000 under a revolving line of credit (including up to $3,000 for letters of credit) (the “Revolving Canadian Loan”). The Revolving Canadian Loan matures on July 23, 2026. The Canadian Loan Agreement is guaranteed by the Canadian Guarantor pursuant to a Guaranty and Suretyship Agreement (the “Canadian Guaranty Agreement”).

The Canadian Borrowers may elect to have borrowings either in United States dollars or Canadian dollars under the Canadian Loan Agreement, which will bear interest at a base rate or SOFR, in each case, plus an applicable margin, in the case of borrowings in United States dollars, or at a Canadian Prime Rate (as announced from time to time by PNC Canada) or a Canadian deposit offered rate (“CDOR”) as determined from time to time by PNC Canada in accordance with the Canadian Loan Agreement. The applicable margin for these borrowings range from 0.50% to 1.50% per annum, in the case of base rate borrowings and Canadian Prime Rate borrowings, and 1.50% to 2.50% per annum, in the case of SOFR borrowings and CDOR borrowings. The Canadian Loan Agreement also requires the Canadian Borrowers to pay (i) an unused line fee on the unused portion of the loan commitments in an amount ranging between 0.175% and 0.25% per annum, based upon the level of the Company’s consolidated total net leverage ratio, and (ii) an upfront fee equal to 0.25% of the principal amount of the Note.

There were no amounts outstanding under the Revolving Canadian Loan as of December 31, 2023 and 2022.

The Canadian Loan Agreement also contains customary representations and warranties, and affirmative and negative covenants, including, among others, limitations on additional indebtedness, entry into new lines of business, entry into guarantee agreements, making of any loans or advances to, or investments in, any other person, restrictions on liens on the assets of the Canadian Borrowers and mergers, transfers of assets and acquisitions. The Canadian Loan Agreement and Note also contain customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions.

Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the Canadian Loan Agreement may be accelerated.

Short-Term Debt

In July 2022, the Company entered into a short-term loan facility for insurance premiums with AFCO Credit Corporation for $3,989 with a maturity date of June 27, 2023. The loan has fixed annual interest of 5.75% on the outstanding balance and requires monthly payments of principal and interest of $373. As of December 31, 2022, $2,211 was outstanding.

In July 2023, the Company entered into a short-term loan facility for insurance premiums with First Insurance Funding for $3,948 with a maturity date of June 27, 2024. The loan has fixed annual interest of 7.49% on the outstanding balance and requires monthly payments of principal and interest of $373. As of December 31, 2023, $2,187 was outstanding.

Fair Value of Debt

The fair value of our Term Loan is based upon established market prices for the securities using Level 2 inputs. The fair value of our Term Loan as of December 31, 2023 was $141,340 compared to its carrying value of $138,564. The Company classifies its long-term debt within Level 2 of the fair value hierarchy

Interest Rate Swaps

We entered into interest rate swap agreements to hedge forecasted monthly interest rate payments on our floating rate debt. As of December 31, 2023, we had the following interest rate swap agreements (the “Swap Agreements”):

Effective Date

    

Notional Amount

    

Fixed Rate

September 30, 2021 through July 23, 2026

$

88,750

0.812

%

May 31, 2023 through July 23, 2026

    

$

48,125

    

3.905

%

On May 31, 2023, concurrent with the third amendment to the 2021 Credit Agreement, we amended our September 30, 2021 swap agreement to reflect the change from LIBOR to SOFR. In addition, we entered into an additional $50,000 notional amount interest rate swap to further mitigate our interest rate exposure on our floating rate debt. Under the terms of the Swap Agreements, we receive payments based on the 1-month SOFR (5.36% as of December 31, 2023).

During the year ended December 31, 2023, there were no interest rate swap agreements that expired.

We designated the Swap Agreements as cash flow hedges. A portion of the amount included in accumulated other comprehensive income is reclassified into interest expense, net as a yield adjustment as interest is either paid or received on the hedged debt. The fair value of our Swap Agreements is based upon Level 2 inputs. We have considered our own credit risk and the credit risk of the counterparties when determining the fair value of our Swap Agreements.

It is our policy to execute such instruments with creditworthy banks and not to enter into derivative financial instruments for speculative purposes. We believe our interest rate swap counterparty will be able to fulfill their obligations under our agreements, and we believe we will have debt outstanding through the expiration date of the swap agreements such that the occurrence of future cash flow hedges remains probable.

The estimated fair value of our Swap Agreements in the consolidated balance sheets was as follows:

    

December 31, 

Balance Sheet Accounts

2023

    

2022

Other current assets

$

3,655

$

3,619

Other assets

$

2,850

$

5,366

Other liabilities

$

427

$

A cumulative gain, net of tax, of $4,357 and $6,739 is recorded in accumulated other comprehensive income as of December 31, 2023 and 2022, respectively.

The amount of gain, net of tax, recognized in other comprehensive income for the years ended December 31, 2023, 2022 and 2021 was $775, $6,444 and $767, respectfully. There was a gain, net of tax, of $3,157 and $618 and a loss, net of tax, of $146 reclassified from accumulated other comprehensive income into earnings for the years ended December 31, 2023, 2022 and 2021, respectively.

As of December 31, 2023, approximately $3,552 is expected to be reclassified from accumulated other comprehensive income into interest expense over the next 12 months.

XML 37 R18.htm IDEA: XBRL DOCUMENT v3.24.0.1
SHAREHOLDERS' EQUITY
12 Months Ended
Dec. 31, 2023
SHAREHOLDERS' EQUITY  
SHAREHOLDERS' EQUITY
11.SHAREHOLDERS’ EQUITY

Initial Public Offering

On November 3, 2021, the Company completed its initial public offering (“IPO”) in which the Company issued and sold 6,900,000 shares, which included 900,000 shares that were offered and sold pursuant to the full exercise of the underwriters’ over-allotment option, of common stock at a public offering price of $13.00 per share. The Company’s net proceeds from the sale of shares in the IPO was $78,581 after underwriter discounts and commissions, fees and expenses of $11,119, of which $2,250 was paid to Kanders & Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer.

Secondary Offering

On June 9, 2022, the Company completed a secondary offering in which the Company issued and sold 2,250,000 shares of common stock at a price of $23.50 per share. The Company’s net proceeds from the sale of shares were $46,988 after underwriter discounts and commissions, fees and expenses of $2,715, of which $2,000 was paid to Kanders & Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer.

On July 14, 2022, the underwriters exercised a portion of their over-allotment option and purchased an additional 300,000 shares of common stock at a price of $23.50 per share, resulting in net proceeds to the Company of $6,389 after underwriter discounts and commissions, fees and expenses of $661.

Dividends

On January 23, 2024, the Company announced that its board of directors approved the initiation of a quarterly cash dividend policy of $0.0875 per share of the Company’s common stock (the “Quarterly Cash Dividend”) or $0.35 per share on an annualized basis, representing an increase of 3 cents over the previous annualized dividend of $0.32 per share. The declaration and payment of future Quarterly Cash Dividends is subject to the discretion of and approval of the Company’s board of directors. Our Quarterly Cash Dividends totaled $12,006, $11,509 and $2,751 for the years ended December 31, 2023, 2022 and 2021, respectively.

XML 38 R19.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCK-BASED COMPENSATION
12 Months Ended
Dec. 31, 2023
STOCK - BASED COMPENSATION  
STOCK-BASED COMPENSATION
12.STOCK-BASED COMPENSATION

2021 Phantom Restricted Share Plan

The Company maintains a cash-based executive compensation plan for certain employees. The Company’s board of directors awarded 1,433,500 interests in the plan (“units”). Each unit represents an unfunded and unsecured right, subject to certain conditions as set forth by the plan. One-third of the units granted to any holder will vest on each of the first, second, and third anniversaries of March 18, 2021 during the term of such holder’s employment with the Company. Payment of a holder’s vested balance is dependent upon a transaction or series of related transactions constituting a qualifying exit event, as defined by the executive compensation plan. The plan will expire on March 18, 2025, at which time the plan and all awarded units will be terminated for no consideration if a qualifying exit event has not occurred before that date.

On March 9, 2022, the Company’s board of directors modified the performance condition, specifically the definition of a qualifying exit event. In addition, the board of directors approved the settlement of vested and unvested units in common stock rather than cash, which resulted in a change in classification of the outstanding units from liability to equity. As a result, modification of the units occurred on March 9, 2022 with a grant date fair value of $23.45, the closing stock price of the Company on the date of modification. There were 632,500 units that vested March 18, 2022 and 791,667 units that will vest in equal amounts on the second and third anniversaries of the plan. The Company recognized compensation expense of $22,100 on March 9, 2022, the date the performance condition became probable.

A summary of our phantom award activity for the year ended December 31, 2023 is as follows:

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

791,667

 

$

Granted

 

Vested

 

(418,174)

 

23.45

Forfeited

 

 

Outstanding at December 31, 2023

373,493

 

$

23.45

The total fair value of phantom awards vested in 2023 was $9,806.

Compensation cost related to phantom awards was $4,371 and $28,578 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $626 of unrecognized compensation cost related to phantom awards, which is expected to be recognized over a weighted-average period of 0.2 years.

2021 Stock Incentive Plan

In November 2021, we adopted the 2021 Stock Incentive Plan (the “2021 Plan”). The 2021 Plan provides for the grant of incentive stock options to our employees and any parent and subsidiary companies’ employees, and for the grant of non-statutory stock options, restricted stock, restricted stock units (“RSUs”), stock appreciation rights (“SARs”), performance units, and performance shares to our employees, directors, and consultants and our parent and subsidiary companies’ employees and consultants. The maximum aggregate number of shares of common stock that may be issued under the 2021 Plan is 9,650,000 shares. As of December 31, 2023, 5,776,326 shares of common stock were reserved and available for issuance under the 2021 Plan.

Market Condition Restricted Shares

On November 4, 2021, the Company issued and granted to certain employees a total of 2,600,000 RSUs under the 2021 Plan, of which 2,600,000 RSUs will vest if, on or before November 8, 2031, the Fair Market Value (as defined in the Plan) of the Company’s common stock shall have equaled or exceeded $40.00 per share for twenty consecutive trading days. For computing the fair value of the 2,600,000 RSUs with a market condition, the fair value of the RSU grant has been estimated as of the date of grant using the Monte-Carlo pricing model with the assumptions below.

2021

Number issued

2,600,000

Vesting period

$40.00 stock price target

Grant price (per share)

$4.65

Dividend yield

0.0%

Expected volatility

32.08%

Risk-free interest rate

1.59%

Expected term (years)

5.67

Weighted average fair value (per share)

$4.65

A summary of our market condition RSU activity for the year ended December 31, 2023 is as follows:

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

2,600,000

 

$

4.65

Granted

 

Vested

 

 

Forfeited

 

 

Outstanding at December 31, 2023

2,600,000

 

$

4.65

Compensation cost related to market condition RSUs was $2,132, $2132 and $355 for the years ended December 31, 2023, 2022 and 2021 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $7,470 of unrecognized compensation cost related to market condition RSUs, which is expected to be recognized over a weighted-average period of 3.5 years.

Stock Options

Stock options granted under the 2021 Plan are non-qualified and are granted with an exercise price equal to the market value of the Company’s common stock on the date of grant, and vest from one to three years from the date of grant. Stock options are granted with ten-year terms. We recorded compensation expense for employee stock options based on the estimated fair value of the options

on the date of grant using the Black-Scholes option-pricing model. The model uses various assumptions, including a risk-free interest rate, the expected term of the options, the expected stock price volatility, and the expected dividend yield. 

The fair value of each option grant has been estimated as of the date of grant with the following assumptions:

2023

2022

Number issued

395,253

373,479

Vesting period

1 - 3 years

1 - 3 years

Grant price (per share)

$20.53

$23.45 - $23.70

Dividend yield

1.56%

1.35% - 1.36%

Expected volatility

31.40%

33.22%

Risk-free interest rate

3.68%

1.12%

Expected term (years)

4.68 - 6.00

4.61 - 6.00

Weighted average fair value (per share)

$6.34

$6.69

A summary of our stock option activity for the year ended December 31, 2023 is as follows:

Weighted 

Aggregate

Weighted Average 

Average 

Intrinsic

Remaining Contractual

Options

Exercise Price

Value

Life (in years)

Outstanding at December 31, 2022

367,611

 

$

23.46

 

$

9.2

Granted

 

395,253

20.53

 

Exercised

 

(1,405)

 

23.45

 

12

 

Forfeited

 

 

 

 

Outstanding at December 31, 2023

761,459

 

$

21.98

 

$

8,310

8.7

Exercisable at December 31, 2023

227,806

$

22.77

$

2,305

8.5

Vested and expected to vest at December 31, 2023

761,459

 

$

21.98

 

$

8,310

8.7

Compensation cost related to stock options was $1,619 and $974 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $2,374 of unrecognized compensation cost related to stock options, which is expected to be recognized over a weighted-average period of 1.9 years.

Restricted Stock Units

Restricted stock units vest in three equal installments over a three-year period from the date of grant and have a grant date fair value of the closing stock price of the Company on the date of grant.

A summary of our RSU activity for the year ended December 31, 2023 is as follows:

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

83,494

 

$

23.45

Granted

 

113,097

20.53

Vested

 

(27,838)

 

23.45

Forfeited

 

(1,676)

 

20.53

Outstanding at December 31, 2023

167,077

 

$

21.50

Compensation cost related to RSUs was $1,267 and $531 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $2,453 of unrecognized compensation cost related to RSUs, which is expected to be recognized over a weighted-average period of 1.9 years.

XML 39 R20.htm IDEA: XBRL DOCUMENT v3.24.0.1
COMPENSATION AND DEFINED CONTRIBUTION PLANS
12 Months Ended
Dec. 31, 2023
COMPENSATION AND DEFINED CONTRIBUTION PLANS  
COMPENSATION AND DEFINED CONTRIBUTION PLANS
13.COMPENSATION AND DEFINED CONTRIBUTION PLANS

The Company and its wholly owned subsidiaries sponsor Internal Revenue Code Section 401(k) defined contribution plans for the benefit of all full-time and part-time employees. Employees are entitled to make tax- deferred contributions up to the maximum allowed by law of their eligible compensation.

The Company sponsors various other non-U.S. Defined Contribution and Defined Profit-Sharing Plans that are offered by the Company’s foreign subsidiaries. Many of these plans were assumed through the Company’s acquisitions or are required by local regulatory requirements. The Company may deposit funds for these plans with insurance companies, or into government-managed accounts consistent with local regulatory requirements, as applicable.

Contribution to the plans are made by both the employee and the Company. The Company’s contributions to the plans was $2,380, $3,198 and $1,780 for the years ended December 31, 2023, 2022 and 2021, respectively.

Long-Term Incentive Plan

In March 2021, the Company initiated a cash-based long-term incentive plan. Each award granted under the plan shall be eligible to vest in three equal annual installments over a period of three consecutive one-year performance periods, with each installment of the award vesting on the last day of the applicable performance period, subject to the achievement of the performance metrics established by the board of directors for the applicable annual performance period.

On March 9, 2022, the Company’s board of directors approved the common stock settlement of vested awards of the long-term incentive plan. The board of directors also approved the option to settle unvested awards in common stock. Modification accounting was not applied as this change did not affect the fair value of the awards, vesting conditions, or the liability classification of the awards.

Total compensation expense related to this plan was $860, $1,369 and $2,162 for the years ended December 31, 2023, 2022 and 2021, respectively, and is included in selling, general and administrative in the Company’s consolidated statements of operations and comprehensive income.

XML 40 R21.htm IDEA: XBRL DOCUMENT v3.24.0.1
COMMITMENTS AND CONTINGENCIES
12 Months Ended
Dec. 31, 2023
COMMITMENTS AND CONTINGENCIES  
COMMITMENTS AND CONTINGENCIES
14.COMMITMENTS AND CONTINGENCIES

Legal Proceedings

In September 2021, Safariland, LLC, a wholly-owned subsidiary of the Company, received a jury verdict awarding $7,500 to a plaintiff relating to a personal injury case wherein the plaintiff alleged various product liability claims against Safariland, LLC. The plaintiff in the proceeding, Mr. David Hakim, instituted the proceeding on July 24, 2015, through the filing of a complaint with the United States District Court, Northern District of Illinois, Eastern Division. In the proceeding, the plaintiff, a SWAT officer with the DuPage County Sheriff’s Office (“DCSO”), alleged that he suffered injuries during a training exercise conducted by DCSO in which a Defense Technology Shotgun Breaching TKO round was deployed and passed through a door and lower-floor ceiling causing a fragment to strike plaintiff’s back resulting in injury. Prior to the jury rendering its verdict, the court deferred ruling on Safariland, LLC’s Motion for Judgment as a Matter of Law (“JMOL”). On November 8, 2021, Safariland, LLC filed its post-trial motions, including a supplemental JMOL, motion for new trial and remittitur. On April 18, 2022, the court denied Safariland, LLC’s JMOL, motion for new trial and remittitur and, accordingly, entered a judgment in favor of plaintiff, David Hakim, as to the Third Claim. In response, Safariland, LLC timely filed its notice of appeal with the United States Court of Appeals for the Seventh Circuit (the “Seventh Circuit”). Safariland and Plaintiff have filed their appeal briefs, and oral arguments were held on October 25, 2022. On August 21, 2023, the Seventh Circuit affirmed the judgment of the district court. In accordance with the Company’s applicable insurance policies, the Company was fully indemnified. The insurer satisfied the judgment and a release of the judgment was entered on September 11, 2023. Accordingly, this matter is now closed..

The Company is also involved in various legal disputes and other legal proceedings and claims that arise from time to time in the ordinary course of business. The Company vigorously defends itself against all lawsuits and evaluates the amount of reasonably possible losses that the Company could incur as a result of these matters. While any litigation contains an element of uncertainty, the Company believes that the reasonably possible losses that the Company could incur in excess of insurance coverage would not have a material adverse effect on the Company’s consolidated financial position, results of operations, or liquidity.

Insurance

The Company has various insurance policies, including product liability insurance, covering risks and in amounts it considers adequate. There can be no assurance that the insurance coverage maintained by the Company is sufficient or will be available in adequate amounts or at a reasonable cost.

International

As an international company, we are, from time to time, the subject of investigations relation to the Company’s international operations, including under U.S. export control laws (such as ITAR), the FCPA and other similar U.S. and foreign laws. To the best of the Company’s knowledge, there are not any potential or pending investigations at this time.

XML 41 R22.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES
12 Months Ended
Dec. 31, 2023
INCOME TAXES  
INCOME TAXES
15. INCOME TAXES

Consolidated income from continuing operations before provision for income taxes consisted of the following:

Year ended December 31, 

2023

    

2022

    

2021

U.S. operations

$

49,603

$

6,455

$

18,243

Foreign operations

3,321

2,918

949

Income before provision for income taxes

$

52,924

$

9,373

$

19,192

The provision for income taxes is detailed below:

Year ended December 31, 

2023

    

2022

    

2021

Current tax provision:

Federal

$

9,969

$

2,711

$

State

 

1,811

 

624

 

907

Foreign

 

2,713

 

1,305

 

852

Total current provision

 

14,493

 

4,640

 

1,759

Deferred tax (benefit) provision:

Federal

 

1,692

 

(24)

 

4,704

State

 

322

 

(5)

 

897

Foreign

 

(2,224)

 

(1,058)

 

(829)

Total deferred (benefit) provision

 

(210)

 

(1,087)

 

4,772

Total provision for income taxes

$

14,283

$

3,553

$

6,531

The following is a reconciliation of the statutory federal income tax rate to the effective rate reported in the Company’s consolidated financial statements:

    

Year ended December 31, 

2023

    

2022

 

2021

 

Federal statutory rate

21.0

%

21.0

%

21.0

%

Increase (decrease) in income taxes resulting from:

State income taxes, net of federal income taxes

 

4.6

 

5.6

8.4

Change in valuation allowance

 

 

0.8

Current year tax credits

 

(0.7)

 

(6.5)

(4.7)

Difference between foreign and federal tax rate

 

0.7

 

5.4

2.8

Permanent items

 

1.6

 

12.2

5.2

Reserve for uncertain tax positions

 

 

0.5

Other

 

(0.2)

 

(0.3)

0.5

Effective tax rate

 

27.0

%

37.9

%

34.0

%

Deferred taxes have not been recognized for the excess financial reporting basis over the tax basis of investments of foreign subsidiaries. It is the Company’s intent to permanently reinvest the earnings of those foreign subsidiaries in those jurisdictions. It is not practical to determine the amount of any unrecognized deferred tax liability on this item.

Deferred income tax assets and liabilities are determined based on the difference between the financial reporting carrying amounts and tax bases of existing assets and liabilities and operating loss and tax credit carryforwards. The tax effects of temporary differences giving rise to significant components of the Company’s deferred income tax assets and liabilities are as follows:

    

December 31, 

2023

    

2022

Deferred tax assets:

Net operating loss and other carry forwards

$

4,667

$

7,335

Accrued liabilities

 

4,656

 

3,351

Reserves and other

 

2,749

 

3,039

263A uniform capitalization costs

 

115

 

201

Other deferred tax assets

 

6,741

 

5,232

Total deferred tax assets

 

18,928

 

19,158

Valuation allowance

 

(1,872)

 

(1,888)

Net deferred tax assets

 

17,056

 

17,270

Deferred tax liabilities:

Intangibles

 

(4,832)

 

(5,789)

Depreciation

 

(4,017)

 

(4,447)

Goodwill

 

(8,512)

 

(7,560)

Other

 

(534)

 

(727)

Total deferred tax liabilities

 

(17,895)

 

(18,523)

Total deferred income taxes

$

(839)

$

(1,253)

In assessing the realizability of deferred income tax assets, the Company performs an evaluation of whether it is more likely than not that some portion, or all, of its deferred income tax assets will not be realized. During the course of this evaluation, the Company considers all available positive and negative evidence and if, based upon the weight of available evidence, it is more likely than not the deferred tax assets will not be realized, a valuation allowance is recorded.

As of December 31, 2023, the Company had net operating loss carryforwards that expire in varying amounts beginning in 2024 through 2039 and tax credit carryforwards that expire in varying amounts beginning in 2024 through 2038.

The total amount of unrecognized benefits on uncertain tax positions that, if recognized, would affect the Company’s effective tax rate was $2,052. A reconciliation of the change in the unrecognized income tax benefit for the years ended December 31, 2023 and 2022 is as follows:

    

Year ended December 31, 

2023

    

2022

Beginning unrecognized tax benefits

$

1,986

$

2,090

Current period unrecognized tax benefits

 

 

39

Foreign currency fluctuations

66

(143)

Ending unrecognized tax benefits

$

2,052

$

1,986

The Company recognizes interest expense and penalties related to unrecognized tax benefits as income tax expense. No amounts representing penalties and interest were recorded as income tax expense during the years ended December 31, 2023, 2022 and 2021. The Company had no interest or penalties accrued in the consolidated balance sheets as of December 31, 2023 and 2022.

The Company and its subsidiaries file income tax returns in the U.S. federal, various state and local, and certain foreign jurisdictions. As of December 31, 2023, the Company’s tax years subsequent to 2017 are subject to examination by tax authorities with few exceptions. One of the Company’s Canadian subsidiaries underwent an examination of its tax filings for the period June 1, 2016 through December 31, 2017. In January 2022, the Company received notification that the Canadian tax authority has completed its examination and proposed no changes to the tax filings.

XML 42 R23.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES
12 Months Ended
Dec. 31, 2023
LEASES  
LEASES

16.LEASES

The Company leases certain manufacturing and office space, retail locations, and equipment. Operating lease assets and liabilities are recognized at the commencement date based on the present value of lease payments over the lease term. The Company has elected the practical expedient and does not recognize a lease liability or right-of-use (“ROU”) asset for short-term leases (leases with a term of twelve months or less). The Company uses its incremental borrowing rate based on the information available at the commencement date in determining the present value of lease payments. The Company’s incremental borrowing rate is the rate for collateralized borrowings based on the current economic environment, credit history, credit rating, value of leases, currency in which the lease obligation is satisfied, rate sensitivity, lease term and materiality. Our operating leases have remaining contractual terms of up to five years, some of which include options to extend the leases for up to five years.

The amount of assets and liabilities related to our operating leases were as follows:

    

December 31, 

Balance Sheet Accounts

2023

    

2022

Assets:

Operating lease assets

Operating lease assets

$

6,554

$

8,489

Liabilities:

Current:

Operating lease liabilities

Accrued liabilities

$

3,510

$

3,773

Long-term:

Operating lease liabilities

Long-term operating lease liabilities

3,186

4,965

Total lease liabilities

$

6,696

$

8,738

The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the consolidated statements of operations and comprehensive income. The components of lease expense were as follows:

Year Ended December 31, 

    

2023

    

2022

Fixed operating lease costs(1)

$

3,981

$

4,047

Variable operating lease costs

 

1,441

 

1,329

Total

$

5,422

$

5,376

(1) Includes short-term leases, which are immaterial.

The weighted average remaining lease term and weighted average discount rate is as follows:

    

December 31, 

2023

    

2022

Weighted average remaining lease term (years):

 

 

Operating leases

2.53

2.62

Weighted average discount rate:

Operating leases

3.06%

2.96%

The approximate future minimum lease payments under operating leases as of December 31, 2023 are as follows:

2024

$

3,438

2025

 

2,039

2026

 

965

2027

 

325

2028

 

190

Thereafter

 

31

Total future lease payments

6,988

Less: Amount representing interest

(292)

Present value of lease liabilities

$

6,696

Supplemental cash flow information related to leases is as follows:

    

December 31, 2023

    

December 31, 2022

Cash paid for amounts included in the measurement of lease liabilities:

 

 

Operating cash flows - operating leases

$

4,044

$

4,047

Right-of-use assets obtained in exchange for lease liabilities:

Operating leases

$

$

XML 43 R24.htm IDEA: XBRL DOCUMENT v3.24.0.1
RELATED PARTY TRANSACTIONS
12 Months Ended
Dec. 31, 2023
RELATED PARTY TRANSACTIONS  
RELATED PARTY TRANSACTIONS

17.RELATED PARTY TRANSACTIONS

The Company leases 4 distribution warehouses and retail stores from certain employees. The Company recorded rent expense related to these leases of $496, $478 and $579 for the years ended December 31, 2023, 2022 and 2021, respectively. Rent expense related to these leases is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.

For the year ended December 31, 2023, the Company made the following payments to Kanders & Company, Inc., a company controlled by Warren Kanders, our Chief Executive Officer:

$1,000 for services related to the acquisition of ICOR, which is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.

For the year ended December 31, 2022, the Company made the following payments to Kanders & Company, Inc.:

$1,000 for services related to the acquisition of Cyalume, which is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.
$2,000 for services related to the Company’s secondary offering, which is included in direct offering costs and recorded against offering proceeds in additional paid in capital in the Company’s consolidated balance sheets.

For the year ended December 31, 2021, the Company made the following payments to Kanders & Company, Inc.:

$2,250 for services related to the Company’s initial public offering, which is included in direct offering costs and recorded against offering proceeds in additional paid in capital in the Company’s consolidated balance sheets.
$1,000 for services related to the execution of the 2021 Credit Agreement, which is included in debt issuance costs and recorded as an offset to long-term debt in the Company’s consolidated balance sheets.
XML 44 R25.htm IDEA: XBRL DOCUMENT v3.24.0.1
SEGMENT DATA
12 Months Ended
Dec. 31, 2023
SEGMENT DATA  
SEGMENT DATA

18.SEGMENT DATA

Our operations are comprised of two reportable segments: Product and Distribution. Segment information is consistent with how the chief operating decision maker (“CODM”), our chief executive officer, reviews the business, makes investing and resource allocation decisions and assesses operating performance. Senior management evaluates segment performance based on segment profit. Each segment’s profit is measured as gross profit. The CODM is not provided asset information or operating expenses by segment as that information is not available.

    

Year Ended December 31, 2023

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

410,825

$

102,371

$

(30,664)

    

$

482,532

Cost of goods sold

233,937

$

78,335

$

(30,466)

281,806

Gross profit

$

176,888

$

24,036

$

(198)

$

200,726

    

Year Ended December 31, 2022

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

385,423

    

$

97,106

$

(24,692)

    

$

457,837

Cost of goods sold

230,245

76,633

(24,719)

282,159

Gross profit

$

155,178

$

20,473

$

27

$

175,678

    

Year Ended December 31, 2021

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

362,189

    

$

90,043

    

$

(24,944)

    

$

427,288

Cost of goods sold

213,881

67,649

(24,932)

256,598

Gross profit

$

148,308

$

22,394

$

(12)

$

170,690

(1)Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.
XML 45 R26.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUBSEQUENT EVENTS
12 Months Ended
Dec. 31, 2023
SUBSEQUENT EVENTS  
SUBSEQUENT EVENTS

19. SUBSEQUENT EVENTS

Acquisitions

In January 2024, The Company acquired ICOR Technology Inc. (“ICOR”) for approximately CDN$52,000 (approximately $38,800), net of cash acquired.

In March 2024, the Company acquired Alpha Safety Intermediate, LLC (“Alpha Safety”) for approximately $106.5 million, net of cash acquired.

The acquisitions will be accounted for using the acquisition method of accounting whereby the acquired assets and liabilities of the acquired companies will be recorded at their respective fair values and added to those of the Company, including an amount for goodwill representing the difference between the acquisition consideration and the fair value of the identifiable net assets. Results of operations of the acquired companies will be included in the operations of the Company beginning with the respective Closing Dates. As of the date of the filing of this Form 10-K, the initial purchase price allocations have not been prepared as there has not been sufficient time to complete the related activities.

During the fiscal year ended December 31, 2023, the Company recognized related transaction costs of $1,601, of which $601 is included in Restructuring and transaction costs and $1,000 is included in Related party expenses in the accompanying consolidated statements of operations and comprehensive income.

Long-Term Debt

In March 2024, in connection with the acquisition of Alpha Safety, the Borrower entered into an $80,000 Incremental Term Loan (“ITL”) under the 2021 Credit Agreement.  The ITL has the same terms and conditions as the Term Loan including such items as interest rate, quarterly amortization payment requirements, and maturity date.

XML 46 R27.htm IDEA: XBRL DOCUMENT v3.24.0.1
SIGNIFICANT ACCOUNTING POLICIES (Policies)
12 Months Ended
Dec. 31, 2023
SIGNIFICANT ACCOUNTING POLICIES  
Nature of Operations and Basis of Presentation

Nature of Operations and Basis of Presentation

Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 21 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.

Principles of Consolidation

Principles of Consolidation

The accompanying consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (“GAAP” or “U.S. GAAP”) and include the accounts of Cadre Holdings, Inc. and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.

Emerging Growth Company

Emerging Growth Company

We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.

In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.

Use of Estimates

Use of Estimates

The preparation of these consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.

Fair Value Measurements

Fair Value Measurements

The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, Fair Value Measurements and Disclosures, which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:

Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.

Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.

Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.

The Company’s financial instruments consist principally of cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts.

Cash and Cash Equivalents

Cash and Cash Equivalents

Included in cash and cash equivalents are deposits with banks, cash on hand in stores, amounts due from credit card transactions and money market funds. We have no restrictions on our cash and cash equivalents.

Accounts Receivable

Accounts Receivable

Trade accounts receivable consists of amounts owed to the Company and is stated net of allowances for known and potential losses. The Company’s outstanding accounts receivable balances are exposed to credit risk and valuation allowances are established for estimated losses resulting from non-collection of outstanding amounts due from customers.

The estimate of expected credit losses is based on the Company’s historical loss experience, adjusted for current and reasonable and supportable forecasts of economic conditions and other pertinent factors affecting the Company’s customers such as known credit risk or industry trends. In addition, specific reserves are established for customer accounts as known collection problems occur due to insolvency, disputes, or other collection issues. The amounts of these specific reserves are estimated by management based on the customer’s financial position, the age of the customer’s receivables and the reasons for any disputes. The allowance for doubtful accounts is reduced by any write-off of uncollectible customer accounts.

Inventories

Inventories

Inventories are stated at the lower of cost, determined using the first-in, first-out (“FIFO”) or average cost methods, or net realizable value. Elements of cost in the Company’s manufactured inventories generally include raw materials, direct labor, indirect labor, manufacturing overhead and freight-in. The Company periodically reviews its inventories considering sales forecasts and historical experience to identify excess, close-out, or slow-moving items and makes provisions as necessary to properly reflect inventory value at the lower of cost or net realizable value.

Property and Equipment

Property and Equipment

Property and equipment, including those acquired under capital lease agreements, is stated at cost less accumulated depreciation and amortization, except for assets acquired using acquisition accounting, which are initially recorded at fair value. Depreciation is computed using the straight-line method over the following estimated useful lives:

Buildings and improvements

   

5 to 39 years

Furniture and fixtures

2 to 10 years

Computer hardware and software

3 to 5 years

Machinery and equipment

3 to 8 years

Leasehold improvements are amortized over the lesser of the estimated useful life of the improvement or the life of the lease. Major replacements, which extend the useful lives of property and equipment, are capitalized and depreciated over the remaining useful life of the asset. Normal repair and maintenance items are expensed as incurred.

The recoverability of the carrying amount of property and equipment is assessed when events or changes in circumstances indicate that the carrying amount of an asset or asset group may not be recoverable. If it is determined that the carrying amount of an asset or asset group is not recoverable based upon expected undiscounted future cash flows of the asset or asset group, an impairment loss equal to the excess of the carrying amount over the estimated fair value of the asset or asset group is recorded.

Leases

Leases

Lease assets and lease liabilities are recognized at the commencement of an arrangement where it is determined at inception that a lease exists.  Lease assets represent the right to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the lease.  These assets and liabilities are initially recognized based on the present value of lease payments over the lease term calculated using our incremental borrowing rate.  Lease terms include options to extend or terminate the lease when it is reasonably certain that those options will be exercised.

Variable lease payments are generally expensed as incurred and include certain non-lease components, such as common area maintenance and other services provided by the lessor, and other charges such as utilities, insurance and property taxes included in the lease.  Leases with an initial term of 12 months or less are not recorded on the balance sheet, and the expense for these short-term leases and for operating leases is recognized on a straight-line basis over the lease term. Non-lease components are excluded from the right-of-use (“ROU”) asset and lease liability present value computations. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.

Goodwill and Other Intangible Assets

Goodwill and Intangible Assets

The Company classifies intangible assets into three categories: i) intangible assets with definite lives subject to amortization, ii) intangible assets with indefinite lives not subject to amortization and iii) goodwill. The Company determines the useful lives of its identifiable intangible assets after considering the specific facts and circumstances related to each intangible asset. Factors the Company considers when determining useful lives include the contractual term of any agreement related to the asset, the historical performance of the asset, the Company’s long-term strategy for using the asset, any laws or other local regulations which could impact the useful life of the asset, and other economic factors, including competition and specific market conditions. Intangible assets that are deemed to have definite lives are amortized on a straight-line basis over their useful lives.

The Company tests goodwill and intangible assets determined to have indefinite useful lives for impairment annually, or more frequently if events or circumstances indicate that assets might be impaired. The Company performs these annual impairment tests as of October 31st each year. Goodwill is evaluated for impairment at the reporting unit level, which is defined as an operating segment or one level below an operating segment. As of October 31, 2023, 2022 and 2021, the Company had three reporting units: Safariland, Med-Eng, and Distribution.

In evaluating goodwill for impairment, qualitative factors are considered to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. Some of these qualitative factors may include macroeconomic conditions, industry and market considerations, a change in financial performance, or entity-specific events. If, through this qualitative assessment, the conclusion is made that it is more likely than not that a reporting unit’s fair value is less than its carrying amount, the Company compares the fair value of a reporting unit to its carrying value.

The Company would generally determine the fair value of reporting units based on a combination of the income approach and market approach, weighted based on the circumstances. Under the income approach, the discounted cash flow model determines fair value based on the present value of projected cash flows over a specific projection period and a residual value related to future cash flows beyond the projection period. Both values are discounted using a rate that reflects the Company’s best estimate of the weighted average cost of capital of a market participant and is adjusted for appropriate risk factors. The Company performs sensitivity tests with respect to growth rates and discount rates used in the income approach. Under the market approach, valuation multiples are derived based on a selection of comparable companies and acquisition transactions and applied to projected operating data for each reporting unit to arrive at an indication of fair value.

For all periods presented, the Company performed the qualitative assessment of goodwill and determined it was more likely than not that the fair value of each of its reporting units would be greater than its carrying amount. Therefore, the Company determined it was not necessary to perform the quantitative goodwill impairment test.

For indefinite-lived intangible assets other than goodwill, the impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount exceeds the fair value, an impairment charge is recognized in an amount equal to that excess.

The Company tests definite-lived intangible assets for recoverability when changes in circumstances indicate the carrying value may not be recoverable. Events that trigger a test for recoverability include:

material adverse changes in projected revenues and expenses;
significant underperformance relative to historical and projected future operating results;
significant negative industry or economic trends; and,
a significant adverse change in the manner in which an asset group is used or in its physical condition.

Future adverse changes in these or other unforeseeable factors could result in an impairment charge that could materially impact future results of operations and financial position in the reporting period identified.

When a triggering event occurs, a test for recoverability is performed by comparing projected undiscounted future cash flows to the carrying value of the asset group. If the test for recoverability identifies a possible impairment, the asset group’s fair value is measured relying primarily on a discounted cash flow method. An impairment charge is recognized for the amount by which the carrying value of the asset group exceeds its estimated fair value. When an impairment loss is recognized for assets to be held and used, the adjusted carrying amount of those assets is depreciated over their remaining useful life. We did not have any events or circumstances indicating impairment of our long-lived assets for the years presented.

Accounts Payable

Accounts Payable

Accounts payable represents amounts owed by us to third parties at the end of the period. Accounts payable includes $1,055 and $188 of book cash overdrafts in excess of cash balances in such accounts as of December 31, 2023 and 2022, respectively. We include the change in book cash overdrafts in operating cash flows in the consolidated statements of cash flows.

Revenue Recognition

Revenue Recognition

The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.

The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.

At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.

Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.

Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.

Product Warranty

Product Warranty

Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements and is recorded in cost of goods sold in the Company’s consolidated statements of operations and comprehensive income.

The following table sets forth the changes in the Company’s accrued warranties, which is recorded in accrued liabilities in the consolidated balance sheets:

Year ended December 31, 

    

2023

    

2022

Beginning accrued warranty expense

$

1,234

$

1,256

Current period claims

 

(886)

 

(278)

Provision for current period sales

 

1,262

 

256

Ending accrued warranty expense

$

1,610

$

1,234

Cost of Goods Sold

Cost of Goods Sold

Cost of goods sold includes raw material purchases, manufacturing-related labor costs, contracted labor, shipping costs, reimbursable research and development costs, allocated manufacturing overhead, facility costs, depreciation and amortization, and product warranty costs.

Selling, General & Administrative Expenses

Selling, General & Administrative Expenses

Selling, general and administrative expense includes personnel-related costs, including stock-based compensation, professional services, marketing and advertising expense, research and development and depreciation and amortization.

Advertising Expenses

Advertising Expenses

Advertising costs are expensed in the period incurred. Advertising expenses primarily consist of marketing, promotions, catalog and trade show expenses and were $6,145, $4,711 and $3,120 for the years ended December 31, 2023, 2022 and 2021, respectively. Advertising expenses are included in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.

Research and Development

Research and Development

Research and development expenses are expensed as incurred and included within selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income. Total research and development costs were $6,954, $7,086 and $6,460 for the years ended December 31, 2023, 2022 and 2021, respectively.

Debt Issuance Costs

Debt Issuance Costs

The Company capitalizes costs related to the issuance of debt under the provisions of ASC Subtopic 835-30, Interest — Imputation of Interest. Debt issuance costs related to a recognized debt liability are presented in the consolidated balance sheets as a direct deduction from the carrying amount of that debt liability and subsequently amortized on a straight-line method which approximates the effective interest method over the life of the related loan. Debt issuance costs related to line-of-credit are presented in the consolidated balance sheets as an asset and subsequently amortized ratably over the term of the respective arrangement. Amortization of debt issuance costs is included as a component of interest expense in the Company’s consolidated statements of operations and comprehensive income.

Stock-Based Compensation

Stock-Based Compensation

The Company records compensation expense for all stock-based awards granted based on the fair value of the award at the time of the grant. The fair value of each option award is estimated on the date of grant using the Black-Scholes option pricing model that uses assumptions and estimates that the Company believes are reasonable. The fair value of restricted stock awards is measured based on the closing market value of the Company’s common stock on the date of the grant. For restricted stock awards subject to market conditions, the fair value of each restricted stock award has been estimated as of the date of grant using a Monte-Carlo pricing model. The Company recognizes the cost of the stock-based awards on a straight-line basis over the requisite service period of the award and recognizes forfeitures in the period they occur. Stock options granted have contractual terms of up to ten years. Upon vesting of restricted stock awards, the Company issues shares from those authorized and reserved for issuance.

Derivatives

Derivatives

The Company mitigates the impact of changes in interest rates with interest rate swaps that are accounted for as designated hedges pursuant to ASC Topic 815, Derivatives and Hedging ("ASC 815"). ASC 815 requires that an entity recognize all derivatives as either assets or liabilities on the balance sheet, measure those instruments at fair value and recognize changes in the fair value of derivatives in earnings in the period of change unless the derivative qualifies as designated cash flow hedge that offsets certain exposures. Certain criteria must be satisfied in order for derivative financial instruments to be classified and accounted for as a cash flow hedge. Changes in the fair value of derivatives that are not elected for hedge accounting treatment are recorded immediately into earnings.

The Company would discontinue hedge accounting prospectively (i) if it is determined that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item, (ii) when the derivative expires or is sold, terminated, or exercised, (iii) if it becomes probable that the forecasted transaction being hedged by the derivative will not occur, (iv) if a hedged firm commitment no longer meets the definition of a firm commitment, or (v) if it is determined that designation of the derivative as a hedge instrument is no longer appropriate. 

Restructuring Costs

Restructuring Costs

Restructuring costs consist primarily of termination benefits and relocation of employees, termination of operating leases and other contracts related to consolidating or closing facilities. The Company applies the provisions of ASC Topic 420, Exit or Disposal Cost Obligations (“ASC 420”) and ASC Topic 712, Nonretirement Postemployment Benefits (“ASC 712”) in the recording of severance costs. Severance costs accounted for under ASC 420 are recognized when management with the proper level of authority commits to a restructuring plan and communicates those actions to employees and other applicable criteria. Severance costs accounted for under ASC 712 are recognized when it is probable that employees are entitled to benefits and the amount could be reasonably estimated. Other exit costs are accounted for under ASC 420 and are either deferred or expensed as incurred based on the nature of the expense.

Income Taxes

Income Taxes

The Company accounts for income taxes under the provisions of ASC Topic 740, Income Taxes. Deferred tax assets and liabilities are determined based on differences between the financial statement carrying amounts and tax bases of assets and liabilities and are classified as noncurrent in the consolidated balance sheets.

Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of changes in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. Changes in tax laws and rates could have a material impact on the deferred tax assets and liabilities recorded.

Deferred tax assets are reduced by a valuation allowance when, in the opinion of management, it is more likely than not that some portion or all of the deferred tax assets will not be realized. Significant estimates are used in the evaluation of the need for a valuation allowance including estimates regarding future taxable income. Changes to those estimates could impact management’s conclusions regarding the need for valuation allowances on some or all of the deferred tax assets. The Company releases the income tax effects of deferred tax balances that have a valuation allowance from accumulated other comprehensive income once the reason the tax effects were established ceases to exist.

The Company is subject to income taxes in the United States and several foreign jurisdictions. In the United States, the Company files a consolidated income tax return with its domestic subsidiaries. When tax returns are filed, it is highly certain that some positions taken would be sustained upon examination by taxing authorities, while others are subject to uncertainty about the merits of the position taken or the amount of the position that would be ultimately sustained. The benefit of a tax position is recognized in the consolidated financial statements in the period during which, based on all available evidence, it is more likely than not that the position will be sustained upon examination, including the resolution of appeals or litigation processes, if any. Tax positions taken are not offset or aggregated with other positions. Tax positions that meet the more-likely than-not threshold are measured as the largest amount of tax benefit that is more than 50% likely of being realized upon settlement with the applicable taxing authority. The portion of the benefits associated with tax positions taken that exceeds the amount measured as described above is reflected as a liability for unrecognized tax benefits in the accompanying balance sheets along with any associated interest and penalties that would be payable to the taxing authorities upon examination.

Further information regarding the Company’s tax positions is included in Note 15, Income Taxes.

Accumulated Other Comprehensive Income

Accumulated Other Comprehensive Income

Comprehensive income represents all changes in equity of the Company that result from recognized transactions and other economic events during the period. Other comprehensive (loss) income refers to revenues, expenses, gains, and losses that under GAAP are included in comprehensive income but excluded from net income.

Foreign Currency

Foreign Currency

Translation

Assets and liabilities of subsidiaries operating outside the United States with a functional currency other than U.S. Dollars are translated into U.S. Dollars using the exchange rates in effect at the balance sheet date. Results of operations are translated using the average exchange rate prevailing throughout the period. The effects of unrealized exchange rate fluctuations on translating foreign currency assets and liabilities into U.S. dollars are accumulated as the cumulative translation adjustment included in accumulated other comprehensive income in the consolidated balance sheets.

Transaction

Transactions denominated in foreign currency are recorded at the exchange rate on the date of each transaction. Realized gains and losses on foreign currency transactions are included in other income (expense), net in the consolidated statements of operations and comprehensive income, except on certain intercompany balances which the Company has determined are of a long-term investment nature, which are included in accumulated other comprehensive income in the consolidated balance sheets. Monetary assets and liabilities are remeasured at the balance sheet date at end-of-period exchange rates. Unrealized gains and losses arising from remeasurement of foreign currency-denominated monetary assets and liabilities are included in other income (expense), net in the consolidated statements of operations and comprehensive income in the period in which they occur.

Net Income per Share

Net Income per Share

Basic income or loss per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. Diluted income or loss per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method. The calculation of weighted average shares outstanding and net income per share are as follows:

    

Year ended December 31, 

    

2023

    

2022

    

2021

Net income

$

38,641

$

5,820

$

12,661

 

  

 

  

 

  

Weighted average shares outstanding - basic

 

37,533,818

 

36,109,844

 

28,598,692

Effect of dilutive securities:

Stock-based awards

386,670

12,530

Weighted average shares outstanding - diluted

 

37,920,488

 

36,122,374

 

28,598,692

Net income per share:

 

  

 

  

 

  

Basic

$

1.03

$

0.16

$

0.44

Diluted

$

1.02

$

0.16

$

0.44

There were no dilutive instruments outstanding for the year ended December 31, 2021.

Risk and Uncertainties

Risk and Uncertainties

Concentration of Credit Risk

Financial instruments that potentially subject the Company to concentration of credit risk consist principally of cash and accounts receivable. Risks associated with cash within the United States and foreign countries are mitigated by banking with federally insured, creditworthy institutions, although certain of our cash deposits exceed the federally insured limits. As of December 31, 2023 and 2022, the Company had deposits of $9,757 and $10,142, respectively, at foreign financial institutions.

Accounts receivable are financial instruments that also expose the Company to concentration of credit risk. Such exposure is limited by the large number of customers comprising the Company’s customer base and their dispersion across different geographic areas. In addition, the Company routinely assesses the financial strength of its customers and maintains an allowance for doubtful accounts that management believes will adequately provide for credit losses. Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses as considered necessary by management.

Recent Accounting Pronouncements

Recent Accounting Pronouncements

Recently Adopted Accounting Pronouncements

In June 2016, the FASB issued ASU 2016-13, Financial Instruments — Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments. ASU 2016-13 includes an impairment model (known as the current expected credit loss model) that is based on expected losses rather than incurred losses. Under the new guidance, an entity recognizes as an allowance its estimate of expected credit losses, which the FASB believes will result in more timely recognition of such losses. The use of forecasted information is intended to incorporate more timely information in the estimate of expected credit loss. In November 2019, the FASB issued additional guidance which extends the effective date of ASU 2016-13 for emerging growth companies to begin in fiscal years beginning after December 15, 2022. The Company adopted this standard on January 1, 2023. The adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures.

In March 2020, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting and related amendments. This ASU provides temporary optional expedients and exceptions to existing guidance on contract modifications and hedge accounting to facilitate the market transition from existing reference rates, such as the London Inter-Bank Offered Rate (“LIBOR”) which began to be phased out in 2021, to alternate reference rates, such as the Secured Overnight Financing Rate

(“SOFR”). On May 31, 2023, we amended our 2021 credit agreement and interest rate swap agreements to affect the transition from LIBOR to SOFR. In connection with these amendments, the Company adopted ASU 2020-04 in the second quarter of 2023. In doing so, the Company elected to adopt the suite of optional expedients when analyzing the amendment to the credit agreement and related interest swaps. As such, the amendments to the Company’s 2021 credit agreement and swap agreements, and the adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures.

Accounting Pronouncements Not Yet Adopted

XML 47 R28.htm IDEA: XBRL DOCUMENT v3.24.0.1
SIGNIFICANT ACCOUNTING POLICIES (Tables)
12 Months Ended
Dec. 31, 2023
SIGNIFICANT ACCOUNTING POLICIES  
Summary of property and equipment

Buildings and improvements

   

5 to 39 years

Furniture and fixtures

2 to 10 years

Computer hardware and software

3 to 5 years

Machinery and equipment

3 to 8 years

Summary of changes in the accrued warranties

Year ended December 31, 

    

2023

    

2022

Beginning accrued warranty expense

$

1,234

$

1,256

Current period claims

 

(886)

 

(278)

Provision for current period sales

 

1,262

 

256

Ending accrued warranty expense

$

1,610

$

1,234

Summary of calculation of weighted average shares outstanding and net income per share

    

Year ended December 31, 

    

2023

    

2022

    

2021

Net income

$

38,641

$

5,820

$

12,661

 

  

 

  

 

  

Weighted average shares outstanding - basic

 

37,533,818

 

36,109,844

 

28,598,692

Effect of dilutive securities:

Stock-based awards

386,670

12,530

Weighted average shares outstanding - diluted

 

37,920,488

 

36,122,374

 

28,598,692

Net income per share:

 

  

 

  

 

  

Basic

$

1.03

$

0.16

$

0.44

Diluted

$

1.02

$

0.16

$

0.44

XML 48 R29.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS (Tables)
12 Months Ended
Dec. 31, 2023
Radar  
ACQUISITIONS  
Summary of total purchase price consideration and preliminary fair value amounts recognized for assets acquired and liabilities assumed

Total consideration, net

    

$

19,365

Accounts receivable

$

2,347

Inventories

1,874

Prepaid expenses

682

Other current assets

665

Property and equipment

3,053

Intangible assets

10,200

Goodwill

7,101

Total assets acquired

25,922

Accounts payable

1,120

Deferred tax liabilities

2,787

Accrued liabilities

2,106

Long-term debt

544

Total liabilities assumed

6,557

Net assets acquired

$

19,365

Cyalume  
ACQUISITIONS  
Summary of total purchase price consideration and preliminary fair value amounts recognized for assets acquired and liabilities assumed

Total consideration, net

    

$

36,178

Accounts receivable

$

3,302

Inventories

10,908

Prepaid expenses

255

Other current assets

10

Property and equipment

12,492

Intangible assets

8,100

Goodwill

8,708

Total assets acquired

43,775

Accounts payable

1,080

Deferred tax liabilities

4,652

Accrued liabilities

1,577

Other long-term liabilities

288

Total liabilities assumed

7,597

Net assets acquired

$

36,178

XML 49 R30.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCOUNTS RECEIVABLE, NET (Tables)
12 Months Ended
Dec. 31, 2023
ACCOUNTS RECEIVABLE, NET  
Schedule of reconciliation of the changes in our allowance for doubtful accounts

Year ended December 31, 

    

2023

    

2022

Beginning allowance for doubtful accounts

$

924

$

645

Provision

 

66

 

417

Write-offs

 

(355)

 

(138)

Ending allowance for doubtful accounts

$

635

$

924

XML 50 R31.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE RECOGNITION (Tables)
12 Months Ended
Dec. 31, 2023
REVENUE RECOGNITION  
Summary of disaggregation of net sales by channel and geography

The following tables disaggregate net sales by channel and geography:

Year ended December 31, 

    

2023

    

2022

    

2021

U.S. state and local agencies (a)

$

282,318

$

250,680

$

231,095

Commercial

 

42,406

 

45,357

 

34,860

U.S. federal agencies

 

57,447

 

51,165

 

47,575

International

 

97,058

 

106,593

 

107,503

Other

 

3,303

 

4,042

 

6,255

Net sales

$

482,532

$

457,837

$

427,288

(a) Includes all Distribution sales

Year ended December 31, 

    

2023

    

2022

    

2021

United States

$

385,474

$

351,244

$

319,785

International

 

97,058

 

106,593

 

107,503

Net sales

$

482,532

$

457,837

$

427,288

XML 51 R32.htm IDEA: XBRL DOCUMENT v3.24.0.1
FAIR VALUE MEASUREMENTS (Tables)
12 Months Ended
Dec. 31, 2023
FAIR VALUE MEASUREMENTS  
Summary of assets and liabilities measured at fair value on a recurring basis

Assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and 2022 consisted of the following:

December 31, 2023

December 31, 2022

Carrying 

Fair Value

Carrying 

Fair Value

    

Amount

    

Level 1

    

Level 2

    

Level 3

    

Amount

    

Level 1

    

Level 2

    

Level 3

Assets:

 

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Interest rate swap (Note 10)

$

6,505

$

$

6,505

$

$

8,985

$

$

8,985

$

Liabilities:

Interest rate swap (Note 10)

$

427

$

$

427

$

$

$

$

$

XML 52 R33.htm IDEA: XBRL DOCUMENT v3.24.0.1
INVENTORIES (Tables)
12 Months Ended
Dec. 31, 2023
INVENTORIES  
Summary of inventories stated at lower of cost or net realizable value

    

December 31, 

    

2023

    

2022

Finished goods

$

31,674

$

25,208

Work-in-process

 

8,473

 

7,466

Raw materials and supplies

 

40,829

 

37,599

Total

$

80,976

$

70,273

7.
XML 53 R34.htm IDEA: XBRL DOCUMENT v3.24.0.1
PROPERTY AND EQUIPMENT (Tables)
12 Months Ended
Dec. 31, 2023
PROPERTY AND EQUIPMENT  
Summary of property and equipment

Property and equipment consist of the following:

    

December 31, 

2023

    

2022

Land

$

7,614

$

7,545

Building and improvements

 

24,433

 

22,992

Furniture and fixtures

 

1,966

 

1,400

Computer hardware and software

 

25,145

 

24,140

Machinery and equipment

 

31,770

 

28,464

Construction in progress

 

4,687

 

3,438

 

95,615

 

87,979

Less accumulated depreciation

 

(50,968)

 

(42,694)

Total

$

44,647

$

45,285

XML 54 R35.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)
12 Months Ended
Dec. 31, 2023
GOODWILL AND OTHER INTANGIBLE ASSETS  
Summary of changes in goodwill

    

Product

    

Distribution

    

Total

Balance, December 31, 2021

 

$

63,646

$

2,616

 

$

66,262

Radar acquisition

7,101

7,101

Cyalume acquisition

9,101

9,101

Foreign currency translation adjustments

 

(888)

 

(888)

Balance, December 31, 2022

$

78,960

$

2,616

$

81,576

Measurement period adjustments

(393)

(393)

Foreign currency translation adjustments

484

484

Balance, December 31, 2023

$

79,051

$

2,616

$

81,667

Summary of intangible assets

December 31, 2023

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

86,621

 

$

(65,650)

 

$

20,971

 

11

Technology

 

16,111

 

 

(11,979)

 

 

4,132

 

8

Tradenames

 

6,622

 

 

(5,492)

 

 

1,130

 

4

Non-compete agreements

 

1,003

 

 

(1,003)

 

 

 

4

$

110,357

 

$

(84,124)

 

$

26,233

Indefinite lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,239

 

 

 

 

17,239

 

Indefinite

Total

$

127,596

 

$

(84,124)

 

$

43,472

 

  

December 31, 2022

    

    

    

    

Weighted 

Accumulated 

Average 

Gross

Amortization

Net

 

Useful Life

Definite lived intangibles:

 

  

 

  

 

  

 

  

Customer relationships

$

85,847

$

(59,122)

 

$

26,725

 

11

Technology

 

15,629

 

 

(11,309)

 

 

4,320

 

8

Tradenames

 

6,484

 

 

(4,254)

 

 

2,230

 

4

Non-compete agreements

 

973

 

 

(973)

 

 

 

4

$

108,933

 

$

(75,658)

 

$

33,275

Indefinite lived intangibles:

 

  

 

 

  

 

 

  

 

  

Tradenames

 

17,420

 

 

 

 

17,420

 

Indefinite

Total

$

126,353

 

$

(75,658)

 

$

50,695

 

  

Summary of estimated amortization expense for definite lived intangible assets

2024

    

$

5,115

2025

 

3,139

2026

 

2,736

2027

 

2,553

2028

 

2,553

Thereafter

 

10,137

Total

$

26,233

9.
XML 55 R36.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCRUED LIABILITIES (Tables)
12 Months Ended
Dec. 31, 2023
ACCRUED LIABILITIES  
Summary of accrued liabilities

    

December 31, 

2023

2022

Accrued expenses

$

4,384

$

3,656

Accrued compensation and payroll tax

 

24,621

 

20,420

Accrued interest payable

 

137

 

73

Accrued warranties

 

1,610

 

1,234

Contract liabilities and customer credits

5,122

5,937

Current lease liabilities

3,510

3,773

Other accrued liabilities

5,140

3,627

Total

$

44,524

$

38,720

10.
XML 56 R37.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT (Tables)
12 Months Ended
Dec. 31, 2023
DEBT  
Schedule of company's debt

    

December 31, 

2023

    

2022

Short-term debt:

 

  

 

  

Insurance premium financing

$

2,187

$

2,211

Current portion of term loan

 

10,000

 

10,000

Current portion of other

 

133

 

$

12,320

$

12,211

Long-term debt:

 

  

 

  

Revolver

 

 

Term loan

 

128,564

 

138,564

Other

 

398

 

512

$

128,962

$

139,076

Unamortized debt discount and debt issuance costs

 

(1,150)

 

(1,600)

Total long-term debt, net

$

127,812

$

137,476

Summary of aggregate principal payments of long-term debt

2024

    

$

10,133

2025

 

10,133

2026

 

118,697

2027

 

132

2028

 

Total principal payments

$

139,095

Schedule of Interest rate swaps

Effective Date

    

Notional Amount

    

Fixed Rate

September 30, 2021 through July 23, 2026

$

88,750

0.812

%

May 31, 2023 through July 23, 2026

    

$

48,125

    

3.905

%

Schedule of estimated fair value of our Swap Agreements in the consolidated balance sheets

    

December 31, 

Balance Sheet Accounts

2023

    

2022

Other current assets

$

3,655

$

3,619

Other assets

$

2,850

$

5,366

Other liabilities

$

427

$

XML 57 R38.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCK-BASED COMPENSATION (Tables)
12 Months Ended
Dec. 31, 2023
Stock-Based Compensation  
Summary of stock option activity

Weighted 

Aggregate

Weighted Average 

Average 

Intrinsic

Remaining Contractual

Options

Exercise Price

Value

Life (in years)

Outstanding at December 31, 2022

367,611

 

$

23.46

 

$

9.2

Granted

 

395,253

20.53

 

Exercised

 

(1,405)

 

23.45

 

12

 

Forfeited

 

 

 

 

Outstanding at December 31, 2023

761,459

 

$

21.98

 

$

8,310

8.7

Exercisable at December 31, 2023

227,806

$

22.77

$

2,305

8.5

Vested and expected to vest at December 31, 2023

761,459

 

$

21.98

 

$

8,310

8.7

Phantom Awards  
Stock-Based Compensation  
Summary of award activity

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

791,667

 

$

Granted

 

Vested

 

(418,174)

 

23.45

Forfeited

 

 

Outstanding at December 31, 2023

373,493

 

$

23.45

Market Condition Restricted Shares  
Stock-Based Compensation  
Summary of award activity

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

2,600,000

 

$

4.65

Granted

 

Vested

 

 

Forfeited

 

 

Outstanding at December 31, 2023

2,600,000

 

$

4.65

Schedule of fair value of the stock-based awards

2021

Number issued

2,600,000

Vesting period

$40.00 stock price target

Grant price (per share)

$4.65

Dividend yield

0.0%

Expected volatility

32.08%

Risk-free interest rate

1.59%

Expected term (years)

5.67

Weighted average fair value (per share)

$4.65

Employee Stock Option  
Stock-Based Compensation  
Schedule of fair value of the stock-based awards

2023

2022

Number issued

395,253

373,479

Vesting period

1 - 3 years

1 - 3 years

Grant price (per share)

$20.53

$23.45 - $23.70

Dividend yield

1.56%

1.35% - 1.36%

Expected volatility

31.40%

33.22%

Risk-free interest rate

3.68%

1.12%

Expected term (years)

4.68 - 6.00

4.61 - 6.00

Weighted average fair value (per share)

$6.34

$6.69

RSUs  
Stock-Based Compensation  
Summary of award activity

Weighted Average 

Grant Date

Shares

Fair Value

Outstanding at December 31, 2022

83,494

 

$

23.45

Granted

 

113,097

20.53

Vested

 

(27,838)

 

23.45

Forfeited

 

(1,676)

 

20.53

Outstanding at December 31, 2023

167,077

 

$

21.50

XML 58 R39.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES (Tables)
12 Months Ended
Dec. 31, 2023
INCOME TAXES  
Schedule of consolidated income from continuing operations before income taxes

Year ended December 31, 

2023

    

2022

    

2021

U.S. operations

$

49,603

$

6,455

$

18,243

Foreign operations

3,321

2,918

949

Income before provision for income taxes

$

52,924

$

9,373

$

19,192

Schedule of provision for income taxes

Year ended December 31, 

2023

    

2022

    

2021

Current tax provision:

Federal

$

9,969

$

2,711

$

State

 

1,811

 

624

 

907

Foreign

 

2,713

 

1,305

 

852

Total current provision

 

14,493

 

4,640

 

1,759

Deferred tax (benefit) provision:

Federal

 

1,692

 

(24)

 

4,704

State

 

322

 

(5)

 

897

Foreign

 

(2,224)

 

(1,058)

 

(829)

Total deferred (benefit) provision

 

(210)

 

(1,087)

 

4,772

Total provision for income taxes

$

14,283

$

3,553

$

6,531

Schedule of reconciliation of statutory federal income tax rate to effective rate

    

Year ended December 31, 

2023

    

2022

 

2021

 

Federal statutory rate

21.0

%

21.0

%

21.0

%

Increase (decrease) in income taxes resulting from:

State income taxes, net of federal income taxes

 

4.6

 

5.6

8.4

Change in valuation allowance

 

 

0.8

Current year tax credits

 

(0.7)

 

(6.5)

(4.7)

Difference between foreign and federal tax rate

 

0.7

 

5.4

2.8

Permanent items

 

1.6

 

12.2

5.2

Reserve for uncertain tax positions

 

 

0.5

Other

 

(0.2)

 

(0.3)

0.5

Effective tax rate

 

27.0

%

37.9

%

34.0

%

Schedule of deferred income tax assets and liabilities

    

December 31, 

2023

    

2022

Deferred tax assets:

Net operating loss and other carry forwards

$

4,667

$

7,335

Accrued liabilities

 

4,656

 

3,351

Reserves and other

 

2,749

 

3,039

263A uniform capitalization costs

 

115

 

201

Other deferred tax assets

 

6,741

 

5,232

Total deferred tax assets

 

18,928

 

19,158

Valuation allowance

 

(1,872)

 

(1,888)

Net deferred tax assets

 

17,056

 

17,270

Deferred tax liabilities:

Intangibles

 

(4,832)

 

(5,789)

Depreciation

 

(4,017)

 

(4,447)

Goodwill

 

(8,512)

 

(7,560)

Other

 

(534)

 

(727)

Total deferred tax liabilities

 

(17,895)

 

(18,523)

Total deferred income taxes

$

(839)

$

(1,253)

Schedule of reconciliation of change in unrecognized income tax benefit

    

Year ended December 31, 

2023

    

2022

Beginning unrecognized tax benefits

$

1,986

$

2,090

Current period unrecognized tax benefits

 

 

39

Foreign currency fluctuations

66

(143)

Ending unrecognized tax benefits

$

2,052

$

1,986

XML 59 R40.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES (Tables)
12 Months Ended
Dec. 31, 2023
LEASES  
Schedule of operating leases

    

December 31, 

Balance Sheet Accounts

2023

    

2022

Assets:

Operating lease assets

Operating lease assets

$

6,554

$

8,489

Liabilities:

Current:

Operating lease liabilities

Accrued liabilities

$

3,510

$

3,773

Long-term:

Operating lease liabilities

Long-term operating lease liabilities

3,186

4,965

Total lease liabilities

$

6,696

$

8,738

The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the consolidated statements of operations and comprehensive income. The components of lease expense were as follows:

Year Ended December 31, 

    

2023

    

2022

Fixed operating lease costs(1)

$

3,981

$

4,047

Variable operating lease costs

 

1,441

 

1,329

Total

$

5,422

$

5,376

(1) Includes short-term leases, which are immaterial.

The weighted average remaining lease term and weighted average discount rate is as follows:

    

December 31, 

2023

    

2022

Weighted average remaining lease term (years):

 

 

Operating leases

2.53

2.62

Weighted average discount rate:

Operating leases

3.06%

2.96%

Summary of future minimum lease payments required under operating leases

2024

$

3,438

2025

 

2,039

2026

 

965

2027

 

325

2028

 

190

Thereafter

 

31

Total future lease payments

6,988

Less: Amount representing interest

(292)

Present value of lease liabilities

$

6,696

Schedule of supplemental cash flow information related leases

    

December 31, 2023

    

December 31, 2022

Cash paid for amounts included in the measurement of lease liabilities:

 

 

Operating cash flows - operating leases

$

4,044

$

4,047

Right-of-use assets obtained in exchange for lease liabilities:

Operating leases

$

$

XML 60 R41.htm IDEA: XBRL DOCUMENT v3.24.0.1
SEGMENT DATA (Tables)
12 Months Ended
Dec. 31, 2023
SEGMENT DATA  
Summary of segment data

    

Year Ended December 31, 2023

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

410,825

$

102,371

$

(30,664)

    

$

482,532

Cost of goods sold

233,937

$

78,335

$

(30,466)

281,806

Gross profit

$

176,888

$

24,036

$

(198)

$

200,726

    

Year Ended December 31, 2022

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

385,423

    

$

97,106

$

(24,692)

    

$

457,837

Cost of goods sold

230,245

76,633

(24,719)

282,159

Gross profit

$

155,178

$

20,473

$

27

$

175,678

    

Year Ended December 31, 2021

Reconciling

    

    Product    

    

Distribution

    

 Items(1)

    

      Total      

Net sales

    

$

362,189

    

$

90,043

    

$

(24,944)

    

$

427,288

Cost of goods sold

213,881

67,649

(24,932)

256,598

Gross profit

$

148,308

$

22,394

$

(12)

$

170,690

(1)Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.
XML 61 R42.htm IDEA: XBRL DOCUMENT v3.24.0.1
SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details)
12 Months Ended
Dec. 31, 2023
USD ($)
item
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Nature of Operations and Basis of Presentation      
Number of manufacturing plants | item 21    
Accounts payable, book cash overdrafts $ 1,055,000 $ 188,000  
Advertising Expense 6,145,000 4,711,000 $ 3,120,000
Total research and development costs 6,954,000 7,086,000 6,460,000
Cost of goods sold 281,806,000 282,159,000 $ 256,598,000
Deposits $ 9,757,000 $ 10,142,000  
Employee Stock Option | Maximum      
Nature of Operations and Basis of Presentation      
Contractual terms granted ten years    
XML 62 R43.htm IDEA: XBRL DOCUMENT v3.24.0.1
SIGNIFICANT ACCOUNTING POLICIES - Property and Equipment (Details) - item
Oct. 31, 2023
Oct. 31, 2022
Oct. 31, 2021
Dec. 31, 2023
Goodwill and Other Intangible Assets        
Number of reporting units 3 3 3  
Minimum | Building and improvements        
Property and Equipment        
Useful lives of property and equipment       5 years
Minimum | Furniture and fixtures        
Property and Equipment        
Useful lives of property and equipment       2 years
Minimum | Computer hardware and software        
Property and Equipment        
Useful lives of property and equipment       3 years
Minimum | Machinery and equipment        
Property and Equipment        
Useful lives of property and equipment       3 years
Maximum | Building and improvements        
Property and Equipment        
Useful lives of property and equipment       39 years
Maximum | Furniture and fixtures        
Property and Equipment        
Useful lives of property and equipment       10 years
Maximum | Computer hardware and software        
Property and Equipment        
Useful lives of property and equipment       5 years
Maximum | Machinery and equipment        
Property and Equipment        
Useful lives of property and equipment       8 years
XML 63 R44.htm IDEA: XBRL DOCUMENT v3.24.0.1
SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Changes in the Company's accrued warranties    
Beginning accrued warranty expense $ 1,234 $ 1,256
Current period claims (886) (278)
Provision for current period sales 1,262 256
Ending accrued warranty expense $ 1,610 $ 1,234
XML 64 R45.htm IDEA: XBRL DOCUMENT v3.24.0.1
SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Numerator for basic and diluted earnings per share:      
Net income (loss) $ 38,641 $ 5,820 $ 12,661
Weighted average shares outstanding:      
Weighted average shares outstanding - basic 37,533,818 36,109,844 28,598,692
Effect of dilutive securities:      
Stock-based awards 386,670 12,530  
Weighted average shares outstanding - diluted 37,920,488 36,122,374 28,598,692
Net income per share:      
Basic $ 1.03 $ 0.16 $ 0.44
Diluted $ 1.02 $ 0.16 $ 0.44
Anti-dilutive instruments excluded   0  
XML 65 R46.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS - Summary - ICOR (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2022
USD ($)
Total consideration, net of cash acquired:  
Total consideration, net $ 55,543
XML 66 R47.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS - Summary - Radar (Details) - USD ($)
$ in Thousands
12 Months Ended
Jan. 11, 2022
Dec. 31, 2023
Dec. 31, 2022
ACQUISITIONS      
Acquisition-related costs incurred during the period   $ 1,601  
Total consideration, net of cash acquired:      
Total consideration, net     $ 55,543
Radar      
ACQUISITIONS      
Percentage acquired 100.00%    
Total consideration, net of cash acquired:      
Total consideration, net $ 19,365    
XML 67 R48.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS - Purchase Price Consideration and Fair Value - Radar (Details) - USD ($)
$ in Thousands
12 Months Ended
Jan. 11, 2022
Dec. 31, 2022
Dec. 31, 2023
Dec. 31, 2021
Total purchase price consideration and preliminary fair value amounts recognized        
Total consideration, net   $ 55,543    
Goodwill   $ 81,576 $ 81,667 $ 66,262
Radar        
Total purchase price consideration and preliminary fair value amounts recognized        
Total consideration, net $ 19,365      
Accounts receivable 2,347      
Inventories 1,874      
Prepaid expenses 682      
Other current assets 665      
Property and equipment 3,053      
Intangible assets 10,200      
Goodwill 7,101      
Total assets acquired 25,922      
Accounts payable 1,120      
Deferred tax liabilities 2,787      
Accrued liabilities 2,106      
Long-term debt 544      
Total liabilities assumed 6,557      
Net assets acquired $ 19,365      
XML 68 R49.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS - Intangible Assets - Radar (Details)
$ in Thousands
Jan. 11, 2022
USD ($)
Radar  
ACQUISITIONS  
Goodwill, non-deductible for tax purposes $ 7,101
XML 69 R50.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS - Summary - Cyalume (Details) - USD ($)
$ in Thousands
12 Months Ended
May 04, 2022
Dec. 31, 2023
Dec. 31, 2022
ACQUISITIONS      
Acquisition-related costs incurred during the period   $ 1,601  
Total consideration, net of cash acquired:      
Total consideration, net     $ 55,543
Cyalume      
ACQUISITIONS      
Percentage acquired 100.00%    
Total consideration, net of cash acquired:      
Total consideration, net $ 36,178    
XML 70 R51.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS - Purchase Price Consideration and Fair Value - Cyalume (Details) - USD ($)
$ in Thousands
12 Months Ended
May 04, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
ACQUISITIONS        
Measurement period adjustments   $ (393)    
Total purchase price consideration and preliminary fair value amounts recognized        
Total consideration, net     $ 55,543  
Goodwill   81,667 $ 81,576 $ 66,262
Cyalume        
ACQUISITIONS        
Measurement period adjustments   $ (393)    
Total purchase price consideration and preliminary fair value amounts recognized        
Total consideration, net $ 36,178      
Accounts receivable 3,302      
Inventories 10,908      
Prepaid expenses 255      
Other current assets 10      
Property and equipment 12,492      
Intangible assets 8,100      
Goodwill 8,708      
Total assets acquired 43,775      
Accounts payable 1,080      
Deferred tax liabilities 4,652      
Accrued liabilities 1,577      
Other long-term liabilities 288      
Total liabilities assumed 7,597      
Net assets acquired $ 36,178      
XML 71 R52.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACQUISITIONS - Intangible Assets - Cyalume (Details)
$ in Thousands
May 04, 2022
USD ($)
Cyalume  
ACQUISITIONS  
Goodwill, non-deductible for tax purposes $ 8,708
XML 72 R53.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCOUNTS RECEIVABLE, NET (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Accounts Receivable, Allowance for Credit Loss [Roll Forward]      
Beginning allowance for doubtful accounts $ 924 $ 645  
Provision 66 417 $ (188)
Write-offs (355) (138)  
Ending allowance for doubtful accounts $ 635 $ 924 $ 645
XML 73 R54.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE RECOGNITION - Net sales by channel and geography (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenue Recognition      
Net sales $ 482,532,000 $ 457,837,000 $ 427,288,000
U.S. state and local agencies      
Revenue Recognition      
Net sales 282,318,000 250,680,000 231,095,000
Commercial      
Revenue Recognition      
Net sales 42,406,000 45,357,000 34,860,000
U.S. federal agencies      
Revenue Recognition      
Net sales 57,447,000 51,165,000 47,575,000
International      
Revenue Recognition      
Net sales 97,058,000 106,593,000 107,503,000
Other      
Revenue Recognition      
Net sales $ 3,303,000 $ 4,042,000 $ 6,255,000
XML 74 R55.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE RECOGNITION - Includes all Distribution sales (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenue Recognition      
Net sales $ 482,532,000 $ 457,837,000 $ 427,288,000
United States      
Revenue Recognition      
Net sales 385,474,000 351,244,000 319,785,000
International.      
Revenue Recognition      
Net sales $ 97,058,000 $ 106,593,000 $ 107,503,000
XML 75 R56.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE RECOGNITION - Contract Liabilities (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
REVENUE RECOGNITION    
Contract liabilities, current $ 4,246 $ 4,615
Revenue recognized from amounts included in contract liabilities $ 2,937  
XML 76 R57.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE RECOGNITION - Additional information (Details)
$ in Thousands
Dec. 31, 2023
USD ($)
Revenue Recognition  
Remaining performance obligations $ 24,721
Percentage of remaining performance obligations expect to recognize 54.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue Recognition  
Expected timing of satisfaction 12 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Revenue Recognition  
Expected timing of satisfaction 2 years
XML 77 R58.htm IDEA: XBRL DOCUMENT v3.24.0.1
FAIR VALUE MEASUREMENTS (Details) - Carrying Amount - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Assets:    
Interest rate swap $ 6,505 $ 8,985
Liabilities:    
Interest rate swap (Note 11) 427  
Level 2    
Assets:    
Interest rate swap 6,505 $ 8,985
Liabilities:    
Interest rate swap (Note 11) $ 427  
XML 78 R59.htm IDEA: XBRL DOCUMENT v3.24.0.1
FAIR VALUE MEASUREMENTS - Transfers of assets or liabilities (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
FAIR VALUE MEASUREMENTS    
Transfers between fair value measurement levels, amount $ 0 $ 0
XML 79 R60.htm IDEA: XBRL DOCUMENT v3.24.0.1
INVENTORIES (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
INVENTORIES    
Finished goods $ 31,674 $ 25,208
Work-in-process 8,473 7,466
Raw materials and supplies 40,829 37,599
Total $ 80,976 $ 70,273
XML 80 R61.htm IDEA: XBRL DOCUMENT v3.24.0.1
PROPERTY AND EQUIPMENT (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
PROPERTY AND EQUIPMENT      
Property and equipment, gross $ 95,615 $ 87,979  
Less accumulated depreciation (50,968) (42,694)  
Total 44,647 45,285  
Depreciation expense 7,943 6,851 $ 5,143
Depreciation expense included in cost of goods sold 4,590 3,433 $ 2,144
Land      
PROPERTY AND EQUIPMENT      
Property and equipment, gross 7,614 7,545  
Building and improvements      
PROPERTY AND EQUIPMENT      
Property and equipment, gross 24,433 22,992  
Furniture and fixtures      
PROPERTY AND EQUIPMENT      
Property and equipment, gross 1,966 1,400  
Computer hardware and software      
PROPERTY AND EQUIPMENT      
Property and equipment, gross 25,145 24,140  
Machinery and equipment      
PROPERTY AND EQUIPMENT      
Property and equipment, gross 31,770 28,464  
Construction in progress      
PROPERTY AND EQUIPMENT      
Property and equipment, gross $ 4,687 $ 3,438  
XML 81 R62.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Summary of changes in goodwill    
Balance at beginning of period $ 81,576 $ 66,262
Measurement period adjustments (393)  
Foreign currency translation adjustments 484 (888)
Balance at end of period 81,667 81,576
Product    
Summary of changes in goodwill    
Balance at beginning of period 78,960 63,646
Measurement period adjustments (393)  
Foreign currency translation adjustments 484 (888)
Balance at end of period 79,051 78,960
Distribution    
Summary of changes in goodwill    
Balance at beginning of period 2,616 2,616
Balance at end of period 2,616 2,616
Radar    
Summary of changes in goodwill    
Acquisition   7,101
Radar | Product    
Summary of changes in goodwill    
Acquisition   7,101
Cyalume    
Summary of changes in goodwill    
Measurement period adjustments $ (393)  
Acquisition   9,101
Cyalume | Product    
Summary of changes in goodwill    
Acquisition   $ 9,101
XML 82 R63.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
GOODWILL AND OTHER INTANGIBLE ASSETS      
Impairment losses $ 0 $ 0 $ 0
Gross goodwill 89,252 89,161  
Accumulated impairment losses $ 7,585 $ 7,585  
XML 83 R64.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Summary of intangible assets    
Definite lived intangibles, Gross $ 110,357 $ 108,933
Definite lived intangibles, Accumulated Amortization (84,124) (75,658)
Definite lived intangibles, Net 26,233 33,275
Indefinite lived intangibles 127,596 126,353
Indefinite lived intangibles, Net 43,472 50,695
Tradenames    
Summary of intangible assets    
Indefinite lived intangibles 17,239 17,420
Indefinite lived intangibles, Net 17,239 17,420
Customer relationships    
Summary of intangible assets    
Definite lived intangibles, Gross 86,621 85,847
Definite lived intangibles, Accumulated Amortization (65,650) (59,122)
Definite lived intangibles, Net $ 20,971 $ 26,725
Weighted Average Useful Life 11 years 11 years
Technology    
Summary of intangible assets    
Definite lived intangibles, Gross $ 16,111 $ 15,629
Definite lived intangibles, Accumulated Amortization (11,979) (11,309)
Definite lived intangibles, Net $ 4,132 $ 4,320
Weighted Average Useful Life 8 years 8 years
Tradenames    
Summary of intangible assets    
Definite lived intangibles, Gross $ 6,622 $ 6,484
Definite lived intangibles, Accumulated Amortization (5,492) (4,254)
Definite lived intangibles, Net $ 1,130 $ 2,230
Weighted Average Useful Life 4 years 4 years
Non-compete agreements    
Summary of intangible assets    
Definite lived intangibles, Gross $ 1,003 $ 973
Definite lived intangibles, Accumulated Amortization $ (1,003) $ (973)
Weighted Average Useful Life 4 years 4 years
XML 84 R65.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
GOODWILL AND OTHER INTANGIBLE ASSETS      
Amortization expense $ 7,794 $ 8,800 $ 8,575
Amortization expense included in cost of goods sold $ 465 $ 439 $ 666
XML 85 R66.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Estimated amortization expense for finite-lived intangible assets    
2024 $ 5,115  
2025 3,139  
2026 2,736  
2027 2,553  
2028 2,553  
Thereafter 10,137  
Total $ 26,233 $ 33,275
XML 86 R67.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCRUED LIABILITIES (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
ACCRUED LIABILITIES    
Accrued expenses $ 4,384,000 $ 3,656,000
Accrued compensation and payroll tax 24,621,000 20,420,000
Accrued interest payable 137,000 73,000
Accrued warranties 1,610,000 1,234,000
Contract liabilities and customer credits 5,122,000 5,937,000
Current lease liabilities 3,510,000 3,773,000
Other accrued liabilities 5,140,000 3,627,000
Total $ 44,524,000 $ 38,720,000
XML 87 R68.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT - Schedule of company's debt (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Short-term debt:    
Insurance premium financing $ 2,187 $ 2,211
Current portion of term loan 10,000 10,000
Current portion of other 133  
Total 12,320 12,211
Long-term debt:    
Term loan 128,564 138,564
Other 398 512
Total long-term debt, gross 128,962 139,076
Unamortized debt discount and debt issuance costs (1,150) (1,600)
Total long-term debt, net $ 127,812 $ 137,476
XML 88 R69.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT - Summary of aggregate principal payment of long-term debt (Details)
$ in Thousands
Dec. 31, 2023
USD ($)
DEBT  
2024 $ 10,133
2025 10,133
2026 118,697
2027 132
Total principal payments $ 139,095
XML 89 R70.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT - 2021 Credit Facility (Details)
$ in Thousands
7 Months Ended 12 Months Ended
Aug. 20, 2021
USD ($)
Dec. 31, 2023
USD ($)
Dec. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Debt          
Loss on extinguishment of debt         $ 15,155
Debt issuance costs paid         2,198
2021 Credit Facility          
Debt          
Increase in total net leverage ratio     0.50    
Loss on extinguishment of debt         15,155
Financing costs paid     $ 4,114    
Fees paid to lenders     1,916    
Debt issuance costs paid         $ 2,198
Unamortized debt discount   $ 537 537 $ 748  
Unamortized debt issuance costs   $ 613 $ 613 851  
2021 Credit Facility | Minimum          
Debt          
Commitment Fee   0.175% 0.175%    
2021 Credit Facility | Maximum          
Debt          
Commitment Fee   0.25% 0.25%    
2021 Credit Facility | Each quarter starting with the quarter ended December 31, 2021          
Debt          
Minimum fixed charge coverage ratio     1.25    
2021 Credit Facility | Each quarter starting with the quarter ended December 31, 2022          
Debt          
Total net leverage ratio     3.75    
2021 Credit Facility | Period after the quarter ended September 30, 2022.          
Debt          
Total net leverage ratio     3.50    
2021 Credit Facility | Base Rate | Minimum          
Debt          
Applicable margin (as a percent)   0.50%      
2021 Credit Facility | Base Rate | Maximum          
Debt          
Applicable margin (as a percent)   1.50%      
2021 Credit Facility | SOFR          
Debt          
Variable rate adjustment (as a percent)   0.10%      
2021 Credit Facility | SOFR | Minimum          
Debt          
Applicable margin (as a percent)   1.50%      
2021 Credit Facility | SOFR | Maximum          
Debt          
Applicable margin (as a percent)   2.50%      
2021 Credit Facility | Revolving credit facility          
Debt          
Maximum borrowing capacity $ 100,000        
Outstanding borrowings   $ 0 $ 0 0  
Available borrowing capacity   97,416 97,416    
Financing costs paid     1,365    
2021 Credit Facility | Term loan          
Debt          
Aggregate principal amount per quarter (in percent) 1.25%        
Outstanding borrowings $ 200,000 138,564 $ 138,564 $ 148,564  
Increase in total net leverage ratio     6.96 6.14  
Financing costs paid     $ 2,749    
2021 Credit Facility | Letter of credit          
Debt          
Maximum borrowing capacity 15,000        
Outstanding letters of credit   $ 2,584 $ 2,584    
2021 Credit Facility | Swing line loans          
Debt          
Maximum borrowing capacity $ 10,000        
XML 90 R71.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT - Canadian Credit Facility (Details) - Canadian Credit Facility
$ in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Oct. 14, 2021
USD ($)
Oct. 14, 2021
CAD ($)
Minimum        
Debt        
Unused line fee (as a percent) 0.175%      
Maximum        
Debt        
Unused line fee (as a percent) 0.25%      
Base Rate | Minimum        
Debt        
Applicable margin (as a percent) 0.50%      
Base Rate | Maximum        
Debt        
Applicable margin (as a percent) 1.50%      
LIBOR | Minimum        
Debt        
Applicable margin (as a percent) 1.50%      
LIBOR | Maximum        
Debt        
Applicable margin (as a percent) 2.50%      
Revolving credit facility        
Debt        
Maximum borrowing capacity       $ 10,000
Amount outstanding $ 0 $ 0    
Upfront Fee 0.25%      
Letter of credit        
Debt        
Maximum borrowing capacity     $ 3,000  
XML 91 R72.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT - Short-Term Debt (Details) - USD ($)
$ in Thousands
1 Months Ended
Jul. 31, 2023
Jul. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Debt        
Outstanding balance     $ 2,187 $ 2,211
AFCO Credit Corporation | Short-Term Loan Facility        
Debt        
Amount of short term loan facility $ 3,948 $ 3,989    
Interest rate 7.49% 5.75%    
Required monthly payments $ 373 $ 373    
Outstanding balance     $ 2,187 $ 2,211
XML 92 R73.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT - Fair Value of Debt (Details) - Term loan
$ in Thousands
Dec. 31, 2023
USD ($)
DEBT  
Fair value of debt $ 141,340
Carrying value of debt $ 138,564
XML 93 R74.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT - Schedule of interest rate swaps (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
May 31, 2023
Interest Rate Swaps    
DEBT    
Variable rate 5.36%  
Interest Rate Swap, One    
DEBT    
Debt instrument, start maturity date Sep. 30, 2021  
Debt instrument, end maturity date Jul. 23, 2026  
Notional amount $ 88,750  
Fixed rate 0.812%  
Interest Rate Swap, Two    
DEBT    
Debt instrument, start maturity date May 31, 2023  
Debt instrument, end maturity date Jul. 23, 2026  
Notional amount $ 48,125 $ 50,000
Fixed rate 3.905%  
XML 94 R75.htm IDEA: XBRL DOCUMENT v3.24.0.1
DEBT - Schedule of fair value swap agreement (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
DEBT      
Cumulative gain, net of tax reflected in accumulated other comprehensive income (loss) $ 4,357,000 $ 6,739,000  
Gain recognized in other comprehensive income (loss) 775,000 6,444,000 $ 767,000
Amount reclassified from accumulated other comprehensive income to earnings 3,157,000 618,000 $ (146,000)
Amount reclassified from AOCI into interest expense within next twelve months 3,552,000    
Interest Rate Swaps      
DEBT      
Derivative liability $ 427,000    
Derivative Liability, Statement of Financial Position [Extensible Enumeration] Other Liabilities, Noncurrent    
Interest Rate Swaps | Other current assets      
DEBT      
Derivative asset $ 3,655,000 $ 3,619,000  
Derivative Asset, Statement of Financial Position [Extensible Enumeration] Other Assets, Current Other Assets, Current  
Interest Rate Swaps | Other assets      
DEBT      
Derivative asset $ 2,850,000 $ 5,366,000  
Derivative Asset, Statement of Financial Position [Extensible Enumeration] Other Assets, Noncurrent Other Assets, Noncurrent  
XML 95 R76.htm IDEA: XBRL DOCUMENT v3.24.0.1
SHAREHOLDERS EQUITY (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Jan. 23, 2024
Jul. 14, 2022
Jun. 09, 2022
Nov. 11, 2021
Nov. 03, 2021
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
SHAREHOLDERS' EQUITY                
Dividend declared (in dollars per share)       $ 0.32        
Cash dividends           $ 12,006 $ 11,509 $ 2,751
Subsequent event                
SHAREHOLDERS' EQUITY                
Dividends per share declared $ 0.0875              
Dividend declared (in dollars per share) $ 0.35              
Percentage of increase over previous annualized dividend 3.00%              
Kanders & Company, Inc                
SHAREHOLDERS' EQUITY                
Underwriter discounts and commissions, fees and expenses             $ 2,000  
Initial public offering                
SHAREHOLDERS' EQUITY                
Number of shares issued         6,900,000      
Issue price         $ 13.00      
Net proceeds from the sale of shares, initial public offering         $ 78,581      
Underwriter discounts and commissions, fees and expenses         11,119      
Initial public offering | Kanders & Company, Inc                
SHAREHOLDERS' EQUITY                
Underwriter discounts and commissions, fees and expenses         $ 2,250      
Secondary Offering                
SHAREHOLDERS' EQUITY                
Number of shares issued     2,250,000          
Issue price     $ 23.50          
Net proceeds from the sale of shares, initial public offering     $ 46,988          
Underwriter discounts and commissions, fees and expenses     2,715          
Secondary Offering | Kanders & Company, Inc                
SHAREHOLDERS' EQUITY                
Underwriter discounts and commissions, fees and expenses     $ 2,000          
Over-Allotment Option                
SHAREHOLDERS' EQUITY                
Number of shares issued   300,000     900,000      
Issue price   $ 23.50            
Net proceeds from the sale of shares, initial public offering   $ 6,389            
Underwriter discounts and commissions, fees and expenses   $ 661            
XML 96 R77.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCK-BASED COMPENSATION - Phantom Restricted Share Plan (Details) - 2021 Phantom Restricted Share Plan - USD ($)
12 Months Ended
Mar. 09, 2022
Dec. 31, 2023
Dec. 31, 2022
Mar. 18, 2022
Shares        
Outstanding at beginning period (in shares)   791,667    
Vested (in shares)   (418,174)    
Outstanding at ending (in shares)   373,493 791,667  
Weighted Average Grant Date Fair Value        
Vested (in dollars per share)   $ 23.45    
Outstanding at ending (in dollars per share)   $ 23.45    
Grant date fair value   $ 9,806,000    
Executive Compensation Plan        
Compensation Plans        
Number of awards granted under cash-based executive compensation plan   1,433,500    
Grant date fair value per share of common stock of all vested and unvested units under the cash-based executive compensation plan $ 23.45      
Number of units expected to vest under cash-based executive compensation plan       632,500
Number of unvested units under cash-based executive compensation plan       791,667
Weighted Average Grant Date Fair Value        
Compensation cost $ 22,100,000      
Unrecognized compensation under cash-based executive compensation plan   $ 626,000    
Grant date fair value expected to be recognized as compensation expense over a weighted average period   2 months 12 days    
Executive Compensation Plan | Selling, general and administrative        
Weighted Average Grant Date Fair Value        
Compensation cost   $ 4,371,000 $ 28,578,000  
XML 97 R78.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCK-BASED COMPENSATION - Stock Incentive Plan and Market Condition Restricted Shares (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Nov. 04, 2021
Dec. 31, 2023
Dec. 31, 2022
Market Condition Restricted Shares      
Stock-Based Compensation      
Number of shares reserved and available for issuance under the plan 2,600,000    
Common stock, share price $ 40.00    
Consecutive trading days 20 days    
Number of shares expected to vest 2,600,000    
Stock-Based Compensation, Fair Value Assumptions      
Vesting period $ 40.00    
Grant price (per share) $ 4.65    
Dividend yield 0.00%    
Expected volatility 32.08%    
Risk-free interest rate 1.59%    
Expected term (years) 5 years 8 months 1 day    
Shares      
Outstanding at beginning period (in shares)   2,600,000  
Granted (in shares) 2,600,000    
Outstanding at ending (in shares)   2,600,000 2,600,000
Weighted Average Grant Date Fair Value      
Outstanding at beginning period (in dollars per share)   $ 4.65  
Granted (in dollars per share) $ 4.65    
Outstanding at ending (in dollars per share)   $ 4.65 $ 4.65
Compensation cost   $ 2,132 $ 2,132
Unrecognized compensation expense   $ 7,470  
Grant date fair value expected to be recognized as compensation expense over a weighted average period   3 years 6 months  
Stock Incentive Plan 2021      
Stock-Based Compensation      
Maximum number of shares that may be issued under the plan   9,650,000  
Number of shares reserved and available for issuance under the plan   5,776,326  
Shares      
Granted (in shares) 2,600,000    
XML 98 R79.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCK-BASED COMPENSATION - Stock Options (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2023
Dec. 31, 2022
STOCK-BASED COMPENSATION      
Number of options issued   395,253  
Options      
Outstanding at beginning of period (in shares)   367,611  
Granted (in shares)   395,253  
Exercised (in shares)   (1,405)  
Outstanding at end of period (in shares) 761,459 761,459 367,611
Exercisable (in shares) 227,806 227,806  
Fully vested options outstanding at end of period (in shares) 761,459    
Weighted Average Exercise Price      
Outstanding at beginning of period (in dollars per share)   $ 23.46  
Granted (in dollars per share)   20.53  
Exercised (in dollars per share)   23.45  
Outstanding at end of period (in dollars per share) $ 21.98 21.98 $ 23.46
Exercisable (in dollars per share) 22.77 22.77  
Vested and expected to vest at end of period (in dollars per share) $ 21.98 $ 21.98  
Aggregate Intrinsic Value      
Exercised   $ 12  
Outstanding at ending period $ 8,310 8,310  
Exercisable 2,305 2,305  
Vested and expected to vest $ 8,310 $ 8,310  
Weighted Average Remaining Contractual Life (in years)      
Outstanding in years 8 years 8 months 12 days   9 years 2 months 12 days
Exercisable (in years)   8 years 6 months  
Vested and expected to vest, weighted average remaining contractual life (in years)   8 years 8 months 12 days  
Employee Stock Option      
STOCK-BASED COMPENSATION      
Number of options issued   395,253 373,479
Expiration period   10 years  
Grant date fair value (per share)   $ 20.53 $ 6.69
Dividend yield   1.56%  
Expected volatility   31.40% 33.22%
Risk-free interest rate   3.68% 1.12%
Grant date fair value (per share)   $ 6.34  
Options      
Granted (in shares)   395,253 373,479
Weighted Average Remaining Contractual Life (in years)      
Unrecognized compensation expense $ 2,374 $ 2,374  
Grant date fair value expected to be recognized as compensation expense over a weighted average period   1 year 10 months 24 days  
Employee Stock Option | Minimum      
STOCK-BASED COMPENSATION      
Vesting period   1 year 1 year
Grant date fair value (per share)     $ 23.45
Dividend yield   1.56% 1.35%
Expected term (years)   4 years 8 months 4 days 4 years 7 months 9 days
Employee Stock Option | Maximum      
STOCK-BASED COMPENSATION      
Vesting period   3 years 3 years
Grant date fair value (per share)     $ 23.70
Dividend yield     1.36%
Expected term (years)   6 years 6 years
Employee Stock Option | Selling, general and administrative      
Weighted Average Remaining Contractual Life (in years)      
Compensation cost   $ 1,619 $ 974
XML 99 R80.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCK-BASED COMPENSATION - Restricted Stock Units (Details)
1 Months Ended 12 Months Ended
Mar. 31, 2021
item
Dec. 31, 2023
USD ($)
installment
$ / shares
shares
Dec. 31, 2022
USD ($)
$ / shares
shares
Dec. 31, 2021
USD ($)
Stock-Based Compensation        
Number of equal installments | item 3      
RSUs        
Stock-Based Compensation        
Number of equal installments | installment   3    
Vesting period   3 years    
Compensation cost | $       $ 355,000
Unrecognized compensation expense | $   $ 2,453,000    
Grant date fair value expected to be recognized as compensation expense over a weighted average period   1 year 10 months 24 days    
Shares        
Outstanding at beginning period (in shares) | shares   83,494    
Granted (in shares) | shares   113,097    
Vested (in shares) | shares   (27,838)    
Forfeited (in shares) | shares   (1,676)    
Outstanding at ending (in shares) | shares   167,077 83,494  
Weighted Average Grant Date Fair Value        
Outstanding at beginning period (in dollars per share) | $ / shares   $ 23.45    
Granted (in dollars per share) | $ / shares   20.53    
Vested (in dollars per share) | $ / shares   (23.45)    
Forfeited (in dollars per share) | $ / shares   20.53    
Outstanding at ending (in dollars per share) | $ / shares   $ 21.50 $ 23.45  
RSUs | Selling, general and administrative        
Stock-Based Compensation        
Compensation cost | $   $ 1,267,000 $ 531,000  
XML 100 R81.htm IDEA: XBRL DOCUMENT v3.24.0.1
COMPENSATION AND DEFINED CONTRIBUTION PLANS (Details)
$ in Thousands
1 Months Ended 12 Months Ended
Mar. 31, 2021
item
Dec. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
COMPENSATION AND DEFINED CONTRIBUTION PLANS        
Employer contribution to plans   $ 2,380 $ 3,198 $ 1,780
Number of equal installments | item 3      
Vesting period for awards granted under the cash-based long-term incentive plan 3 years      
Compensation expense related to the cash-based long-term incentive plan   $ 860 $ 1,369 $ 2,162
XML 101 R82.htm IDEA: XBRL DOCUMENT v3.24.0.1
COMMITMENTS AND CONTINGENCIES - Legal Proceedings (Details)
$ in Thousands
1 Months Ended
Sep. 30, 2021
USD ($)
COMMITMENTS AND CONTINGENCIES  
Damage awarded $ 7,500
XML 102 R83.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Consolidated income from continuing operations before provision for income taxes (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Income Tax Expense (Benefit), Continuing Operations, by Jurisdiction [Abstract]      
U.S. operations $ 49,603,000 $ 6,455,000 $ 18,243,000
Foreign operations 3,321,000 2,918,000 949,000
Income before provision for income taxes $ 52,924,000 $ 9,373,000 $ 19,192,000
XML 103 R84.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Benefit for income taxes (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Current tax provision:      
Federal $ 9,969,000 $ 2,711,000  
State 1,811,000 624,000 $ 907,000
Foreign 2,713,000 1,305,000 852,000
Total current provision 14,493,000 4,640,000 1,759,000
Deferred tax (benefit) provision:      
Federal 1,692,000 (24,000) 4,704,000
State 322,000 (5,000) 897,000
Foreign (2,224,000) (1,058,000) (829,000)
Total deferred (benefit) provision (210,000) (1,087,000) 4,772,000
Total provision for income taxes $ 14,283,000 $ 3,553,000 $ 6,531,000
XML 104 R85.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Reconciliation of the statutory federal income tax rate to the effective rate reported in the Company's consolidated financial statements (Details)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Effective Income Tax Rate Reconciliation, Percent [Abstract]      
Federal statutory rate 21.00% 21.00% 21.00%
State income taxes, net of federal income taxes 4.60% 5.60% 8.40%
Change in valuation allowance     0.80%
Current year tax credits (0.70%) (6.50%) (4.70%)
Difference between foreign and federal tax rate 0.70% 5.40% 2.80%
Permanent items 1.60% 12.20% 5.20%
Reserve for uncertain tax positions   0.50%  
Other (0.20%) (0.30%) 0.50%
Effective tax rate 27.00% 37.90% 34.00%
XML 105 R86.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Deferred Income taxes (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Deferred tax assets:    
Net operating loss and other carry forwards $ 4,667 $ 7,335
Accrued liabilities 4,656 3,351
Reserves and other 2,749 3,039
263A uniform capitalization costs 115 201
Other deferred tax assets 6,741 5,232
Total deferred tax assets 18,928 19,158
Valuation allowance (1,872) (1,888)
Net deferred tax assets 17,056 17,270
Deferred tax liabilities:    
Intangibles (4,832) (5,789)
Depreciation (4,017) (4,447)
Goodwill (8,512) (7,560)
Other (534) (727)
Total deferred tax liabilities (17,895) (18,523)
Total deferred income taxes $ (839) $ (1,253)
XML 106 R87.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Reconciliation of Unrecognized Tax Benefits (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]      
Beginning unrecognized tax benefits $ 1,986,000 $ 2,090,000  
Current period unrecognized tax benefits   39,000  
Foreign currency fluctuations 66,000    
Foreign currency fluctuations   (143,000)  
Ending unrecognized tax benefits 2,052,000 1,986,000 $ 2,090,000
Amounts representing penalties and interest were recorded as income tax expense 0 0 $ 0
Amount of interest or penalties accrued $ 0 $ 0  
XML 107 R88.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Operating loss Carryforwards (Details)
$ in Thousands
Dec. 31, 2023
USD ($)
INCOME TAXES.  
Amount of unrecognized benefits on uncertain tax positions that, if recognized, would affect the Company's effective tax rate $ 2,052
XML 108 R89.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES - Schedule of operating assets and liabilities (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Leases    
Operating lease assets $ 6,554,000 $ 8,489,000
Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Accrued Liabilities, Current Accrued Liabilities, Current
Operating lease liabilities $ 3,510,000 $ 3,773,000
Long-term operating lease liabilities 3,186,000 4,965,000
Total lease liabilities $ 6,696,000 $ 8,738,000
Maximum    
Leases    
Remaining contractual terms 5 years  
Optional lease extension terms 5 years  
XML 109 R90.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES - Components of lease expense (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
LEASES    
Fixed operating lease costs $ 3,981,000 $ 4,047,000
Variable operating lease costs 1,441,000 1,329,000
Total $ 5,422,000 $ 5,376,000
XML 110 R91.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES - Weighted average remaining lease term and discount rate (Details)
Dec. 31, 2023
Dec. 31, 2022
LEASES    
Operating leases weighted average remaining lease term (years): 2 years 6 months 10 days 2 years 7 months 13 days
Operating leases weighted average discount rate 3.06% 2.96%
XML 111 R92.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES - Future minimum lease payments under operating leases (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
LEASES    
2024 $ 3,438,000  
2025 2,039,000  
2026 965,000  
2027 325,000  
2028 190,000  
Thereafter 31,000  
Total future lease payments 6,988,000  
Less: Amount representing interest (292,000)  
Present value of lease liabilities $ 6,696,000 $ 8,738,000
XML 112 R93.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES - Supplemental cash flow information related to leases (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
LEASES    
Operating cash flows - operating leases $ 4,044,000 $ 4,047,000
XML 113 R94.htm IDEA: XBRL DOCUMENT v3.24.0.1
RELATED PARTY TRANSACTIONS (Details)
12 Months Ended
Dec. 31, 2023
USD ($)
warehouse
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Related Party Transactions      
Number of distribution warehouses and retail stores | warehouse 4    
Rent expense $ 496,000 $ 478,000 $ 579,000
Related party, acquisition costs 1,000,000    
Warren Kanders      
Related Party Transactions      
Fees paid for services related to the Company's initial public offering     2,250,000
Fees paid for services related to the execution of the New Credit Agreement     $ 1,000,000
Kanders & Company, Inc      
Related Party Transactions      
Related party, acquisition costs $ 1,000,000 1,000,000  
Direct offering costs   $ 2,000,000  
XML 114 R95.htm IDEA: XBRL DOCUMENT v3.24.0.1
SEGMENT DATA - Other (Details)
12 Months Ended
Dec. 31, 2023
segment
SEGMENT DATA  
Number of reportable segments 2
XML 115 R96.htm IDEA: XBRL DOCUMENT v3.24.0.1
SEGMENT DATA - asset information or operating expenses by segment (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Segment Data      
Net sales $ 482,532,000 $ 457,837,000 $ 427,288,000
Cost of goods sold 281,806,000 282,159,000 256,598,000
Gross profit 200,726,000 175,678,000 170,690,000
Reconciling Items      
Segment Data      
Net sales (30,664,000) (24,692,000) (24,944,000)
Cost of goods sold (30,466,000) (24,719,000) (24,932,000)
Gross profit (198,000) 27,000 (12,000)
Product. | Operating segments      
Segment Data      
Net sales 410,825,000 385,423,000 362,189,000
Cost of goods sold 233,937,000 230,245,000 213,881,000
Gross profit 176,888,000 155,178,000 148,308,000
Distribution | Operating segments      
Segment Data      
Net sales 102,371,000 97,106,000 90,043,000
Cost of goods sold 78,335,000 76,633,000 67,649,000
Gross profit $ 24,036,000 $ 20,473,000 $ 22,394,000
XML 116 R97.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUBSEQUENT EVENTS (Details)
$ in Thousands, $ in Thousands
1 Months Ended 12 Months Ended
Mar. 12, 2024
USD ($)
Jan. 31, 2024
USD ($)
Jan. 31, 2024
CAD ($)
Dec. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Subsequent Events          
Business acquisitions, net of cash acquired         $ 55,543
Acquisition-related costs incurred during the period       $ 1,601  
Acquisition related transaction costs included in Restructuring and transaction costs       601  
Acquisition related transaction costs included in related party expense       $ 1,000  
ITL | Subsequent event          
Subsequent Events          
Amount borrowed $ 80,000        
ICOR | Subsequent event          
Subsequent Events          
Business acquisitions, net of cash acquired   $ 38,800 $ 52,000    
Alpha Safety | Subsequent event          
Subsequent Events          
Business acquisitions, net of cash acquired $ 106,500        
XML 117 R98.htm IDEA: XBRL DOCUMENT v3.24.0.1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Pay vs Performance Disclosure      
Net Income (Loss) $ 38,641 $ 5,820 $ 12,661
XML 118 R99.htm IDEA: XBRL DOCUMENT v3.24.0.1
Insider Trading Arrangements
3 Months Ended
Dec. 31, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
EXCEL 120 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /N#;%@'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 " #[@VQ8>68MMNX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)O)TD7#Z&;B^))07!!\1:2V=U@DX9DI-VWMZV[740?P&-F_GSS M#4QKD[)]QN?<)\SDL=R,H8M%V;1E1Z*D (H]8C"EGA)Q:N[[' Q-SWR 9.R' M.2!(SF\A(!EGR, ,K-)*9+IU5MF,AOI\QCN[XM-G[A:8LX =!HQ40-0"F)XG MIM/8M7 %S##"',IW =U*7*I_8I<.L'-R+'Y-#<-0#\V2FW80\/;T^+*L6_E8 MR$2+TZ_B%9T2;MEE\FMS=[][8%IRN:EX4PFYDUPU0C6;]]GUA]]5./3.[_T_ M-KX(ZA9^W87^ E!+ P04 " #[@VQ8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M /N#;%AZ7E4NL < $$S 8 >&PO=V]R:W-H965T&UL MM9MK0*D"W&.$!?/E#VF&T(X>HFC)+WL;3C?OAD,4G]#8IR> MTBU)Q#W9OM^(N7&^X7#&XNMCB-5D1_F6[9&)IL%<)PI@D:4@3Q,C# M96]BOYEY>4&^Q=>0/*<'GY$\E7M*'^7"(KCL6?*(2$1\+B6P^/=$IB2*I)(X MCG]*T=Y^G[+P\/-.?9Z?O#B9>YR2*8V^A0'?7/;&/120!YQ%_(X^OR?E"0VE MGD^C-/^+GHMMAVX/^5G*:5P6BR.(PZ3XCU]*$ <%GE-3X)0%S@\%ME=3X)8% M;ML"KRSP0<9ICCJPM&GQ&36PLU^2&'F5>+TP\3^;NO.!/?AJ*.7\VH MGXF?D2.W42-L. M^D@3ODF%;D""JL! '.?^8)W=P;YU0,49\4^1:Y\@QW)YKR&5S^1Y:(O5NZO5?.QMVC=W,]]_^AUP$O!#V]H.PBWJ1;[)/+GN@#4L*> M2._JEY_LD?6[#I9)L9DAL0I(;P_2@]05R,^O6Z+#!I?;5O^#C@]8U96/(;$* MG^&>S[ =GTF29#A"=V1+&=>!@G4XRW1XIV!55U"&Q"J@1GM0HW:@EH2%5%Z4 M 1*]JK9--2CM>JK:K@JL[PK-D%@%VMD>VEG+JX]A80?RNT9]"X.U'G"4:IL8 M6-:5EB&Q"JWQGM88/,.RGY^'$4&W67Q/F(X2K&%9=M^S1N=C'2FPM"LI0V(5 M4N=[4N=M2-V1=9ART;0XNL6Q]E*$=::3V=TU>O_I9K:X?;SFJ#;I'XE(D+,;<3)VC%15>&*$-3FB6"!*;;; /R,7] B$'U;^!#ZA1^NOV8;)-UQWQV?N;8WTM(#BSO3 M,Z16I>DX;>I,@$.KIR>X#NA';H4^)OLW!DK;KCD>B07/"DOR'$#9FB=GC M,W[5X@35.N,TI%;%J6*"#9KG_^"4%&S;Z M/[:X)4VYN.#^#+?U]PQ8T74<6VM7X+K.W(Z1'FP5'VS8]>=7YH017(\)%CBW M=.,24[BJ,Z1CI 5;Q04;]O@WU)>=]X8FD -N$#GS[/[0LRPM+:-AP91:E9:* M"S;L]3^'7"0%^H!LY]?[W]"*^!D3K4R+#%::TC@6!F;%J?]X@GZV3BV1(^1- M%'W%44;0EC"TVF"FORD8C16FU*I,5;"PX40@@FH0)FNT>HWO::1%V1 I1*+0 M4C*:(4RI58=:58AP8)N_:VKH^L7?X&1-:O-7@]#M]Y66%ES6E98IM2HME1B< M5HGA&XFB_F,BG)FX5+&P621 BS3-])U<@^8MU6(S&A5,J56QJ:C@M(H*7VDD M(BEFQ< (2[6P8*4:6$:#@"FU*BP5!)Q606":,2;'VXI!MKPC$[8VTT.#%;\3 M7=44KNI,[1@1P%$1P&D5 ?+L6#QEE&.Z>(=12PU6K*-F- *84JM24Q' :14! M\LL1345J6E.F=1T-.A/?)T)"" 2%F):N8L+7LRMX)!;X1^2G>XD3?X&#! MNH=4<%EG:L=(!8Y*!4ZKIPC7+X)CCQ0Q%"\^&@?-TU8_G N+@E%/-1_II'>/VW%B:\FWJ81L.!*;7JS 45 M#ES8TR^F\SLTR8*0"VP3SDG*B_%QB4T[I7",D."JD."V"@FK MC4@)4!?7(%,/RV@T,*56A:6B@=LJ&BRS^RCT1;NB6.O58)7.N97ECY]P=7PR>='@.)@^U"P.549U\_"9%GS(NKL=$#G)HD9F=1E2H MC0Y/\FPX/O/5DU.:;4JMR4C;?A>WYCI,7XI\)V,>'!%DE 7M 'HK\1PE)R!'L\ MLH:>=H857-R9VC$E\.^LS#5#X^^4XP Z>G-7=29V#&?O*6?O-&PO=V]R:W-H965T&ULK5EM M;]LV$/XKA%=L'>#$(JG7+C'0)MA68-V"9MT^,Q(=$Y5$3Z*=I+]^1]FQK/!$ M)V@^M)'DN]-SU/&>A^39G6Z^MDLI#;FORKH]GRR-6;V;S=I\*2O1GNJ5K.&7 MA6XJ8>"VN9VUJT:*HG.JRAD+@GA6"55/YF?=LZMF?J;7IE2UO&I(NZXJT3Q\ MD*6^.Y_0R>.#S^IV:>R#V?QL)6[EM31?5E<-W,WV40I5R;I5NB:-7)Q/WM-W M%SRV#IW%/TK>M0?7Q*9RH_57>_.Q.)\$%I$L96YL" %_-O)"EJ6-!#C^VP6= M[-]I'0^O'Z/_VB4/R=R(5E[H\E]5F.7Y))V00B[$NC2?]=WOKM7W&_&X@#!QJ..+"= WNN ]\Y\"[1+;(NK4MA MQ/RLT7>DL=80S5YT8]-Y0S:JMI_QVC3PJP(_,[_0=:M+50@C"_)!E*+.);FV MX5IR0KY<7Y*W;WX^FQEXE768Y;NP'[9AV4C82YF?$DZGA 6,(^X7SW=G0_<9 M)+C/DNVS9%T\/I;ENFED;8AH6T@,2V?K'^+^=BZ]:UM._S7*\!''2$7 +2FU).22T-!G8; M*3[ $*7<0G@*UC6,PRA*1L%&>["1%^S'>@,#J1LET<&,G->F09;$+C[7, E8 MPD?QQ7M\L1??52-70A5$WD.3;W&0L?-N2C..#")B& 3#TAB 3/8@$R_(O\Q2 M-M#9CDW(Q/V(:8H,)F9'QV&F>YBI%^;?VHCR&3!3Y_4LC-*0NT!=2YHE 4U' MH69[J-F1SPZDWIB';M;;";\"FC6CTRAS<(1A'"8N8,00YGPTBI<&/><$_AH MO,*H^I:4$BC8,[R[0(//&T6A"Q8Q3,,T&P=[0)#4"_92+B1404&,N-\A'1W; M7:C!F 4!!MN#U; M43]=_:9U<:?*$@7(W6]*XQ@I5=0R2L;YB?8$1?T,M>U7G@IUV2;,,FP0$5J* M>3@.L:E;:_R0'0))^24)AD"TC7E&H&V9N4Q&&6>(1$,MF4?\ ML)[TF)_TAO+G2%$PE\QLQT#$&F*9I!GS(#Y8X?EY[X_C ^NR&&5)2I%>C9GR M)/00"NL9C_D9KP>JG\B@8\/LDARGF"1&#,,L'F=KUI,A\Y/A0 L=@XL0(RJ, M$4,>!>.ZF/7$R/S$N.7N8SA=RF-9@DTWUQ#63N/,R'IF9/Z%VW:V'(',),61S$'JP]HS$_HUWHJE+&KC#:[3:#KFT)RSH'W.3MG]I(0D-TR\@? M&>=B@NZO?'^@8?8]3;+4JV$^R6_?1 T/NX66>4#3]#+MB_>27BG:,.&>:]FQ MQ>7CE&^-SK^2MV^"4Z@B"LS;D(THUW)*:#"%1_8?:9<"4!"Q-DO=J&^R@-6' M?GRJVM9*#%LU>FU:6*<4MOF)UA+CI7-X26%]?V! MAIMVO53@@;>PKNT0+759R*;]R5- K+(4UF9 MM[1X,HW29!KRN"L6N.6<35E"7[/BI@0BK61WW% ^H/7'T66_LX=ZQ&HXB+WP MX7[A\[XHE%67P"!V]^]$U207*P6,@D)UE0VC+,9V #'3(.XV7\9 'VQ2^T40 M+#?6U;KL3AWT=D=05U!C2WM M)%$=1(?3< 5-T]6T3OTKAT+TO%-8-Z+('YT MSWJ/O9 +E2M4;G)7UIS0F&*R&#,-61*.ZV+>:R#^G,V!]KGM!=$X64)C1"-C MIG'4;;F-@>X%$7^A()J2Z@GS=I/UV6G%[OG%R X(8CJV S([.':S9YZ?1'.K MZA;4_ )\@],$@C3;8\3MC=&K[B3N1ANCJ^YR*06 MP;P^T*#>MK=V,.]_6'N M_']02P,$% @ ^X-L6-IAQ7K @ 0H !@ !X;"]W;W)K@6A'(GB>NQI4QB46E&.2PE4E51 M$/EX!4QLYX[G/ WJE@JKZB;1,[B1R4 M5DJ+HDTV! 7ES9T\M"]B)\$;'TCPVP1_:$+0)@2UT8:LMG5--$EB*;9(VFBC M9AOUNZFSC1O*[=]XJZ5Y2DV>3A:"*\%H1C1DZ(HPPE- MU9.H?=+(H'K'#1- M"?N /J*WR$4J-Z,J=K69W6JX:3O353.3?V"F:TA'*/ ND(_]H"=],3S=WT]W MC>?.N-\9]VN]X'SC?=X:L7&_F%UKEZHD*(0Q]F)WLVOH M9-@>ZKA#'9^'VI0>(I7.A:1_(.M#;C3#'18/-[]GT ,"][ G'?;D5=A4J:H? M>?*"Y#GKL8@]R+"##%\%:;[T2A.>4;[N(PU/DAZ=]I6U'76FHJ.F%J(HS-8P MI+"C885],FR/<]IQ3L_@'%35TY?%.NLOZR&1>]2SCGIV/O7AHIZ]X BBR30: M!^$SX+[ (/#]Z,!;]O"_O0V?3WRBPEO) =R]D;W@[L[^; ]'WXE<4ZX0@Y5) MQ:/(+&_9G#>:CA9EO67?"6T. '4S-V%)-T^B_B87G"OTO"PK>3M:*+6Z'H]EMN!+ M)J_$BE?ZEYFHETSIRWH^EJN:L[PQ6I9CXGGA>,F*:C2Y:;Z[KR)S,5\H\\5X;'DE2Q$ MA6H^NQV]P]>G_?D-=D'IGD4U%^+7*UN!W%(Y3S&5N7ZK-X^HUW MA +C+Q.E;/ZBIP[KC5"VEDHL.V,]@F51M?_9(/0,<#AB0SH <&_@#!K0S MH*<:^)U!$^IQ2Z6)0\H4F]S4X@G5!JV]F0]-,!MK3;^HS+P_J%K_6F@[-9F* M2HJRR)GB.7I0^I^>5"61F*%/*UXS,SD2L2I'4['4F;4P4[[AZ$.5B25'E^C+ M0XHN?GQS,U9Z-,;G..ON?-?>F0S<&1/T451J(=$O5<[S0P=C36/'A6RYW!&G MQY1G5XCBMXAXA (#FIYN3@#S]'1S[&!#=S-#&W_T?YD9:#[:^_GP_4R!N98K MEO';D?8F>;WAH\E//^#0^QF*Y3F=I6=R=A!G?Q=GW^5]\H!D,A52F?28 M"Y%+I),GARBU/L*]VY,8QUYH4X*0! >)30E !F&0#%,*=Y1")Z5?:R$E6M5B M5BB(3&C?V/,B I"QD3@*PBBVR4!(+S2L!\A$.S*1Q2YV)L*#5@8ZPU@!.@0MDXGP:!S<_&49\.9S_V>JGAO<"O;#:S%:O5]^T: (6#!TQ; M BQJ$ BM:0 81,DPISWYA)V<_A1*)Z,X:65WK@Y'ZQ//WB.F$#2(CY*LHP9 M<9Q$>)@=Z=D1)[N^8A6#JJ)S<1#:$%QB !*'$;;G-85\X@@[)JQ75=@MJSZI M!:^=R7=6F716;^FYO!W&KE=*V"V5/E2*:[_*&3[?FKI+7U=2(!T I$YP*!T M) Y]$@SG0Z^9L%LT_6X$ABZO_-GD^;J0"R.SC8S*^2.H.=P.7YT@Y_268EN) M7>( !XY(]5(,N[58NW+:0H NNA1X\Q95' Z3K:,2"M5P&W>),22<(63B1\/4 M>F&&G=IE6\7W2\,PK\@>!0T2>R.=0LBHW4N/F4$^24 .63:RR?LUD_W MK^-FZYQ+[)/8'O,4@FKI!+$#D.%1]3OL;?3JB;C5DSFG#N_"G?'^J9+&H0^4 M70 9Q,2SN0! 3,+0P:57300[-^&>"](* \D%J_DU2,NIOEY;:\_J+3V7M\,8 M]MJ,N+79'9-%!L:LM8OWY^W*H\=I8*.\*QP>YP"$\OV!^>]%&'$*E4E:E&MU MW//K1D^AT9/CT=LH:/00:G#TO0PBOC-[OS;-9'V081LMC^>\S5^M(M9**GUL MTSH"3F:GNGIU,I_36WHN;X1*;%N]T$CO>WYL,0&0(2:$1A83H/_E9M)+(N*6 M1"]L-]')VXV-'-AN;. +VTTO@4A\PIDO.VB3M]S@=>H45*]>I^?TEI[+VV$D M>XE%W!+K2U5S5A;_ZN*W$*6I=&C.BJHY017;TV'-E*Z)3VPE&Q%MSE):A5U@ M\"$1L153% %B&L"%OF\KT11R& X+:=H+,/I2^RHKF93%K,A8^\PR_WLM5?M4 MQBC.BR84;U"ICY1Z.] 95JYS':FB:L*P/3F9G]\<1(: D:%VS^J2X@#H%D'( M$ -M, "(_7 X-KV@HZ>TP=9]=K0LF^0X(3= ^G9?ZY+0&&AL DA=8H ^ @!, M,!VFWVLQZM9B[_71JIA7*%O7-:^R[VWCMK32Y*3SK=NLK ;K04P!WB6," M- @!I*.=2_>>3[I%'%15NVD?WC@ZGT>G+N H-060>K4#"QX )KYC5GN=1]WM MKBFP8;R8M?;3/1KAV%Z+4P"9Q,#1.@6 F(:'D6@9CO?> UCR>MZ\3R'U%*TK MU3Y&WWV[>V?C7?.FPM'W=_@Z;=^\Z-VT+X)\9/76T ^O>9$&I[86ZP>\-E\A]02P,$% @ ^X-L M6(5UO;P; P ]P@ !@ !X;"]W;W)KY:2UR@-5Q(T+J;!^_ATGCE[;_"=X\9L/8/+Y%JI M7V[QN9P&D0L(!1;6,3"ZK7&&0C@B"N-WQQGT+AUP^_F._://G7*Y9@9G2OS@ MI:VFP4D )2[82M@+M?F$73YCQU/ )(.D.P"TD< HPXP>BH@[0"I5Z9-Q>LP9Y;E$ZTVH)TUL;D'+Z9'4_I< MNK)?6DUO.>%L/E/2*,%+9K&$2TLWJJDUH!;PM4'-7'$,,%G"3-7T856NXFN$ MS[)0-<+A.=-D7Z'E!1-'\!JN+N=P>' $!\ E?*O4RA#83$)+P3J78=$%=M8& MECP26)S %T7,!C[($LO[!"%EV:>:W*5ZENQEG&-Q#*/X%211,AH(:/9T>#( MGS\='N_)9M07;N3Y1O^E<$/U:/VEP_Y<^SDU#2MP&A";0;W&('_Y(LZB=T-: M/B?9_)G([NF<]CJG^]CS*TG=5/ _I'*E1,GE$I;434EH25^X1?)H@>1&,!O6 MF%>TZ4^&93> -]2=S:#8K=.Q=^I:\SI/QB>3<+VMX8!-G.X8S8>(LM[F7LKC M/N7QWI0OL!#,&+Z@,]TVY_(G=:+V^Z)) X=>@2,0RA@T+F.QHC/J3KRD2=4J M<$^):Y2XX'9(B3:6;"N!.!HG.U(\-$JB;$>)AS;IVV$ALEZ(;*\0-%EH;DCJ MPYJZ7'$+5C-IQ -1GEKT;*!6;W8R?6@S/MFQF0_PI#N9AELCH4:]]*/50*%6 MTK8ML]_MI_=[/[1V]L]HJK=#^!]-^TOPA>FE.P@"%T09';^A@'0[9MN%58T? M/-?*TACSCQ7]F:!V!O1^H92]6S@'_;]._A=02P,$% @ ^X-L6!=H?6\+ M"@ \30 !@ !X;"]W;W)K]Y9( :;3%%KCM!IO=N\^*3,>\RJ)7DIWF?OV1DJ,77\E#GHN!W):H.NUU:/G_B MN7RZ6N#%RX7?Q>.VUA=6UY?[])'?\_K/_5VIOJTZ+6NQXT4E9(%*OKE:W."+ MQ/=T@T;B7X(_58//2)OR(.4W_>7+^FKAZ1[QG&>U5I&J?T=^R_-<:U+]^.ND M=-'=4S<[6(%FC--^DAKW^73[_PDT&^UI?) MO&K^HJ>3K+= V:&JY>[46/5@)XKV?_K]Y(A! QQ,-""G!L1LP"8:T%,#^M8& M[-2 -9YI36G\D*1U>GU9RB=4:FFE37]HG-FT5N:+0H_[?5VJ7X5J5U_?RJ*2 MN5BG-5^C^UK]4X-:5TANT&U:;=%G%1@56J(_[Q/T[J?WZ"O+TY=EA#N_&@C3XZ-1Z]TS^7W3C%\M5'JH>'GDB^N__PT'WC\@E\VI+)E)V.0S]JV?M-6)\CC-8T"IH;Q.'2&+>5'Q!L+);80)D'0 MJQKUWN]Z[SN#X6;]'Y4!V@E92Y5F,UED(N>HZ,S2U_6W3,?-OI1'H685>GA& ML@NR9"9E(]<'G>L#9^ D7"G-1-HN3L4:I3M9UN*_S07(C:VZ M8!@ ?DA#(Y8@J< W(BX!I&B((SB8PLZBT&G1S< G=YE*1Y%D>9(5-6!H[6H M,GDHZL;8-7^H3]1B^+.1;'31?^4E5KE"\2_ZR1Q M$-56YQGM+#WXD'^<^L[USYS*DAB857C@[9&#L->CD?=*#MCPLE3I]"75IM\Y MC#R>U8$EP4:@WT)2V(N,%)$ 8BP,R80Q \[#3F/N:YE]6VI$7JLYO5/[AFHR MEYU4#;L0TR R[;&E*([\R+0'$)L<&]*;0YSFW.FEKME\J+T/>J>7QB,OU1J' M-@J;WJ-63BV/ZD(,L<+K?L)M!8%ILRS!LC9\MM,311/+& M/1=B)R==JUV.VL/H^9IMT^*1HW>/:E?7&@K:0^UN!!XQ+;*EU-2Q3 *DO*F( M[-$,N]GLMWK+2[#KS.XZC4PL@Z1P:*XN[C[\8([%/W+B5_$Q/IC,Y1: M60BAIAFV',8!,8T M*G$'D\8T3,9=D/97I3";I;J8FV?/NM &U@VF."@>0"Z,(\RTSY; MS& M&$#2PQ'!9U5=]'RKWE)U(4[H.C*F?FXG!U:*VUYL-T*$ /04A,??1D!AC,3/C!1 C$9U %]+#&''#F*+/C/-U M"YMZZ[R7[3)]IK$V5Q'/,M468E9F<_?W1\>Z1SGB1KE/ATI=41O*(;%T0-,D MC^:7TJSXGOPP$Z2=' : H>_[S$R7<]UU[+,>#8D3@/JT>JB:+693I*C>DE)] M8(KX9D7R%A+SXX"8S +).>9(#V D."NG?A9%6F1OR:E.L#L[&N;4ELRE;>S3 MG@.)FP/'>:?D1YD?M4 '/&C $_-N1Y$B1M$Q_%1\W*' MQ)R@/<92=XUO//RBJ ZE2KE<$0G?B<,.;5Y2,&@F4*>+F0GJH%1D*>EK13]H],ZU$V!"&H?F7AD28[%O;I9!;=[4P1\=' ._0I@O!NKR M9G<2+C5GGV&?"\A\! .9*H.3WAIYX\J9L\[P:!\/:C#+?2LSTUI[:$ M OC*R* F._94SYO4S9M_Z-,+U%1@%&QFLBA.C]X\B7J+^&Z?RV?.4:7/"5"M M)E25-K_#H09!8TA\;.11K7CZ50BT:W:$I[*-9.796;0FU"Y41960J;?6 2L\!U$H_L+!. MR^?_QXNS4BNU<=0/*+'6KYEN.O9BS[;4S;;=P>.+VQPY?U:"I1"9QKZYMYD;MZNYDKFY\F2C+0;X(0'$QGX86]AS&7-7$.\/^WW>/(^L<"Q1D)!+M=/CQK/)7XKVZ7>% MJF YDP,3;'8,^+S<(.(!9@BR$@9932J<6IAR(6 M_^@L^"J+96-M?UZI$\*;*^ULUA+@K-J2N;2-'[SNPU+%=W5[KV=F^9M%>/Z)WR1M&_?]&K:EX%^34NUC%8HYQNETOL8 MJAZ5[?LU[9=:[ILW3AYD77PDZ^90-Y_;#6,[M8M-F&;=/V3;UCE?AF73?;E(NWS<.BW34LS;M$VW)!',=?;-.BFMW==)]] M:.YNZCTOBXI]:%"[WV[3YNL[5M:'VQF>??O@8_&PX?*#Q=W-+GU@]XS_NOO0 MB'>+LTI>;%G5%G6%&K:^G?V(WR:N(Q-T$?\IV*&]>(UD53[5]6?YYGU^.W-D MB5C),BXE4O'GD:U864HE48[?3Z*S7K;^I)5WE1F4]IRU9U^=\BYYO; M63A#.5NG^Y)_K \_L5.%/*F7U67;_8\.IUAGAK)]R^OM*;$HP;:HCG_3+Z>& MN$B Z94$Y)2 : E(<"4!/26@6@+7OY+ /25P]1RNU<$[)?">6@?_E,#OVO[8 M6%U+1RE/[VZ:^H :&2W4Y(O.KBZU:."BDCWKGC?BVT*DXW>KNFKKLLA3SG)T MS\4?T6UXB^HUNM^D#=O49((I_0,0ACLG0H[372+TT;1KBA'SAJ5#2,FI/0 MUZ)B0Q3UESY1PY)A6!AZ^!RDM!(]MQ+]5MF5M3QR>7G;[M*,WZ+)%8NPYID__?Y*P+V"PK M2+$(4BR&%$N Q!3WO;/[GG5(_TOLTHIN(C>Y:4T[U4U(L0A2+/8&TQ$FOH^U M&74L2FE__]S^OK7]W[?MOIM3Q&@*+M;BO&BS>B_W)&*?@8IO,EG=RLNEU61K,*B)OW3D/VTAM19]ZN"#%(LAQ1(@,<7_\.Q_:/4_ M*AZ+G(E-OSC"9:5P+#<99M68.@XAQ2)(L3@<],LY)H&GSZFC88H3R[,32ZL3 MW=YE+D_6N1R).W%@2>6IR.2'56FJ'\M!=:CG:;,B9(8QI%AB+[WB!';Z@[1C M]4)L%EGQ4(E#>].P*ON*>)-6;9D> 4K^FSC+=T=KXTG9*CW5'%"UZ*2FM)9^ M5 /-,;'GJ-ISP3FPU9[5)JT>F%RBUFG1H,>TW'<+F%B=BL=4XBWQ7ELF=%91/@*HE4&JJJSVBP"_)*# HI !5BT#58E"U!$I-[00]J<#/017V MQ)--!845H&HQ'H((+R2./L&.1*DF]+@"_T5XQ:DHS08K%R@ M' )4+;E2A>"*33V*P']!%H&',()XG@%&V L_>72!X@A0M01*3>T&/9' $$C" M+C)YZ@2%$J!J,3;Q!NPY2WWR'(U3#>G!!(8C$W:IR;883O=.,-SF@^()4+5D MM KJI=\>41 [HE@I$Z28\H0YW9R(V'97UE\94[Q".W'$,*Y9]GRF.D:&YWW1 M![6#5 2:9PRJEHS50/6K9Q9DA%G\&;_&%B\R/+=[H;-\8X76W>^D,12WCO.SNT)';F7;"'&LO MP^01:X ?/M6W/Q%HIC&H6C):!=7-GLL0.YNI!0E?D/834+H!JA:!JL6@:@F4FMH)>E)" M[*3$3OOMB2>;"JD6@:K%Q ]0G\X?2Z'5WJ5,/6&[YZ-4#L;>1I!M(M,M0-4 M+0)5B^D0:R7%D=@42 M1*RH 410?84#!2F@:LE)S3.77_6C1RC4?N/'53]&EZGAG0_8=3Q]C0*E(*!J M,:A:,M8>JC\]W:!VNC%.;ZG1G>$I7Z>WAA""B:__-B$RQ/G4U2>?8= <^WAX MVAW&X66 _2OSBMOC!]>.'Z;!6V.;N8:?301>&+A4J\7*7I;)OS<&Y0Z@:LE3 MVN3HV.+B&1KRF2K_3)L'L>BBDJU%4N=-(#QOCH\I.;[A]:Y[K,:GFO-ZV[W< ML%0LV3) ?+^N:_[MC7Q2Q_EA,7=_ %!+ P04 " #[@VQ8B%2;_6@E I M=@ & 'AL+W=O7-3ME5 M$"U2AV4[294DVQEE$\MEV9/:CTV@22$& :8;$,7Y]?NNOD!0TLQDI^:++8+H M[M?OOKKY_:8UW^RMUEUVOZH;^\.SVZY;OWGYTA:W>J7LI%WK!KY9M&:E.OAH MEB_MVFA5TJ!5_7)V>'CZ"AVC V>&> 3,9,".X>2&"\IWJU(_? MFW:3&7P;9L,_:*LT&H"K&B3*36?@VPK&=3_>7/WT\>K#U>7YQR_9^>7E]=>/ M7ZX^_I1]NO[EZO+J_QP=O3 ?$=^RT\'A\0I2;-W:M M"OW#,Q ,J\V=?O;C7_YK>GKX]@%PCSVXQP_-_L^ ^_"$TTGVR)S91]7U1F?M M(KM>:Z-0?FRFFC*[4+:R^/P3;K3IZ*OL4I7P]E_;NJR:IY?XQS#A]N M=I[TUC_!Z>5IVQMY_ *>9^]TK38*0"Q:LVYY/WDVUTO59&W8(.SD? UP9M,9 M,MMT-B'H!< \NP6E]T>O3*>-+K.JR7Y6Q3?;-G=57>L\^U"WIBI5G@&&5+:L MV[FJLQK&:(,OKU33+T )]0:01,"6E>U,->\[?2G?;3/_15VM0>AV]T0*> M#.B^6G6PXMJT95]T-@-=G"$&85>9;N!3H7%(GBTJ8SMXWZY;$#Z3@\:HJPZ4 M+S+E ;ZR100"-/#F!/B\:HIJC6L!UU\"F[0U M$)GF0_2IHF#V0 05_FO8^J)J8*\5\( %,2$"V>Q6W0'*M09@C(;%F(]P$E,2 M9A"YA-9LJ0%65==;_%JO<4I\KV^(7=8!KN?"]#^=GW\2KL^ 0>0IS15]]8)V M"X/KGA"KW:R\P1%)Y@%(C]L6P#EH-PW 8ONYK-VDKU?:;/$G8+&V !.1 JSWP!@@QSD M-JC=BTM^42#('2J412M=-;P*;OCG?K4&FI@NN^Y-=N$$X 8?]6N;G0-[ 2Y0 M R2:ZN?KBQO\TF$2MFT!#\5MGFT8*MC1LIK7FB14W^O5FO>\,.TJNP-S!5@].#ZOM;;@,U#T*JP4E]HDLNB;BT9&=CB4C2P 95L$&Q$7M&C MPT90@1/(RR,W >D]:AFSN&H"&")PWBD4+=AK5;4$=WK6=1GV_ M9QG8]!)D0)/.4,5MWR%]@8N7O, $! ,F _20)4&(QKDP*^"[3GW3N#1H3_!S M$1FTA4ZC@\3"4;&"TL A)3$/TP(G)'(TX-ZV: D _E01 &&:$I!&ZKPB[0GO M$*YJ\+CM0\ !FDJP+5NF=MDR2@&^0AO&WL@Z&3ZH84AK=?1TT_:U&*P-P$CL M3"N IKH#&0_<.4$9)BU OCGSGKI3,"G8;="\=ZQLNW0[PEU."$GX%*IJ\+]) M #=@AH6S43O]CE8"9GX"ZH##:6ZK5B!\$'.@TOB7))!L*\078%]RW-433,,* MZ"#0TS3&J0+&-%(E!2(6U_V;! 0V\'?AM RA-MD5.!V+A:;H*$/X /BOO.![ M"\@@GP!-'5LLU05B6/V$?8E@X@8;Q?*#NUJA4&B_ FVA=!0-":CF> 2\4:E MB5M;>6,%[^N.A]:5FJ.K4\E4L7Y!Q!$NR*O:,X97P6TX1AO=#'L*X^ \G73 MLW.C[U&9P,0ENTYA#-&$Y'R";-S#_,S#%L!$$2HKV+7QBLU&6)ID'U1ELK^I M&I;Y52O<'\,5^:F@/ECP<-%OLNLY1D/$R%6S[CNA*P@&2CYH$E7^ M#C$NX/&/OF47MRK8KQ20#O5DZ]XEXU[NUO/SL#2AI6I,E M&59N!LN(%U0ZEU;@#C+>!OB=STW Q+" 5ZLK6H$]4Q!)A+YQGW(:BNX2(+VK MR*,C_NI!78''M'(,MSNSV\K1&_"GVX=Q&0N/FK=@]#?X-2.%7-\*_$5VX(G/ M>HL3$2K(-(XB&1,>)1I*!' .C A#.!-$%@:5-D*4!$K(.M-7;VTD054#;GC/ MW((: [QRY\$2/E!&E04_RONB@#M=T6YS5CQ5$*I<*%KTQ@29C@:OU99'PA/3 MZT34R3=J4<^K>_D7*,=W),=E+R9&@J Z(-QN?">!M>Y N87NT-/WQ M'G0\S$@$OG)2A4Z]>XO^T-%;*%XE:$1;24@)O-9\@TW3F\!'C?C+1^V"=.-5IL\^> MBMD7U#]C]'46T<.J'>^-9 N$5OKD%S MD?[(0,]:<3%V9 X$G]P:8M\1V$)!??']&IJGL-UH-V4.$/ !$8V!Z M8-O/DAE]M)'VS?@'UK&Z\;;+]&V^T, M@08.8?)JH'6[(E>JX6C 1HD;6 @0P2)7 !!6/!KG$0Q!]9NGJ!)]-29_3!RV M+? B1#$=P%L.@Q$+6$*3GDDJ^ M3K&ES O8(E)AQFFQ,+X"H^0X-5*FK$KV BK\--_&+F-"8P?]B*DAC4*(()NZ M]/[':NWBXUSMM$%R!^2.0@["LDMEXDR:I,AW0T0T>8NRP?>16MR[TVYSVE> ML@7@,3=+5%P8*L3 OA,%*3XWJH%Z2W&2WG"Z,0:+-'>I#2=D)<$HTHZ31[HD MJ!$2"7)6%Q!*W8.B1"L&ND8CR@F+%NAUL()(%N8%AEB)C8(0*(IP200;C>,Q M8TNA,R9E"5YV\ARL6S'?8]RPGVJ?:+J.#<][GVA.'OO\<^S*< 2J"DD5]9A; M!BNYKCK.<..72Z.U\X%LQ*T$4HWY->#S?M5S*ALL/^"UBI(Z*XR-_BZI><3B MNF,IE(#-+V[9M,%'R9J$8#<'G[="Q6G0M:W$V8:%6E,R-,'UF63O8A@J2]%P MWR4B!%I6$3=1NICE@MB-!8P"+:4%7C6JA!H<*?N&$H>'1V_W_G_15YQI M95]@A;P@DG6"#'#T.MMJ!?;@0V]@/[UA<[2H[O%OZ^>9X%T=39>Y6D?T-;'ZUH5CO>8 3BY1N_&!*'4QQYN MI_(0LS2!S2&!<$B\#8AZ(1! JH\ 3MPZR3YBB(2!_1KYC64=T^,-&0_1 .R M80" J0\4-W1 2E9;R+2HDSD0]#8LC4SV[X=J4.@>X>2;6TRVW['"-E0?65+T MFQ65 9E$;XS#8=2/%"Z(8AE9#X)H'ZCR'TLJZ47I*P\[!H97"]@O@A/9J']F M?I@!IX_F%I>@7U,>5WQ#T$V5)7V CDY/(D/^_()R(L-0.UJ!TKC >$ QPB [ MBW]@@D;\=M;M>VGA&"1P=A1H/; PNPVLHR8L4Y;_2[)5]"")^PRC>MDPPPI* MV]5*2[K/X3-DKI$74#D.*:+0MJ#.K;Z+TL$JDA$ M$J848#VR#YR\YFWZ>B7-@8OF>_:43AQ* SYCR$,@QG6JIK(^U(A4PQ<.5O9V!3Q1%V+AV(A@7 F(Y4P9B(81-$84#UV3.?1F[+(FV:)H!D @#,TDDN*&-YDU8N1=XF+J.H,MEY\CZ@DE3J[U?XIP"*GDR"*]DS$ M\HB3+67':0#DM;T=]8LH%.(HII(D\Q DM>BT26(D\I%=&(\!&?-PZE:X]A74 M9^!E[DR,50W.CL3),;>,937GH$_\KKL@SF+[&I *+JHXP:5$FV.S&!9OCCE3 M$(5V('V4XY:ZR>#%'4YNFR5+,8HD,,:69#@$$3(6 :G5QH9$2=T6Q+9+-!FL MH,E[Y3H0NB)2_-KG:,;JT&>B)-64I**QMMU5GDL\R20_&I)7DUA"A.R^&E(B M$@EWE$8=L.; ZW],1U4FH6/*J]AO8#T?BZ49PA4[E )2)"\)DU ]*;AVJFEZ MM&L4FP/(F'L$3P^^PH3$(O:5'W"0!8P5>3]S+0LX!S[*.R S69<_IZ5C8'BO M7)>]!M+- 3]'4\ =IO6TY&&QQ.RPD6XFS]!%K3K*W8<\H]%>@A@_'ELH3\0Q M[#G0]NOJFZ:RE&I(Q7@'/?5@553#[!L>3[:0!J(&&3C%D^P&RQ(^Y3<&*@8. M3HA7JC#M2$XU#SE/#J8.&E*BH+(5F("*D>X9M'"A- M0U<\D<))]I7R3R-S,F:B -!'?D"24M>Q#8RV\K#;#U/_+G6'*(Y$+::"(I67 MHB8>2FH-/9?(_.S&IG.];<59W)ENDEV FN=9I'86=BDI,0HIDJ*P'3585,:- M"ROXDD=\D@FFNBRG^8B?=JO)KHB55%*('FN#B1,N6HBL[]&,5E,#U!WZD:P- MR?G!-E;Q=3;X,\/>")FEQUV"U6N%=:LJ)V2+9T!J2]CC@X' M"5PGCI%BGVO*(8I'>*2&HK'KNB"U)(JZC@^*5W7 M!L 3IS4_( 'J6AC'.H;69:HW!/N:&6YQ4%-;+'K MBT0M)FZNW&4RXPG3VK#P466#EMQ-&0T7D\A@##-7XYDIS%OID Q3G63#QORV1[&UH+1MDN D)_\IF4D],%][$X_OV8EC7H3(=DD: MFX@PLKYX()BR?WWZZO7;$%:J$E[#Z#D %Z17>KYLTO3UUD]B*\ CME0IO;O41I$!EXO?X@JY'ZZ2"=+- M.I6ZPH9Z.L0@]95FF+\D!4RBPBW\MUM+F_$N'$@2[V0$G>P;^K"HQPXC>**Y MW"YN(@=%O'MARUWFE;Y(?-/1#SUZCJ0$E:[;#CL1TL,MNT5DAX!AZYZ/E-'; M_PU95SD>HW+0'2E/K)F36[J7Z6RDAN?.EY.NS=^?E-"60'8@$TFVF8CDE<-> M6-R.L*L6]F])8.,X8S#C'M=UQ9V!2"I. 8,?L,+3/UNVH^/>&576)MGYXQK) M]^&Q3IIOA2>?A 6O"I%)Q_+TCIJ[E8!=*%QXW*+JN=4U^WPH"8(KYQ*-5#FD MHBJ9)3M:::K,>*V)&IG*JB2M1V$O]? ^'+-2Y3ELB=IP#.JB8@U]Z?N>L*.,,L91WPN\] [\A!6' MWGS0D!:!/^C0 CFBU!M'R$]R3EY3[H,DZ.Y(;D6Q).W349^Q YM>GF2?I;7X M,W.@/WT4?!]#>0[7@AQDSN=VL9V!PAFGFMTQJ]2">QZ7Q+IO:@:OOP5+?E U M!]0AOV&MYU)N4B>2_'EH;B&-+&&2!*GH(%DY\R79?I8AG_-G%Y>R=E+?XV8, M:MNED;2Z\$S(U85R$;8@P%\6-325$- 77VCCLY8,1.LK#EZ1"N",E?VS1\F5 ML! [,8B1MO9+^J)T917G><"0&-H[D'3P)?+D*YXJ:0=9+=*!<449:C10^? MBMN4Z*69T;N.BAG2K2;S&2:@[(-SH\1)N!0Q91PGI M)]X+/70B8N3Q8]0!N[WC8-PC! LWQJ5=F4NW@3UR%R1L<]R@:1*5&76@^0JB^ \"02\9DHC[DBVTN2.O1=^ M"[M#?7DMO$3CA9TBO/I=1(@$!$N7(R=ONX'>PO,,H4/*Y>.X-<#I&(:)*YEH MB9@S? =8[A58:^08+3O=#AKB1.LC8U S;0TFZU**D80%E%YWQA>[F&NJ4&.Y M:HXGA;G?-I#,>(-"\1;V;C'Q7>DPA65\>G_@9#C=+K1.,/8?74T-TC'GVL6JW6=;M%^G$-.SJ. MN*>'1X[PL<82KG>&QN5E0HY7D;?%N89'!B79$1Z72_S$&"=_,,@S:$4Z:ENM M0CR+@C;2[#36L145G()%N/0HDC5=(XH1EL/#TZ0KQ=SQ]"56[ZA$AGSC^75/ MY^B_RH^?A,R_D:V ^"8J1#SD'JI&DFB<8D" M[R*!:9'K06V%T=+KC,Y W)*M4LO!=K&E,G9L%!C?3VAWIXZQ:%%T_*UTMH=V M.9>\C8FW7U_\V23ZDK10H-#(8=OX/(2,9YOD!L 2I[, M-RSWWA\Z>1S1Z,E+QA=+6:]\9*?&N!?%*Y*O%@7LN]EO(RG@XH:)7Q]O0< M-OB51H>?0)WZ"P 75-\.V"%%%M&=)C;A28K@2=H)=#+I03C_ !*!G;[P(71QON'"/PI=\4;7O5 M2CT:F$'5[=)=@5%2R]G^?3X),^^.\Y?3:>'9*3/':7Y\^NY>T[)?;4*F. MO)TKC,8Q>TQ(F+W-KGR3'V[;?3UA__&&-,,%:8;+V&<>9ILP:DN[. 8+)U_+Q#C5]<*E,W?HCVM3#L#==Q\Z,[=R\(VA[O'&4 M+FNPV#^51AX#C)(?Z5<&0BUTQ2=24F4*?VZY#C+)OF(:Z XQ@#9QL0_Q:5C/ M!PA!;U*+BR0S*77>P__&!R_B5G/@50D[(W?3Y2.4&XW1!BX]YO($:U(?PDQ9 M\#BDD,%&;IE6GH_%/*-YX46=](G*RCH1QI<:TJ MP7.H*!'&&3_M8D%;=CWJ=.H9F15"67E4X#%-\""S56_Y_AB?T\4$/N7X.-CS M((Q?;L!)"=]'+)'UD#/4$%!*(#T-:>G],W*!#L[+.XYN?NDP5\".4Q*@KU:Z MQ"0;';ZDIERFP5@C&%7K<+I>[RX MB&8DNPYMC$_=-@G0AX=YJ'J$X:W_O89 MNE\!B<75DA0EZ2D>Q>"4=)@JA\5A=5\4B%8"8I.DD%J@T"$/9RE*;@ATIR%H M&K^+N49+32<1YGP5C^]JD3.A.KEW0"[4$K#DV$($B;^>B/0AKG5'2_F=+"I, MGF-RA:D6,+32NG,R0*T58G+5< SMY_G= X1PPA(UYD4P$F\RG0-7I]2*>KO( M8X.77*##WD/ZC!V9Z,X/5PM>>#(P[AK86>=2%!1("8@^^Y8G(X*C%8Y)1(=# M?!HM2D%&-\RA"3)T2)=RLQR75<,V9&[8LBYOZ!PAO$O':^]CO!GG_7U%I[K> M519T"^@$BEBOHYO-/K:-@1"!#P)EG^!KWA=]O'"[I^*(X[Q M*^#/&F(^VMUR!E^[4C6B5@!BS]SWS; =1H_W$LP=KF'Z^%#QT&'[Y'#QM[>>#*\H$>:BZS;BNNF_ .,*6F0#3JSE]'YSLX7=>&5%@&",/W MYWX=JEP&>18 )YBLDK/]7W$ZQW!41ZHNO/H!H)K6N\R"<[E MYMS"$ZV&WA+[$C]< 09V'N0'A_$ MJJ7+;4!8K<')D 1TL<6KDAK+9YS/2!;COVKI64FSM!!KFYS9](1S;@OUQ",):'PG-6E>\P$1H M1 ]_'N\M3!>-3H9)KWVR%#9=H4KCE^@\"M[<$G-!, &6[Y7Q&BR=:5&C'Q9N MMW9 D,\C1/(HVV,2 XK*"(?Q71Y*<@_\@!I:(WIS%QS[D1%;Q1.T(TR=VM$' M#?N7R ?_$DM6J5&<_ 7#NSN.PR+7CI8@4,)BEZ*A'$\DO$AP03P)5BQ7[;[W?GT.-V=G2?X.(WNBGQY+,D(%+A MQS,D9B^EDSL(_'*NS7+(! L(%_*X_L%$,"+_A$WD?=.4NYQD0OYN;H MAP$*-PDFE[!G%K^FU%URO]8!#T 7;FY %YF4%DZY \[(ZBX/7^(ZE'3P[GFXM"\!?L^- M79BQ =[9'G!"U'5%_]E5Z'^^*HT5!**_H#+4<(_.\M/C:?3@)(>_XB+O+#\] MG3X*RV]/P/I:] M#^&3(YG5P-LD=']>U?]F-P,_?.7H[#0_?76X\QRP=7*T^]A57IZ&I5+X/L+3 MZ]EA?GR6XFDVRX]>C>(IHK07EOWHN4B( A2?'!Y%'P\GT]/D(]#FW0!"&C1[ M9)#[^(6NLJ$:6=,&2L;IV#$IW>[A=N1M,.CN LROC=A(4L27+7QLNG#[]24W MN=+K'\93P;?4,RWRC[>JNL@WCA(H*Y5.'=_V^,!EN7%J.;[,D/>P&WK2F/BW M.W8B;6^J<$I_\:"KE9!BQ#M:*Q<<+G3I+_$C"YL+[!MLX*&G7=7U[G1V#=H, M#U='5^GZ:U?]3; M+CUI[FX<.B83V4G?6THFOK+[8NC02TZ7L7"[:67HUDL8SI?K&;25+E/594O= M+HU:@U= ]_@,;Q]->G);_&D;2LGP561V)S4(4RX[?R@T:HIU5Z:)L_7HU9L= M7W8=K@O5=:7OM-QYI$H\NT@E#VFWY@ZG^")9IBDE'(;-Q?ZD,GB[+66U>6!( ME-E'MY!>Z^L/6#D?,CE1$ ZM)G>@3NCZ8=A<=)/[I_1Z?WX!MGF.O^8 4^U_ M% MVPYIAX]XE2/J)B#IZUU64[ZI/_Q<07R-(],V_8T*+FH$)J&S$_M^C(/3Z4L* M=T'[6#SGP)GY>>BRI$9T;U*P)(^69% /$J&BZT'PSOOM9TR$<40UGQV>@ M&CYPS2VI1+X/.:WQ&1*5\=D?RI6B(6>C #\EX\B!>'/]X7/XS:9K1-0VZH_" MWVY:,?,C[BG&$18.%T?)%42#]H_X C.L!H7?*XE^U8?R K]<75Q_QG<0&*)6 M@:V5G+5R=0:K(_ '1X6F)S0[&;28-\9?T*!?ID/D,0_"&B59*]NF<\4_ MNX/3\BQ]Q6+%3"LW')<5[8T/^\'#[=]][M(!ZD]2C*',4<6CCIIFHA_.2J;R MQYF'CLI^F@RH$.[;^_=*WWXS^Q&6^U^(H\0@C_T@Y,OHYSM1A]&/E%IVP_F7 M//W3S/T.ZCG__&=XG7]$%53 $MV-6B]@Z.'DUC:-?T8Z+SMP$^A M/V_I)PKQ!?A^T4+$(A]P ?_KL#_^'U!+ P04 " #[@VQ8NZ!5,J8& "] M$P & 'AL+W=OK15'@HE\LBIP9 MGCF<&8YUN-;FDRV)G/A25XT]&I3.M2]'(YN55$L[U"TU6"FTJ:7#JUF.;&M( MYEZIKD9I'.^/:JF:P?&AGWMOC@]UYRK5T'LC;%?7TFQ>4Z771X-DL)WXH):E MXXG1\6$KEW1![K?VO<';:&*3JFJV!!@?.YM#G9;LN+5\=;Z#]YW^+*0EDYU M];O*77DTF ]$3H7L*O=!KW^BWI\IV\MT9?VO6 ?99#P066>=KGME(*A5$Y[R M2\_#%85Y?(]"VBND'G?8R*,\DTX>'QJ]%H:E88T'WE6O#7"JX4.Y< :K"GKN M^.3TU]_.+\X_GK_[Y>)PY&"1YT=9K_TZ:*?W:">I>*L;5UKQ?9-3?MW "%!V M>-(MGM?I@Q;/*!N*<1*)-$['#]@;[_P;>WOCO^A?T)[ MDEG1X/B;KY+]^-4#V"8[;).'K#^*[6'M="BN&A ?9"Z-.,D^=\HJ'_'O&O&S M;#KDFD@"HVDD+F0AC:IDDT?BS9O32$BQ+G55;?;TNJ$LI OA2A*G MNFYELXE$AD%%#D(\+:_L!,FP_1N26#/B3*V4S]N+H1E60_'M-U_-TS1^Y:7\ M.'GU'>\-6FM%AD0A:[4#D7=N(Y8$@XO.PF]K?>KE0C7BW,EJ P32"=M2IF2E M_B#+*XRJ-3KOLBVH$CFY][F#".S!2^O(V$@LJ')X^%WZ,?@0VD.768;]M%%D MA^*CQFYP'$4H)R/9;B0:U$H8SZ0M PN&0.9:6O$B.8C&^U.!8BF2./YZ2R%! M"'NI!ON3=1ZMIP([8+D _WJMFJ5PX:V#>4Z64#"[G'XI>L):QL 7N52LF% CGPE=>[VCM2JJP4I5P1R*%& M +!"^6,5QY:4P6'A9R6KSG/$#GYATMC='4A8ECH?8@+86F)*\7Y;5'_^7*PPFX:,DN_.Z9E MGGLSX+RBIA7("[@=N(0&:F,+K&/LI>P^%*H[MER6(R7&.( M (WX6:.$FT^>!]@,91Z1.12<&O'XU://>^/RA>A#\#$+)UFV"Q52*Q]WV[47 M(HW&DYDX;U;@RJ?"+?TDFL\FH)5:J7)/1&/O$-N?I^*=SZNL,\8S'P+@EB P MXY!:,N"56>&<:?U9W10=1_%T#'!.-DO%N.\QF<01>I/+@+FY/HN2..FIO!F6 M-V73:720II>LM7)SC;)+6I(T%F=4D&$S3GZY%MVWS$:S^8RMFH[R1R23>%^\ MTQN,W,=#+I_;DKI6Y1'DVG,_$+N7N]OQ5-OEIUX#(4&D[X;6;R M^$6@%&FPRPS$^X)$HYL]9"-79F;-IRZH0;%HM>4B<*\(] MU=][O?3VYA/4+-'R[JI33E8M0Q6O<6,7Z%4[W(E<3I$2R#_'3G%#KC(<+MCN MT N&RFIUU?' >E:ER+&Q0?TUR(ZM"28>X$-1Y'NFXF95H+!GG_Q\822?^Z6H ME04A$;E,L>,>&A]BNP&@$B4A$\Z@YV=CLJZ[)K#YW/MRO!\EL_F3[LN>PO^' M&_.L,PR]4)9/DSO=:!L)-4F+H_=U#[50:39/P79.&?YW<1NTR[G%!AP>C#UD M^(H3]UQY9&V(BLZ&++Q$X(.*ZVQT662C:S<1V*@\3;94;=\=Y=N:ABB"#.S)-A.]MRQH"+'>@(S*!]J6?#2& M>U?S-)#Q[W<;V[S_K]_H^XT^A?]>OS&.QG'Z<+\11P?Q_/&&(YU.G]9P)/%3 M^XTDC28'Z1,:CCENOP?ZC7DT@P=/ZS3RV: @ M&ULK55M;]HP$/XKIW2J M5JDCKU!&(1)0IE5:.]17[:-)+HG5Q&:V4[I_/]LA*9,*4Z5^B>_.]SQ^+O%= MQALNGF2!J."E*IF<.(52ZY'KRJ3 BL@>7R/3.QD7%5':%;DKUP)):D%5Z0:> M-W K0ID3CVUL*>(QKU5)&2X%R+JJB/@SPY)O)H[OM($;FA?*!-QXO"8YWJ*Z M7R^%]MR.):45,DDY X'9Q)GZHUED\FW" \6-W+'!5++B_,DXE^G$\8P@+#%1 MAH'HY1GG6):&2,OXO>5TNB,-<-=NV;_9VG4M*R)QSLM'FJIBX@P=2#$C=:EN M^.8[;NOI&[Z$E](^8=/D!GT'DEHJ7FW!6D%%6;.2E^U[V $,O3V 8 L(K.[F M(*OR@B@2CP7?@##9FLT8ME2+UN(H,Q_E5@F]2S5.Q=/Y_.?]]=TMW"SFB\N' MZ>S'XA2N%W=C5VEVD^,F6Z99PQ3L8?(#N.),%1(6+,7T7P)7R^JT!:VV67"0 M\0*3'H3^*01>$![@"[M:0\L7?D"M#5/T-I/IE)%(9G?CXR!]X MYP=T1IW.Z!#[NW0>9@I[L(\,[@J$C)>Z*RG+@4H@NLD2SA):4F([AF>@=%)2 M$):C!*HCM0!B((0E!BT@Y?5*976IVROA-5,2TEH80O/-@+#4&,$(CH^&@1>> M?]CZ"XD -!<-]#7!:H7"7I5VWQYOCH89YI0Q(^E_REOL)_@:1#O>(.K#4O!G M:B=1&Q\,.C/RS^!14(5?>):]\GP.^_V35\\/AR>F-]XG91#VWQ;VUD5S=P9! MA2*WXTZ")6UF0A?M)NJT&22OZ]T@0 M &4, 9 >&PO=V]R:W-H965TR%Y/M]H\\W6 (Y];Z2R%T'M7'LVG=JBAH;;B6Y!X:X[)X6">\-LUS3<;"]!ZLU%$ =[P8.H:D>" MZ?*\Y14\@OO2WAN<30>44C2@K-"*&5A?!._CL\N,]+W"5P$;.QHS\F2E]3>: MW)07042$0$+A"('CYPFN0$H"0AI_[C"#84LR'(_WZ+]XW]&7%;=PI>7OHG3U M1; (6 EKWDGWH#>_PLZ?G/ *+:W_99M>-XD"5G36Z69GC P:H?HO_[Z+P\A@ M\9I!LC-(/.]^(\_R W=\>6[TAAG21C0:>%>]-9(3BI+RZ RN"K1SRX?KK]>W M7Z[9P_75WUF5R%/$#%!.6QB%+HB0]@I<.;J8>+_TQ-WN0[&40.A]GMN4%7 1X "R8 M)PB6;]_$L^C=$8K90#$[AOY/*1X'R2;L!1SVN0:VUA)/H% 5+5E1A;-%-);@7M%ISJYTTX I!*+M%[,DS*+989J':3X?IFD6+F91SV<-)9@Q MC[U2/@^S[&"3QV$\RP^(\S"?Y^Q&.3"*TWTUVOUT'D;Y@7L1A-L_&$DQ4DCV3 MQ*?A?/&#N?JW8O\ 3Z ZH$/;&EUVA6/",J4=G>Y":@MER+AEPLM%TQIZ!NF@ M.,U*S:R>8+TK1V+VF^ K(86CLAV$1$. M9W'NDXCQ>5;PD"4^Q8G:A]!5?O.3$"BBNSZ(TQ*CLC'\F M$&#[RKFBK?&I 6K[2/=^%,V[0X+8^Y=9(UE@-4?ODBR=ZXRO J%++"1Z M(0\,7MG5IUZ*QE\>6LDMG2)N#%<5]-7LMV^HF:;H87>(>+ZNT$%^R$2'$37L MLVY%P69X10SG>&UT,U2=[5-ZM3\_+S49TU'KASJ5;W"IT# :?1^GW? M.A[4^P;\$S>50"TG3K>^D5QIAX3\L,;_ 6!( =?76KO] MA#88_EDL_P902P,$% @ ^X-L6'X%V 'V @ F@H !D !X;"]W;W)K M&ULW59M3]LP$/XKIVQ"FX2:E[;0E;92@:(A481X MVVGA/+6C;$O[$M\9]\]?BZ7N]R@DNI&9X@&;HMF1@-9 MFIP+/%.@RZ)@ZFX?$%"LVE M (7IT!N'_?V.M7<&UQPKO2:#C60FY8U5CI.A%UA"F&-L+ *C98D'F.<6B&C\ M7&%ZS976<5V^1S]RL5,L,Z;Q0.8_>&*RH=?S(,&4E;DYE]5W7,73M7BQS+5[ M0E7;1AT/XE(;6:R7%P/?$+@U M\>,5T'X-%+T"%$8PE<)D&B8BP>0Q@$^L&FK1/;7]:"/B(<8M:(?;$ 51>P-> MNPFU[?#:[P^U!NJ\#&3KI*\7+,:A1X6@42W1&VU]"G>"O0TT.PW-SB;TM]#< M#-1MP2M8,-8:C08F$L@YF_&<&XX:"F2Z5)@ ,Y RKF#)\A+!%@\58%PJQ<7< M%@$G7PTR!?[<^ M?QVOG43/? ^84G?V_=YO'-D,7+L,O,5F7,A2F$8]P27F$#[1HR=Z^Z_=W)?T M_HP>"X-42P84,PBZ8@OXO)0\Q^_%O_PR^E$NQMS_KOS?[-SF1%7J.Q#2#"*"9VB8:F M0A20VWK3D)2N!=MV>H>,'-'^;#>TX=9+?R1_;5XH4,W=5*2I8U,'J$>'9K<9 MO,;UO/%@7D]M4Z;F7&CBEY)KT-KM>J#J2:A6C%RXZ6,F#$1E#>@\ ME92KE6(O:,;1T2]02P,$% @ ^X-L6"GSE\>S @ .08 !D !X;"]W M;W)K&ULI57?;]HP$/Y73NG4IXR$)!"@@%3Z0^M# MNXIV[;-)#F+5L3/;0+>_?K9#TE1JF;2]8-_YON^^BWW'="_DBRH0-;R6C*N9 M5VA=38) 90661/5$A=R2;@IM'<%\6I$-/J#^4=U+8P4M2TY+Y(H* M#A+7,^^\/UDD-MX%/%';"4K(5ZL<9//O- *0H:9M@S$+#N\0,8LD9'Q M\\#IM2DML+MOV*]=[::6%5%X(=@SS74Q\T8>Y+@F6Z:78O\-#_4,+%\FF'*_ ML*]C^[$'V59I41[ 1D%)>;V2U\-WZ !&X2> Z "(G.XZD5-Y23293Z78@[31 MALUN7*D.;<11;B_E04MS2@U.SV_NGJ[N'K\O;ZX>IH$VA-8=9 ?PH@9'GX#[ M$=P*K@L%5SS'_#U!8)2T"P0UH*9 M#J-\ YJL&()"K8Q3Z@)(TW,@UD#Y#KD6DJ("I8G&'(@& T5ICS.A- @)W P$ MT^6,_G9L.\*VZ -1-L;<$I8K$]_<%!">VTTT@=.3413&9_^]OLO1.%TNFP>N M*:?FU>>P$2)7;< 7&SY,DXXC&OA1.()G,QR^4OZUDB)#]888^4D:MU;J)\,A M+,G>])A&20E3KC:UK2IFOU@3F(3^*!JW9ISZ@_$8'H4FK)-[%/KC=-AQI*$? MF71IK_%]])""3CN7*#=N:"ES,UNNZ\YNO>UYX# !!" &0 'AL+W=O.TMY^YLK99SV1K!:U@KHMNJ8FJ_ B%W M"R_RC@=W?%L:>Q LYPW;PA0:VYK(F"S<*[C"Y6U.H[A;\X M[/3)GMA('J3\9H6/Q<(++2$0D!N+P'!YA"L0P@(AC>\'3*]W:0U/]T?T#RYV MC.6!:;B2XF]>F'+A91XI8,-:8>[D[G#GDX,X<.9;7S+#E7,D=458;T>S&A>JLD1RO[:5\ M,0J_/Z]N;S_?SP""VU0CR \ZJPXE_@A/% MY%;6IM3DIBZ@> X0(*F>67QDMHK/(EY#/B9)Y),XC),S>$D?:>+PDO\=:8=# M7\>Q77*A&Y;#PL,VT* >P5N^?1--PO=G6-*>)3V'_@LLS^-,Q^1U*+)6V-'* M[ FK"P+?6]Y@CQF22VPT;8C<$%,"V4B!_[GV)R:?+)_C\8A,_4E$G\DI3['XPB?S:9G$@T#,F5K)K6(.V2J6+'#J9:;HP3>@>I M'R&Q$_<1#Z]X33"\+=(<>%)_ MDDT'$(PT^R&CLQ0S-Q#*IOYL.B.?+ S+\[9J!3-0X,N%U9MSYGP=E7]+0\Q$ M]FXXH+$_F=%WY%X:)DZN@R(5.CT]2/TX&]S>8PW9#+)ZCV]W+E7QTB<\X6#1 M8 MNA!QIXI/1Q,_2R*5L9-.:8!DJ5XY[8$H3L$_+\WJR]>-W!63-<(.'F+,& MW',O]KYUL"MY7I(1]=-9B&X25R+.38QN*-DQC?G.16OQ,?&Y[#IA*V6A\,7T6"YYC9Z95!4S M^%3SB5XJS@HWJ"HGU/>32<5$/3H]=FT?U>FQ;$PI:OY1$=U4%5,/Y[R4]R>C M8+1J^"3F"V,;)J?'2S;G-]S\NORH\#7I40I1\5H+61/%9R>CL^#5>63MG<%O M@M_KP3NQ*[F3\HO]N"I.1KXEQ$N>&XO \/C*+WA96B#0^*/#'/53VH'#]Q7Z M+V[M6,L=T_Q"EI]%818GHVQ$"CYC36D^R?NWO%M/;/%R66KW2^Y;VS =D;S1 M1E;=8#"H1-T^V;?.#X,!F;]C .T&4,>[G4^4M0::?7%+=:-! M3M1V4VZ,0J_ .'/ZYL.'R\]7[]Z1L^M+\N'V[>M/Y.KZ]NSZS=7YN]?D[.;F M]>W-\<1@)FL_R3O4\Q:5[D -*'DO:[/0Y'5=\.(QP 04>YYTQ?.<[D6\Y/F8 MA(%'J$_#/7AAO^[0X87_\+I;U&@[JE70*[UD.3\902*:JZ]\=/KC#T'B_[R' M<]1SCO:A_VW.^U&S,7D.,'DC97$ORI+<+CB9R1)R%O6<&'97\D[3XD^NB4%W MOF#U'.^B)O/5L*)1SA[=#YPI3;@-#8*-Y=4=5_WF$E87]H6^(C_^D%$__/E? M>WY4LFAR0RZ%-DK<-2Y/W$K#2G+.2E;GW-O@%Y #DH1>$B4]S &A7A(DMB/Q M:$+))U8PA83S1R.T<*!/9TZ]P ^V\@KH)L_6^N*!E4W%]^).7X3;6B.[(7?5 MR#9*\3I_($:Q6I>LS9K%[TA"R,)&]\,.LRP[^NXDK=5./]*!^]+,FR;^AC_7 MWUG@Q6E"WG.F&\4M&[+D2LAB*[^>03@-O\_SL?6+G;%Z1EGT[*FL[4['A$/' M3#T_#O8[)DG2ON&J6C*AG'_D;*W8:TG$NJ>46D.;]UQQ'*NY5%:&SU5GMW>= M1@/D#@6XMI%V>Q!RIZR=T973YX!$98 MP?;D8$<'2?#BT71,KFJ#S"1LRCH#&^SCH(6U+;K)%Q8AY\J@JNE.8< HWL:! M7HBE=K,OL48;#(@-^)$3P_-%+4LY%[PSZ#+,XPY8LDHJ(_YTR5-^!3@\+Q3A MVHC*.:[1?-:4I,2*])A<=%P0C04G-:LZ?/>-S/L%?ET(\,:$7P5,^+>\;#0& MMS2X6G+3(*\I6Z4@24L4$74S0U'4J-8&E5+9L5@[<[6 EG3!H3WL*4)C)FIA M^$^67M%NNEW^ C$ULXZHI8$?[W[G=NVR7ZWUWGB+RW,X%3D84-@V\^A\V1<( M_\TIL>NY6[@O?7YVM2-6_]*!9P.E?=<6488R>Z.]%?"&]6#'-CJO\6?AUS8^ MWXD9AR?:<"!M.(A^?_7NW;G8KJI!:DN\Q)VVATGL);%_9-.?[TW3@ 0!N5T) MZJ$?$B1>@)[#((#1](A$7A!2DI%;JY%6,BM3"TW)8>Q%4WI$ ACZ)$*:K'_* M906E(##GBO/'F3[P?#\$O'T<];E],^L?@)_OA7%JN6=@02/'';5!N!DC5[V8 M]GEORQJ"%'C3GD?W.8!K"YD!*XI<.4T>LXI"+TKIBP/OW]+0WV?ROX:V:2CV MLB@=-!S&.#HI[>(QI?$N+4%R=.JT%/I.2R'U=VG)EC.'$0YT1!1%%#Y#2],4 M2L+/=W3DHS"$9L [M3D@L[S#T*-I_(_J**+^4$?V)GO=R4."MX8QZ!Z<4GVM!;" M!&UI(76<)-D22)*\9$C5*AM.'G@.VV*[ZP%SKC^S@)R6' MV*@A5C/4_)LALWZ"MDRRA0F;&7A-:.+^FM=VMCM[*?7\"@+NC>Q>XYR)[<=Z MOT,<(5/;M"[.J9>&B6U*!TTQX@9-V9.FVS6_/BQ]0*8;P=>=(M/QJFW;O<)D MY^T-F]OY=XS-1?8V)+/,-0?I_&HK2%7 M'T8NW>W2G33(1>YUP2$R90W0/Y/2K#[L!/UUX^E?4$L#!!0 ( /N#;%@Q M''-'W@( $,' 9 >&PO=V]R:W-H965T*MFEYV09(P'8ZI$TW[>7N>;DQU640Z#2'DNF.K$#@S5*JDAD4U2K0E0*6 MU4YE$= P[ 4EX\(;#VO=O1H/Y=H47,"](GI=EDR]3J&0FY$7>7O% U_EQBJ" M\;!B*W@$\US=*Y0"AY+Q$H3F4A %RY$WB2ZGB;6O#7YQV.C6F=A,%E*^6&&> MC;S0$H("4F,1&'[^P@R*P@(AC3\[3,^%M([M\Q[]>YT[YK)@&F:R^,TSDX^\ M@4,#$HNFB_;[NK0 UIA\213VA(XQ-XL4LSKO'BKZ79@"3'0>Q\7.J*I3#R< TJ+_@C<_/ MHEYX=8)BXB@FI]#_E^)ID(L..8)#)FFJUI"1@K,%+[CAH G31"X)%AK*!2A7 M;,)$9@^4, 76:"D+G%Q]2<[/!C2,K[[\/0CY_K*FT!*HXPY;7$0:B>]OOY'$ MCP=)2X[]7K?G'%)96@_63#]F5;%7A%+8D&B=DAL.B9*&%>U.)7Z7'K1JX/>QT%'8V2N/C5#06FQ8EE6]OC5V=BU,L^.+^4 MTNP%&\"]F^-_4$L#!!0 ( /N#;%A0=&?4GQ( \Z 9 >&PO=V]R M:W-H965TL*.@"F"N[Q%2+)]NR?< M;8=E3S\7@2)9;1!@8Q'%^?I[,FO!0E"2IV?NRWV1"+"6W/-D5O'U/LN_%QNE M2G&_3=+BS=FF+'QR)6.>M$TN1L/A M[&(K=7KV]C6_^YR_?9U59:)3]3D71;7=ROQPK9)L_^8L/',OONCUIJ07%V]? M[^1:W:KRV^YSCJ<+OTJLMRHM=):*7*W>G%V%+Z\G-)X'_%.K?='X+(B3999] MIX=?XC=G0R)()2HJ:06)?W?J1B4)+00R_K1KGODM:6+SLUO] _,.7I:R4#=9 M\KN.R\V;L\69B-5*5DGY)=O_K"P_4UHORI*"_XJ]&1N.ST14%66VM9-!P5:G MYK^\MW)H3%@,3TP8V0DCIMMLQ%2^DZ5\^SK/]B*GT5B-/C"K/!O$Z9241G75M9HU.S I'XM%>)_&*FXO< $2/!TC M1\?UZ,$5WZEH(,9A($;#T?B!]<:>KS&O-_Y!OLRL2?\L\H"7Q4Y&ZLT93+Q0 M^9TZ>_OWOX6SX:L':)IXFB8/K7Z2IH=GA<.!H)GBZT:)FVR[D^GA[W];C,+Y MJP+VMRR%+H0LQ"I+X&'%2T%?#L>O_O)_J$1MERIGM72_)#71GY&XW61Y^:)4 M^9:I.=[_E[2H-;IVH\Y%Z,@7,Q;SZ,P%#=5GJNT%#OL M04ZT"*:S28-0\_RI1?[X+L$W//)B 'O>&3-S8,1F'210@LA#@7,CU M.E=K69(=:9C/#AONY $9 O21=JO\B !U'R553(L]B\6:KN2]CIG1(' M)?.")Y#XE5QA^:<[&5QD0HP. S(W/$V;=FK?U0((PT4PNYS3RWE#_R-ZL3@V M'19ZCS0Z&K^<-NF!5^4JUJ7X(".=Z/(@/J7BJEHCV>#KP QY1D*@2:/AJYLD M*TB$2#"*7X6OG@;@"+=,LL1>>$*32*O[1'L:UGH6&-]Q09$$]PRO-&ZD@A<90;]-[?Z'_^ZWBR"C, 2 MX0QLE2-TPG9BL:I2MC[\ [WRF,]G.H5@9)(&G5>E4O#G3 \.=.)0,<-($BY$9]_NQ'7 M,OT>B-\D!5#8UU519)'F)_',KH1AM10@,QD#I4#]N:1MP2D6#IS[B$(A)%*@ M4"00)*T\VXH2*(_HY_\[F<,BV=7PZEF9K16'/4=3BXV/9AE/>%-$^XV.-BV= M0MC/G?'$XARXE1.%TTV=6)K*YO#\$6\;7(*99QIK;>7!KB>J'>UY'G;6S#D+ M'+O"@13O0I.;.^6I%($2598D'ABELQCLZ??PXPJ.DX08F/#B>8OT+W[S)OT# M\5Y",-;>/7M>1>U9X+&L$HSW*]UF25?7G!K'/$ M9&#,B-XM9<)Q/ZY@I*5A$WH9< [J=0_"638B*(5P]$<&3TU,;+%V35ZV9.L5 M=9 0'+P0;/Z *Q)/+A A.:D=.1/R3J&BBIP?LR7R#GS[!;C)B"3S'7W0'"'@ M]IA,P:O$!B9VX(]C5A:%*H_BF5=O@ZYV0+EUN]#(SU#16C5XIY?2339C;D%P M>2@V>E>/0\8EXXJAC9BB@:6BF4&:.);T2H4E#28+E,FA@)0IBEK#S_(7R\,+ M]YD*,%VPZ7/VWF:Q7NF((Y+-+?>4>"I=;(Q-@;58D6>3C[!X=KL\@VB)$ADQ M&B#*2F3VDCD%R=+&.0K&+7PP )C%IS2U-:6W)I< L50W,T99'A-_\-""66/* MVW32IN3_X73J$0CA#D'Q+3[V+RR;,'E@#\,H>73X7BGE08O80Z_J1;9:T3[5 M#V._$SSW.DF;^YW4<0/MF^5*0BWT>#X)PG 2$%$F6)^/@OGDLLG<<8@Z#X/Q M;-H=TPY: XN,NCN#"Y@/36-Y!Y?AC#ZQK)A4K.8R$^^%H@0H&T-ZQ$(1L."H M%5&E07F[5TPU^7!#11T#Q<,M3K#601MBHQ5\EZEHX=BG;M4)W0_L1PB#TZJ) M%@-QA0#BAS*W1F022]3V@FD^!JG[G4H+Q&$J'M5J96!( M/7V+M)[%V)B#1-?"QTPNU9=M@]I(CA2G;9@4.QW/C?KFDX5)G-WA'0.G2;/0 M['F^F(($D+BK@9-)U3UJ,HNE3"(95Y9H$_I<=N'&3,%)!8)DA:29SW)955(, M;R)$#AE.BYS3;1@]+:&3,@P,C#+;PI:GBPD1V]RU'VB<7Z(L,[XA[R30]])@ MEJ=JJT92S;WJ[.RDLP=KYZZZ-U*QS2#M)$A4RT2!M!S 92!^!J%W5&F<\&:,^TYFAHQ;:-/"W(,K MALR-Y7A;)H*SW>VG#R "@W_%V)8E."<*6L"@SA(63+?K$%;G1N>P_6:I<5I* M+>S,$WV-\@A,[U^/;(2WMN%GNTO,%S2%F#6L/X3;9%)D-01MH2*L"/A): -H M5AL @'1 \J-Q55I15=?L/KG@5D_ WK<5*;R]!-2VQG9+5>Z52L5P$,X)R9*T MAS6HE6E:;4U)06T\HI2,BL"^I2&!D7APU^W_M8(.)U;NN20,1]=LFSI[5#98 MA0!I81O.,J<@Q U0O*^QU5[FA/Y0+1N"Y0I =6OK/#RGA,+I(4).0.:E?DI= MY20:TK&KD2W'L;9EI4XICJHX505FQ/I.Q]"WW<2DJ9@J2KVL+%H&7?G!&"AU M#Z@ XL"TI)3#JU24F59&50!\$1 [WD9RITE&G+NP/Q!LP6$$BT+U"\= MO8E6YL-IC%U0%* ([C%V8+Q7VF78M4EJ"8%+8M"Y!KMNEJ]EJO_EJNTXBRI+ M3 .H1ANV*U0,,C%B3Q0,9BFC[ZW-2)#%+C.1P\IRBS\29!VH$]LLN[KAQU4H MB8;3Q!3Z85!I^:"7U49D)WL)WBF'*+Q9&*^W/@EE@?V77)[3.1+/EG3:H;?< M+;Z'9L!WOC:F55LV:8 K1*X447L+9)N3#J"L;3T!I1XMF%2Q572[$#,4Y MEC?6,,4))*T9PZZHZ^B^-M5)HSW@>:FKW:V\9ZZ>Y+G$WW@P]_S9?LFC7(T$ M64O2,_(6%:<=:EI](]^F?X%I*QU1^UAA\N<\BZN( M2]EH$/1F4K]QLRO<:C>WF\!^O(_^[09A7^/:]Y/[5_)IH[>M;-I\-5!O=V\8 MP?:C,+]^>XQ'8Z:UTX#&=A^K@=\RP-OF>O2BOU5LA"C%-1WW;9HM8OM-JU-L M*NT38/!8O,?=UIMWO[EFZ'&_M2.MXW;K^'2W]50;M27)NI_ZM559M,5MVJ=% M3__T:Y/+COI:G4;743RVDXX-/-J=:^_9EFR[6#)R9I=2FGT4SOHMU10E;TNN M-6($.6DPCU_2O:M+J1,(DQ8LW**!PY6O*\G M]W-.AQ%?B()G7/6G &!TOG5\8@'UU!;^G)=J2$0Q!J.> 1=5S)-SC)MWG[[4 M;EBTH,?#VW"O/*)FCBFD'=@Y(6YC;4>R]T-(,/&NX?]ZK@2[/$&6Q,2&N6N )> M'$Y^N#)D-;E3#18L18A625A7A"W._^-%8./8BKC:0;^V4/5G+88(N\FILQ2* M_D_O9Y4/A,;'^UJ/JO+_HG#MHJRGUK&/UZB-$3[:UT?#& !,16(C>(NJTG0# M*;S$=P8H$Y+**'3>(7 Z@PMXL %6,*B"L-@/%+,]#L&EHT+U1>QSC;FRZ=). M99G6(/B!;;#9:&;C?107&)#')W, ))10XH&]8<:-VG?41_C%8:FC MXX'.S9*BOIK&D=D?OJ_8:SK7TJS&KC[NWS\7Q\JFD/T9V;JVS48FUL/&@*>/R?%["YN5+?"OQ@ M[\C0G ]2Y^*?,JF4(7EI,.N*7M^YUU1RUVU[8.5&L@3C,$Q=;%3L&N@0#P5+ M=ZYJ3]/ISH\YH/K(N74$>G>5:W$]M.&IO&5.,R9A,)X,"03L9&Y[UG3TB !R MH-W\HO[@@^1M5<;PZ'8O=X7X7;6%[=7***O F$:J8-S.)_;@4@$N$1)PIM*> M61M.RGRMH#ANF/&WYK3QY'G27O$)7-FZIOR%)0-=/K#O&>%V^U\AN,FS:KUIUV>-*W2+13"?UC= AP.ZP_A3ZWSE MQ!KG8K((PM%4C >70^KXNS4^=8]G$+(C>U_58_D?.79AU;AC$E)K#Y]MS=!R MN5J9JH\P]J:&_>9(R1XF<3AP*(?W:0>!%@0ZGYIZ/'4:L."QQT8P=U7E)A5B M.E_@(0#IEKM]\5J%(Y)%,Q]J8='LQK_8"$SIL] U?L,^8.N,9 M(O.8SAO[G0%U_SO$$7O _]WXK'0Z]1@^V.NB#SX M^X8$LS YNKMSCV1$1D!M8N3+,C=X@@4^ M>@/$'&/_MW^D<6WWO.6?\<3";3MO/X:6= M=#1X%"RFS=]'3(/Q;&8')]I<'2&_J4=,1LT?>G1_%W$E;%PB0UU+*F@IN)#" MY3U?%CN?!..IO>(S"^;C2QNDS-6FIX>VQQH0?1=,ZF;(,6E$PCKE6T:^RNO= MN'G%KSB=-EA5EAB#TL_G\VE 3$\F]L+,?#;W9,(9+9FYN5LC3\AO'(1>?N'" M'@#0]<3CH>%DUH[_YOK)$W-':NXGIMRM^W>X[JK@)#+E:YWW[+% 8.!P.AUQ MNKFGV0:'+]5?9.7TW3?^N0A@(>.'8M#W8[&+QH_TN)M"/T4L3'@UO]?S;_VO M':_,C_SJX>:GDK]R]Y9.4%:8.D0!>8:,Q3\_- ]EMN.?_"VSLLRV_'&C) (R M#<#WJRPKW0-MX'\#^O9_ 5!+ P04 " #[@VQ8M?-?'/X$ #$# &0 M 'AL+W=OEM?7;\=AD)5;,A*I&25\*I2MF::EOQJ;6R'(O5(EQ$D6S M<<6X'"T._-ZE7ARHQ@HN\5*#::J*Z?41"K4Z',6C?N.*WY36;8P7!S6[P6NT MG^I+3:OQ@)+S"J7A2H+&XG#T+GY[-''G_8&_.*[,QCLX3Y9*?7&+\_QP%#F# M4&!F'0*CQRT>HQ .B,SXVF&.!I5.?/U.%E2AC_"ZOV;$(:L\98577"M*ZX;)_LKHO#AL \>D(@Z002 M;W>KR%MYPBQ;'&BU NU.$YI[\:YZ:3*.2Y>4:ZOI*RW=U>G;QQ\GI MU?5/0_]N&Y]'B>,0-I%>OYHG\>Y^AP?GDEO.!%PV2\$SN"@* MU%S>P(6$/]4M5DO4D/JP4_!MB7"LJIK)-63T%&@Q!VX-\ ZF;F%4#_/&J4NB M_?/+"_\6[_],9V%5\JS<@N/&-(3%9 Y&B1QFP5X4!5$4@2D9Q3;H9+C,1$.< M@NW/A,4LK%!CJWL3JFZT:9BT8)57631" -ZASKAQQ_UF0T35*\TM:M.'B/S7 MOS AE*6V8T'5KG$$3H* M[4Z3 4G]MM8J0\P-%%I5WBC#A,?H?*3 N5V*):R8@9W=>3"=Q\ *,GK3 H=9X]JPXQW%2Q-5D>1SN@^VJ/A;(Q'V/ V3IVC(P RR0QJ^BVO>U4TR/9[A M(:-)&DY?)J.>L#L3(OM\_A)Y3(+=>/H@CX M6FE_)[>UR/7CE>?=I6+.2N;%:"//N?M"C2>-?B"# N:1L\= M)ST+TOG>2Z1K-HLAA!-^RW.4I,N%C^W[G.NU1, MYPXMYYI&&T6A9359?^L/8=>9^_ R^$KP9"PE)V.F)*E6.>6 ^E?K7Q1&\]WI M?7CZ'OF0XEL1?N-.=-W^PZ#CV.GH'1QN *6=DG1+A?0)E>2]X/\ZTC'#C4N, MOUFESPV=H/Y/PV;;MU/(T$7;L<4;2$=ON6K,)L[@8.M9FCPLW!PSP32[9QA; MMZ0KZ*:P#=GVA#O4D U-K\M_*.P]31P%- [1)K@V&<30)X+X;?Y"N*#2>E*I M59:YJMR)76W/J-I=^YY&>UZ=:P'3&&@\]]K6R%RMN2D,:(;J[O-NCFIKTXNU M]SM%ND8_%XMU^-@$,]Z8+"O4-WY^=D0@UK=#YK [C.COVLGT_G@[W[]G^H9+ M P(+$HW"W>D(=#LSMPNK:C^G+I6EJ=>_EO0W [4[0-\+I6R_< J&/RZ+_P!0 M2P,$% @ ^X-L6!$I"(R."P ="D !D !X;"]W;W)K&UL[5IM;]LX$OXKA+==M("L6)(MV7T)D*;M7G'7-DC:W<^T3-NZ MZL45I:2Y7W_/#"E9?DW2=@][P'Y(+%'D<&8X\\Q#2B]NBO*+7BI5B6]9FNN7 MO655K9Z=G.AXJ3*IW6*E.WW! M;1?EZ8NBKM(D5Q>ET'66R?+VE4J+FY<]K]751 MXNZDE3)+,I7KI,A%J>8O>V?>LU=#ZL\=?D_4C>Y<"[)D6A1?Z.;=[&5O0 JI M5,4529#XN5;G*DU)$-3X:F7VVBEI8/>ZD?Z6;89'^DN"=F M:B[KM+HL;OZAK#TCDA<7J>;_XL;T]:.>B&M=%9D=# VR)#>_\IOU0V? >'!@ M@&\'^*RWF8BU?"TK>?JB+&Y$2;TAC2[85!X-Y9*<%N6J*O$TP;CJ].K3Q_-_ M]E^=7;UY+G%203GU.8BOIE9'D'Y#D^>)]D5=++=[D M,S7;%' "M5K=_$:W5_Y1B:]5[(K J>__N*%@^='-!VVF@Z/27_0JAR7Y/FN."2-_.J) MBZ7,$67B4NFJ3.)*S<354I9*7*0R%Y^62IP7V4KFMX)RO,*?%E+$4B_[E XS MH;ZIN*;<$C$Z(E\EY]N*A@,U1*Q*&B54MDJ+6Z6TVY7ZZR]CWXN>:S$M9#D3 MQ5S,DA(I6Y28Y@9-F,%SAD'@C 8# 044W%UI7(D*4GB6)R3$'SRO\Z32?.T] M?^J*-S)>"FH#>O BY1B'[G4^KRE$<3W#C8;Z)>Y*2F '\#3]-^875=%J'A?Y M+"&C,%P+#:B$7=523&];'5SQ,5?]:ID8&ZB9M1&+$NZ%=(@C'RZ+=*9*)'F: MBFL8(N I17K:0?.DU*2$HCD=UM (E7D.%Y=:EHG2U/N]+#',&SMF&6=UF>0+ ME@$79=1#U^A@)FR];!8!J%I!!YA0K5?"%1?2/,%8N3V0E(494PEC8R42#>S# M8L^H?[TB?!453-72H"W6'4EA52U5*MD'ZPZ:G*JKI$+D0&TIOM8R3>:W=*.^ M8K;RO$$KEXPUDCB(7YRP1-%2K,.I#( MW1(#F\ S2\BRIL:O22&:KD2DUKU(8MXFFE8G2*89SQ(CLU M,4MU4&U7O(-/9HT0&KKLKBV\R,YJE0U462#QN29O3$^Y:S*,DR/$A=_ M$7#A$GD!?^2,+8Y='Z0MZBN&)11A,1XO% ].I=9L46,#S0[6H2O,1F:8>>8E MH"U-Y#1)D^J6LE!]K7'EBC.",2/>L3[<%&8$M"M6;*V/R1]I$IS74,QE4HIK MF=:*9#SR W!EX+@V@L"8^Z*G%@(UQNZ%\8^(R% M1C^.(.O:C2CWV>W1Q'/",.IV7F,/@3(MO)!941,X6A4,^AP#GS7L=0L$(J)8 MY,E_H,I&;B(/<6V=XCL>E-_VIK.V_6 8(VEBB71%N$WE-$7.G#5DDD07=2E6 MMIAQ AO*1\M.Z4IB;Y4LA6+L![E0V10AUQ ,@C1DZ;Q(053U,T$I-PB>_^F_ M?S!QA$9G\#!X\+T'_L:!]YI;^>%OMV>U+Y/3VK_W01GT_QDB #UHN'3ML7D"4CV7"5W":;[.VP(=C0) MHL 93@+88*9JVBEVJZ)" FQF[D84M:4/V<+2;Q ECR;.>!"Z'/EMF,>%KM:U MKM@6P^.&3A!YG%F/_+$SBL8;L:D/!B>-:),:D4JIQB4*6F&/ ]JW<,1"Y0BA MU- &.4.Q2L#I)!=+FX.,>S!Q9P9.0((8TC+T0^I4YX-#?^^M.&/U$\*+C$#US=><0W%N6+L? =,R-DD)JBH4!\@BFVA M7IA;P?9B5=F*='CH$WILJ:.APFA=T\=/S6#N3#4.I5ZWZV5P'VHFK50#[IB: M"0XL)DAJ::]9%<#D"LF)H70+L@D"D1""Q0RBP%=;Z]<#S7KNS)L7>1]Y 95 M8/C&W X5MH;-\Y/=%EL2&NY\>?6YI+4BT(-_.: MXX:XLM$.5QNTA MF)F\I=A.M:^8O,U6N(XN# X$^<<+1P!F@M!E11Q)MY$11 MZ 3(L0.S1P&I(EU]8XN+M75+]BBG+=E=+F(M96F[FQ@=G9R1/H9/V&![X0#XP *I7VJ.=3-(,-6YPXEF3O";!\L M0V[U9%836#VYHEE#36%[TMDIV+TAS?ETBV6U1'K#X5@'*+"4A)-$B B>$*/? M8J4(8Q\-!RY4132;%3.Y>(.0O.4H:S8DP%HN2C-YB_5_2WM?S&IV.+RYVZ@R M[)MM/S"ES(QA'?Z^?S3&6#B@_<54*2P-]E09H[)LB5K#*$W76C?JT'&-ZI_+ M,BV8D5([6*=*UUM#D.PZLW@VI1,\][MY#H?!!Y-P-KQVNK3>(,Y ZMABL-W1 M+DB73%>R7,!GAA29IB?M@CW=(\$-1^)U0IB.(+]-5+H[#29Y+-XT%>RZ0+DS MVX@=@N&[@_%C<9GH+_UYJ51[3D'[FEUZYKFC24?<*7;573D@GRU'+$I MDIU8N-O*YFZ'+6_'&0?4WZ3YQTGS.I ?"5Z"'^3,AYCPG\B9=TQH'AREO/LB MRC)?[/NP<<4O?@P!#D:C^['?SGZ64>1_PH$C9Q@-'L:"]UK_D\APX(X:,FS( M[$<+RU<;I+.IUOM8"E4N(HWFK"=IJ$6IVE&F_M"&795QHI4%4G-( *4K9E%L MY$8A.EI"ZS/%SQ^82FR.EX+=_;MU.Q7J4R_M*_BI=%2K2);>YOE"[+ M]+B*U1J=KB4\6.MN)7.(LJ>UR07PVKV@[=C#QBY&-Z=,C9B-'MUBM"X5S1%N MI^-LH^@8A3=KNSD0YED>7M_;VFU F8UZ(O @L7QY[=FPCX W>/-O;PKL\7P($[F (J>OAX3VLP>@P9^ WO220\ M=SC8%10$KN_?GU\$;CC>IXWGWY=U /''4#PDEK7GF=<\^VYB$KK!<%]K.#E, M5[I;W/\/FO+=M*;U0;M5_6'FL]W_78Y-8:Z3N&VY5/2&CW(/>T?4S+@BV-^6 MT]2=YOY-4RLN.->:9L.%/(:I8@H:H=@^>>*;/ M?.1XN?\DLGDE52VIPAG."8"J9)IF_.K>SLW/^PSW=E:FD+M,B!S*9SI'7M)] MW[LY(VZG0/V]??XYV^R7-"W3JF: M8^C C48]\PZDN:F*%7]7-RVJJLCX5 4 %<, 9 >&PO=V]R:W-H965TB =HD2-+=9UH:2T0H4B4I M._[[/4/)CKU( RQV]R661,Z9,S-GALS1TOG'4#)'>JJ,#<>],L;ZTW 8LI(K M%0:N9HN5N?.5BGCUQ3#4GE6>C"HSG(Q&!\-*:=L[.4K?;OW)D6NBT99O/86F MJI1?G;%QR^/>N+?^<*>+,LJ'X;G*CWLC(<2&LR@("C\+/F=C! @T?G:8O8U+ M,=Q^7J-_2;$CEID*?.[,GSJ/Y7'OL$"ESD3TE]:MGOW M]WN4-2&ZJC,&@TK;]E<]=7G8,C@<_<)@TAE,$N_646)YH:(Z.?)N25YV TT> M4JC)&N2TE:+<1X]5#;MXKFFDZO+^CB\LO5]>4%G=]D8:%DZ8U;D MEI9S-/TLZ%PKKSE0J)T-SM.5C>RM,G3'"[:-0.1,]UW#[H_&OSW^+BVF!2&# MDKR>-6FM-LH&PDRB",\SMM@4R?0E[6]!MRDLL54R!N3E":)G%9Z_OWAQ.QA\^I_QA:MF=X@SHNQ!K M@PC<97H)&%(!HUNR5'K7%.6+D"K[V>B@VU2A/,+",[YU-(S+4&_/16-4='ZU M7L2&6S-LW*(H:^>-8692K< @H3 M\+U*69PR.1AFKH$S*6O0(6*M!7J56A_1DZIKHS.%D@YV*]()HF4E(5<*0D:X M,]0S+:VUEXJWE;B=D#=9W%7<#OH2/-Y.^M/#49_>3OOCCX<)\NVX_^%PM.F( M%2N(BF7J0BH95S.H:CTWT]]),L,#/F(XU9R.1P-"WYPM]A[85^C/3%ICP4E7 M>(4V?%9V5EM1(-DHN8J27LI4*/?DI,R14D!%@=(;* D##:B HY;*YU2@>F*) M$K/?1$JAE%Z>\7,;(0\+#A%8(D'D$O5!Q92U\@,=1%BD:I&4'51J1E?EK9C% MX&8=P<\F>!V7;IZK;/6'Y*UZPHYV::%+G:YGD.LW=TG:5XFA.C' MNMAJ6>QE7&A(KE2V8)#(VV5,CBPFWW.%6;90IN%U0*W/?HI6,"'7O&WYU'DI M9JUFVNBXHLQ@;CQ3V8% !AR*MC,@B9_D6<:&28I*\@?#I(HD_\.#$?5%\M.# MCZWZ)_WQP>0_4'^_/;TDGYEIQ!Z)Q1T2YV/1IP+GC$^*0]YRW,8P/KQ*]4R: M?+&1@S,Z3X% GY$[?Q;Y(5UKQ MA *W][[-U\VM^;2]+#YO;Z_&PO=V]R:W-H965T3D:CWX:55*9W?AJ?W;OS4]L$K0S=.^&;JI+NZ8*TW9SUQKWM@T]J509^ M,#P_K>6*%A0^U_<.WX:=EUQ59+RR1C@JSGK3\8>+8[:/!O]6M/%[GP6?9&GM M(W^YSL]Z(P9$FK+ 'B3^K6E&6K,CP/C:^NQU(7GC_N>M]]_CV7&6I?0TL_J+ MRD-YUGO?$SD5LM'AD]W\2>UY3MA?9K6/?\4FV1Z->B)K?+!5NQD(*F72?_FM MY6%OP_L?;9BT&R81=PH445[*(,]/G=T(Q];PQA_B4>-N@%.&15D$AU6%?>%\ M=C>?7S_,KVX?%F)Z>REF=[\7?4'?@H^COZ?QTX MN3M^V1W7S =?RXS.>B@*3VY-O?-??AK_-OKX"MCC#NSQ:][_>["ONQL?#\2K M+L4-K:06]\YF1+DR*R^NC5A0':A:DF,-H,1"%M(I+4W>%S MVHVA' 6^]"I7J'%A"Q%*$C-;U=(\]5'&&:$*3L_)>6N 4YGH)$-5 @$Y4B:&VVV46M,*X=8 M;!LO:F?S!O&TDDNE5R!6V^/#\; /Q<.!O&Z CJ"_F;B NY5KEXD_Y MJ*J^8#\J- %A#VT%NM!?C7X2DV-.Y_%)'P;.-JLR&A8 Q$9 +3(0%H.B'82T M_-DH=KD(,I 7E\H'Q\S-;.-"7]Q:!R-G=@OPJ+KY,'^"G4!FT[X!<-O=HUQS8@+\%HL+\EY_>3\;O/GIQ%\W%&WXP M&7V\G"WNXL?QQU_[G1RAE$' E6^* K+E24F%<^7X!Q*D" Y ^"-](YODDV"^KL2E55L+\D@I,"A(/E)7&:KMB9#:L&B,N,*RRDET]_.M.@&^3 MBXU$**JU?>)A^!)3VDR*UU<05CB]S;0O-W)&_4*).-3S +)U>848$S MDXE_W*.PXV0ILT?DL,>DX%V G3)W@$I3<(N]3&Q,9D=HG)$#%?RV/I(V&4O- M(X<<<^8:W2;5LZ3MXLYMG'P8W?Q&W1#-Q5=M(.QW:H9)O.UW,A+BD 7JM, M+C5QIVYWQ"Y1-!ALL,RI,JI MJ61$+?B3!YSR?/C0XB11!Y; MQ+.I!=RMLM]M?MG]^3INV1B(Z7XNAE)Y7/IBS2I.CPW&EO5;+%NX6$(26&!; M6[V.7;4;?#H.=E!6-YPY43(>&.U"O3?Q>:V=BK%/PP/.4#A;Q4R-^=D)UUTPQ?C06BY\0T7 <.@M=1- M3'6.)"L>.1P '9UO $NX0M_QBL4$(9Y:R/LB I9F*C(N#G-F25HAB_> _*]@P2]] MRT CQ]NE:H:F['@ ;Z(M>D4J4,D'H=3<:9]+[B@% M-#09;P9&Q2?OMT3%\'@)=++MZN@Q6GUM<,,+3UQU6V#[6I=@>IMZ+U79;C)\ M?R/K[/OIK&R%%'Q,*0%64AYP]L0S*,Q+K.7TE5,EYAR:3P:]E@1Z(/HV?D?W M"VSR"RSKF:X7X;"L^)["R%E[O@DA3^%;KB7:96HD7?P.'5\?0DRW5GX.YF.? MXJM89!-T3V-FJ8-GV?:ZO($[!QZ^*[Z4<[AH_TWIJH>:)[]-6M]>F%EX^Z+V MA_'VU=TIT_!%1'P>+ ;(PQKWRU@+SJ8:%6]\PS$TVT0&$2MB6 /[L1:'#^8A>A[FS2@=VD8Z8\BQ,;0,4X9P% MUS4:2KI<'1 1!8>"3-K@I3>RX=Z[_>._/T M"\8<\X\[A:8"6T>#=R<])&[\52!]";:.;^)+&_!>'S^6A,1Q;(#UPN)$[1<. MT/TT<_X?4$L#!!0 ( /N#;%C8G"$%H@D /0= 9 >&PO=V]R:W-H M965T,XZ5TZD\]O=\F+G51?])HQ0QXV MM="7D[4QVQ?GY[I3 MJPO[[*.ZNI"-J;E@'Q71S69#U>,K5LO=Y22:= \^\;NUP0?G5Q=;>L<^,_/S M]J."U7E/I>(;)C27@BBVNIQ<1R]>I;C?;OB%LYWV[@EJLI3R"R[>5I>3$ 5B M-2L-4J!PN6J6LM?U/=FYOE$Q(V6@C-^UAD&##A;O2A]8.WH$B/'(@ M;@_$5F['R$KYFAIZ=:'DCBC<#=3PQJIJ3X-P7*!3/AL%OW(X9Z[>OK_Y\.X- MN;W^UYO/%^<&*.+S\[(]_DM+=CF!D-=,W;/)U0_? M1?/PY0G9TEZV]!3U/Y3M].DHFQ&? KF10LN:5]2PBG!1R@TC*R4WI 07<=%P M<4<@F17%=-!DR2"E&=DJ><]MBL&R.V;H ]-X3G.-U.2*F#50DS4D,=!Y07[X MKHC#Y.5??OTWHXHP#"X"H<$V2Z9L>#S=A^&"_V+\%Y&?9Y]GOK+=MN])N@CF M8>(]F =IEGGKJ CB-"&0\Y#1XA"1[IH$";#:DR181,7>TT6Z(&^=9<(B#_WSORIE&*"8/R#XI] M.ZE_9!6XMQX9>#%?>.LXR*/(6^-=%+\DGPWD6?\\"@IOU]QSV2+,^U@:0B2/ M$N]L$@X!6&0QN94&9"I;U0=_]B?2(%T,!-)@GH8>N3Q;@(U7#(Y7UG#3)1-L MQ>H'F8/K%<$GN;LV%OL=BWVS0.8I_>- K"K/#61;PX M:ZU7=08XH+Q', K'Y(I\)&[>.>-9V0I^B0L_.Y,@R\98DR5#F-SZD(JY2:'- M = M>ZK85BI7#>S/-W*S MI>+1AG#^T@%\7S%67%!@#<21'8/&R^AO#P_/A8$C<- %VV 1Y0=3',U"\KQ'H?\*YX*9T/QZ<#S$8V.L0+J5]QH M,@UG$.?3^F3X @2 H,@@?>V)\ M9- ^"Q2$0UQI$H'"43P;\C[S[C^Y-LNF60/L%90KX>!?:CX48M0YG&4C#_AV M^ !KU#1^ S_)V>>A893;_J$Z36):/F6X6#58FQ(+&Y (;0J%H>=",;86,?A -G>O:I_/($:+<$ MR#./1"([((QQ,AN,[:$=U9J!43 &NV,H)X6&JF=>V3FMD; M5H!G=GVCQL6)^/4RO$?(W?>"M)A@'4 Z#WC5&?JH>>ZM\R!),G)=EJIA8QMY MG5O[TH6W/4P6))XGUY ;'-^O@&A;#MT&_]VA?2FU&9A% M4>;9*VH1KMJWU]"' K^AW?A. (\JW]]&+P5!DHH7]:>RZ9I4"2^K%F0%] U MOF8PX9=MW^5M#J/^T"++(IYH'V1Q:RP\C_T^SQ.]> M\SC?ZU:?Z.R9- ^*A5^NP4U9G.P1.-*:3HMD<>:OHR#.O*+X5ECG:(T)@P@" MC1+&80?,JQ,0$OB0@R4'8QGCG["A&QP"*[Y%P:ER4"K8ZL) MW!BBD;R%9"D" I44(BZP9=&<1#+K$5>-6_%9!54$*E>K4RD;!>AI,1(D&*0; M:V#?>T!_HY$QH?V*U$56N+:EH<1#B/NCI5?T\IUK&/X M'%4MYR;VL.6J[4_'57/)[K@0=J@1R"*% THV=VM8 .2=*HC_%>FB+:J%>"MVWUAB2Z\/#5*VDJ*%;37%H?(OJ.5?_S+G5>^WD8:>:J-! M.E@43:,4 M8/.-J)ZKBW7_4=UNO=3K:;D.7F&O#IG A';@ G>TME5!L=K.[- ''A>!:C^ M6D(S\E[VR:28?:LM;)H/U"V0=0+LX-)CR&&:I!H@]F1(/>-OA2S=:V@-AMG="^]AAGV@Y,-;-OQD!.7W2; M9TI"+;!T6W36W0LV3Z79H2] Y]Z7N U3=_9[(_*#?',?Y?JG_2?-:_^HPH@4Y.:K>!H.,NS"0Q_]ANC6QBYM=_UEM(8N;&W:T;!);@!?E]):;H% M,N@_]%[]!U!+ P04 " #[@VQ8SPKM+5T& @% &0 'AL+W=OMXUI0:>.J8B[T:]WK!;<"$[I\>.=J5/ MCU5E0J^5))^PTA&LQSRP1NJ?')9_##=BOY97&67,.2RIC55$S(X)"2/_/;VL[M!C&O0<8HIHAE2;JS&58%\]O3R_=G-^YOCKD591.DF-=^YYXL> MX LC]DE)FQGV7J:0;@KH(H@5DJA!P$D'W=R 7D#G],VK<-@[>@15?X6J_YCT1U ]SA<.#]B7 M#-B%*DHN[U@.Z(J&): M1AYZA*QFZ.&5%G+.N$R9FLU$ LQI$F#XX+:![7@+(2-9?B7T@9 MM\PBJ$05*"4!$L52;L$%"F*0;MF9$5<6/*\ @=5'E/R.& Q3"]!NHZ=;T,6F MLADWS,4QRO0"*9@3GC.X+2$5))R0I@HA2F77$!FOA39*W#&EF:90W5>S_0I7 MWKYY-8ZBWM'UYZ]N%![M>>T9ICQF,J7M/D%J3/ZV_E\*FZ%XMX0ZV27D"V"% M#PKDS,&8O4T]*N(3J+&0B7;60A6F2J,/D>7U/%AJZ,C MI$" A"1YOV#[#7RD?C@Z>A2>,$ZL&Y-],/_D.-8\=PZQVFTV%4DJK0D&WHM4 MA4@8R(702M(A *LW49DP8],,%N3_5.J*B M+I8\L4(SD11#&*N26<5F6&K8'7"-:(TJ''J/%&V;5RD22A>(M!EN+$2.!=D<,KKU7GSTXO^8SZ&8 M8F133F^(YSSGZ++LQC4<9TE"VIC5,J5^^HG8F=/N^>@>R&3_VV+R_4%/5^E"Q]#+V>3MMO@5>@*-EUI;84X&(2]C?EH%+-+)>'B/V@\FPP'[HBBC/2V#W& X&;;FXV 4CUT 8M8M ME?1UJ\FF5(4D>5-='77J S!1QH6JX3GX2,5V-'T3:X&#H(^ VO-X-'0@/OK,;>[W!$&=V^G^1='4$6_YI?LNH%X)NQS\ MS&G5CZWZ+D?W3CX8Q#N( MP^C9BM[38,.LOV_()U6(#WK#OW;H,&E172DO2ZUN1>%:J0I;=Z //%%4Q7:# M7&$,[2CEW 7SQD6ZB^//C&=D;I>^..ACSD/B8+TCZ,43(JUS(^55)(S6ZD>. M,%['V:1'^FK@,W26];ZPCKU:]RV=M\$-,?#'[!*;ZD-VYIL@#75W2S81$H4# MYMMMQK?1)-IC5[O[X-WE;C/[WU1EF3?M<,)-QF9HUXW>O-5TU7?SPM&Z,VK= M96]3(G9!$$LN4M=&^H;1-'UGVE25 G%6OLO?:8[?B>6540S;O^^FF\FZOS4? M/=L6U^VON+J14U/Z'/9:PFV2<3GWWRG/T.^7 _^U&X71T<.472\'W=:K30%Z M[MZF\).>[LL_X*RHJ^>O,__JL][NW\X^<3T7V 3D,$/6WL%HT/$?N&ULU59;;]LZ#/XK MA%OT*8L=)VUZ20*D:8<5N[1(0<0H&)=0B,/D\X02$<$+GQ;8T9-":=XO9X@_[6?AC/ M;F_@83R=_0NSZ?C3XW@RN[O_]#@(+>$[J3!98UW76/$.K$X,'Y6TN8%;F6+Z M,T!(CC7>Q1OOKN.]B#>8M*';:4$-V&;=?C=7\+VQJK]S*6NRV7IF0) M#@.Z#@;U$P:CDZ/.672UQ]->XVEO'_J!GN['ZO3;,,L1)JHHF5R!0$IC SU( MN;&:SRM_/Y9,8ZXJM\-D2A?.,BZ $I#(0:95 0EJ6I. 12G4"M'\#*LQ49K. MG0;2 CY3W3!($\$L+5H%-JO?/O<7CT_X%4)EQ-,FW8 M'PQ/CL[C3O_*0**D48*G7L-8^E"9LIX354O-7#SK*":D26%U1>S)P=$U56+VGFPAQ>N$%>751JD%=S)IMX!Y+QP* M^6TU 9"]^0J^,$TGM=%M@:HT3'*.&=P^8U*Y:,)]EG$Z]DLX.;HXZU]Y'][U./?%?6M@!T?)6(::8K>#4,JI<-A&BCPQ=E."U@6%+:CL MF"V94JL$,75 P-+4AXX)B@GWD DKN:7Y:Z(R9X+)!,'_0LVKLJ3S![(D;L6G MAP682Z+M2%=SP9/_690/N!U8%Z/Z;K@%=P(PT4@.P7BAT>?T+MHXM[1F*F_] M)=)N[B@;:H#)HE!R\<:B+M:JAW-[Z>J%;T,=3"5MW:LUJTVG.ZX; MO!_B=9O\D>D%'1/]QC)2C=K]TP!TW7K6$ZM*W^[-E:7FT0]SZM91.P':SY2R MFXDST/3_H^]02P,$% @ ^X-L6",H7D.2! F@T !D !X;"]W;W)K M&ULS5=M3^,X$/XK5A:M0++:Q'F'4HFWV]T/["+@ M[G0?W63:6B1QSW9:^/J& E\ZIKH;,]Y-AS47CC4=N M[D:-1[(UE6C@1A'=UC573^=0R=6I%WB;B5LQFQL[,1R/%GP&=V!^7]PH?!IN M44I10Z.%;(B"Z:EW%AR?1];>&?PA8*5[8V(CF4CY8!^^E*>>;PE!!86Q"!Q_ MEG !566!D,;?:TQONZ1U[(\WZ+^YV#&6"==P(:L_16GFIU[FD1*FO*W,K5Q] MAG4\L<4K9*7=?[+J;(/0(T6KC:S7SLB@%DWWRQ_7>>@Y9/XK#FSMP!SO;B'' M\I(;/AXIN2+*6B.:';A0G3>2$XW=E#NC\*U /S.^N_IT??7UGER>W9^-A@81 M[?RP6'N?=][L%>^ D6O9F+DF5TT)Y2[ $*EL^; -GW/V)N(E% ,2!I0PGX5O MX(7;^$*'%_['^#KOZ&5O6Q''>L$+./50\AK4$KSQQP]!XI^\P2W:0O\N MM[>]@VQ OK6*8'TJ;A6N"5= "EDOE-!0$CDE9B6QE.12:*/$I+48 W+7V1#1=!5O2T=HA,4ZU,:^60DS)W,,UH6AM72+;J2A M4>2[M*7GT">MQJBUI@Y.(ZDE:+>.)8X[@D@%$%Y5LNBH;M;7SH)K#?:O1Q ' M+K"F !ML(Z1"\ 8/(!S#>3-LX@ M/='KES9[-7#=*K"$R$Q)K;>.]QBE38ZU:J0#7(H2.NJ[NR!5+PQXQ&/91C9Y MVI+A-FE\;^LL+%]R45D-#(BEYX[T7Y?]^2+@5J3P^"(W$O#*_(5DZ]YA0D^(%'@TXS%6X #$OB,AFG0 MFSD,?9HDT9$USQB-0T8NI#:V"&=2EB@G695[5%@8TCQ,>SAI1L,P_A=PE"1' M^[Y90#,_(9]Z>NI33!.:95EOAD74#Y,^=)!G1WT#WZS75DB8 MQ31"&1^0/*6!OY-D3'N2,R>,.*49[O8/"<.G+(KWYG%3DW"_7.PB:9"_)!)& M@SA_521Q3(-T1R2HMC3L3_35&:0Q37KVOZ!2@G>#_URE)+@A66Z5XE,_"M<* MR:/NZ& I95BT/Z*0(,3ZWH\V26D2Y2\J) _9"PJ)$QKGV:L*B?! \G<4@D=? M'NT<(ZQ_B@0IGH2Y_[PRYJ&?4N&RL^XG<$&!EP%1/=EP16- V0:&-T\$*H'] M[J:SP8]YYVB_9J50V-2C#S==UEUW8V3O^[AI=08O]6G#7K]<@YJY6X'EU#:F M:YVWL]N+QUG7;S^;=[>6:ZYF @E6,$57?Y#&'E'=3:![,'+ANN^)--C+N^$< M+T^@K &^GTII-@]V@>UU;/P/4$L#!!0 ( /N#;%A*S1+'X 0 "P+ 9 M >&PO=V]R:W-H965T9[D!RT>!KXHV?N=;L"IP83>_4>?/:\;+K?;Q5VR2[ S">>N#K3ME,*B52?_RMHO#CL)A]@.%>:

3L1CB6!AI_1%>C-L@IPTFY# ZG"GIAD3N=/(KZG M?"+V9V,QS^;[3^#M#T[N1[S]_^-D@CAX'(+OQEO?R)R.1RA^3^Z&1HOGSV9O MLG=/$#P8"!X\A?YS!)^&F/TZ$0]@Q$E^W2JO^ )X\=&(WZ5I=;3" M8[1.=%-)<2E+"LPID*NI4# P%N?GRX'@KM@31&NE-6+R.*$8%[D;N0W$Q8HW M<]O"=A$A6Z_,.K+=$18UAK[9TPFY'>4_!"FD)H)5=* X \ M:]X3RV,H^*2GX2BWKF"$P*+*8<=G(I.\P9%*I!XJ]X6UHK4R M)N9&A2H>[01QJ6U,+GHJ@<[)H%Y@H_\ND3'(Q)7R@E\),_9$J6!G$0FK1 MM*ALO!NB<0HADUK;O*-429@R-H ,@H@P-S+5!0,XPKF_._9M6:I<(6 BX%GD MC++_FD HL=>2*S.^<[&2)N)]Z_JLE[/QFPP(^-Q4"I=X#TN!>.SF OD,KLU#XA,+X@$6 M[P*,&\@#[60?X<'EIUM,))Y\GV.^9I$R0W/E6:V**.\#_C!!/"@D-L5*CBJ> M+VYBX=B:)N+ MC2LZA?3APNT=9M%A-%D7F2)%T?JYQ>G0=:_.AU[6(G"JR? M:9@9=H=1\"1-0'?B:8Y$OG"SO=!40C6;_/)Z)%R:S=(BV";.0RL;,%W%SPKC M+#D6P'EI;>@7;& 8D!?_ E!+ P04 " #[@VQ8'."K/TLG SA0 &0 M 'AL+W=O62[$G-8Y-H4HA!@$$#HCA??\_6&PA"LB=W:EX2"T1O9U\;;]95 M_=7<:=TD#\NB-#_NW37-ZM6+%V9VIY?*C*J5+N&7>54O50-_UHL79E5KE=&@ M9?%BURJ>K-A2ZJ]8][XSW[X"9? MW#7XX,7;-RNUT+>Z^;+Z5,-?+]PL6;[4I]\_&KBT,:0&_\(]=K M$_P[P:-,J^HK_G&5_;AW@#O2A9XU.(6"_]WK2UT4.!/LXT^9=,^MB0/#?]O9 M/]#AX3!39?1E5?R>9\W=CWMG>TFFYZHMFIMJ_;.6 QWC?+.J,/3?9,WO'IWN M);/6--52!L,.EGG)_UW53Q^O/EQ=GG_\G)Q?7EY_^?CYZN-/R:?K M7Z\NK][?)L\^544^R[5Y_N9% ^OAJ!V>^2V>S0T^]N/JFEKG53SY'JE:X5D M;1)59LF%,KG!YY]PT;*AG_IV_U?.GURJ#-[^N2JRO%R8-+DJ9Z,T>??BXL5Y M\OE.)[=JKNJ\P E^JJMVE3QKX.G?_W8VF1R\OJR6*U5NZ*_QZ]0]QCF[#]=; M3UKCGN#T\K1J:WG\')XG[W2AU@JV.*OJ5<7G29.I7J@RJ?P!X23G*]AG,IX@ M88TG(]J];#!-[D#8_=FJNM&USI*\3'Y1LZ^F*N_SHM!I\J&HZCQ3:0(04LFB MJ*:J2 H8HVM\>:G*=@ZRIZT!2+39+#=-G4_;!A\8-=?-)M%_MOD*A%U#;U0 MIQID7J$:6'%55UD[:TP",CA!",*I$EW"7S.-0])DGM>F@??-J@)&JU,0%$7> M@)"EV.6_Q?&9=422*)1!8#P0ZW*F:;=_ K3 MM*K,%6,.Y'-ADASF=\<$,5YD( 6UVQ+^G.4U"'* 5Z$)$C, O8.5X\'>>D3 MP&Z6KW"WP#>70&@@2+.=C/G=DQ$VU6S&U(KXFKF? 1/SO 30YT"2!KB6Z,4D M=^H>*$!K@$VMX>Q,UCA)G1&B$->$Y62A 72J*#;XLU[AE/A>6Q+UKOR^G@D/ M_G1^_DF8, %ZE:P0+#T#RN*M@._O5NH2]F'9J M\BP',:.!L,^+ N8$/A5H@+XN\#PLQ!H@0J-FS/0>!+K(0:\2L (LQ"V0W1P MXNC@9!!U[Y>Z7B"L0 2N :HB5OIHX+LF2GX'V-7(6Q;6VKZXX!<%&*G%BC)H MMN0E'QAA_TN[7 %YU$URW=;)A14-M_BH79GD'!@/T(*R,9+AOUQ?W.*/%JF M 0,HF=VER9IW!N.A>0#Z!E9J9YHDUJRH#*E?..)"=%,-RJK&;2/P9BU:L+0K,(MY>21L M0+T#+4,65XTVA@"<-@JY',Y:[D_SDF95V7UN*E 4]U6C41/N6 8.O0!VU"1- MU>RN;1"_P% +7F $/ J3 7A(Q^*.^JDPF<%OC?JJ<6G0*V#Y(S#H"(U&,Y'Y M-&?1K8%",B(>Q@5.2.@HP=ZO4$?"_F.9!(@I,P :*;J<] J\0[ JP ,[:QBD,+^9KIFZ/6LD^"# H941@=/UU5;B"I?PQZ)G&D%$)KW(&X\ M=8Z0ATD@D;/"M*?N%4P*%@WHI'N6^TU\'*$NRX3$? J5&#@DQ(!K,%"$LE%0 M_H'Z$V9^ NB PFENHY; ?."%H=#XMSB0K YPN$#SIGBJ)VBI)>!!=D_3U%84 M,*01*_$F0G;=?4@ 8 G_GEDI0Z"-3@7FV'RNR5U,<'^#]L"ITP.G@^+["V_Y MO0%PXIQ]"N#;9B#-SPI<-9X@C'X";$4X()!+Q3R,D%TB8VJW D7 PZ[2&U& M-<%&1 P*;@3OTNEN>%\W/+3(U10-T5RF"F4<(H_P03;OCC&\"A[#$GOO8=B. MZ]\.$( N6S8]]0,*-)@X8\/6CR&Z(%DS0E9J87[F(P/;1#;.5U\@]5P$9_TPHA1"?KHY'OFBAT:$":LAS$XR_:G"T^ -6Y MYY%;)P@N*S@Z:&$B,&OCG=]>.CON<[4"QCF;'("5OV-QA/T[AWM0QK\"4L#= M>I5<3]%%)K[.RU7;"(F!G$!!"()597^T!E'Z9UNQ+Y3/V/Y/P$& SV1SE\!8Y7 M-0S+D(_5M (;:(T_,U#(1\K!DF=/CTB^-3@1@8(LA5X@8T L0[L!-S@%GH A M'"HDA8LZ#'<4>=1(.N/3UR9@YKP$?ZUE:D'A!>Z;]2T('B@NE &STGD) #N= MTVE3EH&YY^]4,#IKZ]J+EV#P2FUX)#RI6QU)'3(5*U1[ZL&^R-)+3QL^QPPL M'[)$ CEC#00G@WL/%]BA_[$#64]KZTPKT(0/),-PR[F??HY\?$]\G+6B<36' M(X"/ !WF#F3F/M%FZ4)&?&R[I0&A^-()Q9>#LNP2 $2;IW^\!X4%>]HE%@>G MZ@_+[9P?_4WF>W0([5OT#QV\A0(@ _5A47P$M]":0_QU#WL<;A%P0 MJ*1)9F#]YPW24\<[Q8'+J@1G0?ASWI998">6%>JG!EC3A;#(IMJUUU$R@(_Q M@8\5'PQBY-S2VXTCUMZH\#?/DGQ&8=W'#%8(A)HYS/Z0^2P(H87P0-N8+]9UY$U "6T?Q*1&OUHLTMY M(O&K>6R!N(4C+^&H,X".%:TYFNI@H\XV%,\$Q4WROK8BWX_/08-;2@TT#\O= MG1L5>IIN0E,_PK'=?8]>)N%&@" #9.'L\*TQGBM">QSQSJR'+&J/)T>PK$"_ M9U4[;<#D\2#,C0N.3#_KH)/PW8D;DE+@X G8.SE%!GSW3*-NI0@=QN(6XOK4IMG/2PGW M[Z,)9PWR#U<;*M@\YER( MCN8UY57AW)&(%F\-!5&Q(2]?KSF-$&Z+=$>F:TZT2.) Y U.'D@S+\B(*YP627(K"!N22S@EAI6G^]M$JJ7UK]GHB1Z[))<-I-/QQ46MM[6<3L [!I\!0-;!]NVPY7P8V&2 Y#^*C M2W3Q_R7Y/T3IJF&A)'$'M[AA30]_2@#2QXU2\)=RU",UND6Y.&JP4%5GO!MO M-H^2=^$>D4^'4R'#PRE) %&.'F%<7@ M#PY?[_S_19MS_H1-HR42IK#Y,5+CX=I:];.\_P!_VW7P@+U_R06JP0^MLK620J>8-_6$''>*@8QGSFYJ!]ZSK#A7$+Y_)R_;AKXCZ MNZKH;)U69'SJ %Q(!,PSS9WN ]G1&L.<_*'RX*M3,TAX3 M ,>IZ=T0(11%W$'ME(-FDJ9MLSLI%!(>H]982(-8[]DX4>LH^8CN-<:G5DAO M+'@PZ562+A5QQ/8H.H\8P4-V0WLL8QF*1(L*@H,(3J7'7NWN\U"B&ZU%G'Q] MARFT>]8>-25A%Q0Y269Y#3R)QBF'4E!8DZLI4JYG/57Z( ?_8T%U T$DV.T= M@PI7( Q@B#;SG]BG%'<&%8T.W%A"<13=N"D#RS,5A3+J$&-X2MFQH,5 M+F^)+_NMH:<,9+Z.(K[T( I8U(SG1A&,:N(H/FP$73 M'6>*)_8I/A=UYR$KM;%R+C?.[0ODTF>.LNP(F&_I)@%A9._;C3CBZ2P="%5[ M*B#(8B;JE348AAL L!SB!3(&.ZYF?875)!:J.-:%49/*IA$J*T01?(0I"4+) MDB14&)7.=]RX$)MP..6 9$;*=$T1I[J>8<)GE/P#($BPFBU6.]",<)W%*!"*<3TX2++XPE&FK!(#T.[9$M) M+L_9-C:\R]&.A(H-4^?E"0@M+Z OZL.#!2].A@7ZM%QU!50B/XAX$C)%$';L MHBE7GFV3)"K";92(YA- ^%PX35C-]Y&1K=-T<_W%5Z,0.V^S[J;#+6S'<7*^ M/V;4-5G!LR5H8KJ+,LCEQCE&Z*SG&6H!GGW1*L!NHS4A(WR+0WV4E;]'VGK$ MP?4%A>/ABK^?JBHCYL&C7Q/Y7<$^2R[:."4X$ M[%X4 0=/4#T"+!,T'A;DUKU*\N<][Q*!4V$+V$!BDP59[]@)R'=/ 99*/ EB M;\=$+"IPLH6<./92G2(RO?8B^:OL:N:2N.EN2.+/D.-MJ#7C.S5VQN MV=I!%+5@?6]-/$H^2! MC*':90Q+8+O[R!Z]]Y)&U'()#,LY4RM3*!YK.2#< MBS-3.* 4^-\@&"AO)+G(SHM;3%:5"Q8P*"V ,#8D7KQS)6-Q(X5:&Q]/*ZH9 M<=0"M1GK#K+J.52 6VC"%JL(#A)XP:S4,?8L!QD&TLR3";:EG .C9!< B)R=B< M%"T=;H;/RJ4?UX"Z*<#G< RPP^BOEG ]5K%8:,2'21,TW?.&\F$^'%UKQT$, M'PB JZ/A%_E53JE>5)&*D\E)0)TC!OJY1%:B?;9]]JC>5V+%;TXV2"Q#S/(MD>_TI)51(WDY4 M:&%Z%1:51H3Y-WS) 3X*UU.M X<_B9ZV*S1LKC-*N!$^5C4&E#BW);R^0S(: M3366]VCBLC0DXP=[",3.D0J^VE6"V=/+H]9X5Z-#$R&Y;)&;3X8N,;5)Q>.L MZ6K@^BRD:-^\98O]:LD)V[H_PG@0K]W*HE,1,6/?$Y5W0S+5*,Z\(GMLLRYP M+8FBAEVGS%9"P7["<.\'1$!1".$82] ZB^6&0%\SP?7+.IPZ4L*!RH4]K=6W MJ0\ZEYB:7=G!<@>T*)AJZ&L,J)2@>#,\T/;><"MQTH//;$^,BH"/[ [9T=*;80WG# N(1 ZRHV7DMNAM.YBXAGT0>:J/V*'\3R= M=35$-P[(KG['"R8GT):CI?NTE, M#G#$DL6RX8!=Z%K8(B:R7KWW(=$464#4A)<24@O:OT:I%SRE,Y>JP#/@JH+7 MN$+JAJMH@OBP5J0NL9N).L@D[U1VX[HD@(E5N'_J;F/H,,Z$ T[BD_2 DVU# MYQ:U6+4'3S1798B9R$X1GU[(/2D!I2VFQ8*5N+-PN]; M J!;F>L\9;3V?T?259;&*$UV3\(32RO(+-U)="80PU-KRTEA^!]/"O2+(]OA MB2@*3TARPF'G7NR)L' ?SF^(84,_HS/C#M-UR=6VB"J.3H,=L,36RPWKT7[K MC#*.H^3\<8GD:EM9)DTW0I-/@H(3A4BD??D+B\WM#,GV+JQ[7*'HN=,%VWS( M"0(K:Q+U9'\DTRR1)=.;@492C]Q>:A,8]EFI/, ?B:JU:HY= ML)0.1#-NGA.@SG88C/#Y-L3Q<.N@J[;[Q'6?O=&\;YLB.>_4G?KLAHEK](!2 M6N&7O,[8AO6%_90!8'KQQ?>=F45'F.2'<7IP?$SH_F%\=H8#L==?BBT!?5FM MYA0R#')I]*.KTL-23(JI!U5:\-([,%>6' '@QG):!/Y![5ED#U/9*]% %/IR M GO73KP*"<2'R+>H22/H9K#;II<':<"W((Z'6P=OI GBAIEI5P_JM\_2"7;6 M%/BQ+1=>"+DX/!;AD']G=95M^HU-&L?TD@1Q31S@!E5@VNSGY3YU):U9#=@8 MI.3T)-?AB\)(18G?*%X[6HQ&.I E,\-"Q>5GV.:G,*8D@KF$B'H#:"2M+M3K M@Y<^M8>U*O O@RJ+TCWHG,QU[<*XO(G*98><9I&-,U1VSQY$F_Q";-4A1*K" M+>FJ%W+3%VB04:X%FRK4[O+5BBT,<.,!L[6/X3K(8B_ES+H1U#I'ZI/[X317 M!:[8IPTJ]/2JX= 0B&#-M:L2">"$H:@*@B+?-#.Z M&T'B2:H\9;Z:$2CGX& Q41(N1409.HXQ,:(LKB45$0:[P_;'@-:)]GSMJ3 [ MN4#HAL%I[SDZX0""2;;:QJ&92C>>/%+K-6U2VXN1VL:LRFJOFKQM/"N(4!:N MQ!]! U3MN3;VX51A*DOUIE.%S!1?:[" ;%4ZF!*Z (&JL7-W5JA\:3K%QBA6 MJ7+397NMQ1Z7(3-"G;L?F.,<8. X$,X3[8#7C''$;0]&.FFP2,<=87NH2X7Z MEVB\D%, 5W>* ) 8*D.YFAVTY%;V#3EZ_IL@))K2*R,X3UQUAEU(E.&JUM, MG0"K:KG4@;T0NQNB1.-"!2!FJ@*4YZ4DC@D*R+WVQ@EL1"BHF@!3BU.\MX+K MU#W*:J?:R '%BD-&ODWSQGOIG]XUV'6GV]ZM98S=-Q?$*K'C-N"@6M]A$.O> MAI](/UN1*#VFIHER8?W;=CDV$ID29K2D=Z>,%]S2FAMH%L*G<@<$>W$.X+4" M'B998N\OBDV9PSZGR;?D/0LZ+"?(#1>14B,0IO&6JZ+:(/ZXWB!H =]1["5M MTRRQA.JMHK&!*A_T5F1^)0,L3)0/;\#%*1;EK(E][!1T;K MJ8KK*^T+,G!>(UPZ$,F:MFBH%I+#JSQ(5HJZX^DS3&=2SA#IQM'KCGKG?Y,> MAVPWWS8\'N[Z_22D\COIFZ;WXHAOG"),$ W7>#N#@-PI=V/"VDX4%#M3$;^> MDY3+2PEN67.A%7I;2A!4> MTM5ON4$_).-T>[_FIR>/&^!>'M% MQ[=.DESV,84XZ6'71[)J:Z!9:E^-&CSVK4*F[@_FX]2)=OL\]E'Y5RZ0W#Y=?WK\ WN8"F_A M20+1&&X6R&ZZ-E>73W<00 M%=KWX74(=Q/?%SMYI*,UV-00AKYCFB1\Z"T=9^_E+@)!(7)7YW^^#:?02[5- M]L#'#KZ$@64EA1W /*JH%O;FK(S*.M>!B8^*'4NN?SA)QT?':?+#47HZ'G. M[C =3PXZ<48\B/F49+R&W<3?DUGN.KGOQWVWK37R[X62X8? FI.-WGHY[ M:>G[IDIN=O%*!-W'ZJ+=E1C_!:!//E<-5\D.: 1'JR^/CX!63].#LQ.FU9/T MZ.0OH=4A$O ->9/A/KIW>MHD5\:T9'NAKNV7)(.S]-]WT#.UM .Y>R:M,7^% M,2],6A&.)J^3*U?VC%BQ/X_82QLZN.\KF0RWA]R27K@@O7 9Z(7>TW_?5%LQ M9HS51*YT6,N.]1RALL*K1,GY5>56L51/,PZ^W75E**B'X]G-MG7=1/6PD%TB M*#;>*A9-=]5X]$]&X0N^YM 'NUR U=ZL1'MR)4UX9Z_>OU1U4;G;7ZB4:V>0 MGGT'T]AY>\#V>&D_74EEL(PTCC=T($INFUL9$#77.3'6W)AKT%AX*OS)\-E M].\T716'695>-A@+4DPJQRU3/TW&_4WO4BF72@AO+8H:@". MR;3KNL?<&VX*DY>J+JEK-R9GAXJD+25HIX.A'&_A2H((SC[?3Q!G^%3S.1W9 M-C?1U27(0Z/D4A[-\*X%<..296OX D&78,*\)B4<..3CMM!_G1-'2%V7AX3Y MNI2ANANE:/;3@!9?0"@W*.*\?.+@ZK\& Y?L&$31PN529QCQI_L+J&6"<=!7 MIDNU%#A=J[<7 !7J#8+D&3:9#+6H!L"C%E2J#< @E[M^D&Z40F1Q$CD&2=Q[ MJG@[&;4 I[ XK.XRE,%*@&SB%))6Y+^GO@DOXW)MVT9'T[A33#7:6]3"-N6[ M&%W-H5RKH*-[C.1&5=F6]+L%.W'W4Y*8QK7N:2EWDGF.F3R,]#+6/(266C>6 M!ZCP32P3U1U#YWEV/X (RRQ!V72P1Z)-QK.GZAA;0>7MX#U+$U^S,1DNN+A! M_=3:D,5N(W!PEG[YWS-U$C]C#DIDC/"WMZRB1;?AA" MOB_6F R765QQ+?5G[.GLQ?K3AW=SI%SU0G:*NP\.*[E=L?8ND)T>'= MW'YF MO.+"9L34PU!#5,=;/6(J9ZKO?>\^I]KWZ.+/'0)8I(UWZ0@#\[<-NX9@6C[RD< MP8]2NG*ZE/_BPNYJ2G>$4NN#2) M\TT$[KKPX )S]4 DS*X#WMQ)E3T8B/1JQXM47X+ D^&UC5(>:^Q1;#VXK3*7 M0D='B&P'@ATWQ3^FU;U4=<[%0B+-YONSDW MB1M_!N7--NB.\<]3?F-X7 M:HHAF<=-\Q_Q#G1P)F)1-R34?19W,IR"/0_N)^(VZ\LHE,4+]HK[OV+BSD-A MH;!J$U@BL"[1F_(WP[A. VYSHFIP\H=#:NDVWG0Z9*54-KAYV99\7HOZ#S?X M#,M_G_M]8@5;6$B4!E>C+L!=D8]YR"6&M$]6:OC)B9YJE!Y@8"5;?'$ UL \ M(;KK$W*31^YFKO NLU)RD;/>3/XW3H'W9I:&.YEM*:1J]U'4[9/'+K7MMH[ J"$5VP$DD*8@0Q! MA O@B;]#]JYZ%HS%3X??*U$2=.YG(CF>I\+@CQ5C/R$%X2Z5PVHD":#T?X?& M]TU8H7JGXON*:FDC]E<<8&6@X)EO6XZOHOM_P?QO%0"'/B"UV^1%S\C:&KL8 M%W_19897KT@@*V9^[!2M=V(ZN@3)+6>;*;I$L!]2Y?()!_B/TLA6IM;3@HU3 M#VD97TM>3?/MT]!GX&;V/!@OQ28=_)F"Y-$]AU/T M4^YS,L2\(K5!H*W.Y[*E1!NW^>)52A)V#Z\WWK(=PEX9<.2+EL71P.[\+5;H MT9#\Q"FWMM.SNDT09K@.Q=&<-^4ODXXVO^,>5PQ" AEO]CGU8-NP_NKRJN\O MM\+49O+1X\P7)QV>I2='X^#!<0K_"JN7)NG)R?C1O?S^!'CO4WYHYB^)/$V/ M#P_3L_&9?W22C@]>IF='OMYKOX1=OIPD[[VW:U%F-+ 9\?]?5\YVNYWK MZKYR>':2GIP>;#T':!T?;C^V.=>G02D3N@_@]')RD!Z=Q7":3-+#TUXX!9AV MS+(;/!<14@#CHX/#X,^#T?@D^A-P\ZZS0QHT>620_?,S7>M'R?NR\I@,,PQ] M7+K90>U(VT-R]M#7_!P.%^O@#G]\(4S?AC=\CVM1VV(+&A)^- MW(K2.!6.4[J[L6TNDJ0T?E,AMX&%N<[:2R]S66R=+3)F]:>S=- :(5 MKY8)/L[A/I/@OMS ,10./W:GYXIG0Y_6>J13,+;I,C\_C/OA97IZ?"J]BP?I M^*C369A2]E!@$:?1[&F"ULC@ P0(K1UI-TJ*86L/?Y?@6VA@E-Q2#XUD!>ER M'*G\MI<64I-PH+1=(PF9/KG9%7_QC6-T2Q[WEN0U70T/P_G*Y1H5MXUR-LE" M5XM:KUK "Z@H*\,# M?9#5/'J$^-L7KKW/U:(AJ87?E_H4?8.M5VC^ M>U,F_ ) _QR_X@_M&<_(Y;VE5X0K44, M%=X$0-Y_[\=(TL!;)HS$'.:OI> X?;[4_M);*]6H&3#\Q$O+']$+$M9A\)@" MPO8SE)QJX"]'ZVB1: CKML>.0T+K(]X[CB(34/IRF]24:RSTWV4+[QQGW,;? M)N0\G2<2ZM_<]1%&SA M*#H!0M%@KR4GFZ:^Q8*:X9RFPTH<5'"=-*LP%=W9 M9K\:B33TBRI;E"*B'^5+'\&'-&D$;CB^3,%W#=C2H_*)7XFT-U,5MH(%X/P; MU8'"!@X$R&Y@[S?N+BKQ^"[)\A$ADW[J84R<5S\!#@DS&, M[!9OKS_<^&_U7B.@-D%Q*WZS=\G$C[ G/U!(V-_F*?="=JJ^P@MO,<'IOQ$9 M?,V5PCB_7EU\,]Q:00-M6\.I_LO8"1_O6W;U9@O8 ( M6* 55.@Y##T8G1[O\2W0]H^F6N&4R;1JP'RB?V)?D*[Q!?A]7H$C)7_@ MC$ M2-M[^W]02P,$% @ ^X-L6$UBZZ'\ P >@L !D !X;"]W;W)K&ULK59M;]HZ%/XK5G8UK5)&$@?2M .D0ML-Z9:AT=WI M?G23 [&:Q,QV2OOO[[&3!F@IXT[[$OLXY^4Y;_;IKX6\5QF )H]%7JJ!DVF] M.O<\E610,-41*RCQST+(@FDDY=)3*PDLM4)%[E'?C[R"\=(9]NW93 [[HM(Y M+V$FB:J*@LFG$>1B/7 "Y_G@&U]FVAQXP_Z*+6$.^OMJ)I'R6BTI+Z!47)1$ MPF+@7 3GH\CP6X9_.*S5UIX83^Z$N#?$)!TXO@$$.23::&"X/, 8\MPH0A@_ M&YU.:]((;N^?M5];W]&7.Z9@+/(?/-79P(D=DL*"5;G^)M9?H/&G9_0E(E?V M2]8-K^^0I%):%(TP(BAX6:_LL8G#,0*T$: 6=VW(HKQDF@W[4JR)--RHS6RL MJU8:P?'2)&6N)?[E**>'\\GGZ>1Z,KZ8WI*+\?CK]^GM9/J9S+[^/1E/KN;D MPRV[RT&=]#V-UHR,ES2:1[5F^H;F@)(;4>I,D:LRA717@8N('M1X M"4F'A(%+J$_# _K"UO?0Z@M_S_=]+M<*N_L5F@8Z5RN6P,#!#E$@'\ 9OG\7 M1/ZG W"[+=SN(>W#>=TW1"S(2F)72OU$6)D2^%GQ%?:)W@?XL,KW[V+JAY_( M6^NHXGG*RZ6RAGB!=A_ F%*D1[0@X1EY B85N:YDR74EP3(N^*/9JU8/-VW, M>\?&/,E8N42?>$ETAI"31%:0$H0L6:DYJ'WA/ZS]5^'_O^N_Z#T!TVT$>P6* M.XRQZ9;#+^(8ZCDPU%3^,3,L/JX?8VQ\<$+[<=><7RK8)!$Q'=X$9S>(D< M#3?"4GL!_T M1&TM1$?7 LN3*F?V74%R;>]^1,4>0.)31A16-GJ#CZ#2K &. M95OB(\O+1!1@O*ZY]E7-81Q_NFI^OXKP$Y#IQJE-S,/8C;K!UD'/Q=UV4J@; M1<$OL?PX(K(?S;/,D\U5<.KVPM"-@WAS%+F!?^;&W4T9T]CMG2'*,TJN%@N< M$4PB4YY79DH@"K \N>GJ\S\6U[D6R?U',T*@.UB_J7K%$L:1&YWZK\XQ6KWP M];%9 WILE*QSR+05IS/JN]UX-TZ4NN'IWCA-]Y3OV^$9[20%,][QPRW2[P31 M#HFYN7R!T K1PT+[&MO;FH<*D$L[]2F2B*K4]6C4GK:#Y44]3VW8ZZGTADF\ M*17)88&B?N<4;W193WHUH<7*3E=W0N.L9K<9#L<@#0/^7PBAGPECH!VWA_\! M4$L#!!0 ( /N#;%BA0=XLPP, /8, 9 >&PO=V]R:W-H965T_%,7W)Q>O=9AK6M MJ4!4$G9RO[X28)+8#G:OUP_WQ2!I]^'99??Q,MH(^5FM #2ZSWFAQLY*Z_+< M=56Z@IRJ,U%"84X60N94FZ5V0CF0OQV2ZFV=CQ+"'@D&J+0,UE#5? N04R-+ZT MF$[W2.OX]'Z+_EL=NXEE3A5<"?XWR_1J["0.RF!!*ZYOQ>8/:..)+%XJN*I_ MT::U]1R45DJ+O'4V#')6-%=ZW^;A% ?2.I":=_.@FN4UU70RDF*#I+4V:/:F M#K7V-N1885_*3$MSRHR?GEQ<_?EI.IO>33]^F*&?[NB<@_IYY&H#;0W]%H5<*_5IDD#T'< VGCAC9$KLDO8C7D)ZAP,>(>"3HP0NZ0(,: M+WP![Y9F5!X*K-?-]L2Y*FD*8\<4O0*Y!F?RYI4_\-[VD H[4F&-'IR0_4/< MPA_ +>JX1;T)FS5MBL0"::$I1V4ETY5I %1*E@)*A>G,#"1MNJO(S#YP9FK4 M>BTHDVA->06(YJ(JM#(MG(IEP?Z!#!DQ050I,+LT_5(Q:?8L F=TSCC3#)0] MK_+=4FK2TD_\S:N$>,%;=.QZ5T?U+ R,"J.#KY$_Q,$@.HIPD:9=:,#6MGFZ ML]>(X"",T;180Z&%M"'M^OLXB4-T(Z&D+$-P;Y16'3 ;) 1]U"N01A"D-&C; MW.T9&LXWT@BVU ]U/L'DMLRMQZYI@+TH,.0T+9;,\GX!TO>PT7?TNQ#9AG&^ M=QYCW_/;5.Z^T5U;$N$A(8]9*^G#LY0]IL4G'KJ&!4@+H^G]L\+8@\5Q$EM4 M64%VQ-+W!NB=*):_:)"Y4>_Y?F:B,&SC.5"-^RG'412C#Z!?C'Y;33TM.>A: MK&4N[W6ZHOVAFV4?SYHO@/95+5BC$86%^K](2*Z).Q0JY.MS'Y+(G"J6!/--/ER#OW M(,.^@0=IK;2HVF##H**\V#K]]G![OX"[V71V M_3B>?)V=P.WL'H[NR9*A.A[ZVEQCG?VTA9PTD.$?('LAW BN2P4SGF'V.X!O M^'4DPPW)2;@7\0K34XAZ)Q &8;0'+^J2CAQ>],ZD=^7:(,6[D6S+7*@527'D MF9Y0*%_02PX/>H/@<@_/N.,9[T-/%J8%LYHAB-PT0"IX2ADEKIJ-19<(:4EX M@0JHL=02"#--1GB*8-H5,E$O=5XS4_JIJ+E6N_+;S^#PX#P,HDOX7_MW)!+0 ME@681\5JB=(][.;RF4R-HL7*38.ET&:V.+$T MPQRE=3#GN1!ZH]@+NM]#\@M02P,$% @ ^X-L6)1@&ULS59M;]LX#/XK@G<8-L"(9?FU M71)@;7-W^;"V:-H=[J-B,[8P69".93K[M7\ZG<&IL_<&GQGL]6B-7"9K*;\X85G/ NP( 8?* M. 1JIZ]P#9P[($OCOP-F,(1TCN/U$?U/G[O-94TU7$O^#ZM-.PO* -6PH3MN M'N3^;SCDDSF\2G+M1[3O;?,T0-5.&]D=G"V#CHE^IM\.YS!R*/%W',C!@7C> M?2#/\H8:.I\JN4?*65LTM_"I>F]+C@EW*2NC["ZS?F;^L/B\N'U:H(?%]=U? MM\O'Y=TM>O=(UQST^VED; 1G%U4'M*L>C7P'+2;HDQ2FU6@A:JA? D26VL"/ M'/E=D;.(-U!-4!*'B&"2G,%+AGP3CY?\>+ZOI=F#I*^#N(=RJ;>T@EE@7X(& M]16"^=LW<8X_G*&8#A33<^CS5?\^D-R@FFG:- H:ZDO8:H1]IYK:VT'K9U2U M5 C@B(H:-2 ;1;?M\VOIG _XV +:2&[?)Q,-,O[RQZ'A!Z)>HK=O2H*3#[]L M_A>H0N#*"MFB@&X-RA?&<=\5B!N(&V+T-%E-D#:.O2/*944MY09$Q6P:[^C[ MP?$/1$H2)G$YUF0XS$L\UMA8^")#U[+K0%7,HATW4Q*F.#^)69ADQ2 F:5CF MN.>S@1K4F,?1*"O"-#WY9'$8Y]D)L0BS(D-+84 )7PJCZ!=%B+,3]QCG87:1 MC&3KC!-T9UI[8 .I,,$GFS3$*1FD/"19AFZ'*S^=06K/*4O(6&.)ETDQUI B M).6)CSOII:CXKK90E'-TP[11;+WS%?TRPN]2.H(9:[IRQ3-./RFS,"W2L<9> M%$E?:.*+L"A_\JY^\NQ?^P9%HQ9AZ[?QC5"C2NZ$Z;O%H!UZ[<>^Q9S,^T;] MB:J&"8TX;*PKGA19@%3?_'K!R*UO.&MI;/ORR];^+X!R!G9_(Z4Y"B[ \ &ULW59M3]LP$/XKIS AD!!Y:0M=:2,5*!H21:@%]ME-+HV% M$V>VV\*_WSEI0P>E&V-?V)?XSKY[_)S/%U]W(=6#3A$-/&8BUSTG-:;HN*Z. M4LR8/I0%YK222)4Q0ZJ:NKI0R.+2*1-NX'E';L9X[H3=*- MS[*,J:=3%'+1XX+O2:#C60BY8-5+N.>XUE"*# R%H'1,,2?&=QR;M.6T'8DS83)B17'S#93PMBQ=)H5R-[7)[#FD/;>\,A6#H$)>]JHY+E.3,L["JY &6M"1GPHO^Y0CN^U=W Q@.^N.[T6 XN+X=P]XMFPC4^UW7T"[6 MUHV6B*<58O &HA_ 4.8FU3#(8XQ_!7")7LTQ6'$\#;8BGF-T" W_ (O:&S! M:]0Q-TJ\QOMBWA1J!=3<#&0+IJ,+%F'/H8K0J.;HA+L[_I%WLH5FLZ;9W(8> MCJLZ 9D TQJ-!I;'(#B;<,$-1PT9,CU3& ,SD#"N8,[$#,%>=BJ8:*84SZ?V MTG*]*;CMV_<_O"?1MN0I?9A-4-4I+#%)"""25-W:$!K9F10AD8)^$X30@=V= M=N U3OZ[\?5QO+42O/(]8TH]V?-=35S8#-R7&7B/33^3L]S4ZA7.48#_0@]> MZ(V_=BMOTLID;I#(SH)A!T M6P-ZU)-'W]FNC+W!TT/)::[J5_.#D71;M M@Z_MCUE\]O'JN>8_?RW^X^ S5M&QC-/T^J1RK MM[Z>K3NE?M4@/)M7;=:0J2G/-0A,R-4[/&XYH*K6I5*,+,IV82(--1^EF%*W MA\H:T'HBZ>"6BMV@[A_#GU!+ P04 " #[@VQ8\+FQU)P" #C!0 &0 M 'AL+W=OL=*HV*27!"22T M$*GTA]J'=A5T[;-)#K#JV)EMH-M?OW,"*9,H>]A+XCO?]]UWN=P--TJ_F26 M)>^ED&;D+:VMSH/ Y$LHF>FH"B3>S)4NF453+P)3:6!%#2I%0,.P'Y2,2R\; MUKXGG0W5R@HNX4D3LRI+IG^-0:C-R.MZ.\>$+Y;6.8)L6+$%3,'^J)XT6D'+ M4O 2I.%*$@WSD7?9/1_'+KX.>.&P,7MGXBJ9*?7FC/MBY(5.$ C(K6-@^%K# M%0CAB%#&SRVGUZ9TP/WSCOVVKAUKF3$#5TJ\\L(N1U[JD0+F;"7L1&WN8%M/ MS_'E2ICZ239-;((9\Y6QJMR"T2ZY;-[L??L=]@!I^ F ;@&TUMTDJE5>,\NR MH58;HETTLKE#76J-1G%1!2;LTY$864/Q-$*"D5A?=Z1K3HXS7D'=(U/4)#6ET MA"]JZXQJONC?=1XJKP''A\%N,,Y-Q7(8>?CG&]!K\++3DVX_O#@B+6ZEQ?*6*(TD3BL.(&"_W8-(VLF5G"H MJN-Y3T]2&D87Y'_?V"HH9ZC0M6OG=&US#TINN>3X?Q9DH51AVH O+KR?Q'L. MVO-IF))7'.,S+L\JK7(P'XC4CY.HM1(_[O?)A&UP&BQHSH0A3!:X7:I*N.^W M"XQ#/Z6#UHP2OS<8D&=EF=C+G8;^(.GO.9+0IY@NZ>Q\ASH=[ U>"7I1KQ># M?5I)V\Q@ZVTWV&4SN!_AS?I[8'K!I2$"Y@@-.TG/([I9*8UA556/\4Q97 KU M<8E;&+0+P/NY4G9GN 3M7L_^ %!+ P04 " #[@VQ8999]K! # "!P M&0 'AL+W=O,NYTZW5^K8Q5!,MYR[;P".9K MNU8H!0-*P1L0FDM!%)0+[SJZ6E%K[PS^Y+#31WMB,]E(^X^P#Z?U.+ELM;N2W:];4(]DG?:R&;OC P:+OJ5O>SK<.20A;]QB/<.L>/= M!W(L;YEAR[F2.Z*L-:+9C4O5>2,Y+NRE/!J%IQS]S'+]\,?Z[N'I;W+]^9;< M??GZ<7U_]_F)O'UBFQKTQ3PP&,2:!OD><-4#QK\!C&)R+X6I-+D3!10_ P3( M;J 8'RBNXK.(MY!?DB3R21S&R1F\9$@Y<7C)?TKY5*8]#CV-8]OE2K5"DQI*= TOIZE'5#]Q>\'(UDVYC30X,]VVPD<*E#7 \U)*&PO=V]R:W-H965T MX^.KN[11PY74GW5"P!#?A1YJ8\& M"V.6!Z.13A=0<+TOEU!BSTRJ@ANLJOE(+Q7PK'8J\A%U738JN"@'X\.Z[5J- M#V5E#B7=PS*Q];?"'@)7N?!,[DSLIO]K*178T<"TAR"$U%H%C\1U. M(,\M$-+XML8 MW9]-;,ISRNQSTWN'(X)#6<92NX8\;>+H#WJ/DHRS- M0I.S,H/L*< (N;:$Z0/A8]J+> KI/O$]AU"7^CUX?AL O\;S_T4 MLV[00VV MHUHI'>@E3^%H@%K1H+[#8/SNCSD$349*Y ME-E*Y/DVMOUX[][$U/7?DU]57BN95:DAIT(;)>ZJ6H]3:7A.CGG.RQ0<@NL* MQ1VHA[7UR%O"?(<%K(5Y2ZC#/&8[F$,9)3<\XPJ%_:T26M2@/X\<.9[K;>7E MT4V>C?7)/<^K GIQDU?A-M:XB^ >4:*JE8(RO2=&\5+GO-F=LC]1[+C;&=VZ M#>,XWGMVD,9J9QQI)WQ1["3,W8CG8SWVG#!BY"-P72FP;,@2E)#95GXM S_Q MG^?YU/K5P7@H@SAX\5#6=F=@_&Y@$L<-O?[ ,!;U2#=LI1N^5+JB-*A=@3LK MX5J#T=N$VX_VJX6[J]P=R]>67^IC$[)7.T[2M"HJ3)@7^$Z^@\(;QD;[N9)Z M,\,FA51&_,6W"O\*[TF?-=D_I8Q^@I M:!)>+\3RD0=F&W-8O0$.6>BPT-VS&>DZ2>01SR-32!>ES.7\OG7QF.-AS]#S MT"C9(X'C^93$9*IX!B4OX!'=0E,R#)T@H7O$0T.7!.1*EK^ELE@"SH3/%ECEX$>(E M+8]UM0/7G"T=5C1RPH0]917X3A#15R?>K]+0/V?ROX:V:2ATXB#J- Q#/(8I M7>=C1,-=6D+)T:36DN_66O*INTM+]H09!@X-,:,H9N$+M)1$J"3\>49'+I[5 MJ!GD'=D](+:\?=^A4?B?ZBB@;E='MMJK(X;J_HE5Z#HL:5GUG)&L/2/92\]( MT$84=7[R;D;!#WR4:B#X*"4[Y]YSJO:/_U+YH&@#.W_<>T-;>5P9'[?5Q#8] MWB&H$_G,-D6=IA!CB4WQ3TW3!> #>V8PO=NE%?]1Y'J)D MYO4C6)-45J5I7HIM:_O.GC3/RT?SYI'^D:NY*#7)88:N[GZ$]Q/5/'R;BI'+ M^K%Y)PWJL_Y< ":>L@;8/Y/2/%3L .V_#^._ 5!+ P04 " #[@VQ8>= ' M==<" #[!@ &0 'AL+W=O3',2J8S/;%/KO=TX@I"U%D_8E\9WO MGGONSCX/-TH_F0+ DFTII!EYA;6K\R P60$E,QVU HD["Z5+9E'4R\"L-+"\ M7G''EX5UBB = MKM@2[L$^KFXU2D&#DO,2I.%*$@V+D3>.SB>)LZ\,?G'8F-::N$SF2CTY89:/ MO- 1 @&9=0@,?\\P!2$<$-+XL\/TFI#.L;W>HW^O'EL,@_,"! M[AQHQ;L.5+&\9):E0ZTV1#MK1'.+*M7*&\EQZ9IR;S7NN'%"8I)0S$YA9[>U_>#J 6>V4RO(2>"LSD7W'(PQ]B>QCO[ M-*!A?$'^]X^M@'(.NFK'VTW7GK9 R7C'';8X0 R89OXU# MIDKGP>I;*W.R8B]:"4$LVQY")'Z/1JV(?D+#!H)+"]@8ZUS=66[LHKC?K/MQ M8[]A6C/IRGNP]'M1V))HG) IGFV-!KF&GW_6(KD=M+5BUJL;;7%GL0;4L\'4"[0QP?Z&4W0LN0//>I7\! M4$L#!!0 ( /N#;%A!$>SF+@0 .0+ 9 >&PO=V]R:W-H965T&'IK?2N 7)"RU(8 QO?.IM4? MJ16'ZR?K7XSOX,L62W+!RW]HIHJEE5@H(SO=.'+@YO4? [!=_@;@\R*"^QPJN%X FIU>;6^1Q_O\;8D\M/"46!2;SAII[YNU?T?J'L^NN%,%1)= ML8QDQP8T'O8&#L!1,.COG5:LW&M70K MG,D:IV1I0:U+(O;$6GUXYT7NYPE,LQ[3;,KZ:@.ME34E07R'4E[5F#W^(J&6 MMFH,Z;2M#^\2WPT^HY_]0]Q)M27"Q/[EILZ%_OAH4W"A?E5$5 ;OV2O1:R8; M@5E*$ 2NHDV%=I0!35G>RYP@W_:2^(CV/0]=-$(0IE -9^B6A?"8DTJ.62_L MN;;KNB_)$56N"G"GEPN"(ZR>_SH&)\CS[WY$]+_>#X\:. MT/3]:W_\Q ZCV0!H2_]U!#^8)_TZA*X;@Y[8\\@?K87NI^&=.0"?<\5+L&-85!LQ. -&>*) M[<0[QA/;LSB::*"P;Z!PNH':)T1G&>>Y(#E6NMXHE%D-P&K\".\&^ '[QR#' M^FOZJ+?V#W3'3/OHVKK2@ J')=KQHF>>E]C1/-;,>)!Z7S.2UU5CXCWBX(MD MS\.)X$9]<*,WWT[7#$)'I$)"1U@><"W'0CAM\&>OIJO=CIC'&UUJ%']RW>$0 MA?/*%/$7^@"%?:>W-J16W2WFFA?$0ZH0O,D+]'M3/B(_L(_3<(*2Q([#YXYW M3W7-ODGAC]\<>H@ZA:D#7-MA*M > MEXWA\T:@#20"G4/AD[8,* .,NGF9Y"7-C-86EZ:CS6PPFK5I+/_+P[+N0&W, MP'F>FFM(#INH>V?:VR_M;G4L)3FJ]L".PO"8]N:=TBMAWT["X9T>VD$4=<(E MQ5M:4D7)4&/F#Q^GK@O'\NL,)J^*B-S,EQ(9M]HAK.?V(^QY.[D]B[?S[PT6 M.642E60'JNYI#/>2:&?*EE"\-G/&PO=V]R:W-H965TWNS]WH9,[%@YPPIM!3FF3RM#-1:OJQ MVY7#"4NI-/F493 SXB*E"KIBW)53P6B4;TJ3KH6QUTUIG'5Z)_G8K>B=\)E* MXHS="B1G:4K%\QE+^/RT0SK+@;MX/%%ZH-L[F=(Q&S#U=7HKH-88$&YUV^N3C&?'UAGS%MYC-YRK9.4^^QY&:G':"#HK8B,X2=,,&:['!RN4N#LJE MO*"*]DX$GR.A5P.:?LA5S7>#<'&FW\I "9B-89_J#;['"\BS M+: $DL=,4S-9'H,HM8]#- M%^0KA;260IY9K8@7;&@BFQC(PI;=@F>72MLYGKU):<6'#\=G\#(C=,Y3\'!) MM8\TZ5H@.A_>$0]_:I'3*>5TVM![@R)4$!\A MJ45&?%JYF^1M1_SP+K"P_0G]W]KO>?3 ZU@.],=CP<94L?J2_B,30!@[ M8Z^O_YPI$0.M#,N1.Z;Y*\[&X TP">:=T:2&^?>,3089RA9T:%/$(W,R45S2)]&%4(/)NE]TPLO=NJG6I[ON$1@MXC MRS8=#UH]0ZRZGJ%IH3\%S5;-:(>N8;EV;:V%S8;13>U2TPKWD!@.=H\J/)#- M+7NDK@90Z(C%JZ(UJ=&D5NTUM%NPKI7O@;!NJ"U(S#" -C!L@FOK M-?:JJI M;S=PR_*- 'ME'PZQ3-]?[1LV=AL.<]$W)K5!0!?$GJ;PF8*.XN@1AO>N60L; MN24;N:W<<3L!W^(IZL^IB&03][3N?R57>J5TWMXXW7L#.?U23G]73J?:D*UD MW@[UR\GYI;?%SX+2SX)6Y[BBX@&2>OB@17&> M--R!DO"ATN(7QF]RN%;,5T9&6$H<[BV"PS>0D^ J9\;[B^$M6+^#N(@PP\/8 MP!A#"#BFY_[7&-X4F6\8P^LJM+G:2GE&VET-RO!H!MD(^-I(V_2VNF.&A"TUUQ &$8,$JKGF"7U8^"0 \CQ%KG6 M(T^ 8!*(VSH?6R8.#M!=+!^.1X(Q%(,S"IV8B:9 (*8;K@##TA0=+C+^];6N M"=^J,AKI(AI7WNU6+=LR[55J4[V M5ZN3MRC6256MDRWE^CYB]=?6[S\164[,[0&]J9[,\Q<_W!;F!!TCNRB%6^=V M#OKF.O9]D:\=YP\^WL8*$+W>0<.H[1X !K3>CJ1!3 ?7@6S;M*S=N<0VO:!) M&F+MRC# $0$([FE&;9@CR[E7DY!GVD[3J!>VQ5%59Y+V0O-N\+4Y-MZBOB15 M@4GV5V&2MR@Q255CDCT6F5NP?B>H>1OH LU9%FBU])00V\"A7]M6$-1Z@:G_ M-+*#[?7E(52VOG>TAO;BS)1XOH%]O_B?R,5-+M9=N4)(&61>^J)$HB&?9:JX M32A'R\N8?G$%42TO;G*@\AS'F40)&\%6;/H0MJ*X'"DZBD_S"XE[KA1/\\<) MHQ$3>@',CSA7RXX^H+RBZOT+4$L#!!0 ( /N#;%@NOT9#)08 /(4 9 M >&PO=V]R:W-H965TG,VFZEL3$CHUMEW2-CR4*(3X:X MS2]&KE&(%C331D(*EP=Z38O"" (U_FQECKHC#:-]OY/^JK8=;%FDBEZ+XC>6 MZ_7%*!ZAG"[3JM#OQ/97VMH3&'F9*%3]C[;M7G>$LDII4;;,H$')>'--/[=^ M.(6!M RDUKLYJ-;R9:K3^;D46R3-;I!F;FI3:VY0CG$3E'LMX2D#/CV_?7/] M]O4->G_Y^\T]&K]/%P55D_.9!M%FPRQKQ5PU8L@38C!!KP77:X5N>$[SH8 9 MZ-0I1G:*79&C$E_2;(H\["#B$N^(/*\SU*OE>2<8>LB^AML_S&U*XTQMTHQ> MC"#W%94/=#1__@R'[HLCNOF=;OXQZ?-[*+6\*B@22Y0)KD3!\E33'#&>B9*B MI12E>: 9KQA?(2A)F9JD5FA!H3#I;J-./U-UR+KCYS]_%A/7>X'^[>L?-)6( MF@1!$%Y:+JBL0_QXGPFY^2/F#Z,/T_NI;?-NVT_(3YS0]:R%T/&#P*)Q[!#? M0U# 4)[\D)#=U7,\.&I/$R?!\=YJXB?HMO%XZ_^-% ^L!BH@!]&PE E &O&M MA<3Q(EM[G#@X(4<2*N@2*C@YH9Y6[5"B')?[/T^4ZTI*RK6QKC?[[+MI]8KF MD#[%((!)F%@T<2*,+=K<8?("W6LHYVX=.[&U*[12(G&C+E?[%(RP9_%Z;I_@ M<4#0>Z%!IZPUO8]VQ^$[?M(+\)W0=RUQ49" CY<4V//:<>,%Y73)].1'N! [ M84(Z:DS\B:5HY/J//.<1:W/0[XV3?;^-B4-L>6/LN$%LT3%))JWW\IT##AAO M"<3N4%P<#=2-=L$X"0T@+B2VJ]]S@F"(98&'CX!!V(%!>#(82 IM)&,%JU'0 MK"AP<*6%_(*6;6QZ?9$TSM<"T>62UN-3O7((-XZK\%_APQ,XL ]#KZ)HG-/F;@*>&@87)@,8!DV'-AW[[U=-D_2V: =Q&- A7/M! M@G/]:8@"^'7E,.TAY7J=\I41AA[2HFK"GA8PBZ<\HQU V5?#Y4[[KK=#U2_& MZ28KP/R<:87&[A0*8!Q.K4H<^U.K*%XR2!Q@SDRCU%M*ZXJHRS3E>6=,EVH@ M$ SIE2>6&G<4AG!N%&&:E@IA,!B3:0\(@77_KIG1ZOJKX'BIX?VDZ0M"L7X" M,#:[TV 0 =L/;_4:4@L,)1/S[TTL#_5<-UUY=):0J,X:+YHFYN(;ZD@M1UTM M1R?7<@=:5L&F2E&(C'$NU/@""EVSPXW^^#G?JU!/[-Z#!M38\.W5\\942#/@ M00460C5^$'4(LU0:B!-RF\I\,$(Z81A9=.1X7H NLTQ6=.!$NX,&?:W!W!C@ M7;[9)UK]VT^L[:Z7(!)ZEY"7S+Q4@VH;!EV#?6V*,Q-*]X=A'%C^PFU"YOO^ MZN<).*^?+@*'>.1QESO !8-R0OIB,Y-H$*./3T!&VP#CB P:8AQ#?S5A.'I2 M!'TXM$D2N<,,L+S^[6EPRS4@'C,OLA8J.;%GZQHX40S=_R6%M[FL;8;69A=' M-J0YO@_T+T+D6U;TP\LX=@)L2XV<((01X>T@_N/ LZ>0B$1[4\;KB[.L0I]HQ MZQ P'3_X1T\0/49=T17CW$#+P"C+FL%TYR1Q:-'$<1.W:Z6 4DSD)PAZW(\ M.W9S;C/Q9P!J197IZHG7VC#<6QIC'S+HAN>GV@*Z!^2Q;8>2:&9]ARJI7-5? MVQ0@6L5U\TFJ6^T^Z%TVW['Z[I!'WK M! D1 !D !X;"]W;W)K&ULM5CK;]HZ%/]7 M+/90*Z60%P%:0&J[3IO4Z5:C=]/]:)(#L>;$S'9*^]_?8P<2WF5M]X7$)^?\ M?-['IC\7\I=* 31YS'BN!HU4Z]EYJZ7B%#*JFF(&.7Z9")E1C4LY;:F9!)I8 MH8RW?->-6AEE>6/8M[0[.>R+0G.6PYTDJL@R*I^N@(OYH.$UEH3O;)IJ0V@- M^S,ZA1'H?V=W$E>M"B5A&>2*B9Q(F P:E][Y563X+<,/!G.U\DZ,)6,A?IG% MUV30<(U"P"'6!H'BXP&N@7,#A&K\7F VJBV-X.K[$OVSM1UM&5,%UX+_9(E. M!XUN@R0PH077W\7\"RSL:1N\6'!E?\F\Y.T$#1(72HML(8P:9"POG_1QX8<5 M@:Z[1\!?"/A6[W(CJ^4GJNFP+\6<2,.-:.;%FFJE43F6FZ",M,2O#.7T\/;F M''=U[D7AS0*JRT"@^A#T=87DG!@8@)P1*35+-\2CA@AJE=NAY&^_BNZ[O! M!7GK)\8"LC%(&X\E\8IRFL= 1K9K7,:Q*'*MJL\F;.;')Y=*@5;G+][]GW6_ M$&KQ]I&74N])Y+3;X3?*>2RV?@>-UHBQHZO:A-[H6F M_ @,DP91+UI9=YU.T"7W*9!89#.1@\E:++\2"QYQT)ELDH#3)A82NQG1 GF5 M-ER*8H,D-$\(SA2LOZE#II"C3=P2:8+=F2EM;,1ILT!3A.5$VQUS)3A+J$94 MI?&1+;=?. 89+)#134)JYMX#H#BNH?FLUG.0IA#(1'"<,/165H'? M6^1$#=AV0E1H=1UT(JO$USSF18)Q4:F0NLS,LNDZ9)ZR.+7Q9WA"P4^,\M+S M.&- M#2]L*A=A_^B26U!80I=9F09@SVBY=0[+$1RP;6\*GO@]_Y3VK:(7(@Y%$5\NCH\YXJ9C-N!P":'%.5D@GV U2[O&25]QUN1\7^.!_>[J\< M &U'V:3XY-I8,*,LP<8F"?[&? MLBMC6RO7Q SDU%Z&%;%]M+PQ5M3JOGU97C-K]O*R_HW**<,#"X<)BKK-#G8= M65Z RX46,WOI' N-5UC[F@+%'F88\/M$"+U@ P =@L !D !X;"]W;W)K&UL MS5;;;MLX$/T50@V*&" B7G1-;0.Y;=N'%$&2[F(?:8FVB4JBEZ3K]N]W*#FJ MO';< $$7?9%$:N;PS,PA.>.--E_L4DJ'OM558R?!TKG5>1C:8BEK8<_T2C;P M9ZY-+1P,S2*T*R-%V3K55<@(2<):J":8CMNY.S,=Z[6K5"/O#++KNA;F^Z6L M]&82T.!IXEXMELY/A-/Q2BSD@W2?5W<&1F&/4JI:-E;I!ADYGP07]/PR\O:M MP9]*;NS@&_E(9EI_\8./Y20@GI"L9.$\@H#75WDEJ\H# 8U_MIA!OZ1W''X_ MH?_1Q@ZQS(255[KZ2Y5N.0FR )5R+M:5N]>;#W(;3^SQ"EW9]HDVG2V+ E2L MK=/UUAD8U*KIWN+;-@\#AXP\X\"V#JSEW2W4LKP63DS'1F^0\=: YC_:4%MO M(*<:7Y0'9^"O C\W?;AY?WOSZ1%=7SQ>H--',:ND'8U#!]#>("RV,)<=#'L& MAC)TJQNWM.BF*66Y"Q "IYX8>R)VR8XB7LOB#'&*$2.,'\'C?:"\Q>,O"/10 M?)UW=-C;;XUSNQ*%G 2@?2O-5QE,W[ZA"7EWA%O4 MTL',*238:&A""4Y:\NAB_0"'L M]U8(SV(<@8Q/4)YB2G:2#&E/7#B:$Z:1KC9&#_&RJ%OAK\URHE@8)DN5<*P23B M6X7D47=TL!0SV+0O40CEL+_WHTU2G$3Y087DG!U02)S@.,^>54@$!Q+940@< M?7FT0,%E1PK:FJO=A4XZ0I=+T2S7?@2L[2.$"FZ_*Z@=.K MMK.::0=]6ONYA,98&F\ _^=:NZ>!7Z!OM:?_ E!+ P04 " #[@VQ8K\.Q M!?\# !N#P &0 'AL+W=O&>T$>V!>#H*4TR-M*VG.?7NL["+:2879$<,O%F36B*N1C2 MCHT1Q"AF+288HK$?:Q+P.3$LZ*(N_8MBSHV92#6332#!D1)!!R"8'%WPY\2!*)).+XIP+5ZC6EX_'S ?VK(B_(K# # MGR1_QQ'?CC1/0Q&L<9'P'V3_'2I"CL0+2<+4+]J7MFY?0V'!.$DK9Q%!&F?E M/WZJA#ARL,XY6)6#]=K!.N/0JQQZ;W6P*P=;*5-243H$F./QD)(]HM):H,D' M):;R%O3C3.[[DE/Q-A9^?+R37S_[F%^/YM_0XN[/V?^[&:) MOJ!)%,5RBW""9EEYT.2&?0R XSAAGX8Z%W%(-#VLUIR6:UIGUC0M=$LROF7H M)HL@.@70!8&:A75@,;4Z$0,(KU#/_(PLP^JAAV6 /G[XA&(.:4MT_MNQK -6 M"TSP=ABS'>:$:J_>L)["[9W!G6->4$!DC>YRH&HO&,)9A*:8Q4S.+R@PR+AZ MU;8Y);[=CB_SS#7+<0@C+9= = ?:^/??3-?XHTW+2X(%%P([T=6N=;6[T,?S M(ET!E?JE."O6(A\5-,XV*$]PQAGZ>>XT34M85\'*++L;6^90WQV+U+GR>T6Z M$-B)2$XMDM,ITB0,22'ER/$S7B7P&:><)'9I4J8AEN522+8B7H@%[<[1R%A M[1O:;](;.':37M.N;WANDUX+GNV>I^?5]+Q.>KZ(7W[4&T(BAAA)HC8R7O,; M]DS/:(;IMUE:IC-H$O(:^V4YKC/PSE(:U)0&G90"R F+VW=ET%ATT'?Z31I- M.],P;:O)HC.47_S03..E.#$ZJ=ZD>4*> ="2D_!1W'BJ]/B);O%3G!:MZ;@; M\;W7VT71@DNAG:IY5.J9_W/I4"UP*7$OB19<"NU47.M%7.L_$DW&J:P:1#;E M0%.&-E14#J_+VTK';BP.&7H6^;CM$_>[?=^MVH702M7THT8D!;I1#1U#JF@H MJ_EZMFX:)ZI5>C4_E8,I.]!;332S.;0)K 6E<]442HV5S5PXXR56[ MLR)<-$_J<2L:8J#20+Q?$\(/ [E W6*/_P502P,$% @ ^X-L6/$ 7C+E M! [RP !D !X;"]W;W)K&ULM9IK;Z,X%(;_ MBL5*JUUIMP3GUG:32&WLZ43:7C2=[GYV$R>Q!C!C3--*^^/7)A2"1$V8G/F2 MB83'IL]:ZDBILVJ MVOAIHCA;Y451Z.->;^1'3,3>;))O>U"SB57!)\=@6Y"/^$7R7 M'BPC>RG/4GZS*XO5U.O9,^(A7VJ+8.;KA<]Y&%J2.8_O!=0KCVD+#Y??Z9_R MBS<7\\Q2/I?AOV*EMU/OW$,KOF99J+_(W6=>7-#0\I8R3/-/M-N/'0\\M,Q2 M+:.BV)Q!).+]-WLM&G%0$'Q4@(L"?&Q!ORCH'ULP* H&QQ8,BX+\TOW]M>>- M(TRSV43)'5)VM*'9A;S[>;7IEXCMC?*HE=DK3)V>/2YN[A:?%O.KNZ_H:CZ_ M?[K[NKB[00_W?R_F"_J(_D0/RMR52K\A%J\0_9Z)Q-PG&OU&N&8B3'\W0X3F MT<37YG0LU%\6A[[>'QI_<.C[I3Y#_> /A'NXWU ^/[X<-Y23X\N#AG+J+B=\ M^=')^T:"4@=N'>[-=?@E'OKZ:&0\(()(P"P6K2]$MI^B[Z["Z+ MGHT<F7F;D[7@Z;W#J"M(Z@SA/^P78,RG8, MG.VX%;&(L@C]AZXS$:YL-^P]*Z)$R1=NO:&Q,4YHUQL5$D8@810(5E-F6"HS M='I(LU,WB3&$% ,21B!A% A6$V-4BC%R_DR>4K[.0A2:OT&I]8[D4!SN$L?) M[2H.)(Q PJB[?4/TQIE*'4*,2R'&1_K5ITP9V\X4SS58BU>[W&A63F)7"2!A M!!)&@6 U6W# MK685]*H\UCO2KN8R2C)M_GENF5KM6&%;J5QKN]*8MYSHKFJ T@@HC4+1ZB(= MA.8 R+P*$)0DD#0"2J-0M+HD57X.G!GP! MS@SM+!!JB06FTI87]=ANK,G/@ M#LV5C=VRY=;L5,#T@@HC4+1ZI)4 MV3UPIM%3_ LTS8/2""B-MK3P"/^JTGO@SI^W[/5'GG*YJ9VU $WOH#0*1:OK M4X7Z8 SE8*!A'I1&0&D4BE:7I KT@3.BGN)@H!$?E$9 :;2EA?V+=@NK,GW@ M3J65A1W_X,N-[*P$:* 'I5$H6GVVKXKYN ?D7Q@TU(/2""B-0M'JDE2A'CL3 MZ@G^Y09WE@@TY(/2:$L+@UZK?^&#&7%W'*W\J_N3,#>ZLR*P$^.P,^,_8VH< M5SD?]Z%\##3<@]((*(U"T>J25.$>NR?H3_ QT+ /2B.@--K2PO;91UP%>^Q. MI96-=7@2YF9V5@(TTX/2*!2MKDZ5\_$(RK] HSTHC8#2*!2M+DD5[;%[POX$ M_P*-^J T DJC+2T\_]B__(-W1>VKP+=,;42&ULK55K;]HP M%/TK5E9MJ[0V+PBH@T@0V@YII:BTVV< M&%">V9[C!':.";7"@5F;\W# 2ID1"G..1)GGF+^-(6.;H>5:VX4'LDJE7K## M08%7L #Y5,RYFMD-2T)RH((PBC@LA];(O8IZ.MX$_""P$3MCI)T\,_:B)]-D M:#E:$&002\V U=\:(L@R3:1D_*HYK>9(#=P=;]EOC'?EY1D+B%CVDR0R'5I] M"R6PQ&4F']CF&]1^NIHO9IDPOVA3QSH6BDLA65Z#E8*4E0+31 QLJ<3I(^RX%C*NA'A'A+@>NF-4I@)= MTP22?0);N6JL>5MK8^\DXP3B2^2[7Y#G>'Z+H.COX=X).7Z3:=_P^4?XHA33 ME4J>2I-, 44L+S!]^R342SY,<%OV*O)..[G^UJ]$@6,86NIC%L#78(4?/[B! M\[7-^7\BV\M#I\E#YQ1[.(85H930U:'Q-P2OJC@):+-?<78-IZY,:_5@_,[ M7N_::@OJ!DW0GMQN([=[4FY4<@Y4H@(X80F*,TSRU@NJ:(*=PR_Z_>! 84N0 MU^NW*PP:A<%)A7/.UL1455745@G=*7"_P#N2^#SJ:SUZCMG=2 MK?JZ__7N>^^O-7"= ZDM0;L/I-)J[Q3*'/C*] ^!8E9261669K5I42-3F0_6 MQZIU59WF#TW5]^XP5^];H R6BM*Y["E)O.HEU42RPI3C9R95<3?#5+5?X#I M[2\9D]N)/J!IZ.%O4$L#!!0 ( /N#;%B[VX>[!@0 #@0 9 >&PO M=V]R:W-H965TQ"G;.-DGOWY\-A!#BH&C%EP+.S&/F^A V3O?(B3 M1YH0/C:V0NP>39-'6Y2&O$=WB,A?UI2EH9"/;&/R'4-AG#NEB0DMRS/3$!-C M,LK7GMED1#.18(*>&>!9FH;LOQE*Z&%LV,9QX0?>;(5:,">C7;A!*R1>=\], M/ID52HQ31#BF!#"T'AM3^S&P'>606_S$Z,!K]T"E\D;INWI8Q&/#4A&A!$5" M083RLD=SE"0*2<;Q;PEJ5.]4CO7[(_J7/'F9S%O(T9PFOW LMF/#-T",UF&6 MB!_T\#P*^<.A2#<(^8E +@ MVY A#J2(N A)C,D&R L@4J281#1%8(=8807N B1"G/!["?2Z"L#=IWOP"9A' M#$S *\&"?Y:+\OYE2S,NL?C(%#(W%:$9E7G,BCS@E3QL"+Y1(K8< MIB2E8@8>F9G!5L0 13W@V)\!M*"C"6A^NSO4N >WN]LMV3C5/CLYGG,%;YFE M2GO7O4;4+Q$E?_$M6C'ODNC-#8D$V( M([9'QN3//VS/^DM'8)=@04=@9^2Z%;EN&_ID>9+^74(YO]=15T#T75GT?6N=&P:61#3WO!'661+]*HM^JD!OJ7"N)?I>2Z!(LZ CL MC$VO8M-KE<0M7?.AJ$,=J06X5Q?+H.\XONTW]*(Q]&QKZ+MN0S.7AM#O#WUO M"/6R&52)#EIE\[1>RT\XH.NBEG::3(G #U5SQX0+)@^31'" /J(D MNSAMEXEU>E0LT>K%V>QF7;VP8,FLC53RY+S)1U,.(IH14@-Y7F'%F%H\"+K+![&UL?51M;]HP$/XK5E9-K=21$$@W ML212@4WE0U=&8/MLD@NQZMBI[9#NW\\OD#$)^!+?V?<\]YQSY[CCXE56 J] MUY3)Q*N4:B:^+_,*:BP'O &F3THN:JRT*W:^; 3@PH)JZH=!\.#7F# OC>W> M4J0Q;Q4E#)8"R;:NL?@S!/MP.GU*0WPU#ZR?[>UZUJV6,*,T]^D4%7B??%0 25NJ5KQ[@D.]42&+^=4 MVB_J7&P4>2AOI>+U :P5U(2Y%;\?[N$$$(87 .$!$%K=+I%5.<<*I['@'1(F M6K,9PY9JT5H<8>:G9$KH4Z)Q*GV<_=PLLL5Z\?(C0Y]0YOZ-MA:SEQ6ZG8/" MA,H[=(,(0^N*MQ*S0L:^TKD-@Y\?\DQ=GO!"GF&(GCE3E43?6 '%_P2^%MTK M#X_*I^%5QCGD S0:WJ,P"$.TR>;H]N;N"N^HOY&1Y1U=X%USA2G*N>Z[ @0V MO7./F!X/7J(81!1*#0T&GW5NX4;&.8HWMDVW7.FFMV:E7QD0)D"? MEYRKHV,2].]6^A=02P,$% @ ^X-L6!'@*@Y. P 3P\ !D !X;"]W M;W)K&ULM9==;YLP%(;_BL6JJ9/:$""D'TN0VK!I MG=0M:]KMVH638!7LU#9-]^]G&TI#1U&C>3>);?R^QWZP#CZ3#>-W(@.0Z+'( MJ9@ZF93K4]<5208%%@.V!JJ>+!DOL%1=OG+%F@-.C:C(77\X'+L%)M2))F9L MSJ,)*V5.*,PY$F518/[[''*VF3J>\S1P15:9U -N-%GC%2Q WJSG7/7X 9 MY+EV4NNXKTV=)J86;K>?W#^;S:O-W&(!,Y;_(JG,ILZQ@U)8XC*75VSS!>H- MA=HO8;DPOVA3S1V/'9240K*B%JL5%(16__BQ!K$E\$:O"/Q:X+\4O!8AJ 7! M6R.,:L'(D*FV8CC$6.)HPMD&<3U;N>F&@6G4:ON$ZO>^D%P])4HGH[/9CYN+ MQ<7UQ?=O"W2(%M7K5ZTKG&*.]F.0F.3B@QJY6<1H?^\#VD.$HNN,E0+35$Q< MJ9:AS=RD#CFK0OJOA/1\=,FHS 3Z1%-(VP:N6G^S"?]I$^=^K^-73 ?(\PZ0 M/_3]K@7URV-(!BBHY$&'/'Z[W._93="\DL#X!6]X)1VK.:_4HVZUSA.G8HT3 MF#HJ$0C@#^!$[]]YX^''+C(VS6)+9BUJHX;:J,\].DON2R*(3B:'''(L(44) M$U*HTYJ4G*MN6G)"5TAF@-; "4N[Z/9&V95N918:,YV!'R(UTYNX#]O4+$5L M40L;:F'O6;MF$N>*D\KC*7"LZ1T@JCXW;(D2+#*5EQ56!>^TBU5HDY5-L]B2 M68OIN&$Z[CV)KS'M(MCKM"M!FV;Q^*^C&X;A*&C.;@O-48/FJ!>-^:AT<>B5 M[LZF5KHQ?A, M5XNF@GFVJ4K-2\Q7A J4PU)9#@='BA>OJK>J(]G:U#.W3*KJR#0S5?$"UQ/4 M\R5C\JFC S0U=/0'4$L#!!0 ( /N#;%AZ4_!5- 4 '\A 9 >&PO M=V]R:W-H965T0SZ$IOI$N]D)^ MRS>,*?28Q&E^.=HHE;UUG#SIR=(7?!H04 66+KYSM\X-C5 SE08AOQ/ZF_+P>O!_- <[80\=\\ M4IO+T6R$(K:BVUC=BOWOK!Z05^B%(L[+OVA?MW5'*-SF2B1UL.Y!PM/JDS[6 M( X"\.1( *D#2#? /Q(PK@/&S\TPJ0,FSPWPZH!RZ$XU]A+Z4U-]R':?F5XN_OES?7=]??_YTA]Z@FZT,-YH[NI$\ M9&@A](R(F*154=,(O:=(5>H%X MBNXW8IOKH/S"4;JK14(GK+NUJ+I%CG0+$_11I&J3HR"-6&0*.'J,S4#)TT#? M$:OB'S0]0QB_1L0E9*A#]O E"\_0^'CX\OGAXX'PX/GAV )CW%1]7.J-C^C= M"T5CE#T5.RN+'?:*K9>>F.M)IU<0M"H*ORL+3Q.Q356NUXE0K%/^3[<^53FJ M'DR&>U"L?V_SC(;L1,]L7>'G"%3!D!B!F>OX>Q9.7\0 M(MKS.![B:HT\E:O7XSK#WM3OPI91DBQ):18 "1FE''6E'$&MFC/>K]A M?#[V/?.7OK#F.Y4SI%@ )&9P/F\XGULY7X5A,^,9W]&'F TAKD3\ \1D/.FL MI0MKIE,)0XH%0&(&8>RVYL&U,KY.=RQ50G(VM,=_5T,^W-CT#&/VR;6$L5I@TELL0"T?J%H I69";ET?MMN^)5LQO<6(D**/*.;T@<=<'=LW MS_I3>CKKFA)[PI-A@QH_*#43=FO]\$^]G]QJUC_C/&#^L.MW.8.Z/U"U $K- M?*32^C]B]W]_BG3]1C&9H(@]#.[E2-\">I.N [1G.94PJ%H I682;AT@L3O MZC9X,(^+6^(V&;X5D@$KZ'G==<.>\63:H%X02LVDW7I!8O>"GYAZSI:C5OG9 M_^7LR4XH&H=0JT,[! ^B$R77YY#]'Y;:B>A;=7&W>+K@JGZD[;?/JU82/ M5*YYFJ.8K72H>S;5E&7UM+\Z42(K'V<_"*5$4AYN&(V8+!KH[U="J*>3(D'S MSL7\7U!+ P04 " #[@VQ8^B[_F"8" #(! &0 'AL+W=O^Y[GG[#O'M52O.@!_P@T&M3];(5;*1\M49\VR$ R<(.*3&,5#[V\,4.'=$5L:OEA-W*1WP='UD M_^!KM[5LJ(:IY#]99O(1?H=1!EM:<;.4]2=HZWET?*GDVG]1W<0.AQBEE3:R M:,%60<%$\Z>']AQ. %%T 1"U@,CK;A)YE3-J:!(K62/EHBV;6_A2/=J*8\)= MRLHHN\LLSB3CZ??U?#5_F7_[ND(/:"X,%3NVX8#&6H/1UK>D&57H=@:&,J[O MT UB KWDLM)49#HFQLIP9"1M4TZ:E-&%E)^IZ*$PO$=1$$5HO9JAVYN[OVF( MK:(K)>I*B3SOX *OUWE.SE68Z_IG7=(41MBVM0:U!YR\?1,.@_=71/4[47W/ MWO^'\SVGK?\?M TZ;8.K!_91RJQFG-\C(<5#!EEE1\1=O9UU9.@!E94JI8:S M=]Q0/WIJ-_G[Y"D,PICL3P61D\9T,_Z%JAT3&G'86EC0>[)XUN:9D50, M %(/ 9 >&PO=V]R:W-H965TS509N84!Z%^&(Z M-_G2"\R.H(1,&PN*?T^P@K(T3KB/KZVIUZUIA(?M%_>/-G@,YI$J6(GR'Y;K M8NG-/9+#AM:E_BSV?T ;T-3X9:)4]I?LF[DSG)S52HNJ%>,.*L:;?_JM!7$@ M".,C@J@51*\%LR."N!7$KP63(X))*YA8,DTHED-*-4T64NR)-+/1S30L3*O& M\!DW[WVM)3YEJ-/)U>K3P\WZYO[FKS_7Y -9-Z\?6ZMG6M85D+?OF'7E#&"?WA:@5Y;E:^!HW8NS\K%UTU2P:'5DTC,BMX+I0Y'>>0]XW M\#&"+HSH)8SK:-3QECZ38/*>1$$4#>UG7)U"=D;BT,KC 7GZ\_)H))BX>R>Q M]8M_XIT,[.:Z44^&U2917*H=S6#I8290()_ 2W[])9P%OPV1<6F6.C+K49MT MU"9C[LE5]K5FBIEL\D%"237D)!-**SRL62TE=O-:,KXEN@"R \E$/D1W=)53 MZ39F4VMF4O!3@C/#A?]T2,W1BCUJTX[:=/2LW0M-2^2$B3P'20V]]X3C]T9L M2$95@8D9L2*\RR%64Y>L7)JECLQZ3&<=T]GH23S&=(C@J-.I!%V:I;,?CNYT M.IW$W=GMH3GOT)R/HFF_*D,D1H6GDG!IECHRZP&;=\#F_^E;,'=)S:59ZLBL M1^VBHW8Q>LSN0&; -5YS,>16\/'/R@V*I!; M6[0IC+_FNKFP=Z-=87AERZ%7XRM3,-HBYKM-4VW>4KEE7)$2-F@9G)TC+]D4 M<$U'BYTM:1Z%Q@+)-@LL>D&:"?A\(X1^Z9@%NC(Z^1=02P,$% @ ^X-L M6%3%#R.V!0 GR< !D !X;"]W;W)K&ULQ9I= M"8Q=#<7:;U-VKU60+:U!42%L)/]]2L^ A9@ M)9X],WN3 .8\$N\1TGEM7>X9_Y%M"1'H*8Z2[&JT%2*]&(^S8$MBG)VSE"3R MDS7C,1;RE&_&6*RO+;BBTN6BX@F9,51ELKGPE6ZVHK@P7ERF>$/NB?B6KK@\&S>4D,8DR2A+$"?KJ]&U>>%; M3A%0WO&=DGUV<(R*1WED[$=QC8RB1R0B@2@06/[;D26)HH(D^_&SAHZ: M-HO P^,7^J?RX>7#/.*,+%GT%PW%]FHT&Z&0K'$>B:]L_P>I'\@N> &+LO(O MVM?W&B,4Y)E@<1TL>Q#3I/J/GVHA#@+,R9$ JPZPN@'.D8!)'3#I!DR/!$SK M@.E; ^PZH'ST%GAQR=D>\>)N22L.2O7+:*D738J!TXC0@:,GDB @)QU52DQ!]PI2C[SC*B;Q[ M^2P/8H+>>T1@&F4?Y+5O]QYZ_^X#>H=H@AZV+,]D6'8Y%K*S19/CH.[8LNJ8 M=:1CIH7N6"*V&?*3D(0J8"R?LGE4Z^51;RPM\0X_(V/Z$5F&90WU1Q_MD> < M3LOIF/\-B0L),R#A/E ,"4%TR8%4QU]<4=PEG,B)UV!4L(I"Q$. M_Y9O?'%EZ(6YT?).34H%LTM8L9KL%F>3N1S8NT.Q(5OT@6"*V'8CMJT=[P], MX BE+[-;6LYN06]VDRU'5,ZR?N($B*&TJ$EG9H.2)CG]%X]V[:GG7?/ M!VI2T=EM=':U.O_.6+BG432DJS;R5%TKF',@Q*55 V_2A:*KD!Z;,_-_+E;H+4$F"I'F@ M-!^*IB;3:I-I@14M->IPK$\ MOJ8Q-WH#&=)A>J T'XJF"MPZ5E/KI!8K3E),0T2>4I)D1U2V>RI;MMW5&-1+ M@M)\*)JJ<6LG3;V?_"*VA*,@Y[PH;G"6D2,%C3,PFKLR@WI$4)H/15-E;MVD MJ;>3*\YDX2B>RZ*%_,QI6I2.@T+W#:%I3>>]>1G2A'J@-!^*IFK=^E53;UAO M$X&3#97+GFX\SP9\M]$;T:"F%)3F0]%4E5M?:FH]E_8+DCI4$=?MKWR@=A.4 MYD/1U)]I6L-IZ0UG53!7HQ?A0,X7?-C"U)Q#I:<3U^TN@/KF3I4:E.9#T52I M6Z-I:;U/6RVG^/E8J5PCU,5OUITL] V=+#*H 82BJ2*W!M#2&T"/K(FL,$(D M\!.**'ZD$15'ZN8:I0QIQ^ZN?_H&3Q8;U/]!T52Q6_]GO>K_>"ZU?DWGOO\S M;=?MZ@SJ_T!I/A1-U;GU?Y;>_U6E<\22S9D@/'Y5[[X?M&;=-5'?Y,ER@[I! M*)HJ=^L&+;T;K-;$ Y&+]3&/CZR+?5OHVO/>X ;UA: T'XJFJMWZ0DOO"S\3 M\:;ZH_]+WM"W=?K&3A8:U!E"T2JAQP<;D6+"-^4.L R5-4:U4:>YVNPRNR[W M5G6N+\T+K]HKUF*JK6MWF&]HDJ&(K"72.'>E^KS:#5:="):6VYT>F1 L+@^W M!(>$%S?(S]>,B9>3HH%F3][B7U!+ P04 " #[@VQ88[9YUB<" #+! M&0 'AL+W=OLK)I:J:U# MH!2Q)!(_M(V';JR4[=DD!['JV)GM$/CO9SLARB1 >]E+XCO?]]UW]IW#2LAW ME0%H=,@95Y&7:5V,,59)!CE1CZ( ;G:V0N9$&U/NL"HDD-2!9/>>#JP\2[@)X5*==;(5K(1XMT:BS3R?"L(&"3:,A#SV\,, M&+-$1L;OAM-K4UI@=WUB_^QJ-[5LB(*98+]HJK/(&WDHA2TIF7X5U5=HZGFR M?(E@RGU15<<.37!2*BWR!FP4Y)37?W)HSJ$#"'H7 $$#")SN.I%3.2>:Q*$4 M%9(VVK#9A2O5H8TXRNVEK+0TN]3@=#R9_5@O5HNWQ?=O*_2 %EP3OJ,;!FBB M%&AE?+,C864.Z'8.FE"F[M -HAR]9:)4A*_5&(]UU!N-.;=LQ?B-Q1KA"# MK8'YC\\&+^O1J0TM"M>N&Z%-\[ME9EX;D#; [&^%T"?#3D#[?L5_ %!+ P04 M " #[@VQ8U$@7$P<# !6"0 &0 'AL+W=O]9%V.A>W;%DI ,F"2<(0%IS^H[5U';Q.^+7T80O@!$< ;@EP]P'^$8!7 KRW OP2X.?.%*GD/D18X; K^!H) M$ZW93",W,T?K] DSRWZOA/Y*-$Z%_>'PY^/=PSV:C(:CZZ?^X&9T@>Y&#^@\ M H4)E5]0 SW>1^C\[ LZ0X2AASE?2LP2V;65%F!H[+B<;%!,YAZ9S''1+6=J M+M&()9#L$MA:>27?W<@?N"<9(X@OD>=<(+?I>C6"AF^'NS7PZ.UPYT0V7K48 M7L[G'5N,..9+IB2:0 QDA:<4+E"?ZE\3LQB0_LG14$!"%+KA4J)?$TXITMM_ MC47RNVXYBNG\^NG,B7(E%SB&GJ6/# EB!5;X^9,3-+_56?F19-$'D>W8[%\3;ARZE*EU0?1L4ZU%E:4+=R:G.FKL*OKM^U5]M.'<8$ M?FLW)CHI\9T&M"H#6B<-& N^(N;@KDNP@ ;;XH.]_ Y#?*>]EU_KP(.&T^E4 M03NZ@TIW<%+WLR *&CQ-:UF8":JK5/@/4$L#!!0 ( /N#;%C'RF45&P0 /X6 9 M>&PO=V]R:W-H965TF681;R CQ8AN(1=/5I1EA(LA6YO%E@%9EJ L-6W+\LV, M)+DQFY3W'MAL0G<\37)X8*C891EA+]>0TL/4P,;KC46RWG!YPYQ-MF0-C\"? MM@],C,R&99EDD!<)S1&#U=3X@J\B/): ,N)[ H?BZ!K)5)XI_2$'M\NI8"W!K@%LJ4Z52ZA 13F831@^(R6C!)B]*,4NT2#_)Y7M_ MY$P\302.SQ8WWV_NGF[0XF9^_]?=[3^W]W?H,[H3&ZX@*13H^07%&Y+GD"*2 M+]$:Z)J1[>8%?8R DR0M/HGPI\<(??SP:6)RL2+):\;U[-?5[/:)V;&-OM&< M;PITDR]AV24P12I-/O9K/M?V(&,$\0@Y^ ]D6[:C6-#\_7!; 8_>#\<#V3C- MVW%*/N?4VX$]Y#M "XCI.D^D4U0B5R2NFD1^.:Z*+8EA:HA/0P%L#\;L]]^P M;_VI$D@G6:2)K".>VXCG#K'/FDVLDJR">B54?AOW,S>T/4=\+JV)N3_60Q'I M!:$3]"(C1:0=V&%X'-G)Q&LR\08S>1H]CE#!"8?2A"F-B;#C&O(X46Z@1>V%%8214JG.2<]E);I>+A,O6>;X I,QG$7;P#=+)%NMBZFK7U, ZU M>$AK::R5+=+%UE6PK8[Q8/UXQD/C7E_ <:R^+^:*0-=R^RV)2!'HVY[B*#*/ M&H/B?YYUV6 M4$QW.:]Z:LW=IHG[I6Q=OKE_+9N[9<.QI:DZP]\(6R=Y@5)8 M"4IK%(A5L:K96@TXW9;MQV?*.&ULK5==;]HP%/TK5C9-K;0UWR1T$*EMV,9#/T37[ME-+A#5L9EMH/OW MLYTTA1)06^6%V,X]QS['ON9FL&;\47H%0&!3&H*K!XKN !"-)-:Q]^:U&KFU,#-]C/[ M#R->B7G BX8^5/DMJ]@HL%"V%)*5 M-5BMH"QH]<1/M1$; +>W!^#5 .\U8-\,?@WPWPH(:D!@G*FD&!]2+'$RX&R- MN(Y6;+IAS#1H);^@>M]O)5=O"X63R61T/[JZ&Z')Z.+ZY]7X]_CZ"GU#8YJ1 M90X"84)06@C)BX>EV2>!B1H^2D'B@HAC%7MWFZ*CS\<#6ZKE:%([JZ<^KZ;V M]DSM>NB243D7:$1SR+<);*6C$>,]BSGW#C*FD)T@W_V*/,?S6Q9T\7:XUP)/ MWPYW#ZCQFZWQ#9^_;VM@!70): (9F]%"V]]FWYWQO,ZA+LK0CLBWS@L:\X!![ M@"[)TH[(MFSK-;;UNLB>7I?F=4F6=D2V95[4F!=]/'LJ:&_CI/MQ&$3!;O:T M1(:N%^Q&IBV1;C^*P[W9$S=*XH-*QE0"IUAO/R8G;7(.XM][ KHD2SLBV_*M MW_C6[R)]^EV:UR59VA'9EGFN\U)5.1]/H!J[^5_1CYPPWDV@EDC7Z85]?S># M6D.CT/%W4\C>*!=+X#-3=@N4L2655;'5C#:E_9DI:%^-G^N2WY2A+S35]\(E MYK.""D1@JBB=DTBMBU-61;&&*T@&PO=V]R:W-H965T M=<[$N\ENI!YP"&/!9^+Y. MY)U'7N,P6FE MC2P:,"HHF*C?]+&IPQ8@&+X""!M ^!+0?P40-8#(&:V5.5L3:F@2*[DFRD8C MFQVXVC@TNF'"?L4;HW"7( =DC3)#;7%::BDS'OD%)EMA/F_1G=?KP ME?1!2"XP5Z[)5&20/2?PT4MK*-P8.@MW,DX@/2)1<$C"7AAU"!J_'1[ND!.U M]8T<7_3V^G95J2;I=Y/8FWRB2YK"R,.KJD&MP$O>OPN&O<]=#O\3V3.__=9O M?Q=[TIX<_G1R#O$@*P7"=#FOZ0:.SK:<5=(/^\/87VT[Z@@:!H,VZ)G20:MT ML%/I#%8@*L!6E,JE8+\A(PLE"T(+60FC\6"GO,(S:4]XVN&JR\S@+YWAI^CX MA9F=LO[U\_A;5[\ M70=4:-@]%!W@7:U;;JGKM?X3^%UQ[Z@:LF$)AP6".T= M':-057?!>F)DZ1K)7!IL2VZ8XX\#E W _8649C.Q"=I?4?('4$L#!!0 ( M /N#;%CQI \_XP( %8) 9 >&PO=V]R:W-H965TW\_3O'Y\09;+AXD FB@FV6,CET$J7RONO**,&,R ;/D>F9 M!1<94;HKEJ[,!9+8&F6I&WA>Q\T(94XXL&,3$0[X2J64X42 7&49$8\7F/+- MT/&=IX$I72;*#+CA("=+G*&ZRR="]]Q2):89,DDY X&+H7/N]R]\SQC8%?<4 M-W*O#<:5.>(EI:I0TQ^^=J%/N:0SWVT_J7ZSS MVIDYD7C)TQ\T5LG0.7,@Q@59I6K*-]]PYU#;Z$4\E?8?-KNUG@/12BJ>[8PU M0499\23;72#V#(+@@$&P,P@L=[&1I1P11<*!X!L09K56,PWKJK76<)294YDI MH6>IME/A='P_OKX;PW1\>?/U^NKVZN8:3N$\CJD)&DF!LN+H30B/1Z@(3>4G M.-+C<)OPE20LE@-7:10CZ$:[;2^*;8,#VXXP:D#3/X' "YIP-QO!\=&G?V5< M[4GI3E"Z$UC=YB%W<(ULA3#%B"^9]:$*KA!I58N80NC+G$0X='2F2Q1K=,*/ M'_R.][D&L5DB-NO4-:(I%LJ6D*.PL641 I^G=&FC7!G-0K)M)4VAK<.@U0W\ M@;NN(&F5)*U:D@F*")G2Q0=\H4OL!2[ ;:YK"137:VUX_V 5:[%I;X_5:[1; MU:CM$K7]0M#LN9[ <_0F>Y0W)>4)C"TEQG!+,[-.NS;34W)!HF+!3!&A0%<+ MPL_S+96_^B8+6Z>>KW]5#M6BO3);.J7CG;=(Z,X[('9+Q&[MV90!5V7 Y5[ MJW#K!?T ,LY4(FO@SDJXL_^<..W#B5.+]LI3Z96.]]XB<7KO@.A[SY>/]]:I M\X)B (](1&7FN'NWI/GB^$[$DNK76HH++>4UNKK.17&)%QW%TWC @ V@H M !D !X;"]W;W)K&ULK99O;]HP$,:_BI554RMM MS3\@@85(%*A:J:TJ*-UK$PYB-8DSVY#VV\].TA36-"I=WH#M^'E\/Q\YSLLH M>^(A@$#/<93PH18*D0YTG0)6+XDBW#*.G MQY@DFN_E:_?,]^A61"2!>X;X-HXQ>[F B&9#S=1>%V9D$PJUH/M>BC"20\;TQ4BA+2I_4Y'HUU P5$400 M"&6!Y=<.QA!%RDG&\:P.Q\(+!*@?59 M@5T*[!RTB"S'FF"!?8_1##&U6[JI07XWN5K2D$2E<2Z8?$JD3OB7H^L9>AS= M+*;H=CJ:+V;3V^G=PQR=3D!@$O$S]!.-,6,O)-F@44RWB9 KB_D$G9Z\:O.JJ6 MS X8[8K1;G+WKQ,!TE4@A@4@GN&T#K?PZ.8>JA+L_%[7Z'KZ;A_C_2:W[[YM M.@BO4X77:4S!#<%+$A%!H#X/G3;ST)+9 6BW NT>F0=T>D?ET#3/ZL +M][> M97Q=-KY+F!'43(J@N]47ALSEHR.V!T*D;GJ_7!:9.Q);,# M1K=B=%NH#^Z[7V--?7"/J _]*KS^?]6'?IMY:,GL -0TWOZ9C58K1&G7;2P1 MS6<>RZ3O-1ZJZ[O%;$,2CB)82WOCW)'!L**1*B:"IGDOLJ1"=C;Y,)3-)S"U M03Y?4PE83E1[4[6S_E]02P,$% @ ^X-L6!"#",)R @ XP4 !D !X M;"]W;W)K&ULK51M;YLP$/XK)U9-K=050M)LZ@A2 MWJI56J8J:;K/#AS!JK&9;4+W[V<;0M,JC39I7\ O]SSW/ =W42WDD\H1-3P7 MC*N1EVM=WOB^2G(LB+H2)7)SDPE9$&VV>3UO?["DVUS; S^.2K+%%>IU>2_-SN]84EH@ M5U1PD)B-O''O9CJP\2[@D6*M#M9@G6R$>+*;NW3D!580,DRT92#FM<,I,F:) MC(Q?+:?7I;3 P_6>_=9Y-UXV1.%4L)\TU?G(^^)!BAFIF%Z*^ANV?JXM7R*8 MY+FMPP&@-WP'$+: \"U@\ Z@WP+ZSFBCS-F: M$4WB2(H:I(TV;';A:N/0Q@WE]BNNM#2WU.!T?#N^6\+C^/MZ#HOY>+5>SA?S M'P\K^ 0/DG"5H50@,B!*H38K"8R2#6544U1P/D--*%,7)GR]FL'YV06< >7P MD(M*$9ZJR-=&I$WE)ZV@22,H?$=0+X2%X#I7,.GI#3[RK>=WS]?ZOXL4HU1(/C1+:_;U1)$AQYIH$5 MRAUZ\<$.F;H$4HB*ZV,U:1)=NT1V1.WB(/)WAT9/133J_8-^*5!NW1A1D-B%=>GK" &:./))/YU!I;*(,UWE*Y9/4U MM'X"S9F#.QJ"5&U+J6UQ)KE:)PLED7/W:[FX7*'C M.4A,J#A!I^A^-4?'1R?H")$2W>5L*W"9B=B6:D^-M-.6_Z+A=S_@GT-ZAKS1 M-^0ZKC< GWT>[KZ%V\II9]?M[+J&S_NWW2$O#=@?!NN".A<53F%JJ8H1P'=@ M)5^_C$+G^Y"S_T3VQJ?7^?0.L2=7I"3JH\C0AK'A:VOP@<'K4M\EWBB,_-C> M]3WL9[F!ZXR[K#?B_$Z5IRE( ;5-01A;]^Q'WGOQ.TG17X8 M#FL+.FW!06U+7*ORDL )I@*I;U[UMZJB! 9E!GL*?&?L3M[IW,_RHF R&18: M=D+#@T+OF,1T2%.X=V5C9Q*%[S3M9T6.VSOA1I/=:RRZJ?_$?$-*@2BL%,R== MZ_N;Y7\!5!+ P04 M" #[@VQ8Q]H%K@@% !='P &0 'AL+W=O7K^@?ZG)2S*/$2=+FOV3)F([GP03D)!U5&;BENY_)RTAK\*+:<;K M3[!O;#UI')=_ >$Q&E&?\ /H&'.PS>O_L WH&T /=;6O*H2/C,$G+Z M"L2*VZFNFJG0*U-!!&YH(;8<7!<)288 EHR["QZ]!'^%M(B8Q!? @1\!LI&C M"&CY=G>D<,=O=X<:-D[W*)P:SSGI4:CRW."X:IRJ4USR7123^42V D[8$YDL M?OT%^O9OJAR9!,.&P ;Y<[O\N3KTQ8K);LC$3R!?3T!^E.E.]B?Q$6P8Y(TJCJKBG@#YQ]0^N39H1^,F"O,7.2'[HBZ-K@SJ?L==5]+_9Z* M*%-1](]B=UW?G8X8*JP\%(S> *P-X4R"TX[@5$L0'SQ*0)[EIW=HD$ M-L@6M'OE81M:[UH@0RDTBH9-H0V3>"#?H-E%K\4;= H?CGKZ4F7EN>/&J(_M M7.ZHYXZTW*_*-$O28E-S3_,=HT^D8J_FK<4Z^1TRB89-H0WSV.M.:$IX0J/* MTR@:-H4V3&(O/J%A]=GB'988RT+?5-U:$B2MDDTB89-H0V3V.MEJ!?, MI]?AL2J&H>^/RU!AY=KVN JUL9W+O5?94"^SES3?E8(PL(U8LH_::N1T+:J! MDKP6\.07R20:-H4V3&:OYF%HJAJ-*GRC:-@4VG!_KM?X2"M_3Z_&%F^PW,G_ MG^--&969*PMR5(_ZZ,YEWXMSI!?G-U&\E;?8B+Z2MR$IW:;')!HVA3;,8B_S M$3)4B,BHQC>*ADVA#9/8:WRDE;]G%*)SO(\"I]/Q;HO"# 6N/]XCU$=W+OM> MG".].%_2@@M6-D=-:0'D7\6-G$=-W)"2;O-C$@V;0ANFL5?YR#-5B495OE$T M; IMF,1>Y2/]EO7IE>@?;5:Z?C#>RE98.:X3C.O0J#BW#LX=<\(V]?DM!S$M M"]&&PO=V]R:W-H965TDX@;8CQ_UB!ZV3-<9 M\R61Y'N/SJ$N+X_$X9;Q[V)-B 0_XXB*D;66?JS"Y1@C F5(2, DZ6(VL"+V:NDR9D$7^' M9"MJQR"5\L38]_3D*AA93LJ(1,27*016_Y[)C$11BJ1X_"A K?*>:6+]^!7] MKTR\$O.$!9FQZ%L8R/7(ZEL@($N<1/*!;;^00E WQ?-9)+*_8%O$.A;P$R%9 M7"0K!G%(\__X9S$0M03H'4A 10+:3>@<2'"+!#<3FC/+9,VQQ.,A9UO TVB% MEAYD8Y-E*S4A31_C0G+U:ZCRY/CSW=W\V]7U-9CURP1F 9B:$O%-KVG[1?,ICDS=( 91."&4;D6X)(&)&@"V$IFJ16] M:ITB+>*<^.? A7\ Y""WA=#LU].1AHY;#KV;X;D'\/1CVC9@.5ZG'2^=\!=B M@WTRLM2,%H0_$VO\^V_0<_YL$VL(K"&]4TKOZ-#'4QQAZA. )7@BJY#2D*[2 M<=@0'K*@37J.U\WPTM;T/.[#;L\;VL]U3?M1GH<\5$8UR'9+LETMV1N"1<*) MZEVR( AP\(^:FNF5UL+.\;P:C3-WX.YPU=[TC>/OE9(\K235 55_HZK!<$ZH M_P(DQU1$..^L>G'>GKA.O[.C;3_FK-_OMS^&7LFY]ZLU0VB@KY;>WOW[T/-Z M.RS;HNHUU:#9+VGVM33O.0L27[:QTB:>.GT-@34T#DJ- \.=:V!2NB&PAG3H M5 NF8[AW%8#U0NOU!YZS4XXM89[K=0[4(ZRM\-!P_RH CS0P_6W?^AQ0)0N] M6P\KH/5-K"7H#U:H/M2OK27VL@&I4SL#IPEVF+6&- FM2K59IJ%^FYZ&0 M/'Q*TB%MI:=-/W5:FT)KBJU6>=@UW-2@H26\D/\>A@!6C@#J+<$;VMK^*H\\ MN&O)CD4UZ59F )IS W!_H6\C>B2J2;2R U#O!QYP@'DK*Z-VP!1:4V5E"*!I M1P"-6@)3:,WWRLH3(+TGF/@_DE"$A_JD/OM4K:C%3D 'MA5TW/_E=/39)W^B=O:F<4O1VK7=CYCP5;8I)(#/ M$BKSS8'R:KGQ-,FV6W:N3^'%+-\^JF#RW:P;S-4KD0 162I(Y[RG*/%\@R@_ MD6R3[;$\,2E9G!VN"0X(3P/4[TO&Y.M)>H-RFV[\'U!+ P04 " #[@VQ8 M<5.B\\ " "+" &0 'AL+W=O//(@&0Z"6EF1A8B93YF6V+*($4BV.60Z9V%HRG6*HI7]HB MYX!C TJI[3F.;Z>89%;0-VMW/.BS0E*2P1U'HDA3S'^,@++UP'*MS<(]6292 M+]A!/\=+F(%\R.^XFMDU2TQ2R 1A&>*P&%A#]RST=;P)^$9@+;;&2#MY8NQ9 M3Z;QP'*T(* 02<5GVD!FZ/-^P7QKOR\H0%G#/Z2&*9 M#*Q3"\6PP 65]VQ]"96?GN:+&!7F%ZVK6,="42$D2RNP4I"2K'SBERH/6P#7 M?P/@50!O%]!] ]"I )U] =T*T#69*:V8/(18XJ#/V1IQ':W8], DTZ"5?9+I MLL\D5[M$X60PN;T-'Z=75VAX$Z+;^>7X'DUOYL.;R71T-4;#V6P\GZ'/:)KF MF'!5;HG8 DT8B]>$4G08@L2$BB,5\C +T>'!$3I )$/SA!4"9['HVU*IU&?9 M4:5H5"KRWE#D>NB:93(1:)S%$+\FL)6]VJ.W\3CR6AE#B(Y1Q_V$/,?K- @Z MWQ_N-<##_>%NBYM.7;&.X>O\1\6:LEZR=IM9]>UR)G(9;-;9[/;QAYLO=B4"0&-+VQ)T3,4^AY=!4[?7FWGXX\1 M85O$*^6]6GFO5?F$*[UH6?T5FV27>'_KR-,O7L_;D=X4Y?KNCOQ6+?]8([]V MZK_F^Y/NF=]G9\[Q,4M@K[6]OVUC6= E^:=B=0Q(I, MEK=9O5IWU*%I)#OK(]5IR\;XBZ9LT]>8+TDF$(6%HG2.3Y0_7K:^O$](\B.,.4;ZT";GW M<(Z)[SVV1WN6_.0;2@7X%84Q'QL;(;;GILD7&QH1?L:V-)9/5BR)B)"WR=KD MVX229984A2:R+->,2! ;DU'VV7TR&;&="(.8WB> [Z*()&\7-&3[L0&-]P\> M@O5&I!^8D]&6K.F5 M:Y!*>6'L9WISO1P;5LJ(AG0A4@@B_[W2&0W#%$GR^#<'-8KO3!.KU^_HWS/Q M4LP+X73&PN=@*39C8VB )5V172@>V/X'S04Y*=Z"A3S["_9YK&6 Q8X+%N7) MDD$4Q(?_Y%<^$)4$:+7X.[QQ[<'<'W[.+V]NKZX^0:F M\_FWQSD8@/GA5P9L!8)8D'@=O(04$,ZIX.#S)14D"/D7&?@TOP2?/WT!GV0< M>-RP'2?QDH],(;FFWV@NAR(%=!' @*0CG;EA7Q_"NX2AA7JC] .AED6D=>)Q!:V/%&YFM5ER+, M&OH8%V$UQG;!V.[,>+I8[*)=2(1\,(U8(H+_2%I-5"(.W^)6V V&-D3VD0A% MF.>XSE MPBE$.)U%W%*AXNLTB" 750;S0+<9A3'R'#5;MV#K:ME>Q\M6OBJJ M;H,$E!Q\]XBK*LS%3LO[X15DOVA(\+-*,=R_9;!'19\AUJ^ MCPE9TIA$ZJ'4YIY::'H"J\GT"YE^KQ76[U-X3V UX= J6[#5Z_3)X6H3PT/8 M/WH;E6$VLM2O(ZPX!MC_!,HQ/^2L"FOG7+9OJ&V2DUGFI&@BG6>857R^";;J MP>VU=?>%5I==-F^(>YU44&L&3A;?$UI=?.D#8'/W5!'F M#&VOY3TMVS[LWO=/,2^PV><'KK0EUK$.19SC0X1:A)2. .HM00<#DR-6_2"R M?*\Q](HPUT,M71:6M@#J?<%SMN)+Q_:5)G(%"YXX7>U"^T.I22P3SE5F.,B7SWE4.DDD-Y)]%7M4-,U#"#TO6-WH8[# M5IN0RNZ WEYTJ'8Y8G5,;8B/5Q2J*-QFAU#I"Y!^57]JK?L ;MA>ZKIDUD65 M_1[I^[U^H:1//GE+IB>TNM32)B"GW^THK>LX67Q/:'7QI;5 W:U%>Z5KN@9I MZQK331%E#^V6Z59:"Z1OZ+W5N>8&P\"Q_88*19B-G#89I95 >BO1ICA;4^4Z9-:W8\L^C_5]_I;%@P6+ME3^#F2= M4!K16#WI]4"G3OJ^T.JR2ZN 8:\5#VN=Q\GB>T*KBR_M!>YN+]HWX9O6 5K6 M\7ZP(LKW6G98<>70H/NIP2D%#S>/" 8J$8JP=A6EH M1)F5H[_TW/5ODJR#F(.0KB24=>;)04D.1YF'&\&VV6G@"Q."1=GEADKCE*0! M\OF*,?%^DQXP%@?*D_\!4$L#!!0 ( /N#;%B()$#ZMP( )@' 9 M>&PO=V]R:W-H965TDL**> M6;OC48^5DI("[C@299YC_FL(E*WZ5L?:+-R3>2;U@AWU%G@.$Y /BSNN9G:C MDI(<"D%8@3C,^M:@F&0:MK)/"GWL$\G55Z)X,KJXO8T?QU=7 M:' 3H]OIY>@>C6^F@YN+\?!JA :3R6@Z05_1($V)/B=,$2FJGTV?VF$,$A,J MCA3D81*CPX,C=* 0:)JQ4N B%3U;JBCU7G921S2L(G)?B:CCHFM6R$R@49%" MNBM@*WN-1W?C<>B^J1A#Z M9_$E)@S#/8?V5LW*@<]-[1&PO=V]R:W-H965T=\ :F^,^,B(4IWQ=R6"P%DFHD29GN.$]@)H:D5M;-K#R)J\Z5B-(4'@>0R M28CX?0F,KSN6:[U=>*3S6)D+=M1>D#D,03TM'H3NV:7+E":02LI3)L;KN M1:]EQF<#?E)8RXTV,I6,.7\QG<&T8SD&"!A,E'$@^K2"'C!FC#3&K\+3*J9D65E]HDC4%GR-A!FM MW4PCRR93ZVIH:I[B4 E]EVJ=BJ[O[_O/@]M;U+WKH_O1S=4C&MR-NG?7@\O; M*]0=#J]&0W2&N@D7BOXA6?3PJM\A"4B_0R8QFE(%B.FG,44T522=TS$#1*0$ M)=%I'Q2A3'[1+D_#/CH]^8).]#@TBOE2DG0JV[;2A1@<>U) 7^;0WA[H/DS. M$7:_(L_Q<(6\]W&Y]UYNZ_C*#+TR0R_SPWO\KJ2B^H72Y9-],>4AG>T)J2J! M?,I&]93FV[Z0"S*!CJ4_7@EB!5;T^9,;.-^J\OA/9N_2P64ZN,X]TB$WJ@K, M57ZF,O^:5>2[KM^V5YO@M=9'@C=*\,8A<+\*/%<%&^#8Q:TM\%KK(\']$MP_ M!!Y4@?L[X%Z(@RWP6NLCP8,2/#@$'E:!![O@OH^WP&NMCP0/2_#P$'BS"CS\ M"'BM]9'@S1*\60L^BD&O_3,%H@J_N8/O.BX.M_AK9SB2OU7RM^KYN2*L"KVU M\W?Q @]O1[\["F,O_/<3RIGLC>75;&U^$#&GJ40,9EKGG(?:0.3;A;RC^"); M<<=&PO=V]R:W-H965TN!9"\ M$A7,Q9X7NP6AI9,.JGL/(AWPC6*TA >!Y*8HB'B]!<9W0\=WWFX\TN5*F1MN M.EB3)(8(&&3*6!#]MX4Q,&:<-,?OQM1IWVF$A]=O[E^K\#K,G$@8<_:+YFHU M='H.RF%!-DP]\MTW: )%QB_C3%:_:%?7AMA!V48J7C1B35#0LOXG^Z8C#@1^ M>$* &P&^5! T@J *6I-5L29$D70@^ X)4ZW=S$75-Y5:IZ&E^8PS)?13JG4J M'8W'C\]W$W0_'=U.[Z=/T[L9NIJ (I3)C^@S>IY-T-7[CP-7Z9<9B9LUQK>U M,3YA/('L&@7^)X0]'%CDX\OE^%CNZHAM3MSFQ)5?<'E.6Z;:)+2;F"EU(]PH;]#F#SUA)<@;6%KAZAR M,--]FX9!+_0\;^!N#W-TZX(XB@_KCA##%C&\"#'CA6$D];0N<[0FKX(SAA39 MV[!KU_@ !XE OWEE $F.6,[Z($(*6B]E$0=PECW^LB6NIP$)Z$3%K(Y"SDF)=*Z,4<,4KF ME%DV">O$#@3(!.556]J3#%/D8=]DM=?WCSW#$WFO9>^?9-T) J=%!;R2' M 6RLO0Y#$-GZV5*7G!D,_9:U?Y;UAUKIOB3-D/@':]_2KZ&%M5L7Q/ATO_K> MWUW).TO[Q!5AUDW'ZRY:880MJY:E,N@EMNGO'FR?YNSRG8@E+:7^K LM]:X3 M[2'JXT#=4'Q=[:ASKO00K2Y7^@@%PA3HYPO.U5O#;-+MH2S] U!+ P04 M" #[@VQ8[QT[UT4# !*"P &0 'AL+W=O/GN9Q]-UX)>:\R (T>BIRKB9=I79[[ODHR**@Z$R5P\V8N M9$&UF-P+9&JBH+*QPO(Q6KB M8>]IX1M;9-HN^/&XI N8@;XMKZ69^2U*R@K@B@F.),PGWGM\/L7$.M06WQFL MU,8862EW0MS;R54Z\0++"')(M(6@YK&$*>2Y13(\?JY!O79/Z[@Y?D+_6(LW M8NZH@JG(?[!49Q-OZ*$4YK3*]3>Q^@1K07V+EXA2[%"TEH;-#NH8U-[ M&S6,V\\XT]*\9<9/QY6/;Y0)QYU&QY>@*9J!3EJ1K[VC"Q>'ZRWO6BV94G6R[^T9_&P32!H'4>.$!O%DFI#[5((M:\KE+4(/0_?H6CX)U+W@N!;8D-6[%A%WI\Q54E*4\ &?""506:,V[FC"]OD.:VD!*Y1:;Z-/? F,^LOE O* M740;M&B# P[,;X?I6 M&Z%I[B(>[1,G(=F-K\OJ8"H,6DZ#SO/Y6?#%,\=S\)+'\X7 MK0.6ZW#[OAW MY?C0$=UA/^KM? 2'6;AEML5LU#(;=3+[>BBE1WO;A:/A#J5]FSXF;CXX^%.[ M@N=SU01K,SO>HH44REV3 E?X1A'9X>JR"T?!(#K =Z/6XDZ^MYP6]HKX!6E3 M6U.F$E&9F\.4T6:%*575EW,BE':KP'OL3C'N[QY$IUETZ*;#?THE[BQ.!V+. M03NYDKW"@,E@B/&ULC51;;YLP M%/XK%JNF5EK#+4"3$:2EV;0]3(J:='MVR E8-3:SG=#^^]F&H*RAZ5[ M^^& M.2=MN'B2)8!"SQ5E%!U*4RBRX65KC E:@ M'NNET#.W9]F2"I@DG"$!NYGSQ9_.$W/>'OA%H)$G8V22;#A_,I,?VYGC&4- M(5>& >O7 >Z!4D.D;?SI.)U>T@!/QT?V;S:[SK+!$NXY_4VVJIPY=P[:P@[O MJ7K@S7?H\D2&+^=4VB=JNK.>@_*]5+SJP-I!15C[QL_==S@!!,$;@* #!-9W M*V1=+K#"62IX@X0YK=G,P$:U:&V.,',I*R7T+M$XE2V^SM?H%JW:.T%\AW!1 M""BP E0+PG)28XIJ_*(O0IEMREEQJT!4.OM&H>L%*$RHO$%7B#"T+OE>8K:5 MJ:NT.Z/AYIV3>>LD>,L)Y",4^I]0X 4A>EPMT/75S;\TK@[7)PSZA('E#2\D M''+3HL;#*%,+4UGC'&:._MDEB ,XV<^)Q4-BT;F8?Q=/DF&UN%>+ MWU-+AM3B<[4P&)9*>JGDHM2:*U,(KTMB\$=/SJ\QG'B3Z)4#]Z1L30?\B45! MF$04=AKHC1+-(-JNTDX4KVTE;[C2?<$.2]V(09@#>G_'N3I.3'/H6WOV%U!+ M P04 " #[@VQ8@15'-UT* _<@ &0 'AL+W=OBDW2Q/WXI63%-668LX70^3"R;?"CQ2*_((Y*Z>Y'DK[C.^;?R\O!U- MJCT2B5C("A&I/R_B021)15+[\4<#'1W*K#(>?WZG\_K@U<$\1Z5XR)-_QTNY MN1W-1F0I5M$ND8_YZT^B.:"@XBWRI*S_)Z]-VLF(+':ES-,FL]J#-,[V?Z.W MIB*.,KCNF0QND\&]-(/79/ NS> W&?Q+,P1-AN#2#&&3(:SK?E]9=4W32$;S MFR)_)4656M&J#[5<=6Y5P7%6G5E/LE"_QBJ?G%-V_XW\D[@3UR$/A5C&DO!H M$2>Q_)-\HD)&<5+^2'X@<4:^;?)=&67+\F8L55A7XI[II0I^9)G M=W7 M@K [Y<-SN^W'?NU;BW6Y]I8[Z'_LC__Y$R:X=SS:NYWEGNL^S8F_M]+K\[ M5Q5:/Y?;:"%N1RIVEJ)X$:/YW__FA)-_=>F%A%$DC"%A' 0S=/0/.OHV^OR7 MO"R)NBN(-QEGZUU<;M2M1I)\I4)ZM\)67E^%D3"*A#$DC.]A00VKV@-[ M6'@DFNMCS/5E%&Z?="8L6/Z:@:ET89VW-3S'<=O76_0,CF* M9LIVY#HX=MF$V&NE(J8*E:I37W39"O=V3&_9D#3:T(Q3^MH)V[(AR^0HFBF; MJV5S8=T'.ZJW=$@:A=(8E,8;VG$T.-^'<+3WXE@M@?GW+$KS0L;_%K/S$0<4^<@=+QV=5^0B#6)CC69!4Z[ND$[;U:W-C0%8 M^^3SASQ-8UGWM%1CL%-8J!'2T!S'Z-1.)LXT:(?&2U,RZ!YR%,T41+L8CMW& M.!=(H[>S@13J8$!I%$IC4!I'T4RAM=WA7 \+I%!; TJC4!J#TCB*9C['U@Z( M:W= /@ZD=D!?81N:X[;"H]N.HY$9ZE!!:11*8U :1]%,.;5#Y=I'Y/0*SU#7 M"DJC#:T5GD^B,]2-0M',$?[:C?+L;M29Z'Q?C8][C*2P/YJSPWM/!8".TH'2 M&)3&4313=.UY>,HGL[LK?4;K=UW+:8H:4R*(VC:*:(1W.M[,;4)8'X M_*,].[RWG-A)6=A96=AI67^%C>5I&\OSAP5BJ.L$I5$HC4%I'$4SY=2NDVDU0&D?13!&UU^3UG[ZE@N_3K_RQ4S^HW02E42B- M06D<13-5UJZ4-VPREP,F3EWH&_?ZWE66-&7L1O46%CG>"TAB4QE$T4WKM0?G#YL[Y4+,)2J-0 M&H/2.(IFRJG-)M\^!*II+Y'GO%!YZTLW4L6=NV;W,&,EL4GUSPR=#_9">\L' M-9>@-(ZBF?)I<\FWFTN_[F0IHVQ9"7>0L'-BN!W4^_JU,Q-@%NNQ8_H* J71AF:L^N*%[3%=T#(YBF;*IAV88-"4MF^B2$F21UFG MA% '!DJC4!J#TCB*9DJM?9I@V.RT &K#0&D42F-0&D?13#FU#1/8!P'=K=>% M6%>/L+9%K"+O-DI(E%:K_E1=]\,0^4^J0V_KRC>EG!B@[=[W@WUW>@L+-62@ M-(ZBF<)J0R:P&S*7-R$;D+&<5%?KOTEGWM=F0=A:AHYV\+K2L:YT_FDZ;C_0 MH15YM!ZRW109NGBG'=L[(&*71VX&[1P/.P^OKMM-R^YD[74'.6K?3(&T=1'8 MA\]D M"A3-E$U;%,&@65J_"%G= MMZ.1 1T# Z4Q*(VC:.8; [33$MJ=EN/V85+'W-(>=.V\OE=I>+JBL1O,VDW) MBU(QZ)YQ%,W415LIX2 KY:F^P*K$M:'2V9"WDWLK!'54H#0&I7$4S51<.RKA M,$UE]E8/:IM :1Q% MVZLW/GKO72J*=?V&PI+4RUKO7P5W^/;P%L2[^MU_K>^I\YGOWV6H,?M7*WZI MA[N4ZB:Z4LC)U51I6>S?5KC?D/FV?KO>&PO=V]R:W-H M965T!!$11'+O&\2S?F8>), M1L6UAW0RDAL5A8EX2%&VB6.>_IJ*2.[&#G9>+SR&RY7*+[B3T9HOQ9-0S^N' M5)^Y-24(8Y%DH4Q0*A9CYQ;?,'*5!Q1W_!6*7;9WC/*FS*7\F9]\#<:.E]=( M1,)7.8+KCZV8B2C*2;H>_U10IRXS#]P_?J7?%8W7C9GS3,QD]'<8J-78N7)0 M(!9\$ZE'N?LBJ@8-HQT2NX_2/<^S )XTW _)YM,!"B_C!9"H(\\0QRM1>J+1+4]H-.2A\OLFD_*VXEWX7EX.!BYVWW! MK05W%1P2QH!@AN"7M>"7]DS#7XYE&FM@U^$.":.0, 8$,]0?UNH/S\HT0TCI M(6$4$L: 8(;T5[7T5\"9IN1A:B^! M'KD2Z%]D>;VQ0KJ.?$@8A80Q()C1$]AK'(=W5MJIPH#4!Z514!J#HID=L&?Y ML/5AN%VOH]#G\TAH)YDNM5=[/_U4R#?YYS#]V(ON+#LDC4'13-E)(SLY/0<= M?_&Q4SH_!I T"DIC4#2S/QJ7BWOGY2%0DPM*HZ T!D4S.Z QNMAJYL[+0_W6 M/(3?Y"%0APM*8U T4_;&Y&*[R_WV=?K]T?X>9"=T?@1 S2\HC4'1S+YH_"^^ M/"\'@=I?4!H%I3$HFMD!C07&5IMW7@X:GIB#0+TO*(U!T4S9&_N+[?ZWSD&6 M]R!(\SD#I5%0&H.BF7W16&-\?5X. G7#H#0*2F-0-'-IJC'$Q.KWSLI!%?(P M![WY.=%?906D,BF;*WMA@8K?!CV(KHVV8+)%?KF@,E$9! M:0R*9O9*XY().2L;$5!;#$JCH#0&13,[H+'%Y)W5WW)*1G.9ZMCB\>"ZN&// M!:A9!J514!JK:(.]A(L]_5)0G*C,L630 O>JG/_3>G> M8:I_]Q9JKTIG1?X/'TL:'TO>6:U=+U*IE;L3HE6QP8DK)O9B.@\Z4'L*13,E M;NPIL:_/?A-*B13)135%MNH,:E5!:124QJ!H9FOM3624WJ"]U]S8IQB)=%KM#,^3GLU^Y MD:^^6N] O2WV71Y=2*1D7ARO! Y'F-^CO%U*JUY.\@'J_[N0_4$L#!!0 ( /N#;%C&8.\3 M=0, -(/ 9 >&PO=V]R:W-H965T8,"N8%6-7(ICQ7%'"X$H@F:":;!-E!NQ@ MEN$MW(#ZEET)W;-KEIBDP"3A# G8S*T+]WSE.@906'PGL)-[;62VLN;\I^E\ MC.>68SP""I$R%%@_[F )E!HF[<>OBM2JUS3 _?8C^V6Q>;V9-9:PY/0'B54R MMR86BF&#X#5!L:&KZ(4UG\HUUI.]3&42X53RNP]B EK'SB^TJ(/8#F M:0=X%< [! R> ?@5P#\6,*@ @V,!PPI0;-TN]UX(%V*%@YG@.R2,M68SC4+] M JWU(LR\*#=*Z%FB<2H(5XM;] [=)%RH=[<@4A3"6J'7(2A,J'RCY[[=A.CU MRS?H)2(,W28\EYC%[K7 PVYX"%'GZJOCX5Z'&'Y]D'[!YS_+ MMU9M9U*B!NTHDX;.988CF%LZST@0=V %KUZX(^=]FZ!]DH5]DJUZ(FM(/ZBE M'W2Q!U]S)96."<*V.FE1S")H.XE.DE-/HD^RL"0;%F3FRW(7>.YD/+/O]A5N M,?)LE1MV*G=QN?R*E@)BHM"2BXP+7'P^?N\GI,\<,W2)(T*)>F@3 MMG.-4X7MDRSLDVS5$UGCH$;U08W^*[N,^I2^3[*P3[)53V0-Z<>U]./N&$EY MSA3B&R1-3"!E8H*:F-ATQ,3X2;3ZT\&D&=++-J/)M&D4=GIWJI ]D36$G-1" M3CJ%_,BT=" 5TDFF-4&7<-?;T\,Y<\:#R73_=Z!A.V@X'A[(V.G;J3+V1-:0 M<5K+..V4\1I^Y42G;)2:VQQ]0!E^T)6#:KT13I^^86/_0,$C;,).ETY5KR>R MAGJN\_?"[?1Q6^AF.36U]LH65FS_N#"T63V],=A[M4L*8EL4C1)%)NF5I4 ] M6A>F%T4Y=C"^<,^797GYEZ:L=K]@L25,(@H;3>FH&#S NDJV4SR[X7F8X<(: 0V$< [7#'A; MN2.R-GX=./$HZ8"G\R/[O:_=UK*E&A:2_V2EJ3-\AU$)%>VX>9#]-SC4,W%\ MA>3:?U$_Y$YCC(I.&]D:ID MCY3+MFQNXDOU:&N."?=3UD;9769Q)E]^G6_01W1/F4)/E'> 9(66L#7H>@F& M,JYO[/8&5(.XI )=(2;0II:=IJ+4*3'6@V,BQ4%O/NA%;^E!<8OB\ .*@BA& MC^LENKZZ^9.&V!+&.J*QCLCSQA?J..=F0"7G4:[C9[JE!638MK0&M0> M4*5>F=C]7S_Y5S^^FTR3O_3)28^YZ_J#JAT3&G&H+#"X_609U' %AL#(UK?= M5AK;Q'Y:VU<#E$NP^Y64YABX3A[?H?PW4$L#!!0 ( /N#;%A]PT@SFP, M !<1 9 >&PO=V]R:W-H965T4 MAZ?V$\K>^!) H/? #_G 6 H179DFGRTA(+Q)(PCEE3EE 1&RR18FCQ@0-Q4% MOFE;5L<,B!<:PWYZ[I$-^S06OA?"(T,\#@+"/D;@TV1@8&-SXLE;+(4Z80[[ M$5G !,1+],ADR\Q=7"^ D'LT1 SF ^,:7]W@KA*D/5X]2/C.,5(H4TK?5./> M'1B6B@A\F EE0>3/"F[ ]Y63C./OVM3(QU3"W>.-^UT*+V&FA,,-]?]XKE@. MC)Z!7)B3V!=/-/D!:Z"V\IM1GZ??*,GZ=EL&FL5 P%X+['V!HV3@23 M5SVI$\/Q[>@9?4,3N3SR)GI=\4,AQE:L[60X^RH>T#0V,;/=!0+#FZ#5UPBP:FY,AA M[ W,R-8ZCF'61 YN(-NRG9* ;O3R!_)Q0%V(QLFGUDGM6@?L[C?S^*3F<:+F ML6R2M";J*;[B$9G!P)"/*0>V F/X]0ON6-_+ &LR*_"V,6*NO2(RM[D[-W-H[^2@ M7J_;MO92D'Z@JB [50?6@MQY[^ >S*-K,<;%1&KUL+V/H1VF*H:]Q;!/3J;/ M"2UETCJ=FFSJQMD8/U54ZUO'K$]'ABU1M4I=Y615A?%OU/9NU\RJPMF9':^RGI<[>V)3]Y MMV*$VQH&:RN(8RFS6YHRG4OK4WRU%BKFSM8S +9(=^08ZB"O MSRD5FX8:(/\O9/@/4$L#!!0 ( /N#;%B3\9=VR 0 P9 9 >&PO M=V]R:W-H965T5;(H;-0:GGCNC)=T)S(*[ZD!?PRXR(G"HIB[LJEH&1:!N69ZWM> M[.:$%($%G0^<6WR3X6@>4-7YG="./KI%.Y9GS+[KP,!TZ MGNX1S6BJM 2!KS4=TRS32M"/OW>B3MVF#CR^WJM_*).'9)Z)I&.>_<&F:C%T M^@Z:TAE99>J);WZFNX0BK9?R3):?:+.KZSDH74G%\UTP]"!G1?5-MCL01P'! M:P'^+L!_$>!'KP0$NX#@10 .7PD(=P%A2:9*I>20$$5& \$W2.C:H*8O2IAE M-*3/"OW<)TK KPSBU"BYO_L-O4<3&$_35481GZ$980*M2;:B2&[($I&YH!0> MM4(7"56$9?(=1'R>).CB^W<#5T$OM):;[EJ\JUKT7VD1^^@C+]1"HOMB2J=- M 1>Z7^?@[W.X\XV*"4VO4( OD>_Y04>'QF\/]SO"D[>'8T,V0?U$@E(O,#R1 M+JI55-@=I>WA1BY)2H<.O/^2BC5U1C]\AV/OQRXB-L422V(-6F%-*S2IC\:K M?)41[1UH#BYWB0KP2AC$BFRU+6E[H5/$M,&D554HYPW<]3':=KVX%URWZB7&O,ZD%M74(B.U MGP 5X$GYO&#_5'S.8E*U$A_EVNM%;23M:G$8AFTD40M=+VX0;B0;U\G&QF1O M<[X"\X)T,R(EFS%(>"9X_M8AH3BB1!2LF,LN!G$KN0!WC8MVO1CWVPSB%H/W M.(Q?A="K(?3.@W#[:?P F4*2\$%AJ"E$M["JD!1F(K6 D5'0K4)J0S- DI?. MW86AU\8017X;@[&;ISJ/);$&T7Y-M&\D^K#']00#"$U@INSD8A0YU;9MBB66 MQ!KPKFMXUV=-U<>GGM M6RL:76A'.TA,5OA?/+'LXEFBAX+\ME*RP'/K""%"DC&7KDDI4[ MCC_OMTH;_3.L>N^+54X%T??_ZL1J[L"G)K[U"#^*H8]G:61%W+.7-G3HWZ<-B'IM7 M\T=)W^JD+7N?N?'J/2_;!=L;&SS/CDYBUCD7]F$S@>OQ)I?KM\S+[VN3:[E MHYFW^9 9I^%^+58]!KIZC'+_Q9KS@OR)8E3<3U8%\7FS7 HEFN>!.(RV_!4 M?F65Y4E0R*OYPU!L(HY1]S(K9) M$N1?W_$X>[P>F(.G&SY%#^NBO&&XN-H$#_R6%W>;C[F\-MPK893P5$192G*^ MNAZ\-=\P>UH.J.[Q1\0?Q<%E4CZ5^RS[N[S"PNN!43XB'O-E41*!_&?';W@< MEY)\')\;=+"?LQQX>/E)]ZHG+Y_,?2#X31;_&87%^GHP&Y"0KX)M7'S*'BEO MGM"X])99+*J_R6-]W^ED0)9;461),U@^@B1*ZW^#+\U_Q,$ <_3, *L98)T[ MP&X&V.<.#1N<.&#<#QN<.F#0#)L<#GOM?FC8#IN?.,&L&S,X=,&\&S*LX MU-^_ZIOO!$6PN,JS1Y*7]Y9:>:%*4#5:?L^CM S[;9'+KT9R7+&XI6\_N?3# M+X[[Z9:XO]VQW_\BKQQ>!%$L7I,?R-VM0UY]^YI\2X9$K(.<"Q*EY"Z-"G$A M;Y27?U]G6Q&DH;@:%O(!E>QPV4SNUY-;STQN6N37+"W6@KAIR$,5&,IGLG\Z MUM/3>6=IQ9^"]))8]@6Q#&O4\8!N7AB^C2^).:J&6QW#G9>&R]F-^;/#7?WP M]]E.SFY6P\V.X=X9PPW[V>&^?KC#EY?$KF>W.X;3\X=W/7=V_G!3$P1[GVN[ M\NPS,[TND+)]I%(4]#^;J]C.56-R2OY*8VS&)Y19 - MS^N-\>NN2&OEOI%&8@X279'485.:./Q"@28R!,B>IX M']6Q-JHW@5B3L,EKUR+@G79\WT B,0>)N4C,0V)^C8T/?E3,\LV0^K-".^YE MCHVY>B]V>B]K.C;W=U(B--E':**-T.WV7O#/6YX6A._DWUTAT@I]0X3$'"3F M(C$/B?E(C"(Q!L*4Z$[WT9U"UIE39'R1F(/$7"3F(3$?B5$DQD"8$M_9/KZS ML]:9!VO*_9*S*\:U-E467<9L.IH?_E%?,6ZTCZ!O6I&8B\0\).8C,8K$& A3 MTCK?IW7^O[TKFG>]71@?154[?=^H(C$7B7E(S$=B%(DQ$*9$U33:':N&-JP? M>;Z4:]G@@9-L1:)TF?- R,L[&5,YX2[*MH($:;H-XN@?&>6GMU!=X6VFFJO; M7?LHO?H'U#>^4,V%:AY4\Z$:A6H,I:DA/F@'3&V(?P[2D,MMZW=!LOF1W&3) M)DB_7A"6+CMCJL7ZKG*AF@/57*CF034?JE&HQE":&F>KC;,%>;?6,*@@(S4' MJKE0S8-J/E2C4(VA-#7(;;ME:MN'Q5VY67[,HT(N)L)(++-M6I2KB9 LLR2) M1/F[".*"K#BO;^5?-CP5O'/WK'ZJWF&'EF!0S85J'E3SH1IM-&4WK6$81_MR M47.J(6X[+E-?C,*+34@FH.5'.AF@?5?*A& MH1I#:6J6VQ+,'&-6%M R#*HY4,V%:AY4\Z$:A6H,I:E!;JLX4]_%O=\F]W)1 MD:WVO^XEQ+9[9[!>ZIUE:"D'U5RHYC7:Y.#%>3(WC)/79Q\Z+85J#*6I,6UK M-U-;BRQ8F4JRR:,E[XPFM&^#:@Y4D*C'NA?9W=Q -0>JN5#-:[3#'$]G MXYEY'&5HSP;5&$I3H]Q6;::^:X/N84#6.C=0S8%J+E3S&NUPH6#*/_/C%$,K M.*C&4)KZ:8"VA+/T)=PSNQC(OZ1?LZ&?IF^"H9H#U5RHYD$U'ZI1J,90FAKT MMJBS3,C^!PM:T4$U!ZJY4,V#:CY4HU"-H30UR&U%9VF;$^BZ0S]5[[!#:SRH MYD(UK]&4]L :'^^=@,Y)H1I#:6J(VWK.TM=SMWR9I6&0?R4?-&_N]$CO>$*+ M-ZCF0C4/JOE0C4(UAM+4&+<%G37"+"J@[1Q42 MH?6<=5J!C2;SV>PXRM#>#:KY4(U"-8;2U"BW#9VE;^B@NQ>@Y1Q4US9UM0/8]V-!F#JHY4,V%:AY4\Z$:A6H,I:E!;ILY6_\1.N2*0S]5 M[[!#V[M&TW_DP(7.Z4$U'ZI1J,90FAKBMI6S]:WW!( M[-$AL8>'Q!X?\O\HY^RVG+.UG4F?3D,O]<[RZ&37@MWQZ04'.JL+U;R.Y]#Y M"0SHK!2J,92FYJ_MU&Q]I_9"6:$?W3MSXS/J!05B< .;K=-]^P^H0F+5.?7^77('^(4D%BOI*D<3F5*&UL MM5IK;]LV%/TKA#<,+=!$HB2_,L= 8JE;,>2!N&D_,Q)M"Y5$CZ3M=-B/'RDI M>L0*8R=W7VQ)YCTDSZ$N>6A.=HS_$"M*)7I,DTR<]U92KL\L2X0KFA)QRM8T M4[\L&$^)5+=\:8DUIR3*@]+$P[VG!W?Q M5:<.;%X_H7_..Z\Z\T $G;'D>QS)U7EOU$,179!-(N_8[D]:=JBO\4*6B/P3 M[<#PA0"W#' /K<$K [Q# M _IE0-YUJ^A[3IQ/))E..-LAKDLK-'V1LY]'*[[B3 ^4N>3JUUC%R>G\Z\WL MKY/+BWG@H]G-U6UP/;_X^N7F&IV@VQ7)5/7HC@K)XU#2",U7A%-TFY ,??"I M)'$B/JJ2CNW@5XJ?H/NYCS[\^G%B2=5L7;D5EDV<%4UT7F@B=M 5R^1*H""+ M:-0&L%1_JTX[3YV^=(R(5X2?(GO\23?%6(\#-\=R71H 6272TX[*(\[KC= 8[$VL2TO.>2E&"\BWM37_[ M!0_LW[LHA03S(<$"(+ 6^5Y%OF="G]YLI) DB^)LB8A$#W099YF^65,>LPA] MB#,DL,P ":W'?K[CO&[G_ MIA(5?95B(\:Q%/?W*#[Q\ @/O6<<0U8: (&U.!Y4' ^.&=^TN'J%%"I_!BE'<.V0/;MI]1#5IM (76)KMA MS["1[."1AAOMI=&,I6MET$GNK[6GZJ3 M&IT.J@2!D@,2S0=%"Z#0VG+4'A8;7=KT>I,^J)3/%HCL"(\$6NHDI2;D31:I MYR$1JQ.]GQ0A6KU085/"]4LO%*@)+M&:RTSLN6Y_/X>!.EPHM+8XM:5B>;/)8BE*4>6*OD=8[Y!Y>V;N MVM'O'*AYAD)KRUK;9VSVS_4[5ZA"']\>J/<&1?-!T0*\OS$P M<)UF6FAK5-MO;/;?38TZ7J%W: -JTD'1?%"T +^Z-=#6IK;S^/_R\QC4T(.B M^:!H 11:6Z+:U&.SJV^M\D(F9*<:HSUCXCC8MO>5OB MH/6#&>-H-=R]"R0"J@06)5N.P2DKY,C\EI">,32:+ M(QS5T^HDTD5^_N;9\QD^\XOS1#5,<;SIBO!EG F4T(6"M$^'JI.\.#%4W$BV MSH_$/# I69I?KBA1ZPQ=0/V^8$P^W>@*JG-;T_\ 4$L#!!0 ( /N#;%C" M7E42A08 )$H 9 >&PO=V]R:W-H965T,Q MDNJ4S]MBR3$*DZ X:D/'Z;5C1&AK-$RN/?'1D*UD1"A^XD"LXACQ]QL(+ER_*)J[-VKA*2&%-!& 4_F6@K+U,'EH^W MZM^2RJO*3)' 8Q;](J%<7+4&+1#B&5I%\IEM_L99A;I:+V"12/X'F^Q>IP6" ME9 LSH+5$\2$IG_16P:B% "]/0$P"X [ 6Y_3X"7!7B[ 9T] 9TLH).02:N2 M_YQ^OQPS_.[$-PS*A<"W-(0AU6!MH*1$X%;(C?0J/C UN? MZ9P"Z$"W[H',X3X.SH'G)N%>3;A_?#@TU,;+WZ^7Z'7VZ!U^5S7/>&/4U*GH M4BQ1@*]:*M<(S->X-?KS#[?G_%7'RZ:8;TFLPK*3L^PDZMZ^OJ([Q-F-RC*A M AJKU"N09EI'L&.3H$TQWY)8A6 W)]@UML:'53S%'+#9-A%D181)7D%KE3+0 M-,) C6> "+%"*OF E>K8',@%!DN5@>I@IX7VDD+U0+<>P9ZC_PW;ZS)'X\,U MY6A)K,*QEW/L&3FJUA>KOBQT@SQ-68*EZM6XCDXJU2W1Z>R",9;6%(PEL0J8 M?@ZF?P ,%3A8)>.5Y"@D= Y"]%Z;Y,Q*T-D7.#8&-J5E2:Q":Y#3&C3KCOAM MB9.A03*P5@-%';;!D9W-6'132I;$*I0N-2+YS1&6:S<&)XI+VS:^U;%*E09G->:^[2\=87F,ZEM2J=&!!!QKI M^&1-0JS,PCO!47V#204N2E ^M!=C&8V)6%*K$BD,OFMV^+?;G+UFD6N9Q[T!GLPK'JUVVI5>$4CMTUVMG1,Q&O9S..L9IF2JQ*D( C66N3 M,J4=0([;O=@%9-6.VU*K BH,N6MVY'GK471B4%BX G!":&=+ZEFC3?X\SM8-^UK=5;!5:8=5=LU=/; $^#.=8 M>VXNKG&+^@R#[A8.W37:U-T6A=.C0ZBLFO),[8AV=/C&ZKIE8::A8TQ&OY)% M;M5&KM>8HSD&J97TU8!7FJK4H8 V#?38JIIO2ZT*M;#CT&S'CTE6(8LB/?B9 MW;JYH,:0C_'^OJTRJ_ *MP[-;KV#N_4]<%>U MOH7[AF;7_$(Y#MBHSO#LLO#LT>_?:C\)[OI3>F+4:P[.Z[FY+K^YL+0IY5^V]5S;>E5H563!.\XZ<)A@E[IG)X;<-<7&,X5J<' M[=)>K1CS>;+G3=N5%97I)J7\:KZO[CK93;9S?>Q>^NGNN$(FW:QWC[B:I H0 MX9F2=,[[RKSQ=/];>B+9,MD1-F52LC@Y7&"D.K2^0?T^8TQN3W0!^2[$T?]0 M2P,$% @ ^X-L6#Z,TZST" !T, !D !X;"]W;W)K&ULM5QMQ9&,3T(479/HK\]/4##9/GFX$U.%[X$FRV3%P8S:]W_H8^4O9M]Y#R ML]$)915$-,Z")$8I7=\,;JWWGN.*"GF)[P%]SBK'2+CRE"0_Q,G'U'S?P>ZH&$HD+@=_RU!!Z=[BHK5XR/Z[[GSW)DG/Z.+)/PK6+'MS6 Z M0"NZ]O6WN?A"+ M=G]D*?\UX/78_/'K_>+/=Q]N'^\\M+C_]'#W^?'VZ\?[S^@=>F3)\@>ZWXGV MR="51YD?A-D;_LNW1P]=_?8&_89&*-OZ*HOP&!.=03]7W>M>'0/>D%.+D1R/]&PQC64?"B1;CR2FE/?9SE_2FP&?,S*: M'NA@_L]_6.[X7SJ63()YAL 4!NT3@S:$/O^\CYYHBI(U2LK.'639OM[5"@9! MI+X,%F!N#B8FY,.5PUU'AF*3"))AG"$PA MS#T1YH*=Z7[/,L9GNB#>()^A)[H)XEB<\.ZUHVF0K- 5GQ"+:?*-CE<0OR^O M;K.+N1/7LFI=S- ]%<8F)\8F(&-_I'[,Z%E:0)"^M$RZC3Q#]U1HF9YHF8*T MW+W0=!EDYXD!8?H2,VT0\\ZRQTZ-%T.W5'B9G7B9]1E@-%YU'UJSAG=\+-C. M3'5OT:V8URQ6&UN*?]982K!QEY;WGT)ZSJ$2J6H#QI/IV*UYU+&:,H7:^@XE:"'-%A2+4_8Y"1B%,TSA::R*>6U!6K/K@%]E82AGV;B4M$A M]?W1J (OT:;544V&=F-0_PIQ;4EU;<'RNAK?.[)D5&67:&)JDS2-AXU@;^JN M*DU2:%N@+*W%^XY$&=7@)9I*%.]/]>AOZJXJ45)@6[T4=C,>=.3.;0X>:SB; MUB.#JR&E6<[3P2EC4?56BF,+5L=U,=#1N8G&:CR<3.K>=2OGP49>VN12"ENP M%OY>* +>Z(B^[.A2G+ D%PH_U06FW;I IV(>[,.E'$E9;,W J'^[V:1TXS.* M/L8L#>(L6*+O?KC7QWM08_>>.$RB>:;0U-R@5-^XD_K6IW_@NGUY*]&<2L>R M<*U7F;JCRH94Y!A6Y,W)5AP5(TU+D-5P:4JL<6U$X:8L;Y;R8-,N=5W*: P* MR^K,J_44-Y=4I+Y27G0JY<&67.JIE+@8EKC ]*KUG'1JXRZE/-BR2SV7VA3; M_99*7ZAX.";Z^"+ATZB_9'L_1/\)UD7T?:4\JFAC"3:J68VB>:;05)*ELL6P MLJW.(4<.M13",-.B)IJBJ'@>9&&T\E^UCY1@J-[\P8;-2L,P:)A*GE2[&%:[ M=?T']$"CB>,S9AT;PRU]UM+V*[+*6"IG#"MG8%9[BYZ/ ]\O!WYZ&OC+RL / M.PQ\HXGI,S[U& .>*<-4^J5FQV?RU]$N3%XI59X;:PDTFL VBN:90E,YE)H> MPYJ^S[-=;%32&T7S3*&I#\BEI">PI._S@!>&ZOV,O)EWUSYHTI6;$'LRTZPXL\SE7P^Y6OH MM1^DZ""6S^@*3B+ F+W)P\U<@R97J2GF#MVVWE+92@(O!+S@$*Q$-N4UH*&^ MJYC=0E*@6;CBQW@XMIQZ"MO4;55>Y#*!P"GLNZ-^."0A'TQAP%ZUY!A= Y1H M-7*(9=>YT9ZF\ "][*YP*@$)\V4LCLDC>;_%2J;2)5-)I=N$")&E;%1 M-,\4FLJ:%,<$%L<=][S *+T9;&[NT(L133E(C$@Y2V Y:R[;0HR*7:-HGBDT M=2^C%+LV+':_Q2E=)ILX^!\G>IE$.QIGA0 4J^ XTT[?=C,3C!*K_1-%?J9E"26\CR*_F2AHE]&P8;TWAYZ1T?GH M0%Q-EYD ;+=F DP9IK:(E-7VF42Z+A. _D:?^-"/]I&62J.BVBB:9PI-95-J M=-O84PUG+4_^**B52[MNP MW+](\L*8O5DRFKI[,AR]CK'EVL"&UP;GE\DP0&]6W([+Y+:"I,UE*?/M M<]M0CO&3IA&Z:E=F,$YOSV&K['HZ'(B!W9 F1Z39N4C.Y$+]%J$7"BCP:.5/0.K.C/!T 8H#F!K7*!L75!394;*;B=,SGTEBCX2$-> M=/,6;6C,5]AA_L#>7T5\<9@Q\>CJH,U8P'?KS:#1_3:FT%2F*Z]LPN]LFDNS M.6;?\33[DN>OV(7NR#6 Z\!%M6O.=SFWS"H75]8[[WBFPP2IOA$Q"<_ MW01QAD*ZYI#CX81;E!9?72A.6+++OT/PE#"61/GAEOHKFHH"_/=UDK#CB;C! MZ=L7\_\#4$L#!!0 ( /N#;%B]*"EZ @8 )LI 9 >&PO=V]R:W-H M965T@\1YBR9[+K[)#6,*_4CB M5%[U-DIM+QU'+C]-) M=NU.3"=\I^(H97<"R5V24/%SQF*^O^KAWO.%^VB]4>:",YULZ9HMF'K8W@E] MYI24,$I8*B.>(L%65[UK?!F0H0G([O@2L;VL'2,SE$?.OYF3C^%5SS4]8C%; M*H.@^L\3F[,X-B3=C^\%M%>V:0+KQ\_T#]G@]6 >J61S'G^-0K6YZHU[*&0K MNHO5/=__Q8H!#0QOR6.9_8OVQ;UN#RUW4O&D"-8]2*(T_TM_%$+4 O#%B0!2 M!)"#@ $Y$> 5 =Y!0/]4E_I%0/\@@)QJ85 $9$-W\K%GPOE4T>E$\#T2YFY- M,P>9^EFTUBM*S8.R4$+_&NDX-5U\OIW_?3:[7@0^FM_>W 6?%M>?/]Y^0F?H MGDDEHJ5B(5HHOOR&'M)(2?369XI&L7PW<93N@,$XRZ*Q6=X8.=$81C<\51N) M@C1D84O\_!?QQ )P],C+X9/GX<^(E7A#Q3GR\'M$7()1I%C2UBL[PV?+DN&A MAX6/WKYYAZ)4*AK'>DXI] 8Y2&ZH8++XT]*(__)&2-G(2\#!R\'X&6Q1UBL? M+"_C>J<>+//(G,WT' [1G"=Z89/4+ UM3TU.ZK>3S%)Y*;=TR:YZ>BV43#RQ MWO3WW_#0_:,M69 P'Q(6 ,$:Z>B7Z>C;Z--/N^21"<17B'W?T;C^>$KT[ZDG M?Y9#AQG4O'.>IM[$>:K+;6VVJ]R0L (UI![4,H]L,I]OWAHFXLS:U37)QT2 MYD/" B!80_IA*?T0;.$90J8#$N9#P@(@6",=HS(=H_^U\%2G;0FRLKLF:/2K MQJCZVJ?]&U6Y2NT9:)B+=56C-K?%=E[9WQT$]&16O1 ]F+ M C6$/RB%/S".L;Z2H.67"K];+]IT]V*Z:H[),R'A 4Y;%"?:X.!Z[KEA&NH MC-W*KKA6G1]2P99\G4;_Z.5]61>=_3#'[)3N=FY7X0M:?7RD/_#J \Q%!6TV M@*(UQ:]Y16P5_T]!M9L)J6)H12.!GFB\8YGPF4M4'#TR5,L/E>TIXD_ZC4#1 M/G/QYCY]3M?,LEK9.]8Y>_9AXFR]0MA%2>XV25\/^F?K @;:L0"*ULPOJ?)+ M[*73*0\Y*P*A](>D^:"T (K63$'EFK'5!4YO=TH71&EH7MY4Z?FTCM*T>I.C MMU%:6/UW>J4[:?IG]F8Z)\P[*IW&7O^B?[C8@=IE*%HS$Y5AQG;'G"UVK(/B MD.9UCH^=-\:>>S$ZE!S4,D/1FI)7IAG;7;.I6KLH#NJF"UI=\3,R&GOC0\5! MG3(4K:EXY96QU?M-/W"Q8E$GT4$])8?O5A_4$N,CSVQEM\='2TSQ_>UO "J,XUE:U,+QY;ZY>OSP7E=5%0Y@6K M;PK6#Z9@_6(*UE950>TP*,T'I050M&:**IN,[3[Y)?5-R..8"FDNY1/!S(CJ M4T=K_D!M=4$;U]V==]X?'$X*4,<,16M^!ZN,-;$;ZWJY\XH$V.E=$U#0C-VM M,N">#P[_OPZTU0"*ULQ Y:Z)W7;6JI_7) #4(1>T1@+.VN8 :+,!%*V9@K5FJ2Z88:>41#9,HC:02U&SB M:=45U.N"TGQ06@!%:Z:I\$S$\4WV9;W1ZY M4CS)#C>,ADR8&_3O*\[5\XEIH-R/.?T/4$L#!!0 ( /N#;%A"V8YP;@, M '@, 9 >&PO=V]R:W-H965TF%9I3:.FW7WMP$E ,YC9IFFE??C9AG+S0+FMEC>)'\[_ M9_L<49F)DQ5+FE[8MPAA3(LY8CIF:63.>$JFZ?&.+G".) MC"BEMMOI].V4))GE#\W8@OM#5DB:9+C@((HT)?QI@I1M1Y9C/0_<)IM8Z@'; M'^9D@TN4]_F"JYY=4Z(DQ4PD+ ..ZY$U=BZ#@;8W!C\2W(J=-NB3K!C[J3M7 MT-7Q;3J);5PM_U,_VK.KLZR(@*GC/Z;1#(> M6><61+@F!96W;/L-J_/T-"]D5)A?V%:V'0O"0DB65F*U@S3)RG_R6/EA1^!< MO"!P*X%[('#=%P1>)?!>*^A6@NYK!;U*8(YNEV#Z#6?#U:A[,8'HSO[N]FMR; MB<7W\7P)'V;98;7JI%S5?6%5!ZY9)F,! M019AU*"?_H_>;0'8R@6U']QG/TS<5N(UX6?@.9_![;@.)!+3IEVU,V88U@P/ M[IP+Y UK^AW=.O_-/4SQ."9N=$A:<"+87H6X=H6X;W0_2G+(GY!"J9X0G MJ\*D9,D@IR1K?%I;>6\-2@GK&9A^33WXKG?>&=H/N\X^-O*/"$A#?=^FFK\*T1.R4L M.!%L+V*#.F*#5H=-6:J*4$%,TL!'W495$5*B@Z62R%]$JG7AMZ:9P5%R..\? M9IEC&\?K7QQDF6,CU^F[!UG&WBFQ4N0;4]L*E6&+3)951CU:E\]C4S4>C$]5 M65U6P?]ARIIUKEE1[+<%'(K)E59:)JQ^C1 K@W4 M_)HQ^=S1"]0?&_X?4$L#!!0 ( /N#;%@6FAU=-P( +X$ 9 >&PO M=V]R:W-H965T7#OB0^^]Z[=\Z]1+60SRI'U/!2,*Y& M7JYU.?1]E>18$-41)7)SLA>R(-J$,O-5*9&D#E0P/PR"6[\@E'MQY/;6,HY$ MI1GEN):@JJ(@\M<$F:A'7M<[;3S2+-=VPX^CDF2X0?U4KJ6)_)8EI05R104' MB?N1-^X.)WV;[Q*^4ZS5V1IL)SLAGFVP2$=>8 4APT1;!F)>!YPB8Y;(R/AY MY/3:DA9XOCZQ?W&]FUYV1.%4L!\TU?G(^^1!BGM2,?THZJ]X[&=@^1+!E'M" MW>3>#3Q(*J5%<00;!07ES9N\'._A#!"&;P#"(R!TNIM"3N6,:!)'4M0@;;9A MLPO7JD,;<93;C[+1TIQ2@]/Q]&&Y7&R7\]5V ^/5#*8/J^UB=3]?31?S#7R$ M;Y@1!FLI$L24\DS!]0PUH4S=P!50#MM<5(KP5$6^-GHLJY\<:T^:VN$;M;NP M%%SG"N8\Q?1OO&_Z:)L)3\U,PHN$&RP[T L^0!B$77C:S.#ZZN8";Z^]I)[C M[?W/);W6=T/7?YW.^FRH2I+@R#-&4B@/Z,7OWW5O@\\7Q/9;L?U+[/&,%,9- M0&HB_[G51EV#'SB\->TAOAL$0>0?SJOZ9S-5H,R<R&)2,%4$$811RF M?6O@7B:AMC<&WPFLQ-88:243QO[HR776MQSM$.202LV U6L)(\AS3:3<^%MS M6LV1&K@]WK!_-MJ5E@D6,&+Y#Y+)>=^ZL% &4[S(Y3U;?8%:3U?SI2P7YHE6 MM:UCH70A)"MJL/*@(+1ZXW4=ARV &QX >#7 >PX(#@#\&N"_%A#4@,!$II)B MXI!@B>,>9RO$M;5BTP,33(-6\@G5:1]+KG:)PLGX^MOH]N8*/0Q^7HW11S1B M5+"<9%A"A@A-60%HREF!4D8EH0M"9TA]+97C^G@[K9T<5DYZ!YQT/72CSI\+=$4SR'8) M;*6XD>UM9 ^]HXP)I!WDNV?(INVU2=X8F3^CK@A.1D>H&_AI,A.3J'O[> MEZ#*@6"_ [HV78H2I]"W5/$1P)=@Q1_>N:'S:5]PWY(L>2.RG< '3>"#8^SQ M8V?#TC8,@VZW99>T[=P++]@AW-'2 M;;1TCVI195052?J"G(HCW#K=]SVWK:9MYT7N15M-VRX*HH-:PD9+>%1+?2%> M+$_[%(:M^':]R O:$MN&D7_>3FS2MG,C-_+:(NVM,EX GYEV*%3I75!9E;9F MM>FX ]-HGJT/52>N&N=_FJJ-WV ^(ZIPYS!5E$[G7+G%J]98320K3;.8,*E: MCQG.U=\$<&V@]J>,R:6;:"63Y:,5U3(+E_9S88#S5M2 M5=K$<0*[HD5M)9-V[(DG$[8595'#$T?-MJHH_W<&)=M/+6P=!KX6J[50 W8R MV= 5+$!\WSQQV;,'E;RHH&X*5B,.RZEUC^]2["I"B_BS@'USU$;*RC-C/U3G M2SZU'!41E) ))4'EWP[F4)9*2<;Q3R]J#7,JXG'[H/ZI-2_-/-,&YJS\J\C% M>FI%%LIA2;>E^,KVGZ$WY"N]C)5-^XOV'39P+)1M&\&JGBPCJ(JZ^Z0-X2O!&"VQ/<]Q*\GN"UF>FLM'E(J:#)A+,]X@HMU52C36;+EO:+ M6JW[0G#YM) \D7SY??['XP/Z=O_WPP+=H!G4L"P$DB\4*NJ,58 $?8$&7:4@ M:%$VUQ+T?9&BJY^O)[:0 2@9.^LGFW63D9'),$&/K!;K!CW4.>2G K:,? B? M',*?D;.**62WR,6_(N(0UQ#0_/UT8J"G[Z?C,V[<83'<5L\=T9MO.8=:J)2C M#6>[0NVN.U.>.QW/K*-JQ5VSH1E,+5D,&N [L))??L*!\YLI1Y<42R\D=I(_ M;\B?=TX]^00Y<%J:$M81_9:H:N$NB>,@=AQG8N^.J.?%!D6Y>NX^ M?_4X.B2]:@2XJE%Q([ M264\I#+^: V*]<4+8J*_##KNQK0]=9@7.M[HNX"=UR.!\['ZTO..IW2)P8 ! M=V/8G@98%(\7&'QTIL$?+3$]\S2YQ)#>N0F)'3\R^# @(S*^*S%Y-4+>46KR MP^XT[$RC1V+PB/5J,CF!F#@NU@W:!^=M2O@J_;.TJ",;6O1G5N'T>%>=-_>!MZ, MS]1]J3W#O\ITEZU'RE=%W: 2EE+2N0UE5+R[OW0=P3;MB?Z9"7D_:)MK>><# MK@#R^9(Q<>BH"89;9/(?4$L#!!0 ( /N#;%@[U,\="P0 +H. 9 M>&PO=V]R:W-H965T$:CH=2[$GTD0CFKFP8MILI,^X\?U)2WS+ M,$]/[_^8?7JX(Y]O_KE[(K^2.:2"IRQGU+HBED2O@2A-]58+^4*6D(&D.6$\ M%04039^)I!HOA V$Y1*LD>53"1LA-608;E_/1+&A_.5G1;"*$CG+J'F[9)QB M480UA0#_55J1#PEHRG+UR]C7R-.,UD\K3KO+V]+"%3;?VO&OQNA?P[FJ7 M[DL;/Z.-+AS*1 M[L";_O1#V ]^C5/'JM/)Y,3YXT/*@KPG%!PKGAV]D E(M@62",SL85 MQ/T&17=8KQ&6N,.&<7#ZN4"Z7Y/NMY*>K2E?&=9D1_-M.1G2'!=)G*B<'K;" M?6\/O"=8TG?*%0S= @UJ@0;M FVE-#/#"U!IEX%40L:TT_YVI ]!9Q#\Z)KF M9Z\D]CL]=V+R2F+LJ'BFPK!68=B*E#"<2E&'%,@"]!Z $]R*X5X#_RT\J_OC ML$RZQ!FZ[1DT>L,=UHL;O>$.BRZ8/:IICEIIXC)04&[L9K@\.ST>.0N'S19W MAH5F43RCX4;K16X:87#<[ 2M1.9ENQB3R!9=D[C%X-:>C5#,=+F37#OJ]W9W MA?:-Y;V&".]5]5RKDXUAV*K5)]RQ2:<:[7G8S]&%?GX]LWNAH:O,%LW.649' MEE%KS>->J*U)*Y#&PMKLT2JJ,\Y;K< MN=9/ZP/8C3UV-)[?FH.9/2P<8:/%QAX= M%D+C0<1>KO%P"=($X/NE$/IP8PK4Q]7I_U!+ P04 " #[@VQ8 "P.4^8# M !K#@ &0 'AL+W=O^D7C8 M77R[ /8G9DGU/[:=66V(SF65WQ/"OUFPT6.E;X56U?N M!<'KTBEG+O*\R,TQ+9QT5CZ[%^F,'Q2C!;D70![R'(L?'PGCQ[D#G=<'#W2[ M4^:!F\[V>$L>B?JZOQ?ZSFVBK&E."DEY 039S)T;>+V L7$H+;Y1.9X@((YDR(;#^>R8+PIB)I#G^K8,ZS9C&L7W]&OV/,GF=S I+ MLN#L;[I6N[F3.&!--OC U ,__D7JA$(3+^-,EK_@6-G&R '902J>U\Z:(*=% M]8]?ZD*T'& PX(!J!W2I@U\[^&6B%5F9UA(KG,X$/P)AK'4T+\D"E,F M/VB+KX]+\/[=!_ .T (\[?A!XF(M9Z[2,":DF]4#?ZP&1@,#+TEV!7SX&T > M\BWNB\O=T;F[JTO0U $U=4!E/'\P7IVXSAA@*8F2U[:DJBB!/8K9<]=RCS,R M=_2FDD0\$R?]]1<8>;_;4GRC8&<)^TW"_ECT](MN$;H9"*QHL06,2PGT1 *N M=D2 # OQ ^@F<<3"/KE5\+ ,;EK%4446)E:\*$IWQA5&'KV^D\:"=+VSXPE&^AVJF6M6TX86]D5$< M3#MX?2/?\Z=VO*C!BT;Q4.3?@$-!C0#H:=Y3A1G]#Y-268L9]4 @##NP M?1OD#90R;ECC4=:["EE MTJ]D,D5)!]-B-85A8N><-IS34<9,BS%ZVY(JV!?AR:A'W2Q+%9ZHPU0G>0*CNN5I;O^1/EA7XDF4*^LKF!9[9+0 M?(Q:D4^J!<=EJX-,6U_25MZX]Y4T2?SNMX#-"J*P"^NV3@+F&/89BRTM)&!D MH_V\JU@'$-7)IKI1?%\>#E9;G3IT$BC(%^O^%,%[HY9=R)QK;O3D9C4>B,<;B3 M1!5Y3N7W*61B,W%\9]?=^P?K7@4\T@5S$3V%TOU:N(,'9+"@A:9GHO-[U )&AB^1&3*_I)- M-==S2%(H+?(*C!'DC)?_=%L9L0?PPR. H ($SP'](X!>!>B]%M"O 'WK3"G% M^A!33:.Q%!LBS6QD,P_63(M&^8R;O-]KB:,,<3KZ],?L\^T-^7+]]>:>?"!S M2 1/6,:HS8I8D #(^GY ;@77*T5N> KI(8&+8FI%P4[1-.ADC"&Y(#W_/0F\ MH-<2T.SU\* %'K\>[G>HZ=7YZ5F^WA&^$Q+RGMQLDZQ(&5^2ZUP4''-T!Q)S MQ$V7%CA.<0M5L#GH0G)%_IZ++"/X$FVH3/]IRV 98;\]0G,P7:DU36#BX,FC M0#Z!$_WZBQ]ZO[6Y?TZR^$QD!YGIUYGI=[%'4U@R;ITM]C.BT=K'*B-M9I:D M TMJ#N6GR!\-0\_SQN[3OD_->8$W\AKSXLX@?]*"06W!H-."62$E<$W6()E( M3_.AD_G43562A7MF]49-J\ZTY(%586U5V&D5OE]X!7$\THUER7>RR(I$%_:M M;O4G;$@*6W9)YZ*GODUG(COPY[+VY_*\_G32G;I_+AMF?_#[O>8..M.B!PX- M:X>&G0[A_7CR83-LZ J\0=#<1LUYK8=2/'SQ4#J0-JJEC3JE[6XK"=8WKHU0 MK&QIIADH0GE*&-> 8YIL\(\8"R26"X0J'$E$#M8*V")(09L3HX;"YQZ\.",> M-=0?T>U[/ZHO[Q7*S;5>"Q1R7WJ2R.)Y653555Y'.*6DEZ?$W?&=NJ7=O4(T M![FT!;TBB1%95G!U;_W1<&U+Y6?]4_,Q80O<'S3EE\@ME7CO*I+! BF]BTM4 M)\OBOFQHL;;E[J/06#S;QQ5^$($T$W!\(83>-&UL MC51A;],P$/TKIS#!)I4F3=E (XVTMD/LP]BT;L!7-[DTUAP[V$[3\NLY.VDI M4C?Q)?'9]]Z]LY^=M$H_FQ+1PJ82TDR"TMKZ,@Q-5F+%S%#5*&FE4+IBED*] M"DVMD>4>5(DPCJ*+L&)AR.G;Y/N$[Q]8,]B7=,##\8[]B^^=>EDR@S,E?O#< MEI/@4P Y%JP1]D&U7['OY]SQ94H8_X6VSXT"R!IC5=6#24'%9?=GFWX?#@!Q M_ (@[@&QU]T5\BKGS+(TT:H%[;*)S0U\JQY-XKATA[*PFE8YX6QZ\VUV=WL- MCU<_KQ?P'NYJU,QRN0*AC($9TWI+)]\RG1LXG:-E7)@S. $NX;%4C6$R-TEH M28GC"[.^ZK2K&K]0=8[9$,:C <11/(:GQ1Q.3\[^I0FID7TW\;Z;V/.._Z.; MX3%9'?S#<;B[ )>F9AE. G*X0;W&('W[9G01?7Y%W'@O;OP:>WI5J49:4 4T M4F.F5I+_QAR6*+'@U@!YM)$9:MIC"99MH%:&.^L:L"6S ^ %_,4-R.Z-R($5 M!1F<,A!FJJJ9W+XS@'Z2[.YYZ$3QV&9TJ&4W07.P?OW)_T# M4$L#!!0 ( /N#;%B?#E/"/P, .D+ 9 >&PO=V]R:W-H965TICV8< &K MB0+6ZPXX)D!I8GM.4YHIYA0*^J;9V,>]5DF$T)AS)'( MTA3SYVM(V&9@N=;+@P>R6$K]P([Z*[R "N 9B(GP0VHG*/M)4I8T]Z\6TVL!RM"!*(I:; ZK*&(22)9E(Z_A:D5OE- M#:S>O[#?&O/*S!0+&++D%YG)Y<#J6F@&@< 7@'PC@7X!< W1G-EQM8(2QSU.=L@KJ,5 MF[XQ>V/0R@VA.HT3R=5;HG RNKNYFMQ,T#F:J ,RRQ) ;([4(>%8$KI 6 B0 M F$Z0PG!4Y(024"@LQ%(3!+Q60$?)R-T]O%SWY9*CB:UX^+3U_FGO0.?'D%\ M@7RWA3S'\VO@P^/AWB[<5IM0[H17[H1G^/Q#.P'J-(@Z&SFN78_3=78I5CB& M@:4*20!?@Q5]^N"&SIYG71)LMLEMG.><)#(_N!.LH M#(*VXSA]>UUULQ_7;7=[U;@=H>U2:/M(H28K+717'+[G%AIFG .5+3216(+J M*%(?V5M",8T)3M"8"6(ZQ.^;K=3]9JH.]0W-4D/)Z)\ZO\URKN*89S K5:@2 M*'74Y?A4;#M[%Y1[%[PIR96ZK7,>[&70#UQG/],U<9V.?S#38:DV;%1[Q^CB M7 )/*TWG*-TY;5C5XW;#?=W[<>U>&!S4W2EU=QIU_V!2G;6CE';V:RGLU2C= MC^MV_.Y!I=U2:;=1Z3W>DC1+ZY0U M_:V$Y$MN.Q5WKLO;-W]TYI\41D.Q9= MY_\_M=.8R ?08YDND)A1R=4 E*DCJ&NGUODK; %Z!LSKD,-FY'M]5B82]Y4& MIMMT65V0=W'5T ];;29LLMJ(?*M5NS*'Z2'X'O,%H4(9F2MZYZ*CBIOGBG6KJP$ MX-R"2NH&GA>[)2;,21.[]R#2A&\4)0P>!)*;LL3BSQ0HWXT=WSEL/))UH:8#=^8']SGK77I98PHS37R17Q=BY M=E .*[RAZI'OOD'C9V#X,DZE_46[NG8P=%"VD8J7#5@K* FK1[QO^M !^/$) M0- @K> Z 0@; "A-5HKL[;F6.$T$7R'A*G6;&9B>V/1V@UAYE]<**&?$HU3 MZ8_;R>)V@;Z@&2\KSH IB?@*4="M0;#7+XL>+^:@,*'R4M<]+>;HXN-EXBI] MNN%PL^:D:7U2<.(D/T#WG*E"HEN60_Z:P-6R6^W!0?LT.,LXA^P*A?YG%'A! MV"-H]GYX<$9.V+8RM'SAV5;V-:;&1?TX MXFZ[EH[K(B\:=NM>J1VT:@=GU3YC0?"2POL%UWQQ1X@?13V">^K"X.:DX+@5 M')\5_),K3/MTQ4<-&D1!<*RKIRXZW$Y@E"#6-D>E[LN&J?K^M;MM5$]L M0KW9G^H(KQ/W'TV=__=8K F3NN,K3>E=#;4J46=JO5"\LK&TY$J'G)T6^C,$ MPA3HYRO.U6%A#F@_;.E?4$L#!!0 ( /N#;%@B;Q803 ( #(& 9 M>&PO=V]R:W-H965T>-+721EZ4;BR) MU$*G3=HT5+3ULTDNQ&IB9[8AY=_/=D(&4HJ0MB_$CWO.O>?8OL2-D,^J0-3P M4I5<):30NIYZGLH*K*@:B1JYV5D+65%MIG+CJ5HBS1VH*KW0]R=>11DG:>S6 M%C*-Q5:7C.-"@MI6%97[>RQ%DY" '!8>V:;0=L%+XYIN<(GZ9[V09N;U+#FK MD"LF.$A<)^0NF,[&-MX%_&+8J*,Q6"4K(9[MY&N>$-\6A"5FVC)0\]GA#,O2 M$IDR?G>WM#(-LJ+:H.;"JH&&^_]*7SX0@0O@8(.T!X*2#J )$3VE;F9,VI MIFDL10/21ALV.W#>.+11P[@]Q:669I<9G$Z_/=PM'Y;P'IZ<8,R![E":\S-' M9"\!XQLHT?@$&F4%E.>0,Y6)+=<@J4:XFJ.FK%37L:=-/9;5R[K<]VWN\)7< M<\Q&$ 7O(/3#: ^NQP>GL(]XT)O1=A;$3J^Z*P50S):W'@89]_95-4TPX28 MAZ10[I"D;]\$$__3D*C_1'8B,>HE1N?8TQ^U.5O=GZF"YJ)3O]HCE>IZ.N3- M^80A."A,H!)<%PH"'W*Z5T/&7,9TVS-% TPGKHQ[5\;_Z,K)E1]RH4T0M%?5 M=LY=ZH_\R)_$WNY8XW!<^/%O7*O .WK1MIM^IW+#N#(%K@W0']G^(]L.U4ZT MJ-TC7PEM6H8;%J:IH[0!9G\MA#Y,;-_H_R;2/U!+ P04 " #[@VQ8V>F$ M.?\" U"P &0 'AL+W=O+$ MY_@YUP3?R8&R)[X%$.@Y2W,^M;9"[,:VS5=;R#"_I#O(Y9.$L@P+.60;F^\8 MX+469:GM.4Y@9YCD5CS1]^8LGM!"I"2'.4.\R#+,7JXAI8>IY5JO-Q[(9BO4 M#3N>[/ &%B >=W,F1W;MLB89Y)S0'#%(IM:5.YZY6J!G_"1PX(UKI*(L*7U2 M@V_KJ>4H(DAA)90%EE][F$&:*B?)\;LRM>HUE;!Y_>I^I\/+,$O,84;37V0M MME,KM- :$ERDXH$>OD(5:*C\5C3E^A,=JKF.A58%%S2KQ)(@(WGYC9^K0C0$ M[N -@5<)O/<*_$K@ZZ EF8YU@P6.)XP>$%.SI9NZT+71:IF&Y&H;%X+)IT3J M1'Q_>[6X7: +=%>(@H%:@F1%AE*0M4$[_"*W3'!4Y&M@2/YX&!8DWY2/.3J[ M 8%)RL^EP>/B!IU]/)_80F(IPND2^^QEYCN<;Y+/WR[UC MN2V+45?$JROB:3^_LR*F&*5N8-:I]VW,=W@%4TN^4!S8'JSXTPT_V0!<,V>J=Y3_2@1@].H8],Z$$+W?<, MZ)WF/=%'-?KH%'IH0A^UT%WU>_D7O=.\)WI8HX>=Z#^V(,_F1 S!0C;M7?; M_)TK].2/:OZHFY\*G**D/%J.CQ13H*@5*(A"P_]/YZ(]([G.WQ/3Z0QU#YR/ MT55&BUS(3D:OD>M3D>1RIX +XQGHM,)=>)'7#M>]>M]TC7[ [4PW+^.@/4X+ M0#2IMBTE>$E2(@@8=ZXR;1X=01 %AG3MB>'H^(PIP>U&3Z,:RN^8;4C.)4XB ME<[E2%JPLDM6M2HVV<'+L&JL9GM)-U_ MO[--:%HET3[L"]C'O<=[9]]E>ZF>= 5@R'/-A1X%E3'-, QU44%-=4\V(/#+ M6JJ:&MRJ3:@;!;1TH)J'<10-PIHR$>29BRU4GLFMX4S 0A&]K6NJ_DR R_TH MZ >'P /;5,8&PCQKZ :68!Z;A<)=V+&4K :AF11$P7H4C/O#:6KS7<)/!GM] MM";6R4K*)[OY5HZ"R H"#H6Q#!1?.Y@"YY8(9?QN.8/NEQ9XO#ZP?W7>T ] P@:0&),^J5.5LS:FB>*;DGRF8CFUVXVC@TNF'" MGN+2*/S*$&?R[_/QG^=A09E6?*P:"5,O(3XC(1^3.ZE,)4FV4Q[2RFE]CS'PTHO"1B\W)U--X) MV87]A3E5 T]\XXCMS-GE:92F411EX>[8WLF\V^,\KSP\:H8:U,;-"$T*N17& M7Z$NVHVAL>N^-_$)CB<_35YH_&R[IVK#A$93:Z2,>K>H2OEYX3=&-J[E5M)@ M [MEA2,6E$W [VLIS6%C?] -[?PO4$L#!!0 ( /N#;%BM-J,C_P, ,<2 M 9 >&PO=V]R:W-H965TQ"+%^Y'W M)WD\<7A@_(?8 4CTF"94C)R=E-F-ZXIH!RD6URP#JMYL&$^Q5$6^=47& .1X>D200"0U JN?!YA!DFB2&L?/ NJ4?6K#\^MM=U4+07DJ6%L1I!2FC^BQ\+(W'Z>K&Y#-)\L5O^@U6)ROYS,5G=?[Y?H?0@2DT1\&+I2 M]:3;NU%!G>;4X!6J'Z OC,J=0+4_&W5TXI@*;':*J)N-G-6N9^G0<2,R','(4;%! '\ 9_SN-[_K?:S3S28L MM 2K:-@N-6PWTN@_GZC4.Z5+U+,$JZG5*]3J-ZBV 2@2/ZH"IER*W[IQ+ M,>AZGO=,CYIFO?Z+9N'+9IW>X+Q9Q8=NZ4/W?WS(=U&F=]&5.F1^[HD@9A5$ M3,C:O=1],<6^9_Z>.=;8\Z43;0E6$:E7BM1K%.D[YAPH^DMM!N"UDC3:7QI> M;,)"2["*;OU2M[[%$-VWJ:%-6&@)5M%P4&HX:%Q[GT#%W R3&*D4%FDZB50- M+Z25#,D=H!E+,TR?_A"(4+5[<8*R_3HAD0KM&^"$;NL$;^SX4L%MPL+!BP@3 M!!WOU6#G>Z=E>(7N:%2K42/L8HULTD);M*J0P4G( MP&*\+&"VA+1)"VW1JD*>/@W\QJSYE[*: MFT/PJE6F_+?\+F0?ZJ"*?K]A3!X+NH/R[FK\'U!+ P04 " #[@VQ8,,/G*A8" ".! M&0 'AL+W=O\.PFF\0Z.PZVTQQ_C^VDH4B]BI?$:^_,SB2[CCNIGG0% M8-"SX+5.<&5,LP@"G54@J)[(!FI[4D@EJ+&A*@/=**"Y!PD>D#"Q MW]NI-):MX:R&G4*Z%8*JWRO@LDOP%)\V'EA9&;<1I'%#2]B#^=[LE(V"D25G M FK-9(T4% E>3A>KF0_TL06'&C0G)2N")7&=>035 T?8=( M2"*DH;0M8:[P1J/SR/-&_^'\DL\>/;N,=K.RT W-(,%VH(^#T]:OI//QT M1=MLU#:[QI[>M^)@_X,L;-\W4AEZX'"RKB^)[>GFGL[-X3$E<7 \5Q"<]8@ M5?I)T"B3;6WZ=AEWQV%;]CWV-[V?U"U5):LUXE!8:#CY<(.1ZKN_#XQL?,<= MI+']ZY>5O3! N01[7DAI3H$K,%Y!Z1]02P,$% @ ^X-L6'[6S7E^! M$!< !D !X;"]W;W)K&ULK5A;;]LV&/TKA#8, M+;!&)'7/; .)E75]2!1^'[-,GY<&L1XN7"?;G>J MO&"N%OMHRQZ8^KJ_$_K,;%62-&>%3'F!!-LLC2MR&=**4"'^2ME1GARCTLHC MY]_*DT_)TL#EB%C&8E5*1/KKB:U9EI5*>AS_-*)&^\R2>'K\HOY[95Z;>8PD M6_/L[S11NZ7A&RAAF^B0J7M^_(,UAIQ2+^:9K#[1L<%B \4'J7C>D/4(\K2H MOZ/GIA G!.*.$&A#H*\)]@C!:@C66PEV0["KRM16JCJ$D8I6"\&/2)1HK58> M5,6LV-I^6I3O_4$)?3?5/+5ZN/EX>_/Y"PJOOERA#RB24L^UM*@G5/EBN$!Z MD@E]4FP1>];S33*)'K\CR;;Z_2OT+F0J2C/Y7M._/H3HW<_O%Z;20RL?8,;- M,*[K8="181"*;GFA=A+=% E+^@*F]M0:HR_&KNFD8LCB"V217Q'%U (&M'X[ MG0+T\.UT,N'&:E^35>E98Z^I*7;YCJ'JUFP;9I>]XU+NHY@M#=T<)!-/S%C] M\A-Q\6]09>84"V<2ZU7-;JMF3ZFO/NNY+*.,2:AD-=6IJ&5W?%K9/G4LW3#Q MPGPZK0> =#S?\@;($$!2C_K^*;+GQ&F=.)-.UEPJQ#=HRWDBD>19 EFJ-=R3 MQU.?^-@=6H*0E#C!T!* =%PG&+?DMI;<24L?!9<2[07?I HRXPX?C+%' 3-# M)/$:>Q;R(TZQLDI\4R\$9-RGQHXMT3K%P)K%> MZ?RV=/Y9K4F.S!KE9E4+YU+KEZY+<^2,.-=P3R>_3;!.=,!R&D(MW[&I!2PI M .I2X@?CJZJ+=&2.3$> &99 9 ^UR 44WM8@A""$LOWR;BO+M>1\X(=@5*8 MZ_M0XP.@CD.@: =!;=_"XT&5=.&.3*>[,)5*I(^'Z@_QFWO@K'%O5K5P+K5^ M/;O$1\Z+?&36S#>K6CB76K]T7>PC9^0^,@QI!%/+(\#*&D(#C1N&J1!"8FQ; MH^N*=L&/SA'\Z#"BZ7_?%M#8(:3K6D!?!Y"NY]KC;9UVJ8^>E_H:^NDF ;6Q M!<18"(EM#[(#(*D5 .'+;2&S30J*,;;0DOO#TL$2]_5J?*+ZO-B0?N5(\KPYW+$J8* 'Z M_H9S]7)2/J#=!%_]!U!+ P04 " #[@VQ859W-PWL$ !['P &0 'AL M+W=OK[3\(/OX\Q#[PV]FC'^'<1 M42K12YID8FQ$4FYN35,$$4V)N&(;FJDS*\93(M4N7YMBPRD)BZ T,1W+&I@I MB3-C,BJ.W?/)B.4RB3-ZSY'(TY3P'S.:L-W8L(W]@8=X'4E]P)R,-F1-%U0^ M;>ZYVC-K2ABG-!,QRQ"GJ[$QM6]]>Z #BA+?8KH31]M(-V7)V'>]\S4<&Y:^ M(IK00&H$47];.J=)HDGJ.IXKJ%'7J0./M_=TOVB\:LR2"#IGR;]Q**.Q,310 M2%@5P7TS@WH5P']

E%4UO M%+J*:'6#XTP_60O)U=E8Q$?ZF?A?HHT M(Y8+DH7B\ZO]D2E5_9IB!E5=\[(NYXVZ;'3',AD)A+.0ABWQ^"?Q3@? 5 VO M6^_L6S]S.HEWA%\AV_F,',OIHZ>%ASY^^-36L&[,'R2[0CW[IQCO$LQ\^A8& M=V,\&M287L?5^.=CG'9,XY[WZB>N5W![;SUQ^5+0YYQF$N&M^FU[D&8EHM^. MT-GV5FQ(0,>&2J>"\BTU)K_^8@^LW]OD0<(\2!B&A/E L(;4?BVUWT6?S'*A MC@BA>HKG/!:Q[C54QLA4U\A6*" B*L_PUO=^U@F_5#5??O#U1(G@>RM*PZ^M/R;<([+^-2X9 P#Q*&2]C@2/BI;Z *&[ZO:]_7 MP+[WI3:$RQ^(OJA/%D';#'=6?*EA2)@'".1E%4CZ+:C'5R+C4&"?,@81@2Y@/!&F9O:K,W[Q\9WT!*A81YD# , M"?.!8 VIMG7XPK:ZB M-94=38K8W3EV_O?#F4FVFW3I"PE*\T!I&)3F0]&:AIV#8>?]N;9B0+F%I'F@ M- Q*\Z%H3;>'"2:[B-4T?9I5L%R#;@DX: M@=(\4!H&I?E0M*;;PPR3W3W%]-YL.VCYX!ZXIV-?T$DA4!H&I?E0M-*G>;0V MF%*^+E9Q!0KT-TFY:%,?K5>*I\7ZZ*OC<_O6LUN.8[VR7*Q%'O#ELO0=X>LX M$RBA*U65=76M)/-RI;?&PO=V]R:W-H965T]G.R&%%A":^H7X['OO[I[#2[1A_%$4 !(]5245L55(68]M6V0%5%@, M6 U4G2P9K[!4(5_9HN: L-.HAJO8 [RH9YQ%=D]2TXJH((PBC@L8^O:':>!SC<) MOPELQ,X:Z4D6C#WJX#:/+4H+ 3Z1G/(]PELU73? MN;?M?.*=9$PA&R#?_80\Q_,/-#0]'^X=@*?GP]T3T_C]/?B&S_^?>S@D=TL7 M'*;39C$6-_%1&>4LS M5@&Z_,&$N#HD74LQ-!3:%M>)/PH#=8OK74W>9@U'GK.?E+Y-8K0@4J8:DHG<$7 MU1-O/:\-)*N-"RR85)YBEH7Z3 #7">I\R9C&UL MG95;;YLP%(#_BL6D/;7AELN6 5+2;EH>.D5IMST[< "KQF:V">V_KVT(RZ:$ M2GD!VYSS^3M&'**6BV=9 BCT4E$F8Z=4JEZZKDQ+J+"<\!J8?I)S46&EIZ)P M92T 9S:IHF[@>7.WPH0Y2637MB*)>*,H8; 52#95A<7K&BAO8\=WC@L[4I3* M++A)5.,"'D']K+="S]R!DI$*F"2<(0%Y[*S\Y7IAXFW +P*M/!DC4\F>\V"FGTEY1V\6&GQV4-E+QJD_6!A5AW1V_].=PDJ Y MYQ."/B&PWMU&UO(>*YQ$@K=(F&A-,P-;JLW6",L *MA,"L 'WL2D:NTCN8.#?M:>N.%ER@A>B!,U5*])5ED/V;[VJS02\X MZJV#4> ]I!,4^CX7<./0]N?D@-[_JU)Y Z*\(7W ;9[[GMAC< M%EBGWO2'RH0A>V"$J6\8:IK%VVZSYTKW+CLL]<\"A G0SW/.U7%B-AA^/\D;4$L#!!0 M ( /N#;%@."R2&.P, -03 - >&PODCFQE2?XKB>SEE)ZS-5,6F10NF2&MO5 ML[BN-*-Y#:12Q+U.)XU+RB49#>2BO"I-'4W50IHA2=M0Y&]?\R'IIA])Y.7& M*F=##0LG-YB;$!ZPZ M+5ET3\60C*G@$\V!5="2BY4/]R P54+IR-BJLNFZ$*D?/-SU/2BX1J?D4FF7 MVV?PWY-F^!ZP[H%!+D1KL$=\8#2HJ#%,RRO;<8-=\ D4->W;564=SC1==7OG M9$-P-YMDHG3.=)NF2]:AT4"P NQH/IO#W:@J!M 85=I&SNE,2>H\K!E-P\I. MF1 W\#3^+':TE\76OG5@UV3;M(::II?Q'=#?5O/:V[+)JW2CBM\K\V5AIR-= M'^J;76M6\*7K+XO6 *;>Q=5I58G59\%GLF1^\B]..!K0-2^:*\T?;#8HE:D- M,$VB>Z8-GVY'?FM:W;*E69?3LL ]]]Z@Y[^[SC,FF:9BV[2M_4->Y5<[;EY? M_\*S^[6R[SAH,KDX?(_-*_O03:9OP>0;V.XD.WR/S:'JT$T>YDK&S2%CZR2S MG.>YTP^.4,G]D^6'7T[/F<%70AS MVX)#LFE_9SE?E%D[ZAH6HAFU:7^#Z773]K!JS '&\2PLS_\TGSXZ'X]AWOI!I(]R^BC'LT+(V'VP M/&%.9J_P3+,L2=(46]'Q..A@C*U;FL)/6 WS!@PL#V3ZL[7&=QNOD.?K -O3 MYRH$FRE>B=A,\;4&)+QNP,BR\&YC>8"![0)6.Y _G =J*LQ)$MA5S!OV!.-( MEF$(U&*X1M,469T4/N']P9Z2),FR, )8V$&28 @\C3B".0 /&)(D[CVX]SZ* MU^^I>/-_O-$C4$L#!!0 ( /N#;%B7BKL

-8?20$3;8T.P M6BP^0"X99K>]9!:GNJXW[ZZOJW@MW=]%BU+K]_+&7Z;UG4/ MC66;9;:^_>^-)R#J-?SD=:LB( M/U?-F9H_!UR!W/;,&W7#92JKNKFBN3]7C"]"7;P[VM;E?9K50DYY+1YDN=VD MQ4K?1OV*:_ SFC@<_NZ"^$[^GS"6RV4:BVD9;W-1U+LX2I%IP*):IYNJQPJ> MB]O>X1+&BX2Y1:V"Q+QB=RMUK?ZEZJN]9/>K:X4+8BC?I>H-Z24-.!VDHX[+ M+$W4MR?LCF>\B 5K@EL!0 ,!-"X&R-XN.( <()"#,T*&&D)_H&+EDLTW0@+( M(0(YO"#D5P- CA#(T<4@'5ZM :2)0)H7@PS7'!:WA4!:M)"A]^![]YYC^Q&S M'6?^Z$>>_\ 6\YGG>&X((,<(Y)@6TG;^>O1"+_+F/B2:($03:J(F5"$+7,?U MGNR[F?L[\]T(-M)I$]L$L]7D8OF0?OA[V/:Z!-[8Q',%VX0?6&V/V6NJ@H+ M'3%(A_FB3RR,A_E\^MF;S1JZ>?31#9CG1[;_X*E*P6R(B1FC3ZP,56.#1W?* M9IY]Y\U4C6B7+^:)/K$HINY=JS0Q'?2I??#1#MR/\]G4#<(WS<,6?8%LF 7Z MQ!H(H[GSY]6=':IB=.:?%JX?VL+"GC+G! M(':#POSD14VCVU!J.N5\US\2OH%9PB"VA.!>J5DUCZ2Y2J]]A8!(PB"6 =L1;>9>!^<&X9+[P=0 Q,5489\P8V-N(JV^O M?H-PF">,"R4/>U X6(%Y8G#^'*(KE -,$X/+)!,'3HB)F6-POJ2B,X3HH-1% MLHM.3$PF@TNF&:WV<8#Y97#^-*,SE)AJ!F?(-SJA,+$,J,5RHG/?T2AB8AD0 MBP7V2SMCB(EE0"R670>U"VN(B61(+!+8#^R$PPPR)#8(WJ$90DS,($-B@^"8 M(XB)R61(+!,\TJPA52?9P[$Q PS/&?JHHJZJ'FQ MT@S,KBI10TS,-4/R).9$H3NO/-OF<)X0<\^(V#UHH;>G,S$+C8@MA!9Z&Q.S MT(C80J0HQ,0N-R(?&?LU\Z+#:3!1,S'WF,3NP3%A MHF:B*[W(,Z".4;^NY@@SCTELGF;83_74U:V2K>I9EDL6E_F&%Z]O*I; $383 M,X]);)X#YCZA4)1\M9)BI7#81L(^IHF9QR0VSQ[3N#'ZS)%"]3+8/8^;1EK40HJJ9I+#(00+%[AHU5[(6)N:@,;&#CC"G8BFDZLGIP<(R%W ,;HQ9 M:$QL(32:[9J.66A,;*$C3+WY2EU4K%A65E5K)FB,[GHAMM!^.K_=0RI_P$), MS$+C\ZPZT$U1OBF+PQZG3.AY%O$/P)Q@%IH06^@'YF>1KM:ZM>0O*I0KP:2Z M-\PK)YB%)L06^H%YOZVW4NRVR6[S?3@W$!.ST.0L:Z&;/'VSR9J=;3QC,:_6 M;)F5WR$F9J')Q19)-UUXB(E9:'+&E=*Z0:K70G;F&!-,0A/J1*A-R?5TM)+Y M8:\RQ,0D-*%.A8Z7>'='$A/0A%A "_[*7BJV$++YN-ZL/$VK6.E'57D(B>EG M0KW4K:C21#V'D>2)]HTM)2]6NTVLD!'=AMFXY[JYN/KP/E%]P$(DOKI_I<[' M/(L7DND_^DY]8SC2&WB6VRQSU+EY,2MY4&D(/M*+:Q@-4F=[^64]@';;%-Q%M9 M ^+C5(\0'AY_=8=V>NM/X_[M/*X^CH?3N*[VTW3^4=?C9M\=V_&A/W>GRYEM M/QS;Z;(<=O6YW;RWNZZV31/KX7Y&]?1X/W/U\GGN_F=BO]V^;;J?_>;WL3M- M_QA<_^F']W'?=5.U>FF'73>MJ_KC<#L\UM7]?5\/QJJGKI((L@ MNWR00Y!;/L@CR"\?%! 4E@^*"(K+!R4$I>6#,H+R\D$%067Y(--0QD8@:8:U M@-:&7!L!KPW!-@)B&Y)M!,PV1-L(J&W(MA%PVQ!N(R"W(=U&P&Y#O(V WI9Z M6P&]+?6V GK;V<.V@-Z6>EL!O2WUM@)Z6^IM!?2VU-L*Z&VIMQ70VU)O*Z"W MI=Y60&]'O9V WHYZ.P&]'?5V GJ[VCOJ[03T=M3;">CMJ+<3 MT-M1;R>@MZ/>3D!O3[V]@-Z>>GL!O3WU]@)Z>^KM!?3VLY?= GI[ZNT%]/;4 MVPOH[:FW%]#;4V\OH+>GWEY [T"]@X#>@7H' ;T#]0X">@?J'03T#M0[".@= M9G]6"N@=J'<0T#M0[R"@=Z#>04#O0+V#@-Z1>DDWE% [TB]HX#>B7HG ;T3]4X">B?J MG03T3M0[">B=J'<2T#M1[R2@=Z+>24#O--LL**!WHMY)0.]$O9. WIEZ9P&] M,_7. GIGZIT%],[4.POHG:EW%M [4^\LH'>FWEE [TR]LX#>>;;96T#O3+VS M@-Z%>A_4>YP^#]UXZ_E:X_ZF^4ZKI\NUW>W^U^77P=G7.,V5Y_H^8WSZ M"U!+ P04 " #[@VQ8%8LHOU0" Y. $P %M#;VYT96YT7U1Y<&5S M72YX;6S-VTUNVS 0AN&K&-H&EB**I*@BSJ;MMLVB%U E.A:L/Y!,ZMR^M)P$ M:)$:#5R@[\:"37*^$0=X=K[Y]C1;OSH,_>@WR2Z$^4.6^69GA]JGTVS'N+*= MW%"'^-7=9W/=[.M[FXGK:YTUTQCL&-;A6".YO?EDM_5#'U:?#_%GWTWC)G&V M]\GJXVGC,6N3U//<=TT=XGKV.+:_I:R?$])XAG@D];.S=>MW MUH:A3T]%K\XGAWC#]O297YR_E#D7&'?>N6GV<6+.OC_N923'T^LY%K(N=.=? M\34QEK[X_>QQVJUM_S([7N^/R>V7>?AL>5Q^Q[_.^+7^._L0D#X*2!\2TH>" M]*$A?920/@RDCPK21WY-:80B:DXA-:>8FE-0S2FJYA16&UL4$L! A0#% @ M^X-L6'EF+;;N *P( !$ ( !KP &1O8U!R;W!S+V-O M&UL4$L! A0#% @ ^X-L6)EEY5 M+K ' !!,P & @($-" >&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6!VA'#&&!@ V!T !@ M ("!\P\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ ^X-L6(5UO;P; P ]P@ !@ ("!_R 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ ^X-L6(A4F_UH)0 M*78 !@ ("!=3< 'AL+W=O&PO=V]R:W-H965T]T@0 &4, 9 M " @&UL4$L! A0#% @ M^X-L6'X%V 'V @ F@H !D ("!R6L 'AL+W=O&PO=V]R:W-H965T!Q !X;"]W M;W)K&UL4$L! A0#% @ ^X-L6 %Z1$!Y!@ M>A0 !D ("!M74 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6+7S7QS^! Q P !D M ("!4)( 'AL+W=O&PO=V]R:W-H M965T5 4 %<, 9 M " @4JC !X;"]W;W)K&UL4$L! M A0#% @ ^X-L6.P=>."C!P IA$ !D ("!U:@ 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L M6.HD04SO P "PP !D ("!',$ 'AL+W=O0Y($ ":#0 &0 M @(%"Q0 >&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6!S@JS]+)P ,X4 M !D ("!(L\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6#,!G.>. @ *@8 !D M ("!T?X 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ ^X-L6/"YL=2< @ XP4 !D ("!%@@! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6'G0 M!W77 @ ^P8 !D ("!-1,! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6"Z_1D,E!@ \A0 !D M ("!AR ! 'AL+W=OL$ "1$ &0 @('C)@$ >&PO M=V]R:W-H965T&UL4$L! A0#% @ ^X-L6*_#L07_ P ;@\ !D ("! MW"\! 'AL+W=O,N4$ #O+ &0 @($2- $ >&PO=V]R:W-H965T&UL4$L! A0#% M @ ^X-L6+O;A[L&! .! !D ("!1SP! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6'I3\%4T M!0 ?R$ !D ("!>48! 'AL+W=O&PO=V]R:W-H965TN:9D50, %(/ 9 " @4%. 0!X;"]W;W)K&UL4$L! A0#% @ ^X-L6%3%#R.V!0 GR< !D M ("!S5$! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ ^X-L6,?*914;! _A8 !D ("!5ET! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M^X-L6/&D#S_C @ 5@D !D ("!RF, " #:"@ &0 M @('D:@$ >&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6.,0,X-] @ MN08 !D ("!A' ! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ ^X-L6&;;6_CA @ OPD !D ("!LH@! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L M6-3!WE9- @ Y@4 !D ("!>I(! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6,9@[Q-U P T@\ M !D ("![:0! 'AL+W=O&PO=V]R:W-H965T2J 0!X;"]W;W)K&UL4$L! A0#% @ ^X-L6)/QEW;(! #!D !D M ("!MJX! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ ^X-L6,)>51*%!@ D2@ !D ("!>,(! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6$+9 MCG!N P > P !D ("!F-@! 'AL+W=O&PO=V]R:W-H965T 0!X;"]W;W)K&UL4$L! A0#% @ ^X-L6%,)]P6@ P 40X !D M ("!Y^$! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ ^X-L6-CQ,AZ? P ;@T !D ("! M'>X! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ ^X-L6%,:=(F) @ Y 8 !D ("!Z?&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6.>21:M9 M @ P 4 !D ("!8@ " 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^X-L6'[6S7E^! $!< !D M ("!=0D" 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ ^X-L6&0ZHFM# @ B@8 !D ("!=14" M 'AL+W=O&PO_500H < -5 / M " 3X< @!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4 " #[@VQ8M_K&\-$" M R.@ &@ @ $+) ( >&PO7W)E;',O=V]R:V)O;VLN>&UL M+G)E;'-02P$"% ,4 " #[@VQ8%8LHOU0" Y. $P M@ $4)P( 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 :P!K &0= "9*0( " ! end XML 121 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 122 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 124 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.0.1 html 235 477 1 false 70 0 false 9 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - Consolidated Balance Sheets Sheet http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets Consolidated Balance Sheets Statements 2 false false R3.htm 00105 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - Consolidated Statements of Operations and Comprehensive Income Sheet http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome Consolidated Statements of Operations and Comprehensive Income Statements 4 false false R5.htm 00205 - Statement - Consolidated Statements of Operations and Comprehensive Income (Parenthetical) Sheet http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical Consolidated Statements of Operations and Comprehensive Income (Parenthetical) Statements 5 false false R6.htm 00300 - Statement - Consolidated Statements of Cash Flows Sheet http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows Consolidated Statements of Cash Flows Statements 6 false false R7.htm 00400 - Statement - Consolidated Statements of Shareholders' Equity Sheet http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity Consolidated Statements of Shareholders' Equity Statements 7 false false R8.htm 10101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPolicies SIGNIFICANT ACCOUNTING POLICIES Notes 8 false false R9.htm 10201 - Disclosure - ACQUISITIONS Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitions ACQUISITIONS Notes 9 false false R10.htm 10301 - Disclosure - ACCOUNTS RECEIVABLE, NET Sheet http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNet ACCOUNTS RECEIVABLE, NET Notes 10 false false R11.htm 10401 - Disclosure - REVENUE RECOGNITION Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognition REVENUE RECOGNITION Notes 11 false false R12.htm 10501 - Disclosure - FAIR VALUE MEASUREMENTS Sheet http://www.cadre-holdings.com/role/DisclosureFairValueMeasurements FAIR VALUE MEASUREMENTS Notes 12 false false R13.htm 10601 - Disclosure - INVENTORIES Sheet http://www.cadre-holdings.com/role/DisclosureInventories INVENTORIES Notes 13 false false R14.htm 10701 - Disclosure - PROPERTY AND EQUIPMENT Sheet http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipment PROPERTY AND EQUIPMENT Notes 14 false false R15.htm 10801 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssets GOODWILL AND OTHER INTANGIBLE ASSETS Notes 15 false false R16.htm 10901 - Disclosure - ACCRUED LIABILITIES Sheet http://www.cadre-holdings.com/role/DisclosureAccruedLiabilities ACCRUED LIABILITIES Notes 16 false false R17.htm 11001 - Disclosure - DEBT Sheet http://www.cadre-holdings.com/role/DisclosureDebt DEBT Notes 17 false false R18.htm 11101 - Disclosure - SHAREHOLDERS' EQUITY Sheet http://www.cadre-holdings.com/role/DisclosureShareholdersEquity SHAREHOLDERS' EQUITY Notes 18 false false R19.htm 11201 - Disclosure - STOCK-BASED COMPENSATION Sheet http://www.cadre-holdings.com/role/DisclosureStockBasedCompensation STOCK-BASED COMPENSATION Notes 19 false false R20.htm 11301 - Disclosure - COMPENSATION AND DEFINED CONTRIBUTION PLANS Sheet http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlans COMPENSATION AND DEFINED CONTRIBUTION PLANS Notes 20 false false R21.htm 11401 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingencies COMMITMENTS AND CONTINGENCIES Notes 21 false false R22.htm 11501 - Disclosure - INCOME TAXES Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 22 false false R23.htm 11601 - Disclosure - LEASES Sheet http://www.cadre-holdings.com/role/DisclosureLeases LEASES Notes 23 false false R24.htm 11701 - Disclosure - RELATED PARTY TRANSACTIONS Sheet http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactions RELATED PARTY TRANSACTIONS Notes 24 false false R25.htm 11801 - Disclosure - SEGMENT DATA Sheet http://www.cadre-holdings.com/role/DisclosureSegmentData SEGMENT DATA Notes 25 false false R26.htm 11901 - Disclosure - SUBSEQUENT EVENTS Sheet http://www.cadre-holdings.com/role/DisclosureSubsequentEvents SUBSEQUENT EVENTS Notes 26 false false R27.htm 20102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 27 false false R28.htm 30103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables SIGNIFICANT ACCOUNTING POLICIES (Tables) Tables http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPolicies 28 false false R29.htm 30203 - Disclosure - ACQUISITIONS (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables ACQUISITIONS (Tables) Tables http://www.cadre-holdings.com/role/DisclosureAcquisitions 29 false false R30.htm 30303 - Disclosure - ACCOUNTS RECEIVABLE, NET (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetTables ACCOUNTS RECEIVABLE, NET (Tables) Tables http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNet 30 false false R31.htm 30403 - Disclosure - REVENUE RECOGNITION (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionTables REVENUE RECOGNITION (Tables) Tables http://www.cadre-holdings.com/role/DisclosureRevenueRecognition 31 false false R32.htm 30503 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsTables FAIR VALUE MEASUREMENTS (Tables) Tables http://www.cadre-holdings.com/role/DisclosureFairValueMeasurements 32 false false R33.htm 30603 - Disclosure - INVENTORIES (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureInventoriesTables INVENTORIES (Tables) Tables http://www.cadre-holdings.com/role/DisclosureInventories 33 false false R34.htm 30703 - Disclosure - PROPERTY AND EQUIPMENT (Tables) Sheet http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentTables PROPERTY AND EQUIPMENT (Tables) Tables http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipment 34 false false R35.htm 30803 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) Tables http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssets 35 false false R36.htm 30903 - Disclosure - ACCRUED LIABILITIES (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesTables ACCRUED LIABILITIES (Tables) Tables http://www.cadre-holdings.com/role/DisclosureAccruedLiabilities 36 false false R37.htm 31003 - Disclosure - DEBT (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureDebtTables DEBT (Tables) Tables http://www.cadre-holdings.com/role/DisclosureDebt 37 false false R38.htm 31203 - Disclosure - STOCK-BASED COMPENSATION (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables STOCK-BASED COMPENSATION (Tables) Tables http://www.cadre-holdings.com/role/DisclosureStockBasedCompensation 38 false false R39.htm 31503 - Disclosure - INCOME TAXES (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxesTables INCOME TAXES (Tables) Tables http://www.cadre-holdings.com/role/DisclosureIncomeTaxes 39 false false R40.htm 31603 - Disclosure - LEASES (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesTables LEASES (Tables) Tables http://www.cadre-holdings.com/role/DisclosureLeases 40 false false R41.htm 31803 - Disclosure - SEGMENT DATA (Tables) Sheet http://www.cadre-holdings.com/role/DisclosureSegmentDataTables SEGMENT DATA (Tables) Tables http://www.cadre-holdings.com/role/DisclosureSegmentData 41 false false R42.htm 40101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details) Details 42 false false R43.htm 40102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Property and Equipment (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails SIGNIFICANT ACCOUNTING POLICIES - Property and Equipment (Details) Details 43 false false R44.htm 40103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details) Details 44 false false R45.htm 40104 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details) Details 45 false false R46.htm 40201 - Disclosure - ACQUISITIONS - Summary - ICOR (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails ACQUISITIONS - Summary - ICOR (Details) Details 46 false false R47.htm 40202 - Disclosure - ACQUISITIONS - Summary - Radar (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails ACQUISITIONS - Summary - Radar (Details) Details 47 false false R48.htm 40203 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Radar (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails ACQUISITIONS - Purchase Price Consideration and Fair Value - Radar (Details) Details 48 false false R49.htm 40204 - Disclosure - ACQUISITIONS - Intangible Assets - Radar (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsRadarDetails ACQUISITIONS - Intangible Assets - Radar (Details) Details 49 false false R50.htm 40205 - Disclosure - ACQUISITIONS - Summary - Cyalume (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails ACQUISITIONS - Summary - Cyalume (Details) Details 50 false false R51.htm 40206 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Cyalume (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails ACQUISITIONS - Purchase Price Consideration and Fair Value - Cyalume (Details) Details 51 false false R52.htm 40207 - Disclosure - ACQUISITIONS - Intangible Assets - Cyalume (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsCyalumeDetails ACQUISITIONS - Intangible Assets - Cyalume (Details) Details 52 false false R53.htm 40301 - Disclosure - ACCOUNTS RECEIVABLE, NET (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetDetails ACCOUNTS RECEIVABLE, NET (Details) Details http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetTables 53 false false R54.htm 40401 - Disclosure - REVENUE RECOGNITION - Net sales by channel and geography (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails REVENUE RECOGNITION - Net sales by channel and geography (Details) Details 54 false false R55.htm 40402 - Disclosure - REVENUE RECOGNITION - Includes all Distribution sales (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails REVENUE RECOGNITION - Includes all Distribution sales (Details) Details 55 false false R56.htm 40403 - Disclosure - REVENUE RECOGNITION - Contract Liabilities (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails REVENUE RECOGNITION - Contract Liabilities (Details) Details 56 false false R57.htm 40404 - Disclosure - REVENUE RECOGNITION - Additional information (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails REVENUE RECOGNITION - Additional information (Details) Details 57 false false R58.htm 40501 - Disclosure - FAIR VALUE MEASUREMENTS (Details) Sheet http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails FAIR VALUE MEASUREMENTS (Details) Details http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsTables 58 false false R59.htm 40502 - Disclosure - FAIR VALUE MEASUREMENTS - Transfers of assets or liabilities (Details) Sheet http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsTransfersOfAssetsOrLiabilitiesDetails FAIR VALUE MEASUREMENTS - Transfers of assets or liabilities (Details) Details 59 false false R60.htm 40601 - Disclosure - INVENTORIES (Details) Sheet http://www.cadre-holdings.com/role/DisclosureInventoriesDetails INVENTORIES (Details) Details http://www.cadre-holdings.com/role/DisclosureInventoriesTables 60 false false R61.htm 40701 - Disclosure - PROPERTY AND EQUIPMENT (Details) Sheet http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails PROPERTY AND EQUIPMENT (Details) Details http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentTables 61 false false R62.htm 40801 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details) Details 62 false false R63.htm 40802 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details) Details 63 false false R64.htm 40803 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details) Details 64 false false R65.htm 40804 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details) Details 65 false false R66.htm 40805 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details) Sheet http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details) Details 66 false false R67.htm 40901 - Disclosure - ACCRUED LIABILITIES (Details) Sheet http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails ACCRUED LIABILITIES (Details) Details http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesTables 67 false false R68.htm 41001 - Disclosure - DEBT - Schedule of company's debt (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails DEBT - Schedule of company's debt (Details) Details 68 false false R69.htm 41002 - Disclosure - DEBT - Summary of aggregate principal payment of long-term debt (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails DEBT - Summary of aggregate principal payment of long-term debt (Details) Details 69 false false R70.htm 41003 - Disclosure - DEBT - 2021 Credit Facility (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails DEBT - 2021 Credit Facility (Details) Details 70 false false R71.htm 41004 - Disclosure - DEBT - Canadian Credit Facility (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails DEBT - Canadian Credit Facility (Details) Details 71 false false R72.htm 41005 - Disclosure - DEBT - Short-Term Debt (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails DEBT - Short-Term Debt (Details) Details 72 false false R73.htm 41006 - Disclosure - DEBT - Fair Value of Debt (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails DEBT - Fair Value of Debt (Details) Details 73 false false R74.htm 41007 - Disclosure - DEBT - Schedule of interest rate swaps (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails DEBT - Schedule of interest rate swaps (Details) Details 74 false false R75.htm 41008 - Disclosure - DEBT - Schedule of fair value swap agreement (Details) Sheet http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails DEBT - Schedule of fair value swap agreement (Details) Details 75 false false R76.htm 41101 - Disclosure - SHAREHOLDERS EQUITY (Details) Sheet http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails SHAREHOLDERS EQUITY (Details) Details 76 false false R77.htm 41201 - Disclosure - STOCK-BASED COMPENSATION - Phantom Restricted Share Plan (Details) Sheet http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails STOCK-BASED COMPENSATION - Phantom Restricted Share Plan (Details) Details 77 false false R78.htm 41202 - Disclosure - STOCK-BASED COMPENSATION - Stock Incentive Plan and Market Condition Restricted Shares (Details) Sheet http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails STOCK-BASED COMPENSATION - Stock Incentive Plan and Market Condition Restricted Shares (Details) Details 78 false false R79.htm 41203 - Disclosure - STOCK-BASED COMPENSATION - Stock Options (Details) Sheet http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails STOCK-BASED COMPENSATION - Stock Options (Details) Details 79 false false R80.htm 41204 - Disclosure - STOCK-BASED COMPENSATION - Restricted Stock Units (Details) Sheet http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails STOCK-BASED COMPENSATION - Restricted Stock Units (Details) Details 80 false false R81.htm 41301 - Disclosure - COMPENSATION AND DEFINED CONTRIBUTION PLANS (Details) Sheet http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlansDetails COMPENSATION AND DEFINED CONTRIBUTION PLANS (Details) Details http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlans 81 false false R82.htm 41401 - Disclosure - COMMITMENTS AND CONTINGENCIES - Legal Proceedings (Details) Sheet http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingenciesLegalProceedingsDetails COMMITMENTS AND CONTINGENCIES - Legal Proceedings (Details) Details 82 false false R83.htm 41501 - Disclosure - INCOME TAXES - Consolidated income from continuing operations before provision for income taxes (Details) Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxesConsolidatedIncomeFromContinuingOperationsBeforeProvisionForIncomeTaxesDetails INCOME TAXES - Consolidated income from continuing operations before provision for income taxes (Details) Details 83 false false R84.htm 41502 - Disclosure - INCOME TAXES - Benefit for income taxes (Details) Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails INCOME TAXES - Benefit for income taxes (Details) Details 84 false false R85.htm 41503 - Disclosure - INCOME TAXES - Reconciliation of the statutory federal income tax rate to the effective rate reported in the Company's consolidated financial statements (Details) Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails INCOME TAXES - Reconciliation of the statutory federal income tax rate to the effective rate reported in the Company's consolidated financial statements (Details) Details 85 false false R86.htm 41504 - Disclosure - INCOME TAXES - Deferred Income taxes (Details) Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails INCOME TAXES - Deferred Income taxes (Details) Details 86 false false R87.htm 41505 - Disclosure - INCOME TAXES - Reconciliation of Unrecognized Tax Benefits (Details) Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails INCOME TAXES - Reconciliation of Unrecognized Tax Benefits (Details) Details 87 false false R88.htm 41506 - Disclosure - INCOME TAXES - Operating loss Carryforwards (Details) Sheet http://www.cadre-holdings.com/role/DisclosureIncomeTaxesOperatingLossCarryforwardsDetails INCOME TAXES - Operating loss Carryforwards (Details) Details 88 false false R89.htm 41601 - Disclosure - LEASES - Schedule of operating assets and liabilities (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails LEASES - Schedule of operating assets and liabilities (Details) Details 89 false false R90.htm 41602 - Disclosure - LEASES - Components of lease expense (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails LEASES - Components of lease expense (Details) Details 90 false false R91.htm 41603 - Disclosure - LEASES - Weighted average remaining lease term and discount rate (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermAndDiscountRateDetails LEASES - Weighted average remaining lease term and discount rate (Details) Details 91 false false R92.htm 41604 - Disclosure - LEASES - Future minimum lease payments under operating leases (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails LEASES - Future minimum lease payments under operating leases (Details) Details 92 false false R93.htm 41605 - Disclosure - LEASES - Supplemental cash flow information related to leases (Details) Sheet http://www.cadre-holdings.com/role/DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetails LEASES - Supplemental cash flow information related to leases (Details) Details 93 false false R94.htm 41701 - Disclosure - RELATED PARTY TRANSACTIONS (Details) Sheet http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails RELATED PARTY TRANSACTIONS (Details) Details http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactions 94 false false R95.htm 41801 - Disclosure - SEGMENT DATA - Other (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSegmentDataOtherDetails SEGMENT DATA - Other (Details) Details 95 false false R96.htm 41802 - Disclosure - SEGMENT DATA - asset information or operating expenses by segment (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails SEGMENT DATA - asset information or operating expenses by segment (Details) Details 96 false false R97.htm 41901 - Disclosure - SUBSEQUENT EVENTS (Details) Sheet http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails SUBSEQUENT EVENTS (Details) Details http://www.cadre-holdings.com/role/DisclosureSubsequentEvents 97 false false R98.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 98 false false R99.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 99 false false All Reports Book All Reports cdre-20231231.xsd cdre-20231231_cal.xml cdre-20231231_def.xml cdre-20231231_lab.xml cdre-20231231_pre.xml cdre-20231231x10k.htm cdre-20231231x10k001.jpg cdre-20231231x10k002.jpg cdre-20231231x10k003.jpg cdre-20231231x10k004.jpg http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 127 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "cdre-20231231x10k.htm": { "nsprefix": "cdre", "nsuri": "http://www.cadre-holdings.com/20231231", "dts": { "schema": { "local": [ "cdre-20231231.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.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://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] }, "calculationLink": { "local": [ "cdre-20231231_cal.xml" ] }, "definitionLink": { "local": [ "cdre-20231231_def.xml" ] }, "labelLink": { "local": [ "cdre-20231231_lab.xml" ] }, "presentationLink": { "local": [ "cdre-20231231_pre.xml" ] }, "inline": { "local": [ "cdre-20231231x10k.htm" ] } }, "keyStandard": 426, "keyCustom": 51, "axisStandard": 29, "axisCustom": 0, "memberStandard": 39, "memberCustom": 29, "hidden": { "total": 28, "http://fasb.org/us-gaap/2023": 18, "http://xbrl.sec.gov/dei/2023": 8, "http://www.cadre-holdings.com/20231231": 2 }, "contextCount": 235, "entityCount": 1, "segmentCount": 70, "elementCount": 805, "unitCount": 9, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 1034, "http://xbrl.sec.gov/dei/2023": 41, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets", "longName": "00100 - Statement - Consolidated Balance Sheets", "shortName": "Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:CashCashEquivalentsAndShortTermInvestments", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:CashCashEquivalentsAndShortTermInvestments", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical", "longName": "00105 - Statement - Consolidated Balance Sheets (Parenthetical)", "shortName": "Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:TemporaryEquityParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_nmuQCP-zNECGmllDE-cjaQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:TemporaryEquityParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:TemporaryEquityParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_nmuQCP-zNECGmllDE-cjaQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:TemporaryEquityParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome", "longName": "00200 - Statement - Consolidated Statements of Operations and Comprehensive Income", "shortName": "Consolidated Statements of Operations and Comprehensive Income", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:SellingGeneralAndAdministrativeExpense", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R5": { "role": "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical", "longName": "00205 - Statement - Consolidated Statements of Operations and Comprehensive Income (Parenthetical)", "shortName": "Consolidated Statements of Operations and Comprehensive Income (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows", "longName": "00300 - Statement - Consolidated Statements of Cash Flows", "shortName": "Consolidated Statements of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity", "longName": "00400 - Statement - Consolidated Statements of Shareholders' Equity", "shortName": "Consolidated Statements of Shareholders' Equity", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DMJg-0NiZUaip5WcAh6qPA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DMJg-0NiZUaip5WcAh6qPA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPolicies", "longName": "10101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES", "shortName": "SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitions", "longName": "10201 - Disclosure - ACQUISITIONS", "shortName": "ACQUISITIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNet", "longName": "10301 - Disclosure - ACCOUNTS RECEIVABLE, NET", "shortName": "ACCOUNTS RECEIVABLE, NET", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:FinancingReceivablesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:FinancingReceivablesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognition", "longName": "10401 - Disclosure - REVENUE RECOGNITION", "shortName": "REVENUE RECOGNITION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurements", "longName": "10501 - Disclosure - FAIR VALUE MEASUREMENTS", "shortName": "FAIR VALUE MEASUREMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.cadre-holdings.com/role/DisclosureInventories", "longName": "10601 - Disclosure - INVENTORIES", "shortName": "INVENTORIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipment", "longName": "10701 - Disclosure - PROPERTY AND EQUIPMENT", "shortName": "PROPERTY AND EQUIPMENT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssets", "longName": "10801 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilities", "longName": "10901 - Disclosure - ACCRUED LIABILITIES", "shortName": "ACCRUED LIABILITIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:AccruedLiabilitiesCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:AccruedLiabilitiesCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.cadre-holdings.com/role/DisclosureDebt", "longName": "11001 - Disclosure - DEBT", "shortName": "DEBT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.cadre-holdings.com/role/DisclosureShareholdersEquity", "longName": "11101 - Disclosure - SHAREHOLDERS' EQUITY", "shortName": "SHAREHOLDERS' EQUITY", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensation", "longName": "11201 - Disclosure - STOCK-BASED COMPENSATION", "shortName": "STOCK-BASED COMPENSATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlans", "longName": "11301 - Disclosure - COMPENSATION AND DEFINED CONTRIBUTION PLANS", "shortName": "COMPENSATION AND DEFINED CONTRIBUTION PLANS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingencies", "longName": "11401 - Disclosure - COMMITMENTS AND CONTINGENCIES", "shortName": "COMMITMENTS AND CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxes", "longName": "11501 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.cadre-holdings.com/role/DisclosureLeases", "longName": "11601 - Disclosure - LEASES", "shortName": "LEASES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactions", "longName": "11701 - Disclosure - RELATED PARTY TRANSACTIONS", "shortName": "RELATED PARTY TRANSACTIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.cadre-holdings.com/role/DisclosureSegmentData", "longName": "11801 - Disclosure - SEGMENT DATA", "shortName": "SEGMENT DATA", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.cadre-holdings.com/role/DisclosureSubsequentEvents", "longName": "11901 - Disclosure - SUBSEQUENT EVENTS", "shortName": "SUBSEQUENT EVENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies", "longName": "20102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables", "longName": "30103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:ScheduleOfPropertyAndEquipmentEstimatedUsefulLivesDepreciationInStraightLineMethod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:ScheduleOfPropertyAndEquipmentEstimatedUsefulLivesDepreciationInStraightLineMethod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables", "longName": "30203 - Disclosure - ACQUISITIONS (Tables)", "shortName": "ACQUISITIONS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_BusinessAcquisitionAxis_cdre_RadarLeatherDivisionS.r.lMember_PaO-QeJLv0WEKWdXB8kiLw", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_BusinessAcquisitionAxis_cdre_RadarLeatherDivisionS.r.lMember_PaO-QeJLv0WEKWdXB8kiLw", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetTables", "longName": "30303 - Disclosure - ACCOUNTS RECEIVABLE, NET (Tables)", "shortName": "ACCOUNTS RECEIVABLE, NET (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FinancingReceivablesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FinancingReceivablesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionTables", "longName": "30403 - Disclosure - REVENUE RECOGNITION (Tables)", "shortName": "REVENUE RECOGNITION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsTables", "longName": "30503 - Disclosure - FAIR VALUE MEASUREMENTS (Tables)", "shortName": "FAIR VALUE MEASUREMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.cadre-holdings.com/role/DisclosureInventoriesTables", "longName": "30603 - Disclosure - INVENTORIES (Tables)", "shortName": "INVENTORIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentTables", "longName": "30703 - Disclosure - PROPERTY AND EQUIPMENT (Tables)", "shortName": "PROPERTY AND EQUIPMENT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables", "longName": "30803 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesTables", "longName": "30903 - Disclosure - ACCRUED LIABILITIES (Tables)", "shortName": "ACCRUED LIABILITIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "cdre:AccruedLiabilitiesCurrentTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "cdre:AccruedLiabilitiesCurrentTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtTables", "longName": "31003 - Disclosure - DEBT (Tables)", "shortName": "DEBT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "37", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables", "longName": "31203 - Disclosure - STOCK-BASED COMPENSATION (Tables)", "shortName": "STOCK-BASED COMPENSATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "38", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesTables", "longName": "31503 - Disclosure - INCOME TAXES (Tables)", "shortName": "INCOME TAXES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesTables", "longName": "31603 - Disclosure - LEASES (Tables)", "shortName": "LEASES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "40", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.cadre-holdings.com/role/DisclosureSegmentDataTables", "longName": "31803 - Disclosure - SEGMENT DATA (Tables)", "shortName": "SEGMENT DATA (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "41", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "longName": "40101 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:NumberOfManufacturingPlants", "unitRef": "Unit_Standard_item_MwJcbu9QVEWbQqd4E6TXzw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:NumberOfManufacturingPlants", "unitRef": "Unit_Standard_item_MwJcbu9QVEWbQqd4E6TXzw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails", "longName": "40102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Property and Equipment (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Property and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "Duration_10_31_2023_To_10_31_2023_6EVw6o18lEuA5f1G1CeVkA", "name": "us-gaap:NumberOfReportingUnits", "unitRef": "Unit_Standard_item_MwJcbu9QVEWbQqd4E6TXzw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:NumberOfReportingUnits", "us-gaap:NumberOfReportingUnits", "p", "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_10_31_2023_To_10_31_2023_6EVw6o18lEuA5f1G1CeVkA", "name": "us-gaap:NumberOfReportingUnits", "unitRef": "Unit_Standard_item_MwJcbu9QVEWbQqd4E6TXzw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:NumberOfReportingUnits", "us-gaap:NumberOfReportingUnits", "p", "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails", "longName": "40103 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Accrued warranties (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_12_31_2022_8xcCQq1O40eAcFpZsfuBdA", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:StandardProductWarrantyPolicy", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2021_CacpUfNRFUSrFJKyNSucxg", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:StandardProductWarrantyPolicy", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R45": { "role": "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "longName": "40104 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Weighted average shares outstanding and net income per share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerSharePolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerSharePolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "longName": "40201 - Disclosure - ACQUISITIONS - Summary - ICOR (Details)", "shortName": "ACQUISITIONS - Summary - ICOR (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_y65Ggmj31kKaog97PFZUhw", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": null }, "R47": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails", "longName": "40202 - Disclosure - ACQUISITIONS - Summary - Radar (Details)", "shortName": "ACQUISITIONS - Summary - Radar (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_1_11_2022_us-gaap_BusinessAcquisitionAxis_cdre_RadarLeatherDivisionS.r.lMember_P0xcSk2Yt02hbJRxJ05qyA", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R48": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails", "longName": "40203 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Radar (Details)", "shortName": "ACQUISITIONS - Purchase Price Consideration and Fair Value - Radar (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_y65Ggmj31kKaog97PFZUhw", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_1_11_2022_us-gaap_BusinessAcquisitionAxis_cdre_RadarLeatherDivisionS.r.lMember_P0xcSk2Yt02hbJRxJ05qyA", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R49": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsRadarDetails", "longName": "40204 - Disclosure - ACQUISITIONS - Intangible Assets - Radar (Details)", "shortName": "ACQUISITIONS - Intangible Assets - Radar (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_1_11_2022_us-gaap_BusinessAcquisitionAxis_cdre_RadarLeatherDivisionS.r.lMember_P0xcSk2Yt02hbJRxJ05qyA", "name": "us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_1_11_2022_us-gaap_BusinessAcquisitionAxis_cdre_RadarLeatherDivisionS.r.lMember_P0xcSk2Yt02hbJRxJ05qyA", "name": "us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "longName": "40205 - Disclosure - ACQUISITIONS - Summary - Cyalume (Details)", "shortName": "ACQUISITIONS - Summary - Cyalume (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_5_4_2022_us-gaap_BusinessAcquisitionAxis_cdre_CyalumeAcquisitionMember_ryLV8UqxjUqySVD08S-9Ig", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R51": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "longName": "40206 - Disclosure - ACQUISITIONS - Purchase Price Consideration and Fair Value - Cyalume (Details)", "shortName": "ACQUISITIONS - Purchase Price Consideration and Fair Value - Cyalume (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:GoodwillPurchaseAccountingAdjustments", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_5_4_2022_us-gaap_BusinessAcquisitionAxis_cdre_CyalumeAcquisitionMember_ryLV8UqxjUqySVD08S-9Ig", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R52": { "role": "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsCyalumeDetails", "longName": "40207 - Disclosure - ACQUISITIONS - Intangible Assets - Cyalume (Details)", "shortName": "ACQUISITIONS - Intangible Assets - Cyalume (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "As_Of_5_4_2022_us-gaap_BusinessAcquisitionAxis_cdre_CyalumeAcquisitionMember_ryLV8UqxjUqySVD08S-9Ig", "name": "us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_5_4_2022_us-gaap_BusinessAcquisitionAxis_cdre_CyalumeAcquisitionMember_ryLV8UqxjUqySVD08S-9Ig", "name": "us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetDetails", "longName": "40301 - Disclosure - ACCOUNTS RECEIVABLE, NET (Details)", "shortName": "ACCOUNTS RECEIVABLE, NET (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "As_Of_12_31_2022_8xcCQq1O40eAcFpZsfuBdA", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:FinancingReceivablesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:FinancingReceivablesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R54": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails", "longName": "40401 - Disclosure - REVENUE RECOGNITION - Net sales by channel and geography (Details)", "shortName": "REVENUE RECOGNITION - Net sales by channel and geography (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_ContractWithCustomerSalesChannelAxis_cdre_U.s.stateAndLocalAgenciesMember_ayS6MwifzUaCR26zNlmShA", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R55": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails", "longName": "40402 - Disclosure - REVENUE RECOGNITION - Includes all Distribution sales (Details)", "shortName": "REVENUE RECOGNITION - Includes all Distribution sales (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_cW_5FsgpfE-nWe9dIcNY9A", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R56": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails", "longName": "40403 - Disclosure - REVENUE RECOGNITION - Contract Liabilities (Details)", "shortName": "REVENUE RECOGNITION - Contract Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails", "longName": "40404 - Disclosure - REVENUE RECOGNITION - Additional information (Details)", "shortName": "REVENUE RECOGNITION - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails", "longName": "40501 - Disclosure - FAIR VALUE MEASUREMENTS (Details)", "shortName": "FAIR VALUE MEASUREMENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_GdtBIf100kSyGBiqkIytWg", "name": "us-gaap:DerivativeAssets", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_GdtBIf100kSyGBiqkIytWg", "name": "us-gaap:DerivativeAssets", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsTransfersOfAssetsOrLiabilitiesDetails", "longName": "40502 - Disclosure - FAIR VALUE MEASUREMENTS - Transfers of assets or liabilities (Details)", "shortName": "FAIR VALUE MEASUREMENTS - Transfers of assets or liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "cdre:FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "cdre:FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails", "longName": "40601 - Disclosure - INVENTORIES (Details)", "shortName": "INVENTORIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:InventoryFinishedGoodsAndWorkInProcessNetOfReserves", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:InventoryFinishedGoodsAndWorkInProcessNetOfReserves", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "longName": "40701 - Disclosure - PROPERTY AND EQUIPMENT (Details)", "shortName": "PROPERTY AND EQUIPMENT (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "longName": "40801 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of changes in goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "As_Of_12_31_2022_8xcCQq1O40eAcFpZsfuBdA", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R63": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails", "longName": "40802 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Impairment of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:GoodwillImpairmentLoss", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:GoodwillImpairmentLoss", "us-gaap:GoodwillImpairmentLoss", "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:GoodwillImpairmentLoss", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:GoodwillImpairmentLoss", "us-gaap:GoodwillImpairmentLoss", "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails", "longName": "40803 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Summary of intangible assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetails", "longName": "40804 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R66": { "role": "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails", "longName": "40805 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Amortization expense for definite lived intangible assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails", "longName": "40901 - Disclosure - ACCRUED LIABILITIES (Details)", "shortName": "ACCRUED LIABILITIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "cdre:AccruedExpensesCurrent", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "cdre:AccruedLiabilitiesCurrentTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "cdre:AccruedExpensesCurrent", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "cdre:AccruedLiabilitiesCurrentTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails", "longName": "41001 - Disclosure - DEBT - Schedule of company's debt (Details)", "shortName": "DEBT - Schedule of company's debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:ShortTermBorrowings", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:LoansPayableToBankCurrent", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R69": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails", "longName": "41002 - Disclosure - DEBT - Summary of aggregate principal payment of long-term debt (Details)", "shortName": "DEBT - Summary of aggregate principal payment of long-term debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R70": { "role": "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "longName": "41003 - Disclosure - DEBT - 2021 Credit Facility (Details)", "shortName": "DEBT - 2021 Credit Facility (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "Duration_1_1_2021_To_12_31_2021_eDkf7hFaaked_Eo4wEuQqw", "name": "us-gaap:GainsLossesOnExtinguishmentOfDebt", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_DebtInstrumentAxis_cdre_NewCreditAgreementAugust2021Member_t_3-rfshwEC8DtIBCIdwBA", "name": "cdre:DebtInstrumentIncreaseInTotalNetLeverageRatioDueToMajorAcquisitions", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R71": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "longName": "41004 - Disclosure - DEBT - Canadian Credit Facility (Details)", "shortName": "DEBT - Canadian Credit Facility (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_cdre_CanadianCreditFacilityMember_P3GaGndXNEyY3gciakVNVg", "name": "us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_DebtInstrumentAxis_cdre_CanadianCreditFacilityMember_P3GaGndXNEyY3gciakVNVg", "name": "us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R72": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails", "longName": "41005 - Disclosure - DEBT - Short-Term Debt (Details)", "shortName": "DEBT - Short-Term Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:ShortTermBorrowings", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_7_31_2023_us-gaap_LineOfCreditFacilityAxis_cdre_AfcoCreditCorporationMember_us-gaap_ShortTermDebtTypeAxis_us-gaap_LoansPayableMember_eSjywFUTbEuWtB4-jvHk7w", "name": "us-gaap:DebtInstrumentFaceAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R73": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails", "longName": "41006 - Disclosure - DEBT - Fair Value of Debt (Details)", "shortName": "DEBT - Fair Value of Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "73", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_cdre_TermLoanMember_51XdLcNtEUqE-KWFPPKycA", "name": "us-gaap:DebtInstrumentFairValue", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_cdre_TermLoanMember_51XdLcNtEUqE-KWFPPKycA", "name": "us-gaap:DebtInstrumentFairValue", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R74": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails", "longName": "41007 - Disclosure - DEBT - Schedule of interest rate swaps (Details)", "shortName": "DEBT - Schedule of interest rate swaps (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "74", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_A4z0BPL-HUOwi8DU6bv9iw", "name": "us-gaap:DerivativeVariableInterestRate", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_A4z0BPL-HUOwi8DU6bv9iw", "name": "us-gaap:DerivativeVariableInterestRate", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R75": { "role": "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails", "longName": "41008 - Disclosure - DEBT - Schedule of fair value swap agreement (Details)", "shortName": "DEBT - Schedule of fair value swap agreement (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "75", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:AociLossCashFlowHedgeCumulativeGainLossAfterTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:AociLossCashFlowHedgeCumulativeGainLossAfterTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R76": { "role": "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails", "longName": "41101 - Disclosure - SHAREHOLDERS EQUITY (Details)", "shortName": "SHAREHOLDERS EQUITY (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "76", "firstAnchor": { "contextRef": "Duration_11_11_2021_To_11_11_2021_plOi3ZdKs0K9vFkM4cQNjA", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_nmuQCP-zNECGmllDE-cjaQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_11_11_2021_To_11_11_2021_plOi3ZdKs0K9vFkM4cQNjA", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_nmuQCP-zNECGmllDE-cjaQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R77": { "role": "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "longName": "41201 - Disclosure - STOCK-BASED COMPENSATION - Phantom Restricted Share Plan (Details)", "shortName": "STOCK-BASED COMPENSATION - Phantom Restricted Share Plan (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "77", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_PlanNameAxis_cdre_TwoThousandTwentyOnePhantomRestrictedSharePlanMember_-A00XjShsUuSmcuXSp1afw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_5eojgRwJd0ik275N2IfT1Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_PlanNameAxis_cdre_TwoThousandTwentyOnePhantomRestrictedSharePlanMember_EW_zCZxe2U2cCTV15me_Gw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "unitRef": "Unit_Standard_shares_5eojgRwJd0ik275N2IfT1Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R78": { "role": "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "longName": "41202 - Disclosure - STOCK-BASED COMPENSATION - Stock Incentive Plan and Market Condition Restricted Shares (Details)", "shortName": "STOCK-BASED COMPENSATION - Stock Incentive Plan and Market Condition Restricted Shares (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "78", "firstAnchor": { "contextRef": "As_Of_11_4_2021_us-gaap_AwardTypeAxis_cdre_MarketConditionRestrictedSharesMember_97I4EFwT8kiJHNw4baVATw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "unitRef": "Unit_Standard_shares_5eojgRwJd0ik275N2IfT1Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_11_4_2021_us-gaap_AwardTypeAxis_cdre_MarketConditionRestrictedSharesMember_97I4EFwT8kiJHNw4baVATw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "unitRef": "Unit_Standard_shares_5eojgRwJd0ik275N2IfT1Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R79": { "role": "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails", "longName": "41203 - Disclosure - STOCK-BASED COMPENSATION - Stock Options (Details)", "shortName": "STOCK-BASED COMPENSATION - Stock Options (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "79", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "unitRef": "Unit_Standard_shares_5eojgRwJd0ik275N2IfT1Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_12_31_2023_To_12_31_2023_3bS1ZvGmBEOmDvPvGA6X9w", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares", "unitRef": "Unit_Standard_shares_5eojgRwJd0ik275N2IfT1Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R80": { "role": "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "longName": "41204 - Disclosure - STOCK-BASED COMPENSATION - Restricted Stock Units (Details)", "shortName": "STOCK-BASED COMPENSATION - Restricted Stock Units (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "80", "firstAnchor": { "contextRef": "Duration_3_1_2021_To_3_31_2021_ZwIQaTn03EqI6SQQSa9FSA", "name": "cdre:NumberOfEqualInstallments", "unitRef": "Unit_Standard_item_MwJcbu9QVEWbQqd4E6TXzw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_vH6nWSQhck62jda-z9JL7Q", "name": "cdre:NumberOfEqualInstallments", "unitRef": "Unit_Standard_installment_StdgQxoaJ0iivOB4W6bZ_g", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R81": { "role": "http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlansDetails", "longName": "41301 - Disclosure - COMPENSATION AND DEFINED CONTRIBUTION PLANS (Details)", "shortName": "COMPENSATION AND DEFINED CONTRIBUTION PLANS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "81", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R82": { "role": "http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingenciesLegalProceedingsDetails", "longName": "41401 - Disclosure - COMMITMENTS AND CONTINGENCIES - Legal Proceedings (Details)", "shortName": "COMMITMENTS AND CONTINGENCIES - Legal Proceedings (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "82", "firstAnchor": { "contextRef": "Duration_9_1_2021_To_9_30_2021_0xh8RRnlEU6Ec-k7dThATg", "name": "us-gaap:LossContingencyDamagesAwardedValue", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_9_1_2021_To_9_30_2021_0xh8RRnlEU6Ec-k7dThATg", "name": "us-gaap:LossContingencyDamagesAwardedValue", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R83": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesConsolidatedIncomeFromContinuingOperationsBeforeProvisionForIncomeTaxesDetails", "longName": "41501 - Disclosure - INCOME TAXES - Consolidated income from continuing operations before provision for income taxes (Details)", "shortName": "INCOME TAXES - Consolidated income from continuing operations before provision for income taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "83", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R84": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails", "longName": "41502 - Disclosure - INCOME TAXES - Benefit for income taxes (Details)", "shortName": "INCOME TAXES - Benefit for income taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "84", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R85": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails", "longName": "41503 - Disclosure - INCOME TAXES - Reconciliation of the statutory federal income tax rate to the effective rate reported in the Company's consolidated financial statements (Details)", "shortName": "INCOME TAXES - Reconciliation of the statutory federal income tax rate to the effective rate reported in the Company's consolidated financial statements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "85", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_pure_9tkXvxHlmEKw9AO6qk5kZw", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R86": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails", "longName": "41504 - Disclosure - INCOME TAXES - Deferred Income taxes (Details)", "shortName": "INCOME TAXES - Deferred Income taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "86", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R87": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails", "longName": "41505 - Disclosure - INCOME TAXES - Reconciliation of Unrecognized Tax Benefits (Details)", "shortName": "INCOME TAXES - Reconciliation of Unrecognized Tax Benefits (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "87", "firstAnchor": { "contextRef": "As_Of_12_31_2022_8xcCQq1O40eAcFpZsfuBdA", "name": "us-gaap:UnrecognizedTaxBenefits", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_y65Ggmj31kKaog97PFZUhw", "name": "us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R88": { "role": "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesOperatingLossCarryforwardsDetails", "longName": "41506 - Disclosure - INCOME TAXES - Operating loss Carryforwards (Details)", "shortName": "INCOME TAXES - Operating loss Carryforwards (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "88", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R89": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "longName": "41601 - Disclosure - LEASES - Schedule of operating assets and liabilities (Details)", "shortName": "LEASES - Schedule of operating assets and liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "89", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_cOlXqfknc0SK9E3VmGGnKg", "name": "us-gaap:LesseeOperatingLeaseRemainingLeaseTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R90": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails", "longName": "41602 - Disclosure - LEASES - Components of lease expense (Details)", "shortName": "LEASES - Components of lease expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "90", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:FixedOperatingLeaseCosts", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:FixedOperatingLeaseCosts", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R91": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermAndDiscountRateDetails", "longName": "41603 - Disclosure - LEASES - Weighted average remaining lease term and discount rate (Details)", "shortName": "LEASES - Weighted average remaining lease term and discount rate (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "91", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R92": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails", "longName": "41604 - Disclosure - LEASES - Future minimum lease payments under operating leases (Details)", "shortName": "LEASES - Future minimum lease payments under operating leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "92", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sGKJ72V0HEO1OhbVUJVOIg", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R93": { "role": "http://www.cadre-holdings.com/role/DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetails", "longName": "41605 - Disclosure - LEASES - Supplemental cash flow information related to leases (Details)", "shortName": "LEASES - Supplemental cash flow information related to leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "93", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "cdre:ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R94": { "role": "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails", "longName": "41701 - Disclosure - RELATED PARTY TRANSACTIONS (Details)", "shortName": "RELATED PARTY TRANSACTIONS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "94", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:NumberOfDistributionWarehousesAndRetailStores", "unitRef": "Unit_Standard_warehouse_LhlTbPtAykmLC1eBmrI5ww", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:NumberOfDistributionWarehousesAndRetailStores", "unitRef": "Unit_Standard_warehouse_LhlTbPtAykmLC1eBmrI5ww", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R95": { "role": "http://www.cadre-holdings.com/role/DisclosureSegmentDataOtherDetails", "longName": "41801 - Disclosure - SEGMENT DATA - Other (Details)", "shortName": "SEGMENT DATA - Other (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "95", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_11wjP0ZkvkmP0vcbOIq_Qg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_11wjP0ZkvkmP0vcbOIq_Qg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } }, "R96": { "role": "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails", "longName": "41802 - Disclosure - SEGMENT DATA - asset information or operating expenses by segment (Details)", "shortName": "SEGMENT DATA - asset information or operating expenses by segment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "96", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_MaterialReconcilingItemsMember_0cV3jH_Yok-9sjtOKMkq8w", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R97": { "role": "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails", "longName": "41901 - Disclosure - SUBSEQUENT EVENTS (Details)", "shortName": "SUBSEQUENT EVENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "97", "firstAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_y65Ggmj31kKaog97PFZUhw", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "cdre:BusinessCombinationAcquisitionRelatedCostsRestructuringAndTransactionCosts", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "unique": true } }, "R98": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Uncategorized", "order": "98", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_jAs-SjRcqUC5Td1pMT1x1w", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_h8HmuSB_TkC5CYkbiW92pA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true }, "uniqueAnchor": null }, "R99": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Cover", "order": "99", "firstAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_3cjInS3N8UGyK8w22WaZ9A", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_3cjInS3N8UGyK8w22WaZ9A", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cdre-20231231x10k.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "SIGNIFICANT ACCOUNTING POLICIES" } } }, "auth_ref": [] }, "cdre_AccountsPayableBookCashOverdrafts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "AccountsPayableBookCashOverdrafts", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to accounts payable, book cash overdrafts.", "label": "Accounts Payable, Book Cash Overdrafts", "terseLabel": "Accounts payable, book cash overdrafts" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "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)." } } }, "auth_ref": [ "r25", "r860" ] }, "cdre_AccountsPayablePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "AccountsPayablePolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure about accounts payable .", "label": "Accounts Payable [Policy Text Block]", "terseLabel": "Accounts Payable" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net", "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." } } }, "auth_ref": [ "r336", "r337" ] }, "cdre_AccruedExpensesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "AccruedExpensesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of changes in accrued expenses, classified as current.", "label": "Accrued Expenses, Current", "terseLabel": "Accrued expenses" } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Income Taxes, Current", "terseLabel": "Income tax payable", "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." } } }, "auth_ref": [ "r132", "r188" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 }, "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Total", "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)." } } }, "auth_ref": [ "r29" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrentAbstract", "lang": { "en-us": { "role": { "label": "ACCRUED LIABILITIES" } } }, "auth_ref": [] }, "cdre_AccruedLiabilitiesCurrentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "AccruedLiabilitiesCurrentTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilities" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure on current accrued liabilities.", "label": "Accrued Liabilities Current [Text Block]", "terseLabel": "ACCRUED LIABILITIES" } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less accumulated depreciation", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r71", "r221", "r678" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r38", "r39", "r146", "r229", "r674", "r702", "r703" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss)", "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." } } }, "auth_ref": [ "r3", "r15", "r39", "r588", "r591", "r634", "r698", "r699", "r966", "r967", "r968", "r978", "r979", "r980" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsRadarDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets [Line Items]", "terseLabel": "ACQUISITIONS", "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." } } }, "auth_ref": [] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r914" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in capital", "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." } } }, "auth_ref": [ "r138", "r860", "r1074" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-In Capital", "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." } } }, "auth_ref": [ "r532", "r533", "r534", "r713", "r978", "r979", "r980", "r1051", "r1076" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r920" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r920" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r920" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r920" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r84", "r85", "r494" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "auth_ref": [] }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingCostsPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Advertising Cost [Policy Text Block]", "terseLabel": "Advertising Expenses", "documentation": "Disclosure of accounting policy for advertising cost." } } }, "auth_ref": [ "r200" ] }, "us-gaap_AdvertisingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Advertising Expense", "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line." } } }, "auth_ref": [ "r541" ] }, "cdre_AfcoCreditCorporationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "AfcoCreditCorporationMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to AFCO credit corporation.", "label": "AFCO Credit Corporation [Member]", "terseLabel": "AFCO Credit Corporation" } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r884", "r896", "r906", "r932" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r887", "r899", "r909", "r935" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r920" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r927" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r891", "r900", "r910", "r927", "r936", "r940", "r948" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r946" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Expense", "verboseLabel": "Compensation cost", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r527", "r540" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Allowance for Credit Loss", "periodEndLabel": "Ending allowance for doubtful accounts", "periodStartLabel": "Beginning allowance for doubtful accounts", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r230", "r340", "r348", "r349", "r352", "r1070" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "negatedLabel": "Write-offs", "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance." } } }, "auth_ref": [ "r351" ] }, "cdre_AlphaSafetyIntermediateLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "AlphaSafetyIntermediateLlcMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Alpha Safety Intermediate, LLC (\"Alpha Safety\").", "label": "Alpha Safety Intermediate, LLC [Member]", "terseLabel": "Alpha Safety" } } }, "auth_ref": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCostsAndDiscounts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Debt Issuance Costs and Discounts", "terseLabel": "Amortization of original issue discount and debt issue costs", "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r428", "r620", "r837", "r838", "r974" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense", "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." } } }, "auth_ref": [ "r8", "r64", "r69" ] }, "cdre_AmortizationOfInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "AmortizationOfInventory", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for inventory.", "label": "Amortization of Inventory", "terseLabel": "Amortization of inventory step-up" } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Anti-dilutive instruments excluded", "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." } } }, "auth_ref": [ "r298" ] }, "us-gaap_AociLossCashFlowHedgeCumulativeGainLossAfterTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AociLossCashFlowHedgeCumulativeGainLossAfterTax", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "AOCI, Cash Flow Hedge, Cumulative Gain (Loss), after Tax", "terseLabel": "Cumulative gain, net of tax reflected in accumulated other comprehensive income (loss)", "documentation": "Amount, after tax, of accumulated gain (loss) on derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r240" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "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." } } }, "auth_ref": [ "r186", "r225", "r267", "r305", "r320", "r326", "r345", "r393", "r394", "r396", "r397", "r398", "r400", "r402", "r404", "r405", "r579", "r583", "r606", "r670", "r748", "r860", "r874", "r1006", "r1007", "r1059" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "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." } } }, "auth_ref": [ "r217", "r235", "r267", "r345", "r393", "r394", "r396", "r397", "r398", "r400", "r402", "r404", "r405", "r579", "r583", "r606", "r860", "r1006", "r1007", "r1059" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "auth_ref": [] }, "dei_AuditorFirmId": { "xbrltype": "nonemptySequenceNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorFirmId", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Firm ID", "documentation": "PCAOB issued Audit Firm Identifier" } } }, "auth_ref": [ "r878", "r879", "r892" ] }, "dei_AuditorLocation": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorLocation", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "auth_ref": [ "r878", "r879", "r892" ] }, "dei_AuditorName": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorName", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "auth_ref": [ "r878", "r879", "r892" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r943" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r944" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r939" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r939" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r939" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r939" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r939" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r939" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r498", "r499", "r500", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r522", "r523", "r524", "r525", "r526" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r942" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r941" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r940" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r940" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Axis]", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Domain]", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r105", "r109" ] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BaseRateMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Base Rate", "terseLabel": "Base Rate", "documentation": "Minimum rate investor will accept." } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Nature of Operations and Basis of Presentation", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "srt_BoardOfDirectorsChairmanMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "BoardOfDirectorsChairmanMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Warren Kanders", "terseLabel": "Warren Kanders" } } }, "auth_ref": [ "r984" ] }, "us-gaap_BuildingAndBuildingImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingAndBuildingImprovementsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Building and improvements", "terseLabel": "Building and improvements", "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." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "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." } } }, "auth_ref": [ "r576", "r850", "r851" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r89", "r91", "r576", "r850", "r851" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Line Items]", "terseLabel": "ACQUISITIONS", "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." } } }, "auth_ref": [ "r576" ] }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Percentage of Voting Interests Acquired", "terseLabel": "Percentage acquired", "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination." } } }, "auth_ref": [ "r90" ] }, "us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Goodwill, Expected Tax Deductible Amount", "terseLabel": "Goodwill, non-deductible for tax purposes", "documentation": "The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes." } } }, "auth_ref": [ "r97" ] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Acquisition Related Costs", "terseLabel": "Acquisition-related costs incurred during the period", "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." } } }, "auth_ref": [ "r88" ] }, "cdre_BusinessCombinationAcquisitionRelatedCostsRestructuringAndTransactionCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "BusinessCombinationAcquisitionRelatedCostsRestructuringAndTransactionCosts", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Acquisition related transaction costs included in restructuring and transaction costs on the income statement.", "label": "Business Combination, Acquisition Related Costs, Restructuring and Transaction Costs", "verboseLabel": "Acquisition related transaction costs included in Restructuring and transaction costs" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationConsiderationTransferredAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferredAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Period Increase (Decrease) [Abstract]", "terseLabel": "Total consideration, net of cash acquired:" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitions" ], "lang": { "en-us": { "role": { "label": "Business Combination Disclosure [Text Block]", "terseLabel": "ACQUISITIONS", "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)." } } }, "auth_ref": [ "r183", "r577" ] }, "cdre_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedLiabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of accrued liabilities assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Accrued Liabilities", "terseLabel": "Accrued liabilities" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets", "terseLabel": "Total assets acquired", "totalLabel": "Total assets acquired", "documentation": "Amount of assets acquired at the acquisition date." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other", "terseLabel": "Other current assets", "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." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets", "terseLabel": "Prepaid expenses", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Accounts receivable", "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." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "terseLabel": "Accounts payable", "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." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "terseLabel": "Deferred tax liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill", "terseLabel": "Intangible assets", "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory", "terseLabel": "Inventories", "documentation": "The amount of inventory recognized as of the acquisition date." } } }, "auth_ref": [ "r92", "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities", "terseLabel": "Total liabilities assumed", "totalLabel": "Total liabilities assumed", "documentation": "Amount of liabilities assumed at the acquisition date." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Long-term Debt", "terseLabel": "Long-term debt", "verboseLabel": "Other long-term liabilities", "documentation": "Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "terseLabel": "Property and equipment", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r92", "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "totalLabel": "Net assets acquired", "verboseLabel": "Net assets acquired", "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r93" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]", "terseLabel": "Total purchase price consideration and preliminary fair value amounts recognized" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsAbstract", "lang": { "en-us": { "role": { "label": "ACQUISITIONS" } } }, "auth_ref": [] }, "cdre_CanadianCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CanadianCreditFacilityMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Canadian Credit Facility.", "label": "Canadian Credit Facility", "terseLabel": "Canadian Credit Facility" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Accruals and accounts payable for capital expenditures", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r50", "r51", "r52" ] }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash and Cash Equivalents", "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." } } }, "auth_ref": [ "r48" ] }, "cdre_CashBasedExecutiveCompensationPlanGrantDateFairValueCommonStock": { "xbrltype": "perShareItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CashBasedExecutiveCompensationPlanGrantDateFairValueCommonStock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The grant date fair value per share of common stock of all vested and unvested units under the cash-based executive compensation plan.", "label": "Cash-Based Executive Compensation Plan, Grant Date Fair Value, Common Stock", "terseLabel": "Grant date fair value per share of common stock of all vested and unvested units under the cash-based executive compensation plan" } } }, "auth_ref": [] }, "cdre_CashBasedExecutiveCompensationPlanNumberOfAwardsExpectedToVest": { "xbrltype": "sharesItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CashBasedExecutiveCompensationPlanNumberOfAwardsExpectedToVest", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of awards expected to vest under the cash-based executive compensation plan.", "label": "Cash-Based Executive Compensation Plan, Number of Awards, Expected to Vest", "terseLabel": "Number of units expected to vest under cash-based executive compensation plan" } } }, "auth_ref": [] }, "cdre_CashBasedExecutiveCompensationPlanNumberOfAwardsGranted": { "xbrltype": "sharesItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CashBasedExecutiveCompensationPlanNumberOfAwardsGranted", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlansDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of awards granted under cash-based executive compensation plan.", "label": "Cash-Based Executive Compensation Plan, Number of Awards, Granted", "terseLabel": "Number of awards granted under cash-based executive compensation plan" } } }, "auth_ref": [] }, "cdre_CashBasedExecutiveCompensationPlanNumberOfAwardsUnvested": { "xbrltype": "sharesItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CashBasedExecutiveCompensationPlanNumberOfAwardsUnvested", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of unvested awards under the cash-based executive compensation plan.", "label": "Cash-Based Executive Compensation Plan, Number of Awards, Unvested", "terseLabel": "Number of unvested units under cash-based executive compensation plan" } } }, "auth_ref": [] }, "cdre_CashBasedExecutiveCompensationPlanUnrecognizedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CashBasedExecutiveCompensationPlanUnrecognizedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under the cash-based executive compensation plan.", "label": "Cash-Based Executive Compensation Plan, Unrecognized Compensation Expense", "terseLabel": "Unrecognized compensation under cash-based executive compensation plan" } } }, "auth_ref": [] }, "cdre_CashBasedLongTermIncentivePlanCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CashBasedLongTermIncentivePlanCompensationExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Compensation expense related to the cash-based long-term incentive plan.", "label": "Cash-Based Long-Term Incentive Plan, Compensation Expense", "terseLabel": "Compensation expense related to the cash-based long-term incentive plan" } } }, "auth_ref": [] }, "cdre_CashBasedLongTermIncentivePlanVestingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CashBasedLongTermIncentivePlanVestingPeriod", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "The vesting period for awards granted under the cash-based long-term incentive plan.", "label": "Cash-Based Long-Term Incentive Plan, Vesting Period", "terseLabel": "Vesting period for awards granted under the cash-based long-term incentive plan" } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsAndShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsAndShortTermInvestments", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, and Short-term Investments", "terseLabel": "Cash and cash equivalents", "documentation": "Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable." } } }, "auth_ref": [ "r965" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r47", "r156", "r263" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Change in cash and cash equivalents", "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." } } }, "auth_ref": [ "r2", "r156" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r918" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r919" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r919" ] }, "cdre_CommercialMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CommercialMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to commercial.", "label": "Commercial" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies.", "terseLabel": "Commitments and contingencies (Note 14)", "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." } } }, "auth_ref": [ "r35", "r126", "r671", "r735" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "COMMITMENTS AND CONTINGENCIES" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "COMMITMENTS AND CONTINGENCIES", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r170", "r382", "r383", "r808", "r999" ] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Dividends, Per Share, Declared", "verboseLabel": "Dividend declared (in dollars per share)", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r175" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r862", "r863", "r864", "r866", "r867", "r868", "r871", "r978", "r979", "r1051", "r1072", "r1076" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r137" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r137", "r736" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "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." } } }, "auth_ref": [ "r137" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Balance at the end (in shares)", "periodStartLabel": "Balance at the beginning (in shares)", "terseLabel": "Common stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r16", "r137", "r736", "r754", "r1076", "r1077" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock ($0.0001 par value, 190,000,000 shares authorized, 37,587,436 and 37,332,271 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively)", "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." } } }, "auth_ref": [ "r137", "r672", "r860" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r924" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r923" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r925" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r922" ] }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationAndRetirementDisclosureAbstract", "lang": { "en-us": { "role": { "label": "COMPENSATION AND DEFINED CONTRIBUTION PLANS" } } }, "auth_ref": [] }, "us-gaap_CompensationRelatedCostsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationRelatedCostsAbstract", "lang": { "en-us": { "role": { "label": "STOCK-BASED COMPENSATION" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract", "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Assets and Liabilities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomes": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income, net of tax", "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." } } }, "auth_ref": [ "r40", "r245", "r247", "r253", "r666", "r683" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income:" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomePolicyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income, Policy [Policy Text Block]", "terseLabel": "Accumulated Other Comprehensive Income", "documentation": "Disclosure of accounting policy for comprehensive income." } } }, "auth_ref": [] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Computer hardware and software", "terseLabel": "Computer hardware and software", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Risk and Uncertainties", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r128", "r203" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r271", "r307", "r318", "r319", "r320", "r321", "r322", "r324", "r328", "r393", "r394", "r395", "r396", "r398", "r399", "r401", "r403", "r404", "r1006", "r1007" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r271", "r307", "r318", "r319", "r320", "r321", "r322", "r324", "r328", "r393", "r394", "r395", "r396", "r398", "r399", "r401", "r403", "r404", "r1006", "r1007" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of Consolidation", "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." } } }, "auth_ref": [ "r100", "r827" ] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Construction in progress", "terseLabel": "Construction in progress", "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." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities, current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r448", "r449", "r468" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized from amounts included in contract liabilities", "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." } } }, "auth_ref": [ "r469" ] }, "us-gaap_ContractWithCustomerSalesChannelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerSalesChannelAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Sales Channel [Axis]", "documentation": "Information by sales channel for delivery of good or service in contract with customer." } } }, "auth_ref": [ "r846", "r1010" ] }, "us-gaap_ContractWithCustomerSalesChannelDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerSalesChannelDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Sales Channel [Domain]", "documentation": "Sales channel for delivery of good or service in contract with customer. Includes, but is not limited to, directly to consumer and through intermediary." } } }, "auth_ref": [ "r846", "r1010" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of goods sold", "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." } } }, "auth_ref": [ "r150", "r650" ] }, "us-gaap_CostOfGoodsAndServicesSoldAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldAmortization", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Cost, Amortization", "terseLabel": "Amortization expense included in cost of goods sold", "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service." } } }, "auth_ref": [ "r969" ] }, "us-gaap_CostOfGoodsAndServicesSoldDepreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldDepreciation", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Cost, Depreciation", "terseLabel": "Depreciation expense included in cost of goods sold", "documentation": "Amount of expense for allocation of cost of tangible asset over its useful life directly used in production of good and rendering of service." } } }, "auth_ref": [ "r969", "r997" ] }, "us-gaap_CostOfSalesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Service [Policy Text Block]", "terseLabel": "Cost of Goods Sold", "documentation": "Disclosure of accounting policy for cost of product sold and service rendered." } } }, "auth_ref": [ "r962" ] }, "us-gaap_CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Costs Associated with Exit or Disposal Activities or Restructurings, Policy [Policy Text Block]", "terseLabel": "Restructuring Costs", "documentation": "Disclosure of accounting policy for recognizing and reporting costs associated with exiting, disposing of, and restructuring certain operations." } } }, "auth_ref": [ "r21", "r168", "r169" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Federal, State and Local, Tax Expense (Benefit) [Abstract]", "terseLabel": "Current tax provision:" } } }, "auth_ref": [] }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentFederalTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Federal Tax Expense (Benefit)", "terseLabel": "Federal", "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." } } }, "auth_ref": [ "r961", "r977", "r1046" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentForeignTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Foreign Tax Expense (Benefit)", "terseLabel": "Foreign", "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r961", "r977" ] }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Total current provision", "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations." } } }, "auth_ref": [ "r182", "r565", "r571", "r977" ] }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentStateAndLocalTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State", "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." } } }, "auth_ref": [ "r961", "r977", "r1046" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Customer relationships", "terseLabel": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r96" ] }, "cdre_CyalumeAcquisitionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "CyalumeAcquisitionMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the member information pertaining to Cyalume Acquisition.", "label": "Cyalume", "terseLabel": "Cyalume" } } }, "auth_ref": [] }, "us-gaap_DebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtCurrent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Current", "totalLabel": "Total", "documentation": "Amount of debt and lease obligation, classified as current." } } }, "auth_ref": [ "r227" ] }, "us-gaap_DebtCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtCurrentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Current [Abstract]", "terseLabel": "Short-term debt:" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "DEBT" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "DEBT", "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." } } }, "auth_ref": [ "r171", "r265", "r406", "r412", "r413", "r414", "r415", "r416", "r417", "r422", "r429", "r430", "r432" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r23", "r131", "r132", "r187", "r190", "r271", "r407", "r408", "r409", "r410", "r411", "r413", "r418", "r419", "r420", "r421", "r423", "r424", "r425", "r426", "r427", "r428", "r621", "r834", "r835", "r836", "r837", "r838", "r975" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "verboseLabel": "Applicable margin (as a percent)", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Amount borrowed", "verboseLabel": "Outstanding borrowings", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r23", "r190", "r433" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Face Amount", "verboseLabel": "Amount of short term loan facility", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r119", "r121", "r407", "r621", "r835", "r836" ] }, "us-gaap_DebtInstrumentFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFairValue", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Fair Value Disclosure", "terseLabel": "Fair value of debt", "documentation": "Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable." } } }, "auth_ref": [ "r420", "r605", "r835", "r836" ] }, "cdre_DebtInstrumentFixedChargeCoverageRatioThreshold": { "xbrltype": "pureItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "DebtInstrumentFixedChargeCoverageRatioThreshold", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the minimum fixed charge coverage ratio required by a loan security agreement debt covenant.", "label": "Debt Instrument, Fixed Charge Coverage Ratio Threshold", "terseLabel": "Minimum fixed charge coverage ratio" } } }, "auth_ref": [] }, "cdre_DebtInstrumentIncreaseInTotalNetLeverageRatioDueToMajorAcquisitions": { "xbrltype": "pureItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "DebtInstrumentIncreaseInTotalNetLeverageRatioDueToMajorAcquisitions", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the increase in total net leverage ratio required by a loan security agreement debt covenant due to material acquisitions.", "label": "Debt Instrument, Increase In Total Net Leverage Ratio Due To Major Acquisitions", "terseLabel": "Increase in total net leverage ratio" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentInterestRateDuringPeriod": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateDuringPeriod", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate During Period", "terseLabel": "Aggregate principal amount per quarter (in percent)", "documentation": "The average effective interest rate during the reporting period." } } }, "auth_ref": [ "r31", "r119", "r425" ] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r31", "r408" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "terseLabel": "DEBT", "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." } } }, "auth_ref": [ "r271", "r407", "r408", "r409", "r410", "r411", "r413", "r418", "r419", "r420", "r421", "r423", "r424", "r425", "r426", "r427", "r428", "r431", "r621", "r834", "r835", "r836", "r837", "r838", "r975" ] }, "us-gaap_DebtInstrumentMaturityDateRangeEnd1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentMaturityDateRangeEnd1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Maturity Date Range, End", "verboseLabel": "Debt instrument, end maturity date", "documentation": "Latest date the outstanding debt instruments are required to be repaid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r32" ] }, "us-gaap_DebtInstrumentMaturityDateRangeStart1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentMaturityDateRangeStart1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Maturity Date Range, Start", "terseLabel": "Debt instrument, start maturity date", "documentation": "Earliest date the outstanding debt instruments are required to be repaid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r32" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r33", "r271", "r407", "r408", "r409", "r410", "r411", "r413", "r418", "r419", "r420", "r421", "r423", "r424", "r425", "r426", "r427", "r428", "r621", "r834", "r835", "r836", "r837", "r838", "r975" ] }, "cdre_DebtInstrumentPercentageOfUpfrontFee": { "xbrltype": "percentItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "DebtInstrumentPercentageOfUpfrontFee", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of Of upfront fee for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Percentage Of Upfront Fee", "terseLabel": "Upfront Fee" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentPeriodicPaymentPrincipal": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentPeriodicPaymentPrincipal", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Periodic Payment, Principal", "verboseLabel": "Required monthly payments", "documentation": "Amount of the required periodic payments applied to principal." } } }, "auth_ref": [ "r33" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-Term Debt Instruments [Table]", "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r33", "r76", "r77", "r118", "r119", "r121", "r127", "r173", "r174", "r271", "r407", "r408", "r409", "r410", "r411", "r413", "r418", "r419", "r420", "r421", "r423", "r424", "r425", "r426", "r427", "r428", "r431", "r621", "r834", "r835", "r836", "r837", "r838", "r975" ] }, "cdre_DebtInstrumentTotalNetLeverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "DebtInstrumentTotalNetLeverageRatio", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the total net leverage ratio required by a loan security agreement debt covenant.", "label": "Debt Instrument, Total Net Leverage Ratio", "terseLabel": "Total net leverage ratio" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentUnamortizedDiscount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentUnamortizedDiscount", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Unamortized Discount", "terseLabel": "Unamortized debt discount", "documentation": "Amount, after accumulated amortization, of debt discount." } } }, "auth_ref": [ "r118", "r121", "r1009" ] }, "us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net", "negatedLabel": "Unamortized debt discount and debt issuance costs", "documentation": "Amount of unamortized debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r120", "r418", "r434", "r835", "r836" ] }, "cdre_DebtInstrumentVariableRateAdjustment": { "xbrltype": "percentItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "DebtInstrumentVariableRateAdjustment", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Variable rate adjustment percentage.", "label": "Debt Instrument, Variable Rate, Adjustment", "terseLabel": "Variable rate adjustment (as a percent)" } } }, "auth_ref": [] }, "us-gaap_DebtLongtermAndShorttermCombinedAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtLongtermAndShorttermCombinedAmount", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Long-Term and Short-Term, Combined Amount", "verboseLabel": "Carrying value of debt", "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt." } } }, "auth_ref": [] }, "us-gaap_DebtPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Debt, Policy [Policy Text Block]", "terseLabel": "Debt Issuance Costs", "documentation": "Disclosure of accounting policy related to debt. Includes, but is not limited to, debt issuance costs, the effects of refinancings, method of amortizing debt issuance costs and original issue discount, and classifications of debt." } } }, "auth_ref": [ "r10" ] }, "us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "label": "Equity-Based Arrangements, Individual Contracts, Type of Deferred Compensation [Axis]", "documentation": "Information by type of deferred compensation related to equity-based payment arrangements. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes broad group equity-based compensation plans, defined benefit pension plans, defined benefit other postretirement benefit plans and other deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan." } } }, "auth_ref": [ "r79" ] }, "us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement with Individual, Share-based Payments [Line Items]", "terseLabel": "Compensation Plans", "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." } } }, "auth_ref": [] }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFederalIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal", "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." } } }, "auth_ref": [ "r977", "r1044", "r1046" ] }, "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFederalStateAndLocalTaxExpenseBenefitAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]", "terseLabel": "Deferred tax (benefit) provision:" } } }, "auth_ref": [] }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredForeignIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Foreign Income Tax Expense (Benefit)", "terseLabel": "Foreign", "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r182", "r977", "r1044" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets, net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r548", "r549" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit)", "totalLabel": "Total deferred (benefit) provision", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r8", "r182", "r211", "r570", "r571", "r977" ] }, "us-gaap_DeferredIncomeTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilities", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Gross", "negatedTotalLabel": "Total deferred tax liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences." } } }, "auth_ref": [ "r133", "r134", "r189", "r559" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Deferred Income Taxes and Tax Credits", "terseLabel": "Deferred income taxes", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r158" ] }, "us-gaap_DeferredRevenueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredRevenueCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Revenue, Current", "terseLabel": "Contract liabilities and customer credits", "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r963" ] }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State", "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." } } }, "auth_ref": [ "r977", "r1044", "r1046" ] }, "us-gaap_DeferredTaxAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsGross", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Gross", "totalLabel": "Total deferred tax assets", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r560" ] }, "us-gaap_DeferredTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNet", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net of Valuation Allowance", "totalLabel": "Net deferred tax assets", "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r1042" ] }, "us-gaap_DeferredTaxAssetsNetOfValuationAllowanceAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNetOfValuationAllowanceAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net of Valuation Allowance [Abstract]", "terseLabel": "Deferred tax assets:" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Operating Loss Carryforwards", "terseLabel": "Net operating loss and other carry forwards", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards." } } }, "auth_ref": [ "r87", "r1043" ] }, "us-gaap_DeferredTaxAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOther", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Other", "terseLabel": "Other deferred tax assets", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other." } } }, "auth_ref": [ "r87", "r1043" ] }, "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsPropertyPlantAndEquipment", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Property, Plant and Equipment", "terseLabel": "263A uniform capitalization costs", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment." } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities", "terseLabel": "Accrued liabilities", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities." } } }, "auth_ref": [ "r87", "r1043" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Reserves", "verboseLabel": "Reserves and other", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from reserves, classified as other." } } }, "auth_ref": [ "r87", "r1043" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Valuation Allowance", "negatedLabel": "Valuation allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r561" ] }, "us-gaap_DeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilities", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Net", "negatedTotalLabel": "Total deferred income taxes", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting." } } }, "auth_ref": [ "r86", "r1042" ] }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Goodwill", "negatedLabel": "Goodwill", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from goodwill." } } }, "auth_ref": [ "r87", "r98", "r99", "r1043" ] }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Intangible Assets", "negatedLabel": "Intangibles", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill." } } }, "auth_ref": [ "r87", "r1043" ] }, "cdre_DeferredTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "DeferredTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Tax Liabilities Net", "terseLabel": "Deferred tax liabilities" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxLiabilitiesNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesNetAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Net [Abstract]", "terseLabel": "Deferred tax liabilities:" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesOther", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Other", "negatedLabel": "Other", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other." } } }, "auth_ref": [ "r87", "r1043" ] }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesDeferredIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Property, Plant and Equipment", "negatedLabel": "Depreciation", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment." } } }, "auth_ref": [ "r87", "r1043" ] }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "terseLabel": "Employer contribution to plans", "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_Deposits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Deposits", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deposits", "documentation": "The aggregate of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others." } } }, "auth_ref": [ "r124" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation", "terseLabel": "Depreciation expense", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r8", "r70" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "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." } } }, "auth_ref": [ "r8", "r310" ] }, "us-gaap_DerivativeAssetStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssetStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative asset." } } }, "auth_ref": [ "r585" ] }, "us-gaap_DerivativeAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssets", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset", "terseLabel": "Interest rate swap", "verboseLabel": "Derivative asset", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other 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. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r236", "r237", "r605", "r715", "r716", "r717", "r718", "r719", "r721", "r722", "r723", "r724", "r725", "r742", "r743", "r795", "r798", "r799", "r800", "r801", "r802", "r826", "r864", "r1073" ] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Contract [Domain]", "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." } } }, "auth_ref": [ "r723", "r725", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r749", "r750", "r751", "r752", "r767", "r768", "r769", "r770", "r773", "r774", "r775", "r776", "r795", "r796", "r799", "r801", "r862", "r864" ] }, "us-gaap_DerivativeFixedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeFixedInterestRate", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Fixed Interest Rate", "terseLabel": "Fixed rate", "documentation": "Fixed interest rate related to the interest rate derivative." } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r106", "r108", "r110", "r111", "r723", "r725", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r749", "r750", "r751", "r752", "r767", "r768", "r769", "r770", "r773", "r774", "r775", "r776", "r795", "r796", "r799", "r801", "r826", "r862", "r864" ] }, "us-gaap_DerivativeLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeLiabilities", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability", "terseLabel": "Interest rate swap (Note 11)", "verboseLabel": "Derivative liability", "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability 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. Includes liabilities not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r236", "r237", "r605", "r715", "r716", "r717", "r718", "r721", "r722", "r723", "r724", "r725", "r749", "r751", "r752", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r826", "r1073" ] }, "us-gaap_DerivativeLiabilityStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeLiabilityStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative liability." } } }, "auth_ref": [ "r585" ] }, "us-gaap_DerivativeLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative [Line Items]", "terseLabel": "DEBT", "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." } } }, "auth_ref": [ "r593" ] }, "us-gaap_DerivativeNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeNotionalAmount", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Notional Amount", "terseLabel": "Notional amount", "documentation": "Nominal or face amount used to calculate payment on derivative." } } }, "auth_ref": [ "r1048", "r1049" ] }, "us-gaap_DerivativeTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative [Table]", "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item." } } }, "auth_ref": [ "r17", "r101", "r102", "r103", "r104", "r107", "r110", "r112", "r114", "r116", "r593" ] }, "us-gaap_DerivativeVariableInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeVariableInterestRate", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Variable Interest Rate", "terseLabel": "Variable rate", "documentation": "Variable interest rate in effect as of the balance sheet date related to the interest rate derivative." } } }, "auth_ref": [] }, "us-gaap_DerivativesFairValueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativesFairValueLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Derivatives, Fair Value [Line Items]", "terseLabel": "DEBT", "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." } } }, "auth_ref": [] }, "us-gaap_DerivativesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativesPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Derivatives, Policy [Policy Text Block]", "terseLabel": "Derivatives", "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities." } } }, "auth_ref": [ "r17", "r101", "r102", "r104", "r113", "r270" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails", "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Revenue Recognition", "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." } } }, "auth_ref": [ "r467", "r840", "r841", "r842", "r843", "r844", "r845", "r846" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails", "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r467", "r840", "r841", "r842", "r843", "r844", "r845", "r846" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Summary of disaggregation of net sales by channel and geography", "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." } } }, "auth_ref": [ "r1010" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement [Text Block]", "terseLabel": "STOCK-BASED COMPENSATION", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r492", "r497", "r528", "r529", "r531", "r853" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "STOCK - BASED COMPENSATION" } } }, "auth_ref": [] }, "us-gaap_DisclosureTextBlockAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureTextBlockAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES." } } }, "auth_ref": [] }, "cdre_DistributionServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "DistributionServicesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the Distribution segment.", "label": "Distribution" } } }, "auth_ref": [] }, "us-gaap_Dividends": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Dividends", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Dividends", "negatedLabel": "Dividends declared", "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock." } } }, "auth_ref": [ "r5", "r175" ] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Dividends, Common Stock, Cash", "terseLabel": "Cash dividends", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r175" ] }, "us-gaap_DividendsPayableAmountPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableAmountPerShare", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Amount Per Share", "terseLabel": "Dividends per share declared", "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date." } } }, "auth_ref": [ "r50" ] }, "dei_DocumentAnnualReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentAnnualReport", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Annual Report", "documentation": "Boolean flag that is true only for a form used as an annual report." } } }, "auth_ref": [ "r878", "r879", "r892" ] }, "dei_DocumentFinStmtErrorCorrectionFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFinStmtErrorCorrectionFlag", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Financial Statement Error Correction [Flag]", "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction." } } }, "auth_ref": [ "r878", "r879", "r892", "r928" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "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." } } }, "auth_ref": [] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r913" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "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'." } } }, "auth_ref": [] }, "cdre_EachQuarterStartingWithQuarterEndedDecember312022Member": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "EachQuarterStartingWithQuarterEndedDecember312022Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Each quarter starting with the quarter ended December 31, 2022.", "label": "Each quarter starting with the quarter ended December 31, 2022", "terseLabel": "Each quarter starting with the quarter ended December 31, 2022" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Net income per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r254", "r277", "r278", "r279", "r280", "r281", "r286", "r289", "r295", "r296", "r297", "r299", "r596", "r597", "r667", "r684", "r829" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted", "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." } } }, "auth_ref": [ "r254", "r277", "r278", "r279", "r280", "r281", "r289", "r295", "r296", "r297", "r299", "r596", "r597", "r667", "r684", "r829" ] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income per Share", "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements." } } }, "auth_ref": [ "r53", "r54" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share Reconciliation [Abstract]", "terseLabel": "Calculation of weighted average shares outstanding and net (loss) income per share" } } }, "auth_ref": [] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "terseLabel": "Effect of foreign exchange rates on cash and cash equivalents", "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." } } }, "auth_ref": [ "r1053" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "totalLabel": "Effective tax rate", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r551" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract", "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Federal statutory rate", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r269", "r551", "r572" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent", "terseLabel": "Change in valuation allowance", "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." } } }, "auth_ref": [ "r1039", "r1047" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent", "terseLabel": "Difference between foreign and federal tax rate", "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." } } }, "auth_ref": [ "r1039", "r1047" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpense": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpense", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Percent", "terseLabel": "Permanent items", "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 nondeductible expenses." } } }, "auth_ref": [ "r1039", "r1047" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent", "terseLabel": "Other", "documentation": "Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments." } } }, "auth_ref": [] }, "cdre_EffectiveIncomeTaxRateReconciliationReserveForUncertainTaxPositions": { "xbrltype": "percentItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "EffectiveIncomeTaxRateReconciliationReserveForUncertainTaxPositions", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Effective income tax rate reconciliation reserve for uncertain tax positions.", "label": "Effective Income Tax Rate Reconciliation Reserve For Uncertain Tax Positions", "terseLabel": "Reserve for uncertain tax positions" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "State income taxes, net of federal income taxes", "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)." } } }, "auth_ref": [ "r1039", "r1047" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits", "calculation": { "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfStatutoryFederalIncomeTaxRateToEffectiveRateReportedInCompanySConsolidatedFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent", "negatedLabel": "Current year tax credits", "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." } } }, "auth_ref": [ "r1039", "r1047" ] }, "cdre_EmergingGrowthCompanyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "EmergingGrowthCompanyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to Emerging Growth Company.", "label": "Emerging Growth Company [Policy Text Block]", "terseLabel": "Emerging Growth Company" } } }, "auth_ref": [] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation and payroll tax", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r29" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "verboseLabel": "Unrecognized compensation expense", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r530" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Grant date fair value expected to be recognized as compensation expense over a weighted average period", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r530" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address State Or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r876" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "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." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "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." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r876" ] }, "dei_EntityExTransitionPeriod": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityExTransitionPeriod", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Ex Transition Period", "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards." } } }, "auth_ref": [ "r955" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "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." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "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." } } }, "auth_ref": [ "r876" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "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)." } } }, "auth_ref": [ "r953" ] }, "dei_EntityPublicFloat": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityPublicFloat", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Public Float", "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." } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r876" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r876" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r876" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r876" ] }, "dei_EntityVoluntaryFilers": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityVoluntaryFilers", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Voluntary Filers", "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." } } }, "auth_ref": [] }, "dei_EntityWellKnownSeasonedIssuer": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityWellKnownSeasonedIssuer", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Well-known Seasoned Issuer", "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." } } }, "auth_ref": [ "r954" ] }, "us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "label": "Equity-Based Arrangements, Individual Contracts, Type of Deferred Compensation [Domain]", "documentation": "Deferred compensation related to equity-based payment arrangements. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes broad group equity-based compensation plans, defined benefit pension plans, defined benefit other postretirement benefit plans and other deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan." } } }, "auth_ref": [ "r79" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "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." } } }, "auth_ref": [ "r16", "r214", "r249", "r250", "r251", "r272", "r273", "r274", "r276", "r282", "r284", "r300", "r346", "r347", "r447", "r532", "r533", "r534", "r566", "r567", "r587", "r588", "r589", "r590", "r591", "r592", "r595", "r612", "r613", "r614", "r615", "r616", "r617", "r634", "r698", "r699", "r700", "r713", "r780" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r921" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r884", "r896", "r906", "r932" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r881", "r893", "r903", "r929" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r927" ] }, "cdre_ExecutiveCompensationPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ExecutiveCompensationPlanMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the executive compensation plan.", "label": "Executive Compensation Plan" } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value Measurements", "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." } } }, "auth_ref": [ "r599", "r600", "r603" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r599", "r600", "r603" ] }, "cdre_FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "FairValueAssetsAndLiabilitiesTransfersBetweenFairValueMeasurementLevelsAmount", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsTransfersOfAssetsOrLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of transfers of assets and liabilities measured on a recurring between fair value measurement levels.", "label": "Fair Value Assets and Liabilities Transfers Between Fair Value Measurement Levels Amount", "terseLabel": "Transfers between fair value measurement levels, amount" } } }, "auth_ref": [] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r420", "r474", "r475", "r476", "r477", "r478", "r479", "r600", "r644", "r645", "r646", "r835", "r836", "r847", "r848", "r849" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r599", "r600", "r601", "r602", "r604" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "FAIR VALUE MEASUREMENTS" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "FAIR VALUE MEASUREMENTS", "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." } } }, "auth_ref": [ "r598" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Level 2", "terseLabel": "Level 2", "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." } } }, "auth_ref": [ "r420", "r474", "r479", "r600", "r645", "r835", "r836", "r847", "r848", "r849" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementPolicyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Value Measurements", "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." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r420", "r474", "r475", "r476", "r477", "r478", "r479", "r644", "r645", "r646", "r835", "r836", "r847", "r848", "r849" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Recurring", "terseLabel": "Carrying Amount", "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." } } }, "auth_ref": [ "r598", "r604" ] }, "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]", "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position." } } }, "auth_ref": [ "r105", "r107", "r115" ] }, "us-gaap_FinancingReceivablesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivablesTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNet" ], "lang": { "en-us": { "role": { "label": "Financing Receivables [Text Block]", "terseLabel": "ACCOUNTS RECEIVABLE, NET", "documentation": "The entire disclosure for financing receivable." } } }, "auth_ref": [ "r335", "r341", "r342", "r343", "r832" ] }, "cdre_FiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "FiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite Lived And Indefinite Lived Intangible Assets By Major Class [Line Items]", "terseLabel": "Goodwill and Other Intangible Assets" } } }, "auth_ref": [] }, "cdre_FiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTable": { "xbrltype": "stringItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "FiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite Lived And Indefinite Lived Intangible Assets By Major Class [Table]" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Weighted Average Useful Life", "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." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangiblesSummaryOfIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Definite lived intangibles, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r223", "r374" ] }, "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsRadarDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "documentation": "A table containing detailed characteristics of finite-lived intangible assets acquired during a business combination. Finite-lived intangible assets are assets that have no physical form, but have expected future economic benefit, and are expected to be used over a defined period. Acquired finite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the Entity) and in total. Additionally, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period are also disclosed." } } }, "auth_ref": [ "r65" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "terseLabel": "Thereafter", "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)." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2024", "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)." } } }, "auth_ref": [ "r164" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Finite-lived Intangible Assets Amortization Expense [Table Text Block]", "terseLabel": "Summary of estimated amortization expense for definite lived intangible assets", "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "terseLabel": "2028", "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)." } } }, "auth_ref": [ "r164" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2027", "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)." } } }, "auth_ref": [ "r164" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2026", "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)." } } }, "auth_ref": [ "r164" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2025", "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)." } } }, "auth_ref": [ "r164" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r371", "r373", "r374", "r376", "r651", "r652" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Estimated amortization expense for finite-lived intangible assets" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangiblesSummaryOfIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Definite lived intangibles, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r163", "r652" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "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." } } }, "auth_ref": [ "r65", "r68" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangiblesSummaryOfIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizationExpenseForDefiniteLivedIntangibleAssetsDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Definite lived intangibles, Net", "totalLabel": "Total", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r163", "r651" ] }, "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNetAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net [Abstract]", "terseLabel": "Summary of intangible assets" } } }, "auth_ref": [] }, "cdre_FixedOperatingLeaseCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "FixedOperatingLeaseCosts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of fixed operating lease costs.", "label": "Fixed Operating Lease Costs", "terseLabel": "Fixed operating lease costs" } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Foreign Currency Transaction Gain (Loss), before Tax", "negatedLabel": "Foreign exchange (gain) loss", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r608", "r609", "r610", "r611", "r777" ] }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "terseLabel": "Foreign Currency", "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." } } }, "auth_ref": [ "r607" ] }, "us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignIncomeTaxExpenseBenefitContinuingOperations", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesConsolidatedIncomeFromContinuingOperationsBeforeProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Foreign Income Tax Expense (Benefit), Continuing Operations", "terseLabel": "Foreign operations", "documentation": "Amount of current and deferred foreign income tax expense (benefit) attributable to income (loss) from continuing operations." } } }, "auth_ref": [ "r268" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r888", "r900", "r910", "r936" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r888", "r900", "r910", "r936" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r888", "r900", "r910", "r936" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r888", "r900", "r910", "r936" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r888", "r900", "r910", "r936" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Furniture and fixtures", "terseLabel": "Furniture and fixtures", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "us-gaap_GainsLossesOnExtinguishmentOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainsLossesOnExtinguishmentOfDebt", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Extinguishment of Debt", "negatedLabel": "Loss on extinguishment of debt", "terseLabel": "Loss on extinguishment of debt", "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity." } } }, "auth_ref": [ "r8", "r73", "r74" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "terseLabel": "Goodwill", "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." } } }, "auth_ref": [ "r222", "r358", "r665", "r833", "r860", "r987", "r994" ] }, "us-gaap_GoodwillAcquiredDuringPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAcquiredDuringPeriod", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Acquired During Period", "verboseLabel": "Acquisition", "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." } } }, "auth_ref": [ "r362", "r833" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "GOODWILL AND OTHER INTANGIBLE ASSETS" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssets" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "GOODWILL AND OTHER INTANGIBLE ASSETS", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r162" ] }, "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]", "terseLabel": "Goodwill and Other Intangible Assets", "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets." } } }, "auth_ref": [ "r12", "r62" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Foreign currency translation adjustments", "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." } } }, "auth_ref": [ "r366" ] }, "us-gaap_GoodwillGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillGross", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Gross", "terseLabel": "Gross goodwill", "documentation": "Amount before 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." } } }, "auth_ref": [ "r361", "r368", "r833" ] }, "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairedAccumulatedImpairmentLoss", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Impaired, Accumulated Impairment Loss", "terseLabel": "Accumulated impairment losses", "documentation": "Amount of accumulated impairment loss for an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r361", "r368", "r833" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsImpairmentOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Impairment Loss", "verboseLabel": "Impairment losses", "documentation": "Amount of loss from the write-down 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." } } }, "auth_ref": [ "r8", "r359", "r365", "r370", "r833" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Line Items]", "terseLabel": "Goodwill", "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." } } }, "auth_ref": [ "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r833" ] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Purchase Accounting Adjustments", "terseLabel": "Measurement period adjustments", "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." } } }, "auth_ref": [ "r1", "r993" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillRollForward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Roll Forward]", "terseLabel": "Summary of changes in goodwill", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r149", "r267", "r305", "r319", "r325", "r328", "r345", "r393", "r394", "r396", "r397", "r398", "r400", "r402", "r404", "r405", "r606", "r831", "r1006" ] }, "us-gaap_IPOMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IPOMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Initial public offering", "terseLabel": "Initial public offering", "documentation": "First sale of stock by a private company to the public." } } }, "auth_ref": [] }, "dei_IcfrAuditorAttestationFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "IcfrAuditorAttestationFlag", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "auth_ref": [ "r878", "r879", "r892" ] }, "cdre_IcorTechnologyInc.Member": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "IcorTechnologyInc.Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to ICOR Technology Inc. (\"ICOR\").", "label": "ICOR Technology Inc. [Member]", "terseLabel": "ICOR" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesConsolidatedIncomeFromContinuingOperationsBeforeProvisionForIncomeTaxesDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes", "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." } } }, "auth_ref": [ "r0", "r147", "r192", "r305", "r319", "r325", "r328", "r668", "r680", "r831" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Statements of Operations and Comprehensive Income" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r377", "r379", "r763" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r379", "r763" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "INCOME TAXES", "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." } } }, "auth_ref": [ "r269", "r544", "r552", "r557", "r563", "r568", "r573", "r574", "r575", "r708" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesBenefitForIncomeTaxesDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedLabel": "Provision for income taxes", "totalLabel": "Total provision for income taxes", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r198", "r212", "r283", "r284", "r313", "r550", "r569", "r685" ] }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract", "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit), Continuing Operations, by Jurisdiction [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes", "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." } } }, "auth_ref": [ "r248", "r546", "r547", "r557", "r558", "r562", "r564", "r705" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for income taxes, net", "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." } } }, "auth_ref": [ "r49" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable and Other Operating Liabilities", "terseLabel": "Accounts payable and other liabilities", "documentation": "Amount of increase (decrease) in obligations incurred but not paid, and operating obligations classified as other." } } }, "auth_ref": [ "r973" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable", "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." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories", "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." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities, net of impact of acquisitions:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedTerseLabel": "Prepaid expenses and other assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Stock-based awards", "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." } } }, "auth_ref": [ "r290", "r291", "r292", "r297", "r496" ] }, "cdre_IncrementalTermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "IncrementalTermLoanMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "The represent information pertaining to the Incremental Term Loan (\"ITL\").", "label": "Incremental Term Loan [Member]", "terseLabel": "ITL" } } }, "auth_ref": [] }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-lived Intangible Assets [Axis]", "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r372", "r375" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-lived Intangible Assets (Excluding Goodwill)", "terseLabel": "Indefinite lived intangibles", "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r165" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. 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 the company." } } }, "auth_ref": [ "r66", "r165" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r891", "r900", "r910", "r927", "r936", "r940", "r948" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r946" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r880", "r952" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r880", "r952" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r880", "r952" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net", "verboseLabel": "Indefinite lived intangibles, Net", "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." } } }, "auth_ref": [ "r63", "r67" ] }, "us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetIncludingGoodwillAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Including Goodwill) [Abstract]", "terseLabel": "Goodwill and Other Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Interest Expense", "negatedLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r120", "r194", "r252", "r309", "r619", "r764", "r872", "r1075" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest", "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." } } }, "auth_ref": [ "r258", "r261", "r262" ] }, "us-gaap_InterestPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPayableCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Interest Payable, Current", "terseLabel": "Accrued interest payable", "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r29" ] }, "us-gaap_InterestRateCashFlowHedgeGainLossToBeReclassifiedDuringNext12MonthsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestRateCashFlowHedgeGainLossToBeReclassifiedDuringNext12MonthsNet", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Interest Rate Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months, Net", "terseLabel": "Amount reclassified from AOCI into interest expense within next twelve months", "documentation": "The estimated net amount of unrealized gains or losses on interest rate cash flow hedges as of the balance sheet date expected to be reclassified to earnings within the next twelve months." } } }, "auth_ref": [ "r117" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestRateSwapMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "lang": { "en-us": { "role": { "label": "Interest Rate Swaps", "terseLabel": "Interest Rate Swaps", "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." } } }, "auth_ref": [ "r821", "r869", "r870" ] }, "cdre_InterestRateSwapOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "InterestRateSwapOneMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "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, One", "terseLabel": "Interest Rate Swap, One" } } }, "auth_ref": [] }, "cdre_InterestRateSwapTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "InterestRateSwapTwoMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfInterestRateSwapsDetails" ], "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, Two", "terseLabel": "Interest Rate Swap, Two" } } }, "auth_ref": [] }, "cdre_InternationalMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "InternationalMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to International.", "label": "International" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INVENTORIES" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventories" ], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Text Block]", "terseLabel": "INVENTORIES", "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." } } }, "auth_ref": [ "r353" ] }, "us-gaap_InventoryFinishedGoodsAndWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsAndWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Finished Goods and Work in Process, Net of Reserves", "terseLabel": "Finished goods", "documentation": "The aggregated amount of merchandise or goods held by the entity and readily available for future sale plus items held by the entity which are partially complete or in the process of being readied for future sale. This amount is net of valuation reserves and adjustments." } } }, "auth_ref": [ "r161", "r964" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventory, Net", "terseLabel": "Inventories", "totalLabel": "Total", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r232", "r823", "r860" ] }, "us-gaap_InventoryPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Inventory, Policy [Policy Text Block]", "terseLabel": "Inventories", "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." } } }, "auth_ref": [ "r199", "r219", "r231", "r353", "r354", "r355", "r649", "r828" ] }, "us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsAndSuppliesNetOfReserves", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Raw Materials and Supplies, Net of Reserves", "terseLabel": "Raw materials and supplies", "documentation": "Aggregated amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed. This amount is net of valuation reserves and adjustments." } } }, "auth_ref": [ "r161", "r964" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process", "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." } } }, "auth_ref": [ "r161", "r825" ] }, "cdre_KandersCompanyIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "KandersCompanyIncMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails", "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information about Kanders & Company, Inc.", "label": "Kanders & Company, Inc", "terseLabel": "Kanders & Company, Inc" } } }, "auth_ref": [] }, "us-gaap_LandMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Land", "terseLabel": "Land", "documentation": "Part of earth's surface not covered by water." } } }, "auth_ref": [ "r1011" ] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost", "totalLabel": "Total", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r629", "r859" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of operating leases", "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." } } }, "auth_ref": [ "r1056" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "LEASES" } } }, "auth_ref": [] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Leases", "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." } } }, "auth_ref": [ "r628" ] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r628" ] }, "us-gaap_LesseeLeasesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeasesPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Leases", "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee." } } }, "auth_ref": [ "r627" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Summary of future minimum lease payments required under operating leases", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r1057" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total future lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r633" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five", "terseLabel": "Thereafter", "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)." } } }, "auth_ref": [ "r633" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2024", "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)." } } }, "auth_ref": [ "r633" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2028", "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)." } } }, "auth_ref": [ "r633" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2027", "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)." } } }, "auth_ref": [ "r633" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026", "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)." } } }, "auth_ref": [ "r633" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025", "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)." } } }, "auth_ref": [ "r633" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsDetailsCalc2": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Amount representing interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r633" ] }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Remaining Lease Term", "terseLabel": "Remaining contractual terms", "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r1054" ] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseRenewalTerm", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Optional lease extension terms", "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r1055" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "LEASES", "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability." } } }, "auth_ref": [ "r622" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LetterOfCreditMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Letter of credit", "terseLabel": "Letter of credit", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Outstanding letters of credit", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "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." } } }, "auth_ref": [ "r28", "r267", "r345", "r393", "r394", "r396", "r397", "r398", "r400", "r402", "r404", "r405", "r580", "r583", "r584", "r606", "r734", "r830", "r874", "r1006", "r1059", "r1060" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities, mezzanine equity and shareholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r142", "r191", "r676", "r860", "r976", "r985", "r1052" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities, Mezzanine Equity and Shareholders' Equity" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "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." } } }, "auth_ref": [ "r30", "r218", "r267", "r345", "r393", "r394", "r396", "r397", "r398", "r400", "r402", "r404", "r405", "r580", "r583", "r584", "r606", "r860", "r1006", "r1059", "r1060" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesFairValueDisclosureAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Line of Credit", "verboseLabel": "Amount outstanding", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r23", "r190", "r1069" ] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Lender Name [Axis]", "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." } } }, "auth_ref": [ "r26", "r975" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Lender [Domain]", "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." } } }, "auth_ref": [ "r26", "r975" ] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Line Items]", "terseLabel": "Debt", "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." } } }, "auth_ref": [ "r975" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity", "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." } } }, "auth_ref": [ "r26" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Available borrowing capacity", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r26" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Table]", "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line." } } }, "auth_ref": [ "r26", "r975" ] }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Unused line fee (as a percent)", "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility." } } }, "auth_ref": [] }, "us-gaap_LoansPayableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansPayableMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Short-Term Loan Facility", "documentation": "Borrowing supported by a written promise to pay an obligation." } } }, "auth_ref": [] }, "us-gaap_LoansPayableToBankCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansPayableToBankCurrent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Loans Payable to Bank, Current", "terseLabel": "Current portion of term loan", "documentation": "Carrying value as of the balance sheet date of current portion of long-term loans payable to bank due within one year or the operating cycle if longer." } } }, "auth_ref": [ "r131", "r730" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "cdre_LondonInterbankOfferedRateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "LondonInterbankOfferedRateMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.", "label": "LIBOR", "terseLabel": "LIBOR" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Current Maturities", "terseLabel": "Current portion of long-term debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r226" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Year One", "verboseLabel": "2024", "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)." } } }, "auth_ref": [ "r10", "r271", "r424" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Year Four", "terseLabel": "2027", "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)." } } }, "auth_ref": [ "r10", "r271", "r424" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Year Three", "terseLabel": "2026", "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)." } } }, "auth_ref": [ "r10", "r271", "r424" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Maturity, Year Two", "terseLabel": "2025", "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)." } } }, "auth_ref": [ "r10", "r271", "r424" ] }, "cdre_LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "LongTermDebtMaturitiesRepaymentsOfTotalPrincipalPayments", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtSummaryOfAggregatePrincipalPaymentOfLongTermDebtDetails" ], "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 on total principal payments.", "label": "Long Term Debt Maturities Repayments Of Total Principal Payments", "totalLabel": "Total principal payments" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt", "totalLabel": "Total long-term debt, net", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r228" ] }, "us-gaap_LongTermDebtNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Excluding Current Maturities [Abstract]", "terseLabel": "Long-term debt:" } } }, "auth_ref": [] }, "cdre_LongTermDebtNoncurrentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "LongTermDebtNoncurrentGross", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of the noncurrent portion of long-term debt.", "label": "Long-Term Debt, Noncurrent, Gross", "totalLabel": "Total long-term debt, gross" } } }, "auth_ref": [] }, "us-gaap_LongTermLoansFromBank": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermLoansFromBank", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Loans Payable to Bank, Noncurrent", "terseLabel": "Term loan", "documentation": "Carrying value as of the balance sheet date of loans from a bank with maturities initially due after one year or beyond the operating cycle if longer, excluding current portion." } } }, "auth_ref": [ "r23", "r190", "r730" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r33" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Domain]", "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." } } }, "auth_ref": [ "r33", "r72" ] }, "us-gaap_LossContingencyDamagesAwardedValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyDamagesAwardedValue", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCommitmentsAndContingenciesLegalProceedingsDetails" ], "lang": { "en-us": { "role": { "label": "Loss Contingency, Damages Awarded, Value", "terseLabel": "Damage awarded", "documentation": "Amount of damages awarded to the plaintiff in the legal matter." } } }, "auth_ref": [ "r1000", "r1001", "r1002" ] }, "us-gaap_MachineryAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MachineryAndEquipmentMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Machinery and equipment", "terseLabel": "Machinery and equipment", "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment." } } }, "auth_ref": [] }, "cdre_MarketConditionRestrictedSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "MarketConditionRestrictedSharesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to market condition restricted shares.", "label": "Market Condition Restricted Shares [Member]", "terseLabel": "Market Condition Restricted Shares" } } }, "auth_ref": [] }, "us-gaap_MaterialReconcilingItemsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MaterialReconcilingItemsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "label": "Reconciling Items", "documentation": "Items used in reconciling reportable segments' amounts to consolidated amount. Excludes corporate-level activity." } } }, "auth_ref": [ "r61" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Maximum", "terseLabel": "Maximum" } } }, "auth_ref": [ "r384", "r385", "r386", "r387", "r490", "r648", "r697", "r724", "r725", "r788", "r790", "r792", "r793", "r803", "r818", "r819", "r832", "r839", "r852", "r861", "r1008", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r919" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r919" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Minimum", "terseLabel": "Minimum" } } }, "auth_ref": [ "r384", "r385", "r386", "r387", "r490", "r648", "r697", "r724", "r725", "r788", "r790", "r792", "r793", "r803", "r818", "r819", "r832", "r839", "r852", "r861", "r1008", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r939" ] }, "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails" ], "lang": { "en-us": { "role": { "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]", "terseLabel": "Changes in the Company's accrued warranties", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r947" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r920" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash (used in) provided by financing activities", "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." } } }, "auth_ref": [ "r260" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash Flows From Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities", "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." } } }, "auth_ref": [ "r260" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash Flows From Investing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities", "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." } } }, "auth_ref": [ "r156", "r157", "r158" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash Flows From Operating Activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomes": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r148", "r158", "r193", "r216", "r243", "r246", "r251", "r267", "r275", "r277", "r278", "r279", "r280", "r283", "r284", "r293", "r305", "r319", "r325", "r328", "r345", "r393", "r394", "r396", "r397", "r398", "r400", "r402", "r404", "r405", "r597", "r606", "r682", "r756", "r778", "r779", "r831", "r872", "r1006" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic", "verboseLabel": "Net income (loss)", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r256", "r277", "r278", "r279", "r280", "r286", "r287", "r294", "r297", "r305", "r319", "r325", "r328", "r831" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]", "terseLabel": "Numerator for basic and diluted earnings per share:" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements", "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." } } }, "auth_ref": [] }, "cdre_NewCreditAgreementAugust2021Member": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "NewCreditAgreementAugust2021Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the \"New Credit Agreement\" entered into August 20, 2021.", "label": "2021 Credit Facility", "terseLabel": "2021 Credit Facility" } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r919" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r888", "r900", "r910", "r927", "r936" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r917" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r916" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r927" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r947" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r947" ] }, "us-gaap_NonUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonUsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails" ], "lang": { "en-us": { "role": { "label": "International.", "documentation": "Countries excluding the United States of America (US)." } } }, "auth_ref": [ "r1078", "r1079", "r1080", "r1081" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Supplemental Disclosure of Non-Cash Investing and Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Non-compete agreements", "terseLabel": "Non-compete agreements", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r95" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense)", "totalLabel": "Total other expense, net", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r152" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other expense" } } }, "auth_ref": [] }, "cdre_NumberOfConsecutiveTradingDaysFairMarketValueToBeMaintained": { "xbrltype": "durationItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "NumberOfConsecutiveTradingDaysFairMarketValueToBeMaintained", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of consecutive trading days for which fair market value of common stock to be maintained.", "label": "Number Of Consecutive Trading Days, Fair Market Value To Be Maintained", "terseLabel": "Consecutive trading days" } } }, "auth_ref": [] }, "cdre_NumberOfDistributionWarehousesAndRetailStores": { "xbrltype": "integerItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "NumberOfDistributionWarehousesAndRetailStores", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of distribution warehouses and retail stores.", "label": "Number Of Distribution Warehouses And Retail Stores", "terseLabel": "Number of distribution warehouses and retail stores" } } }, "auth_ref": [] }, "cdre_NumberOfEqualInstallments": { "xbrltype": "integerItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "NumberOfEqualInstallments", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlansDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of equal installments.", "label": "Number OF Equal Installments", "terseLabel": "Number of equal installments" } } }, "auth_ref": [] }, "cdre_NumberOfManufacturingPlants": { "xbrltype": "integerItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "NumberOfManufacturingPlants", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of manufacturing plants.", "label": "Number of Manufacturing Plants", "terseLabel": "Number of manufacturing plants" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataOtherDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments", "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." } } }, "auth_ref": [ "r983" ] }, "us-gaap_NumberOfReportingUnits": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportingUnits", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reporting Units", "terseLabel": "Number of reporting units", "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment." } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses", "totalLabel": "Total operating expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Operating income", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r305", "r319", "r325", "r328", "r831" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsDetailsCalc2": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderOperatingLeasesDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "totalLabel": "Total lease liabilities", "verboseLabel": "Present value of lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r624" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 2.0 }, "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities", "verboseLabel": "Current lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r624" ] }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes current operating lease liability." } } }, "auth_ref": [ "r625" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r624" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "verboseLabel": "Operating cash flows - operating leases", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r626", "r630" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r623" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermAndDiscountRateDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating leases weighted average discount rate", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r632", "r859" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermAndDiscountRateDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating leases weighted average remaining lease term (years):", "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." } } }, "auth_ref": [ "r631", "r859" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "label": "Operating segments", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r318", "r319", "r320", "r321", "r322", "r328" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Nature of Operations and Basis of Presentation" } } }, "auth_ref": [] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities, Current", "terseLabel": "Other accrued liabilities", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r29" ] }, "us-gaap_OtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Current", "terseLabel": "Other current assets", "documentation": "Amount of current assets classified as other." } } }, "auth_ref": [ "r234", "r860" ] }, "us-gaap_OtherAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Other assets", "documentation": "Primary financial statement caption encompassing other assets." } } }, "auth_ref": [ "r105", "r115" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r224" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomes": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Foreign currency translation adjustments, net of tax(3)", "verboseLabel": "Foreign currency translation adjustments", "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." } } }, "auth_ref": [ "r6", "r14", "r185" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTranslationAdjustmentTaxPortionAttributableToParent", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax, Portion Attributable to Parent", "terseLabel": "Foreign currency translation adjustments, income tax expense", "documentation": "Amount of tax expense (benefit), after 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." } } }, "auth_ref": [ "r6", "r14", "r185" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomes": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax", "totalLabel": "Total unrealized (loss) gain on interest rate swaps, net of tax", "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r238", "r240" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomes": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, after Tax", "terseLabel": "Unrealized holding gains on interest rate swaps, net of tax(1)", "verboseLabel": "Gain recognized in other comprehensive income (loss)", "documentation": "Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r238", "r240" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, Tax", "terseLabel": "Unrealized holding gains on interest rate swaps, income tax expense", "documentation": "Amount, before reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r241" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomes": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, after Tax", "negatedLabel": "Reclassification adjustments for (gains) losses included in net income (loss), net of tax(2)", "verboseLabel": "Amount reclassified from accumulated other comprehensive income to earnings", "documentation": "Amount, after tax, of reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r240", "r242" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, Tax", "negatedLabel": "Reclassification adjustments for (gains) losses included in net income, income tax benefit", "documentation": "Amount of tax expense (benefit) for reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r241" ] }, "us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseAfterAdjustmentsAndTaxParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseAfterAdjustmentsAndTaxParent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Derivative, Excluded Component, Increase (Decrease), after Adjustments and Tax, Parent", "terseLabel": "Change in fair value of derivative instruments", "documentation": "Amount, after tax and adjustments, of gain (loss) from increase (decrease) in value of excluded component of derivative designated and qualifying as hedge, attributable to parent. Adjustments include, but are not limited to, reclassifications for sale and settlement, and amounts recognized under systematic and rational method." } } }, "auth_ref": [ "r239", "r586" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncomes": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "totalLabel": "Other comprehensive (loss) income", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r6", "r14", "r185", "r244", "r247" ] }, "us-gaap_OtherCurrentAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCurrentAssetsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfFairValueSwapAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Other current assets", "documentation": "Primary financial statement caption encompassing other current assets." } } }, "auth_ref": [ "r105", "r115" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r34" ] }, "us-gaap_OtherLongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLongTermDebtCurrent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Other Long-Term Debt, Current", "terseLabel": "Current portion of other", "documentation": "Amount of long-term debt classified as other, payable within one year or the operating cycle, if longer." } } }, "auth_ref": [ "r131", "r132", "r733" ] }, "us-gaap_OtherLongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLongTermDebtNoncurrent", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails" ], "lang": { "en-us": { "role": { "label": "Other Long-Term Debt, Noncurrent", "terseLabel": "Other", "documentation": "Amount of long-term debt classified as other, payable after one year or the operating cycle, if longer." } } }, "auth_ref": [ "r33", "r733" ] }, "cdre_OtherMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "OtherMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to other sales channel.", "label": "Other" } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income (expense), net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r153" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other", "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r919" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r886", "r898", "r908", "r934" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r889", "r901", "r911", "r937" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r889", "r901", "r911", "r937" ] }, "us-gaap_OverAllotmentOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OverAllotmentOptionMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Over-Allotment Option", "terseLabel": "Over-Allotment Option", "documentation": "Right given to the underwriter to sell additional shares over the initial allotment." } } }, "auth_ref": [] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r915" ] }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDebtIssuanceCosts", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Debt Issuance Costs", "negatedLabel": "Payments for debt issuance costs", "verboseLabel": "Debt issuance costs paid", "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt." } } }, "auth_ref": [ "r46" ] }, "cdre_PaymentsOfDeferredIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "PaymentsOfDeferredIssuanceCosts", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The cash outflow for cost incurred directly with the deferred issuance of an equity security.", "label": "Payments of Deferred Issuance Costs", "negatedLabel": "Deferred offering costs" } } }, "auth_ref": [] }, "us-gaap_PaymentsOfDividends": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividends", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Dividends", "negatedTerseLabel": "Dividends distributed", "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests." } } }, "auth_ref": [ "r44" ] }, "cdre_PaymentsOfExtinguishmentOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "PaymentsOfExtinguishmentOfDebt", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents the cash outflow for extinguishment of debt.", "label": "Payments Of Extinguishment of Debt", "negatedLabel": "Payments on extinguishment of debt" } } }, "auth_ref": [] }, "us-gaap_PaymentsOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfFinancingCosts", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Payments of Financing Costs", "terseLabel": "Financing costs paid", "documentation": "The cash outflow for loan and debt issuance costs." } } }, "auth_ref": [ "r43" ] }, "us-gaap_PaymentsOfLoanCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfLoanCosts", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Payments of Loan Costs", "terseLabel": "Fees paid to lenders", "documentation": "The cash outflow for loan origination associated cost which is usually collected through escrow." } } }, "auth_ref": [ "r43" ] }, "us-gaap_PaymentsOfStockIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfStockIssuanceCosts", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails", "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Payments of Stock Issuance Costs", "terseLabel": "Underwriter discounts and commissions, fees and expenses", "verboseLabel": "Direct offering costs", "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security." } } }, "auth_ref": [ "r43" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payment, Tax Withholding, Share-based Payment Arrangement", "negatedLabel": "Taxes paid in connection with employee stock transactions", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r257" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Business acquisitions, net of cash acquired", "netLabel": "Total consideration, net", "terseLabel": "Total consideration, net", "totalLabel": "Total consideration, net", "verboseLabel": "Business acquisitions, net of cash acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r41" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment", "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." } } }, "auth_ref": [ "r155" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r918" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r918" ] }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureCompensationAndDefinedContributionPlans" ], "lang": { "en-us": { "role": { "label": "Retirement Benefits [Text Block]", "terseLabel": "COMPENSATION AND DEFINED CONTRIBUTION PLANS", "documentation": "The entire disclosure for retirement benefits." } } }, "auth_ref": [ "r471", "r472", "r473", "r479", "r480", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r849" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r917" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r927" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r920" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r916" ] }, "cdre_PercentageOfCommitmentFee": { "xbrltype": "percentItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "PercentageOfCommitmentFee", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of commitment fee for funds borrowed, under the debt agreement.", "label": "Percentage of Commitment Fee", "terseLabel": "Commitment Fee" } } }, "auth_ref": [] }, "cdre_PercentageOfIncreaseOverPreviousAnnualizedDividend": { "xbrltype": "percentItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "PercentageOfIncreaseOverPreviousAnnualizedDividend", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of increase over previous annualized dividend.", "label": "Percentage Of Increase Over Previous Annualized Dividend", "terseLabel": "Percentage of increase over previous annualized dividend" } } }, "auth_ref": [] }, "us-gaap_PhantomShareUnitsPSUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PhantomShareUnitsPSUsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Phantom Share Units (PSUs) [Member]", "terseLabel": "Phantom Awards", "documentation": "Share-based payment arrangement awarded as phantom share or unit." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029", "r1030", "r1031", "r1032", "r1033", "r1034", "r1035", "r1036", "r1037" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029", "r1030", "r1031", "r1032", "r1033", "r1034", "r1035", "r1036", "r1037" ] }, "us-gaap_PrepaidExpenseCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseCurrent", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense, Current", "terseLabel": "Prepaid expenses", "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." } } }, "auth_ref": [ "r233", "r356", "r357", "r824" ] }, "cdre_ProceedsFromInsurancePremiumFinancing": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ProceedsFromInsurancePremiumFinancing", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents the cash inflow from insurance premium financing.", "label": "Proceeds From Insurance Premium Financing", "terseLabel": "Proceeds from insurance premium financing" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceInitialPublicOffering": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceInitialPublicOffering", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance Initial Public Offering", "verboseLabel": "Proceeds from initial public offering, net of underwriter discounts", "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public." } } }, "auth_ref": [ "r4" ] }, "cdre_ProceedsFromIssuanceInitialPublicOfferingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ProceedsFromIssuanceInitialPublicOfferingNet", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "The net proceeds received from entity's first offering of stock to the public.", "label": "Proceeds from Issuance Initial Public Offering, Net", "terseLabel": "Net proceeds from the sale of shares, initial public offering" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Proceeds from secondary offering, net of underwriter discounts", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r4" ] }, "us-gaap_ProceedsFromIssuanceOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfDebt", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Debt", "terseLabel": "Proceeds from term loans", "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt." } } }, "auth_ref": [ "r971" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Lines of Credit", "terseLabel": "Proceeds from revolving credit facilities", "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." } } }, "auth_ref": [ "r42", "r975" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from (Payments for) Other Financing Activities", "terseLabel": "Other", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r958", "r970" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from disposition of property and equipment", "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." } } }, "auth_ref": [ "r154" ] }, "us-gaap_ProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails" ], "lang": { "en-us": { "role": { "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Ending accrued warranty expense", "periodStartLabel": "Beginning accrued warranty expense", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers." } } }, "auth_ref": [ "r125", "r388", "r390", "r392" ] }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualClassifiedCurrent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Product Warranty Accrual, Current", "terseLabel": "Accrued warranties", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r29", "r1004", "r1005" ] }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualWarrantiesIssued", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails" ], "lang": { "en-us": { "role": { "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Provision for current period sales", "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued." } } }, "auth_ref": [ "r391" ] }, "cdre_ProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ProductsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the Product segment.", "label": "Product.", "terseLabel": "Product" } } }, "auth_ref": [] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r216", "r243", "r246", "r259", "r267", "r275", "r283", "r284", "r305", "r319", "r325", "r328", "r345", "r393", "r394", "r396", "r397", "r398", "r400", "r402", "r404", "r405", "r578", "r581", "r582", "r597", "r606", "r668", "r681", "r712", "r756", "r778", "r779", "r831", "r857", "r858", "r873", "r968", "r1006" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "PROPERTY AND EQUIPMENT" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r9" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipment" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "PROPERTY AND EQUIPMENT", "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." } } }, "auth_ref": [ "r166", "r204", "r209", "r210" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "terseLabel": "Property and equipment, gross", "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." } } }, "auth_ref": [ "r167", "r220", "r679" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property and Equipment", "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." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 }, "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "Total", "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." } } }, "auth_ref": [ "r9", "r669", "r679", "r860" ] }, "us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNetByTypeAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net, by Type [Abstract]", "terseLabel": "PROPERTY AND EQUIPMENT" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Property and Equipment", "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." } } }, "auth_ref": [ "r9", "r204", "r209", "r677" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Summary of property and equipment", "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." } } }, "auth_ref": [ "r9" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Domain]", "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." } } }, "auth_ref": [ "r167" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Useful lives of property and equipment", "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." } } }, "auth_ref": [] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Provision for (recoveries from) losses on accounts receivable", "verboseLabel": "Provision", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r255", "r350" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r915" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r915" ] }, "cdre_RadarLeatherDivisionS.r.lMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "RadarLeatherDivisionS.r.lMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsIntangibleAssetsRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables", "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the member information pertaining to Radar Leather Division S.r.l.", "label": "Radar", "terseLabel": "Radar" } } }, "auth_ref": [] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r384", "r385", "r386", "r387", "r472", "r490", "r523", "r524", "r525", "r647", "r648", "r697", "r724", "r725", "r788", "r790", "r792", "r793", "r803", "r818", "r819", "r832", "r839", "r852", "r861", "r864", "r998", "r1008", "r1062", "r1063", "r1064", "r1065", "r1066" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureLeasesScheduleOfOperatingAssetsAndLiabilitiesDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r384", "r385", "r386", "r387", "r472", "r490", "r523", "r524", "r525", "r647", "r648", "r697", "r724", "r725", "r788", "r790", "r792", "r793", "r803", "r818", "r819", "r832", "r839", "r852", "r861", "r864", "r998", "r1008", "r1062", "r1063", "r1064", "r1065", "r1066" ] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "label": "ACCOUNTS RECEIVABLE, NET" } } }, "auth_ref": [] }, "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward", "lang": { "en-us": { "role": { "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r881", "r893", "r903", "r929" ] }, "us-gaap_RelatedPartyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails", "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Related Party [Domain]", "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests." } } }, "auth_ref": [ "r481", "r638", "r639", "r727", "r728", "r729", "r731", "r732", "r753", "r755", "r787" ] }, "cdre_RelatedPartyExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "RelatedPartyExpense", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Related party expenses.", "label": "Related Party Expense", "terseLabel": "Related party expense" } } }, "auth_ref": [] }, "cdre_RelatedPartyExpenseAcquisitionCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "RelatedPartyExpenseAcquisitionCosts", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Related party expense pertaining to acquisitions.", "label": "Related Party Expense, Acquisition Costs", "terseLabel": "Related party, acquisition costs", "verboseLabel": "Acquisition related transaction costs included in related party expense" } } }, "auth_ref": [] }, "cdre_RelatedPartyTransactionFeesPaidForServicesRelatedToExecutionOfNewCreditAgreement": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "RelatedPartyTransactionFeesPaidForServicesRelatedToExecutionOfNewCreditAgreement", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "documentation": "The fees paid for services related to the execution of the New Credit Agreement, in a related party transaction.", "label": "Related Party Transaction, Fees Paid for Services Related to Execution of New Credit Agreement", "terseLabel": "Fees paid for services related to the execution of the New Credit Agreement" } } }, "auth_ref": [] }, "cdre_RelatedPartyTransactionFeesPaidForServicesRelatedToInitialPublicOffering": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "RelatedPartyTransactionFeesPaidForServicesRelatedToInitialPublicOffering", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "documentation": "The fees paid for services related to the Company's initial public offering, in a related party transaction.", "label": "Related Party Transaction, Fees Paid for Services Related to Initial Public Offering", "terseLabel": "Fees paid for services related to the Company's initial public offering" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Related Party Transaction [Line Items]", "terseLabel": "Related Party Transactions", "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." } } }, "auth_ref": [ "r759", "r760", "r763" ] }, "cdre_RelatedPartyTransactionRentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "RelatedPartyTransactionRentExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "documentation": "Rent expense, in a related party transaction.", "label": "Related Party Transaction, Rent Expense", "terseLabel": "Rent expense" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsAbstract", "lang": { "en-us": { "role": { "label": "RELATED PARTY TRANSACTIONS" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails", "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Related Party [Axis]", "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests." } } }, "auth_ref": [ "r481", "r638", "r639", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663", "r664", "r727", "r728", "r729", "r731", "r732", "r753", "r755", "r787", "r1058" ] }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactions" ], "lang": { "en-us": { "role": { "label": "Related Party Transactions Disclosure [Text Block]", "terseLabel": "RELATED PARTY TRANSACTIONS", "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r635", "r636", "r637", "r639", "r640", "r709", "r710", "r711", "r761", "r762", "r763", "r784", "r786" ] }, "us-gaap_RepaymentsOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfDebt", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Debt", "negatedLabel": "Principal payments on term loans", "documentation": "Amount of cash outflow for short-term and long-term debt. Excludes payment of lease obligation." } } }, "auth_ref": [ "r972" ] }, "cdre_RepaymentsOfInsurancePremiumFinancing": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "RepaymentsOfInsurancePremiumFinancing", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents the cash outflow from insurance premium financing.", "label": "Repayments of Insurance Premium Financing", "negatedLabel": "Principal payments on insurance premium financing" } } }, "auth_ref": [] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Lines of Credit", "negatedLabel": "Principal payments on revolving credit facilities", "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." } } }, "auth_ref": [ "r45", "r975" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense", "terseLabel": "Total research and development costs", "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." } } }, "auth_ref": [ "r129", "r543", "r1067" ] }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpensePolicy", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense, Policy [Policy Text Block]", "terseLabel": "Research and Development", "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." } } }, "auth_ref": [ "r542" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r882", "r894", "r904", "r930" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r883", "r895", "r905", "r931" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r890", "r902", "r912", "r938" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "RSUs", "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." } } }, "auth_ref": [] }, "us-gaap_RestructuringCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCosts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Restructuring Costs", "terseLabel": "Restructuring and transaction costs", "documentation": "Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r8" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r139", "r175", "r675", "r701", "r703", "r707", "r737", "r860" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Accumulated Deficit", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r214", "r272", "r273", "r274", "r276", "r282", "r284", "r346", "r347", "r532", "r533", "r534", "r566", "r567", "r587", "r589", "r590", "r592", "r595", "r698", "r700", "r713", "r1076" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "REVENUE RECOGNITION" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails", "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Net sales", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r306", "r307", "r318", "r323", "r324", "r330", "r332", "r334", "r466", "r467", "r650" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue Recognition", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r213", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r820" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognition" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUE RECOGNITION", "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." } } }, "auth_ref": [ "r213", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r470" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Remaining performance obligations", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r207" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue Recognition", "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." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Expected timing of satisfaction", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r208" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r208" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Percentage of remaining performance obligations expect to recognize", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r959" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Revolving credit facility.", "terseLabel": "Revolving credit facility", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r947" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r947" ] }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockNameOfTransactionDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Sale of Stock [Domain]", "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement." } } }, "auth_ref": [] }, "cdre_ScenarioPeriodOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ScenarioPeriodOneMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Each quarter starting with the quarter ended December 31, 2021.", "label": "Each quarter starting with the quarter ended December 31, 2021", "terseLabel": "Each quarter starting with the quarter ended December 31, 2021" } } }, "auth_ref": [] }, "cdre_ScenarioPeriodThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ScenarioPeriodThreeMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Period after the quarter ended September 30, 2022.", "label": "Period after the quarter ended September 30, 2022", "terseLabel": "Period after the quarter ended September 30, 2022." } } }, "auth_ref": [] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Domain]" } } }, "auth_ref": [ "r285", "r491", "r956", "r981" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccountsReceivableNetTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "terseLabel": "Schedule of reconciliation of the changes in our allowance for doubtful accounts", "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." } } }, "auth_ref": [ "r37" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAccruedLiabilitiesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities [Table Text Block]", "verboseLabel": "Summary of accrued liabilities", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsPurchasePriceConsiderationAndFairValueRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryCyalumeDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryIcorDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsSummaryRadarDetails", "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities." } } }, "auth_ref": [ "r89", "r91", "r576" ] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Schedule of provision for income taxes", "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." } } }, "auth_ref": [ "r181" ] }, "us-gaap_ScheduleOfDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of company's debt", "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." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Deferred Compensation Arrangement with Individual, Share-based Payments [Table]", "documentation": "Schedule, table or text reflecting equity-based arrangements (such as stock or unit options and stock or unit awards) with individual employees, which are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain equity-based awards at future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares or units issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability." } } }, "auth_ref": [ "r11", "r78", "r79", "r176" ] }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of deferred income tax assets and liabilities", "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." } } }, "auth_ref": [ "r180" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Summary of calculation of weighted average shares outstanding and net income per share", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r982" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule of reconciliation of statutory federal income tax rate to effective rate", "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." } } }, "auth_ref": [ "r179" ] }, "cdre_ScheduleOfEstimatedFairValueOfSwapAgreement": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ScheduleOfEstimatedFairValueOfSwapAgreement", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtTables" ], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure Estimated Fair Value Of Swap Agreement.", "label": "Schedule Of Estimated Fair Value Of Swap Agreement", "terseLabel": "Schedule of estimated fair value of our Swap Agreements in the consolidated balance sheets" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureFairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "verboseLabel": "Summary of assets and liabilities measured at fair value on a recurring basis", "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, 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)." } } }, "auth_ref": [ "r599", "r600" ] }, "cdre_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of amortizable finite-lived intangible assets, in total and by major class, including the gross carrying amount and accumulated amortization, and indefinite-lived intangible assets not subject to amortization, excluding goodwill, in total and by major class. 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": "Schedule Of Finite Lived And Indefinite Lived Intangible Assets By Major Class [Table Text Block]", "terseLabel": "Summary of intangible assets" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r833" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Summary of changes in goodwill", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r833", "r986", "r987", "r988", "r989", "r990", "r991", "r992", "r993", "r994", "r995", "r996" ] }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]", "terseLabel": "Schedule of consolidated income from continuing operations before income taxes", "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions." } } }, "auth_ref": [ "r977" ] }, "cdre_ScheduleOfInterestRateSwapsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ScheduleOfInterestRateSwapsTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtTables" ], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of interest rate swaps.", "label": "Schedule Of Interest Rate Swaps [Table Text Block]", "terseLabel": "Schedule of Interest rate swaps" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureInventoriesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Summary of inventories stated at lower of cost or net realizable value", "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." } } }, "auth_ref": [ "r24", "r143", "r144", "r145" ] }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Maturities of Long-term Debt [Table Text Block]", "terseLabel": "Summary of aggregate principal payments of long-term debt", "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt." } } }, "auth_ref": [ "r10" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Summary of changes in the accrued warranties", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r389" ] }, "cdre_ScheduleOfPropertyAndEquipmentEstimatedUsefulLivesDepreciationInStraightLineMethod": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ScheduleOfPropertyAndEquipmentEstimatedUsefulLivesDepreciationInStraightLineMethod", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "documentation": "Represents the schedule of property and equipment estimated useful lives depreciation in straight line method.", "label": "Schedule of Property And Equipment Estimated Useful Lives Depreciation In Straight Line Method", "terseLabel": "Summary of property and equipment" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about 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." } } }, "auth_ref": [ "r9" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of total purchase price consideration and preliminary fair value amounts recognized for assets acquired and liabilities assumed", "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." } } }, "auth_ref": [ "r184" ] }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRelatedPartyTransactionsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Related Party Transactions, by Related Party [Table]", "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r122", "r123", "r759", "r760", "r763" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r58", "r59", "r60", "r62" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Summary of segment data", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r58", "r59", "r60", "r62" ] }, "us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationActivityTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Activity [Table Text Block]", "terseLabel": "Summary of award activity", "documentation": "Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value." } } }, "auth_ref": [ "r18", "r19", "r82" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r493", "r495", "r498", "r499", "r500", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r522", "r523", "r524", "r525", "r526" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Summary of stock option activity", "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." } } }, "auth_ref": [ "r18", "r19", "r81" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "verboseLabel": "Schedule of fair value of the stock-based awards", "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." } } }, "auth_ref": [ "r178" ] }, "us-gaap_ScheduleOfShortTermDebtTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShortTermDebtTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Short-term Debt [Table]", "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation." } } }, "auth_ref": [ "r27" ] }, "cdre_ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ScheduleOfSupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for supplemental cash flow information related to leases.", "label": "Schedule of Supplemental Cash Flow Information Related to Leases [Table Text Block]", "terseLabel": "Schedule of supplemental cash flow information related leases" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]", "terseLabel": "Schedule of reconciliation of change in unrecognized income tax benefit", "documentation": "Tabular disclosure of the change in unrecognized tax benefits." } } }, "auth_ref": [ "r856", "r1040" ] }, "cdre_SecondaryOfferingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "SecondaryOfferingMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Secondary Offering.", "label": "Secondary Offering", "terseLabel": "Secondary Offering" } } }, "auth_ref": [] }, "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "SOFR", "terseLabel": "SOFR", "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg." } } }, "auth_ref": [ "r1050" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r875" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r877" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r302", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r328", "r334", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r380", "r381", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r695", "r696", "r833", "r960", "r1071" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "auth_ref": [ "r332", "r333", "r717", "r720", "r722", "r789", "r791", "r794", "r804", "r809", "r810", "r811", "r812", "r813", "r814", "r815", "r816", "r817", "r822", "r841", "r864", "r1010", "r1071" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "SEGMENT DATA" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentData" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "SEGMENT DATA", "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." } } }, "auth_ref": [ "r301", "r302", "r303", "r304", "r305", "r317", "r322", "r326", "r327", "r328", "r329", "r330", "r331", "r334" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Data", "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." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative", "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." } } }, "auth_ref": [ "r151" ] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Selling, general and administrative", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpensesPolicyTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expenses, Policy [Policy Text Block]", "terseLabel": "Selling, General & Administrative Expenses", "documentation": "Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption." } } }, "auth_ref": [ "r13" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r7" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r853" ] }, "cdre_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpectedToVest": { "xbrltype": "sharesItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpectedToVest", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, expected to vest if on or before specified date, the fair market value (as defined in the plan) of the Company's common stock shall have equaled or exceeded a specific price per share for twenty consecutive trading days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Expected to Vest", "terseLabel": "Number of shares expected to vest" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited (in shares)", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r515" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (in dollars per share)", "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." } } }, "auth_ref": [ "r515" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)", "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)." } } }, "auth_ref": [ "r513" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)", "verboseLabel": "Grant date fair value (per share)", "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)." } } }, "auth_ref": [ "r513" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Outstanding at ending (in shares)", "periodStartLabel": "Outstanding at beginning period (in shares)", "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." } } }, "auth_ref": [ "r510", "r511" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Outstanding at ending (in dollars per share)", "periodStartLabel": "Outstanding at beginning period (in dollars per share)", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r510", "r511" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted Average Grant Date Fair Value" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested (in shares)", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r514" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "terseLabel": "Grant date fair value", "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash." } } }, "auth_ref": [ "r517" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "negatedLabel": "Vested (in dollars per share)", "terseLabel": "Vested (in dollars per share)", "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." } } }, "auth_ref": [ "r514" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]", "terseLabel": "Stock-Based Compensation, Fair Value Assumptions" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price", "terseLabel": "Grant price (per share)", "documentation": "Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Dividend yield", "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." } } }, "auth_ref": [ "r524" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility", "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." } } }, "auth_ref": [ "r523" ] }, "cdre_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsFairMarketValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsFairMarketValue", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair market value of the common stock of the underlying asset relating to the share-based payment award.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Fair Market Value", "terseLabel": "Vesting period" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk-free interest rate", "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [ "r525" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stock-Based Compensation", "verboseLabel": "STOCK-BASED COMPENSATION", "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." } } }, "auth_ref": [ "r493", "r495", "r498", "r499", "r500", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r522", "r523", "r524", "r525", "r526" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Maximum number of shares that may be issued under the plan", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r855" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares reserved and available for issuance under the plan", "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." } } }, "auth_ref": [ "r79" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Aggregate Intrinsic Value" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable (in shares)", "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." } } }, "auth_ref": [ "r504" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Exercisable (in dollars per share)", "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." } } }, "auth_ref": [ "r504" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Exercised", "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." } } }, "auth_ref": [ "r517" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Number of options issued", "verboseLabel": "Granted (in shares)", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r506" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Grant date fair value (per share)", "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology." } } }, "auth_ref": [ "r516" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "periodEndLabel": "Outstanding at ending period", "periodStartLabel": "Outstanding at beginning period", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r79" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding at end of period (in shares)", "periodStartLabel": "Outstanding at beginning of period (in shares)", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r502", "r503" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Options", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding at end of period (in dollars per share)", "periodStartLabel": "Outstanding at beginning of period (in dollars per share)", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r502", "r503" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted Average Exercise Price" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Vested and expected to vest", "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." } } }, "auth_ref": [ "r518" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Vested and expected to vest at end of period (in dollars per share)", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for 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." } } }, "auth_ref": [ "r518" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Terms of Award", "terseLabel": "Contractual terms granted", "documentation": "Description of terms of award under share-based payment arrangement." } } }, "auth_ref": [ "r80" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationTables", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r498", "r499", "r500", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r522", "r523", "r524", "r525", "r526" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Exercised (in dollars per share)", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r507" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Granted (in dollars per share)", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r506" ] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement [Policy Text Block]", "terseLabel": "Stock-Based Compensation", "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." } } }, "auth_ref": [ "r492", "r501", "r520", "r521", "r522", "r523", "r526", "r535", "r536", "r537", "r538" ] }, "us-gaap_SharePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharePrice", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "label": "Share Price", "terseLabel": "Common stock, share price", "documentation": "Price of a single share of a number of saleable stocks of a company." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Expiration period", "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r854" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails", "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (years)", "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." } } }, "auth_ref": [ "r522" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Exercisable", "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." } } }, "auth_ref": [ "r79" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Exercisable (in years)", "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." } } }, "auth_ref": [ "r79" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Outstanding in years", "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." } } }, "auth_ref": [ "r177" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Vested and expected to vest, weighted average remaining contractual life (in years)", "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." } } }, "auth_ref": [ "r518" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Number of Shares", "terseLabel": "Fully vested options outstanding at end of period (in shares)", "documentation": "Number of options vested." } } }, "auth_ref": [] }, "us-gaap_SharesIssuedPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesIssuedPricePerShare", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Price Per Share", "terseLabel": "Issue price", "documentation": "Per share or per unit amount of equity securities issued." } } }, "auth_ref": [] }, "us-gaap_ShortTermBorrowings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermBorrowings", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtScheduleOfCompanySDebtDetails", "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Short-term Debt", "terseLabel": "Insurance premium financing", "verboseLabel": "Outstanding balance", "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r130", "r187", "r860", "r1068" ] }, "us-gaap_ShortTermDebtLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermDebtLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Short-term Debt [Line Items]", "terseLabel": "Debt", "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." } } }, "auth_ref": [] }, "us-gaap_ShortTermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermDebtTypeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Short-term Debt, Type [Axis]", "documentation": "Information by type of short-term debt arrangement." } } }, "auth_ref": [ "r27" ] }, "us-gaap_ShortTermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermDebtTypeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebtShortTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Short-term Debt, Type [Domain]", "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing." } } }, "auth_ref": [ "r25" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies [Text Block]", "terseLabel": "SIGNIFICANT ACCOUNTING POLICIES", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r159", "r264" ] }, "cdre_StandardProductWarrantyAccrualCurrentPeriodClaims": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "StandardProductWarrantyAccrualCurrentPeriodClaims", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAccruedWarrantiesDetails" ], "lang": { "en-us": { "role": { "documentation": "The net amount of decrease (increase) in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.", "label": "Standard Product Warranty Accrual, Current Period Claims", "negatedLabel": "Current period claims" } } }, "auth_ref": [] }, "us-gaap_StandardProductWarrantyPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StandardProductWarrantyPolicy", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Standard Product Warranty, Policy [Policy Text Block]", "terseLabel": "Product Warranty", "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability." } } }, "auth_ref": [ "r1003" ] }, "us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StateAndLocalIncomeTaxExpenseBenefitContinuingOperations", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesConsolidatedIncomeFromContinuingOperationsBeforeProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "State and Local Income Tax Expense (Benefit), Continuing Operations", "terseLabel": "U.S. operations", "documentation": "Amount of current and deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r977", "r1038", "r1045" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfChangesInGoodwillDetails", "http://www.cadre-holdings.com/role/DisclosureSegmentDataAssetInformationOrOperatingExpensesBySegmentDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r215", "r302", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r328", "r334", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r378", "r380", "r381", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r695", "r696", "r833", "r960", "r1071" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r16", "r36", "r214", "r249", "r250", "r251", "r272", "r273", "r274", "r276", "r282", "r284", "r300", "r346", "r347", "r447", "r532", "r533", "r534", "r566", "r567", "r587", "r588", "r589", "r590", "r591", "r592", "r595", "r612", "r613", "r614", "r615", "r616", "r617", "r634", "r698", "r699", "r700", "r713", "r780" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "auth_ref": [ "r332", "r333", "r717", "r720", "r722", "r789", "r791", "r794", "r804", "r807", "r809", "r810", "r811", "r812", "r813", "r814", "r815", "r816", "r817", "r822", "r841", "r864", "r1010", "r1071" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "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." } } }, "auth_ref": [ "r272", "r273", "r274", "r300", "r650", "r704", "r714", "r726", "r727", "r728", "r729", "r731", "r732", "r736", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r749", "r750", "r751", "r752", "r753", "r755", "r757", "r758", "r765", "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r780", "r865" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Statements of Cash Flows" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Balance Sheets" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Statements of Shareholders' Equity" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementScenarioAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "auth_ref": [ "r285", "r491", "r956", "r957", "r981" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "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." } } }, "auth_ref": [ "r272", "r273", "r274", "r300", "r650", "r704", "r714", "r726", "r727", "r728", "r729", "r731", "r732", "r736", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r749", "r750", "r751", "r752", "r753", "r755", "r757", "r758", "r765", "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r780", "r865" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r885", "r897", "r907", "r933" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "cdre_StockIncentivePlan2021Member": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "StockIncentivePlan2021Member", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockIncentivePlanAndMarketConditionRestrictedSharesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Stock Incentive Plan 2021.", "label": "Stock Incentive Plan 2021" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Number of shares issued", "verboseLabel": "Issuance of common stock in offering, net of underwriter discounts and issuance costs (in shares)", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r16", "r136", "r137", "r175", "r706", "r780", "r805" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture", "terseLabel": "Common stock withheld related to net share settlement of stock-based compensation (in shares)", "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)." } } }, "auth_ref": [ "r16", "r136", "r137", "r175" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Shares, Share-based Payment Arrangement, before Forfeiture", "terseLabel": "Common stock issued under employee compensation plans (in shares)", "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "negatedLabel": "Exercised (in shares)", "terseLabel": "Exercise of stock options (in shares)", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r16", "r136", "r137", "r175", "r507" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, New Issues", "terseLabel": "Issuance of common stock in offering, net of underwriter discounts and issuance costs", "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering." } } }, "auth_ref": [ "r16", "r136", "r137", "r175", "r713", "r780", "r805", "r873" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture", "terseLabel": "Common stock withheld related to net share settlement of stock-based compensation", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r83", "r136", "r137", "r175" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensationGross", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Value, Share-based Payment Arrangement, before Forfeiture", "terseLabel": "Common stock issued under employee compensation plans", "documentation": "Value, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Exercise of stock options", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r16", "r36", "r175" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance at the end", "periodStartLabel": "Balance at the beginning", "totalLabel": "Total shareholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r137", "r140", "r141", "r160", "r738", "r754", "r781", "r782", "r860", "r874", "r976", "r985", "r1052", "r1076" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Shareholders' equity" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteAbstract", "lang": { "en-us": { "role": { "label": "SHAREHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "SHAREHOLDERS' EQUITY", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r172", "r266", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r594", "r783", "r785", "r806" ] }, "us-gaap_SubsequentEventLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Events", "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event." } } }, "auth_ref": [ "r618", "r642" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent event", "terseLabel": "Subsequent event", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r618", "r642" ] }, "us-gaap_SubsequentEventTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Table]", "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued." } } }, "auth_ref": [ "r618", "r642" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r618", "r642" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails", "http://www.cadre-holdings.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r618", "r642" ] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "SUBSEQUENT EVENTS" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSubsequentEvents" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "terseLabel": "SUBSEQUENT EVENTS", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r641", "r643" ] }, "us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]", "documentation": "Different names of stock transactions and the different attributes of each transaction." } } }, "auth_ref": [] }, "us-gaap_SubsidiarySaleOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiarySaleOfStockAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Sale of Stock [Axis]", "documentation": "Information by type of sale of the entity's stock." } } }, "auth_ref": [] }, "us-gaap_SubsidiarySaleOfStockLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiarySaleOfStockLineItems", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Subsidiary, Sale of Stock [Line Items]", "terseLabel": "SHAREHOLDERS' EQUITY", "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." } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental Disclosure of Cash Flows Information:" } } }, "auth_ref": [] }, "cdre_SwingLineLoansMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "SwingLineLoansMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to swing line loans.", "label": "Swing line loans", "terseLabel": "Swing line loans" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r926" ] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Technology", "terseLabel": "Technology", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r20" ] }, "us-gaap_TemporaryEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquityAbstract", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Temporary Equity [Abstract]", "terseLabel": "Mezzanine equity" } } }, "auth_ref": [] }, "us-gaap_TemporaryEquityCarryingAmountAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquityCarryingAmountAttributableToParent", "crdr": "credit", "calculation": { "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Carrying Amount, Attributable to Parent", "terseLabel": "Preferred stock ($0.0001 par value, 10,000,000 shares authorized, no shares issued and outstanding as of December 31, 2023 and December 31, 2022)", "documentation": "Carrying amount, attributable to parent, of an entity's issued and outstanding stock which is not included within permanent equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. Includes stock with a put option held by an ESOP and stock redeemable by a holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r393", "r396", "r397", "r398", "r404", "r405", "r539", "r673" ] }, "us-gaap_TemporaryEquityParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquityParOrStatedValuePerShare", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value", "documentation": "Per share amount of par value or stated value of stock classified as temporary equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable." } } }, "auth_ref": [ "r22", "r75" ] }, "us-gaap_TemporaryEquitySharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquitySharesAuthorized", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Authorized", "terseLabel": "Preferred stock, shares authorized", "documentation": "The maximum number of securities classified as temporary equity that are permitted to be issued by an entity's charter and bylaws. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r135" ] }, "us-gaap_TemporaryEquitySharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquitySharesIssued", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Issued", "terseLabel": "Preferred stock, shares issued", "documentation": "The number of securities classified as temporary equity that have been sold (or granted) to the entity's shareholders. Securities issued include securities outstanding and securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r135" ] }, "us-gaap_TemporaryEquitySharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquitySharesOutstanding", "presentation": [ "http://www.cadre-holdings.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding", "documentation": "The number of securities classified as temporary equity that have been issued and are held by the entity's shareholders. Securities outstanding equals securities issued minus securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r135" ] }, "cdre_TermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "TermLoanMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtFairValueOfDebtDetails" ], "lang": { "en-us": { "role": { "documentation": "The represent information pertaining to term loan member.", "label": "Term loan", "terseLabel": "Term loan" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r918" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r925" ] }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeAndOtherAccountsReceivablePolicy", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable [Policy Text Block]", "terseLabel": "Accounts Receivable", "documentation": "Disclosure of accounting policy for accounts receivable." } } }, "auth_ref": [ "r195", "r196", "r197", "r338", "r339", "r344" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Tradenames", "terseLabel": "Tradenames", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r94" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r946" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r948" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.cadre-holdings.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r949" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r950" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r948" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r948" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r951" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r949" ] }, "cdre_TwoThousandTwentyOnePhantomRestrictedSharePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "TwoThousandTwentyOnePhantomRestrictedSharePlanMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationPhantomRestrictedSharePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to 2021 Phantom Restricted Share Plan.", "label": "2021 Phantom Restricted Share Plan" } } }, "auth_ref": [] }, "cdre_U.s.FederalAgenciesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "U.s.FederalAgenciesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to U.S. federal agencies.", "label": "U.S. federal agencies" } } }, "auth_ref": [] }, "cdre_U.s.stateAndLocalAgenciesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "U.s.stateAndLocalAgenciesMember", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionNetSalesByChannelAndGeographyDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to U.S. state and local agencies.", "label": "U.S. state and local agencies" } } }, "auth_ref": [] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureRevenueRecognitionIncludesAllDistributionSalesDetails" ], "lang": { "en-us": { "role": { "label": "United States" } } }, "auth_ref": [] }, "us-gaap_UnamortizedDebtIssuanceExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnamortizedDebtIssuanceExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Unamortized Debt Issuance Expense", "terseLabel": "Unamortized debt issuance costs", "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset." } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r945" ] }, "us-gaap_UnrecognizedTaxBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefits", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits", "periodEndLabel": "Ending unrecognized tax benefits", "periodStartLabel": "Beginning unrecognized tax benefits", "documentation": "Amount of unrecognized tax benefits." } } }, "auth_ref": [ "r545", "r554" ] }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Decrease Resulting from Foreign Currency Translation", "negatedLabel": "Foreign currency fluctuations", "documentation": "Amount of decrease in unrecognized tax benefits resulting from foreign currency translation." } } }, "auth_ref": [ "r1041" ] }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Amount of interest or penalties accrued", "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return." } } }, "auth_ref": [ "r553" ] }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense", "crdr": "debit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense", "terseLabel": "Amounts representing penalties and interest were recorded as income tax expense", "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return." } } }, "auth_ref": [ "r553" ] }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions", "terseLabel": "Current period unrecognized tax benefits", "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return." } } }, "auth_ref": [ "r555" ] }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesReconciliationOfUnrecognizedTaxBenefitsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Increase Resulting from Foreign Currency Translation", "terseLabel": "Foreign currency fluctuations", "documentation": "Amount of increase in unrecognized tax benefits resulting from foreign currency translation." } } }, "auth_ref": [ "r1041" ] }, "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "crdr": "credit", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureIncomeTaxesOperatingLossCarryforwardsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate", "terseLabel": "Amount of unrecognized benefits on uncertain tax positions that, if recognized, would affect the Company's effective tax rate", "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate." } } }, "auth_ref": [ "r556" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r55", "r56", "r57", "r201", "r202", "r205", "r206" ] }, "cdre_VariableOperatingLeaseCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "VariableOperatingLeaseCosts", "crdr": "debit", "calculation": { "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cadre-holdings.com/role/DisclosureLeasesComponentsOfLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of variable operating lease costs.", "label": "Variable Operating Lease Costs", "terseLabel": "Variable operating lease costs" } } }, "auth_ref": [] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureDebt2021CreditFacilityDetails", "http://www.cadre-holdings.com/role/DisclosureDebtCanadianCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Weighted Average Shares Attributable to Dilutive Effect [Abstract]", "terseLabel": "Effect of dilutive securities:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "netLabel": "Weighted average shares outstanding - diluted", "terseLabel": "Diluted", "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." } } }, "auth_ref": [ "r288", "r297" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted average shares outstanding:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureSignificantAccountingPoliciesWeightedAverageSharesOutstandingAndNetIncomePerShareDetails", "http://www.cadre-holdings.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Weighted average shares outstanding - basic", "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." } } }, "auth_ref": [ "r286", "r297" ] }, "cdre_WeightedAverageRemainingContractualLifeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.cadre-holdings.com/20231231", "localname": "WeightedAverageRemainingContractualLifeAbstract", "presentation": [ "http://www.cadre-holdings.com/role/DisclosureStockBasedCompensationStockOptionsDetails" ], "lang": { "en-us": { "role": { "documentation": "Definition not available.", "label": "Weighted Average Remaining Contractual Life [Abstract]", "terseLabel": "Weighted Average Remaining Contractual Life (in years)" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "SubTopic": "405", "Topic": "942", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "470", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "30", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "35", "Topic": "720", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "SubTopic": "10", "Topic": "420", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(27)", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-2" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-4" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482943/710-10-55-8" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "25", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-23" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "740", "Section": "25", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479692/805-740-25-8" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "740", "Section": "25", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479692/805-740-25-9" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-7" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-8" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "55", "Paragraph": "182", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480401/815-10-55-182" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "25", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480238/815-25-50-1" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480870/815-30-50-1" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.12)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.15(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "825", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r130": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r134": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r135": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r136": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r137": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r138": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r139": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r140": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r141": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r142": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r143": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r144": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r145": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r146": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r147": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r148": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r149": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r150": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r151": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r152": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r153": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r154": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r155": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r156": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r157": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r158": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r159": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r160": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r161": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r162": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r163": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r164": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r165": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r166": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r167": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r168": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1" }, "r169": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r170": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r171": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r172": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r173": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r174": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r175": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r176": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "710", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-1" }, "r177": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r178": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(f)(2)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r179": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r180": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r181": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "9", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r182": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r183": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r184": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r185": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r186": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r187": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r188": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r189": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r190": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r191": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r192": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r193": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r194": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r195": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r196": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15" }, "r197": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "270", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "35", "Topic": "720", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-10" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(dd)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-15" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 6.B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-5" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(n))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-11" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-10/tableOfContent" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "44", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-44" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-20/tableOfContent" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715/tableOfContent" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(o)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(p)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.E.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "35", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//830/tableOfContent" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//842-20/tableOfContent" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//850/tableOfContent" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "330", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "33", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "33", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "35A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "35A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r685": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6" }, "r712": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r714": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r718": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r719": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-12" }, "r720": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r721": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r722": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r723": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r724": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r725": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r726": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r727": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r728": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r729": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r730": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r731": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r732": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r733": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r734": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r735": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r736": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r737": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r738": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r739": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r740": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r741": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r742": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r743": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r744": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r745": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r746": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r747": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r748": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r749": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r750": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r751": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r752": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r753": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r754": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r755": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r756": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r757": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r758": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r759": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r760": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r761": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r762": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r763": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r764": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r765": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r766": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r767": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r768": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r769": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r770": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r771": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r772": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r773": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r774": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r775": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r776": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r777": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r778": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r779": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r780": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r781": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r782": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r783": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r784": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r785": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r786": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r787": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r788": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r789": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r790": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r791": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r792": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r793": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r794": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r795": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r796": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r797": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r798": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A" }, "r799": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r800": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r801": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r802": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r803": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r804": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r805": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r806": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r807": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r808": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r809": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r810": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r811": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r812": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r813": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r814": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r815": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r816": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r817": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r818": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r819": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r820": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r821": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r822": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r823": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r824": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r825": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r826": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r827": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r828": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r829": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r830": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r831": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r832": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r833": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r834": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r835": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r836": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r837": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r838": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r839": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r840": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r841": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r842": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r843": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r844": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r845": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r846": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r847": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r848": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r849": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r850": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r851": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r852": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r853": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r854": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r855": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r856": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217" }, "r857": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r858": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r859": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r860": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r861": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r862": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r863": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r864": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r865": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r866": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r867": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r868": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r869": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r870": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r871": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r872": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r873": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r874": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r875": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r876": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r877": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r878": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-K", "Number": "249", "Section": "310" }, "r879": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Number": "249", "Section": "220", "Subsection": "f" }, "r880": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r881": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r882": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r883": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r884": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r885": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r886": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r887": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r888": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r889": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r890": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r891": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r892": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Number": "249", "Section": "240", "Subsection": "f" }, "r893": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r894": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r895": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r896": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r897": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r898": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r899": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r900": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r901": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r902": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r903": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r904": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r905": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r906": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r907": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r908": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r909": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r910": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r911": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r912": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r913": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r914": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r915": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r916": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r917": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r918": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r919": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r920": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r921": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r922": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r923": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r924": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r925": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r926": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r927": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r928": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w" }, "r929": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r930": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r931": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r932": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r933": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r934": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r935": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r936": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r937": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r938": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r939": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r940": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r941": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r942": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r943": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r944": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r945": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r946": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r947": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r948": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r949": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r950": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r951": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r952": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r953": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r954": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "405" }, "r955": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "7A", "Section": "B", "Subsection": "2" }, "r956": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10" }, "r957": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r961": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Topic": "705", "Publisher": "FASB", "URI": "https://asc.fasb.org//705/tableOfContent" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r964": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r965": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r974": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r976": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r977": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r979": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r980": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r981": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r982": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r983": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r984": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r985": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r986": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r987": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r988": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r989": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r990": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r991": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r992": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r993": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r994": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r995": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r996": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r997": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r998": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r999": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r1000": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r1001": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r1002": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r1004": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r1005": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r1006": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r1008": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r1009": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r1010": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r1011": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r1012": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1013": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1014": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1015": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1016": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1017": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1018": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1019": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1020": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1021": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1022": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1023": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1024": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1025": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1026": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1027": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1028": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1029": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1030": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1031": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1032": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1033": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1034": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1035": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1036": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1037": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1038": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r1039": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r1040": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r1041": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r1042": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r1043": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6" }, "r1044": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r1045": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r1046": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r1047": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r1048": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r1049": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B" }, "r1050": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A" }, "r1051": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r1052": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r1053": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r1054": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r1055": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r1056": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r1057": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r1058": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r1059": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r1060": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r1061": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r1062": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r1063": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r1064": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r1065": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r1066": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r1067": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1" }, "r1068": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r1069": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r1070": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r1071": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r1072": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r1073": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r1074": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r1075": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r1076": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r1077": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r1078": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r1079": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r1080": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r1081": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 128 0001558370-24-002995-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-002995-xbrl.zip M4$L#!!0 ( /R#;%C]*\\001H $4? 0 1 8V1R92TR,#(S,3(S,2YX MGGO[VL;?+$N+!/+=V1\'Q'>0]$65B'EBS _"6/%UI1X ME"^9]T#73&RHP3Z?K3QO\ZG=?GY^/C>HR5EKY=I87W%NN&MD=]6!?V>$>AZW MYK['[ER^OF4+ZML>M(GSAT]M609H*IMA8R0(8LG0MH[X!&5)"'V^.G?Y$@1= M=-J_WP^GLI@1L>%S#@!L=SE>YMP^%\PX7[I/[2A5EC+*XHL6=VTF=ED65,RE MB"@E0<[9(E$<*2 LT(^'23N2.U6\RVB%):1 M735(.*R5M]WDU$JF),@%]_):89>4S.!M>$Y)("59%(_G5N^Z#:FQ,B\IW606 M&1,27&UH%46K8?(#Q/EX/$1 :'+=$,*%H;@6R'9%&N$AUUK]&6HLTM1WC4 M,=B^YUK%/;=UF O@R,0HB8[CKR^S^M;E!>#C,4=84>WB\8FB\O20K&WE(2*H) M&.'R9GG7 (JBF/L^*0V5E6G%/@16S-IA8I@Y'<8PD^ 99DOX\UQB3 PR_/(7 M0N1@1!W']22.^"GZN-E8SL(-OL W[&B?L!EG@!W!/QXG@Z*6DNH5E6: R>V #T'$79"] M*$(=DR2$D4":5H33*X*J0U?C4Z *':T*WUD5>E2L[FSWN2SD>WHEM%=5>CGR M))*I1C"%X*TE#-L5/F==XP_?$E*^&/O<6($'/^:6P;!I+3/L'M 3[ZC%OU+; M9Q-J4G[+/&K9(;XGXZ9 _QUT["M ?"\+?G1[_W@<3 >SP>AA"C\CB42*) F9 MLG^C5"+% K643'X,9?]5:XE"2P;.$U37Y183.%#M6'CK=!XY>#CXI4"=1/::#&D]&X/YG]DW0?;DD? MNN#X'H#3F)7"[(OKFL^6;0,0(V_%^ #J[BQQ[MP5 N8@W;7+/>M/6:_^RP9\ M$5PEN T*S8;@F)B'67(@?T5)2HWY>/'^4&.^C$:WOPV&0ZDQH]FO_0GT]EGW MXFT/T,#'B\184&1R,+E).3/B(VE(M:N6(3*AW#VE![3+5HY2RC%D, 42=[X'?]]#0=;^6GX*H8PZ=@]J=WFH#97R%L!_?0A_P!S^ M"/B34$#PG40B]B@3%$,N-=C*B1FN4! MW[W+;G[E)%1 MN0WUKLHV5)SY#R1@K]$MN2$UH[A$H=ID"BD4>%T5;AS]&##1G4X%R]1SC6\R M&A;'-AC(9 VR 5+2JJ#J9$ UG8UZ?V_=@%F])>"LC_L/TR[BIF$K!9NU=*R% M95#'ZQHR@!$HQV"K#' PNZ8I2X:3L87+U[)V.8-H?4;*!<1.VE>>#KX\#.X& MO>[##%>/1X\/L\'#%S(>#0>]@1Q;]^)(3)X>/8_7B H;BK7Y%.A#RJDNUH=( MFIQ [>1I?3A>'WYCUG(%3DWW"3S5)9/.C!CY'L8/(T? ]X%YP5+.F'&97D=? MCI%3H$\I%[U8GZ+2$!H4APA9'N+N"R15S6%>M!0$^A=0::VK[.6%^P$#PRT3 M5I1!71 VE+$GF0@;BO8C6F30&TTT@'4!+!L8ED5> &%J4,B%4$=UUAD4 R9( M4VHS<;/MK:CC,(SV^L+<):>;U38'\9IJ'5H-Z:E!E@;=B[@+@4ZY]-O"QE5Q+K^2^%M[R?H%C M84\P>57T0UE:"TIIPF+AWD8@&@,BEZ%P MK2ZG59<3G0T[[EC(QXK'0C*511\..>)PR"Z<-0J@+CH"HLR@C(*[2%N&Z*!' M+-C5V 4_ZZ,75Q,70)CJKR&$R) $'$G$4H-7 M&KP>=:AI4:.50%B"6VMX($8OM6L"0IT&KZ;. S\F@ 3P\"C9]IIL\ M)[9DK@(P4WL5&=Z+%?(.#G8)Y*Z1K8'LKKLA0-TE9TP185@E:P'&'TM@O,#. M^R0[+P),:"1#(UTND#!UC"(O$C"74(EB5JCPK]U)_]?1\+8_F[B& %@F%D;VTX,P-07E: M&X[0!OEUX!C0$M:3A*_KF/>4?V-XE"I8NC_ .&^D/KV @U*1Y'G:Y L!MF5 M(U #KN/Q_Q>+^6X$M!&OJJ5Y#L#U&[0O0HY]N%RY\I-TO<%U*< M5PGX^_2D_.!RC]'^M#5(( D1&NJ2$04^YM9YQ")S54UKN(7 EHQKV3 MD_ZP.X/>.^[BY9.S21=Z<"\\PZOQ*V.EV5).FJE'Y6Y>+,!CM+\!(;P$0]QL M(_H/-U.8NB.R&"2D TC4,(6O647_QP.V,&OQ MMK'.%R)5AE(!UL7%Q37> M)#,I0>S([:62[Y^0'Q.<=0=\A6GZ=2'R[5^E#Y>0RM,J/,F$\[.KEFR)8UY8GIY9R 5LN93(G:]531:J$+V/! M ."['\R"4^F('J(V>/C2?] KGN5C>A0A.VI ,I8)XA$YNOT+7[_(?LA"W>JY MC\_H]JX1V%0VHDF-2:50)HU3N0 F1322&HV,Z7X\M$BW?X78H**@(#429:*! M-!RU[_)W:^PKE]E?OJQS2_^/$6<=(5 ;T9S75DID4: )TYZ,TQ%%:.JW5VIN M6N<]:91/JL3N*NMMH^P-; U:O9WL;,1RZ91PO4O#E74UGD:J[O9V-E@J4B5> M&4_&YEY[IS&KM.>=C52:0(G/AZPG?7?[WQJ3NAOAV> H*)4H_91&*7M37 -V MBMWQ;/!*YE("6?=>/PUKK2WS7%\QFTX)W76FHWBX?:Z1*KN/GHU-+$6%1NZ% M>[KYJVU.Y#D1AP1*,#*9A3"B Q"1KI M(]83<9-_P;@8+8)I\H@7XWX$)Z46O$]ON^6M1K;(3AX>Y TOT'G'BY M9;#> -Z(\6AQY!L=*E9*SA ME50._3S7Z\54.2MBK1D3C M8@O*(3%!&ORJ2Y+QZU2"SW?<70=H^I!_?Z?*#0.3BIMJ3Y: WW@Z'8VO$YF+HM$-E&9"/R,LGE8+*UX517O MACE0%J^J&BFS%2A%RND\4(J0MP;W:'!A_&><1QV])+2*3 7 IAS& V CSM$E M4!K56JCBRI"#;S$%EV8N'AT>K!7]R4P@"+M/":0K,BI /_4@T0'Z26DX;XS+ M(R PZOE:)ZKLGOW&K.4*QL_N$XR32S9A:PJ%MSK%VSP-G@G(3%\M\X;GK[HLE;EUT.F!^0GT[ MXWQBB2P*>PC5N[A(V<.0)^GB%;F2*T&V).!+(L;_-RWCS^T787ZBFPV.Y/@I M_. X;E!Z^0T_@8ZZW",.73.QH<9>@:3N"6:<+]VG-C/,-FKM&1'&"AS(H6M( M-@&UR"/'/Z2VGX.H4-$J2#69545J1(Y_'"%5.L%\6T5R/$OTHUH)#GO[=="M M'+9$YRN[&(?9;,X3N5K(I]6Y;'4^U"['5=MRA(>7D9_G+]$K+CS*@X/>E12ZHF$L.OF@M*=V4@3\S3YN!58F^5%."'3_! MO4KR(_I -OPZ0OE,C[=Q_$*&ERV [JJ37XRBG/*WJ 4":K(X'@7)YD1]L:0. MQOJA5Z^Z8L[7EK^\L M!W[! '8>&L3VL7FH/R[R;8RR^WSF<1_=*)D&[HOEFC/)V/1Y>%<8!4X88/7Y;$%ML2.>!^\H M "6;6UY^]2=L0[?AK?YEJE^2OC'5-^0+\PKX=[7IO^#VIF^)51#OLK^<,,"] M@/#-U+B_9GP)%8!B/'LKW-:GSE9&[FYG[,6[L5WC6ZS>YWEXQ_WSKAKCSC MAD7M>X;ECE4DG72(BRFG *]<@8 VK_R/Y^+\CIF,4[L;1A.D*J*@:6"-Y$/O M#@T"DU)UR4QM8"WDNEFJ](FO#2QU[#UVG"ZRH?7$<#8]<,()9/#E,'CM9GM/ M_^WRGDU%< XHR_2] N^&VLGCZA=KLF,9Q:TM/H'J+ L;QO0^K2"=&_Z<#5Y- MSVI7;&@YLECB%*T48U:CI5ZS'T9CZ*TE=@&!O\D;A7W!,'QL(M?CIY[+6=;8 M6S)?XT;C>+FGC#]91L9PIB)JH$V%*8[I&UZZ'H<)#2P[>@X"WPP#U<')HMK' M4%(VL'9R--Z]9!K$6XC#T3J=_F;F)OL15WI-3,A(@.DSW909I0OS-'3TW=>@ M#[+7N("Y.[$S6F!-NDO.V/Y!D(-ZE\C5T)ICV,?0I4ZJ"#OV,$3[@M2"8 M:1NF%F;T7YDO7<,$(+VVBV HN*FYYQ=Z9JSKBV;C!0\/NZ;(GBRQ[VP+PABY4] MM[(YU$VN('@!'*.7!DYFX6]]-G/E#"/]JF1& ]3DUN0&BO?;Q\V"NX<=NQQY M$_OXWZF#[[F$J[: 7?\$#=[MR MI^N6(G@K7D%TGP3X,R@Q?_.AB+"Y ,:+?>.ZWS"B=02&TN1TD? !2]"^F>E; M?[%@AK=[!7Q&7W JEHS.GS#!^!.[<_DC\.0>&!6@&[OI@>>CGE#^UETZ@<@ MC]GYW4O,X>"=2_-6S.6$FI0/&95!TE9P/G%ZSL_3>TV%E T2HQ&FYD9>P*UN,1U(*K =[;V^+)BZOV^ M+MY7MI1T-]L]2:CCW6?*]\MY75#S]4:.: >UCRO+JXK)&$NW MWJH3G!P%"RK%[90@;DS-"PVJ6,G!/]IV2GB67YF05[A*R0G[6B%7\YPO=?'C MGE(:_!IYWYPNA+WZ*7&_%U8O\INDBRB^X.6Z+%,OJG*(-Y% %U*\4?<\>"5] MOS$@9/3%;$6=4>!$HU88TG9B-SF%JUY99-,:NUAKXC=WE.R>]7DU907HZ-XJ M>]D;F.BU+"RZO[L5-^>YC#Z. M+8K+]1_XF-HYC37.:PMJBD4NFD7TMF :URP6Y9!>F<@E:: "==LWS'MF MS,FZ ![C=FP!J/J)E8$3\WTSR@$S.PI\@YGL"+<^#Y4CCZ*!RI$L*T;B%=4G M0=/ &G47AANL.?5N:3O)6N]16T#$6I MZZFD>BM5W<=>5+O-KL3AAN,8-C2 8_;LSO"D%W7,V3-\WH)9':_ 07/7$X9G MIG!"(>>7F9YZO>P-M -]:JS^X5/NP6P:=!O5_S?+BS[U'9.9M\R0Y;_JX!TC MZ4E+70X-;(TA.&$8B00%GU/GFW3&F(G!7ZEJ%Y,VL'[Q385P*2HV23@TC*6H MWXJ!S*B,NJIOIVJ'I\^R?$@%30/U]+"T8&X+:Q2C:6"-HJOQPH.LX0.%6[D0 M <-J$$<=.,0]FUJ)0]LU\KX9U352-!#F^!&-Z, * M!E2/.7NRP%_H.@Y ABM6&"1I,B>^$EPG<\:J^'<_^Y%WWW;T(A]48F@M6#?D M%VN!RCD32[W?_RZ"C#7*V(@9#C)RX)1>HA_>^-,%+W*_Q7\X#)^2Z5NQ"_'S MJ0^N8P0V#LHD\DZQIJC>RGINU]ZLZ)0N&&ZOXL7P0 Z(#NWTD:EBT@::1&G) M@MEC[J%K!4T#:Q2$IX)-,L,>F)CPI<\:EZ1O8$V3YP^CA1+TN+KFOWWA'<1V ME2-__2%+O1X07,L;W.KXR_\"4$L#!!0 ( /R#;%AQ.6QYZA8 &=: 0 5 M 8V1R92TR,#(S,3(S,5]C86PN>&UL[5U;<^JXEGZ?JOD/GLS#S#QDATMN M[.I]3A%"]J&*! Z0[CY/78H1H&EC,;*=A/[U(\D7;$"V9 P6D*ISV3&Z?>M; M6KJL)>F7OW_.+>,=$@=A^\=%]5OEPH"VB'MFN8! (7CHT/Y,Z,$5XL@&T\0T*091D/!(VGT#"JE6\W MWRK?[HW+RZ",!^#0/-@V>&&U;]7HEU90'K:_&_6K:NVJ5JE=&]7:]^K=]\JU MT7^.4C[3!DY0=E(+V7]^9__S1BLU*%3;^?[IH!\7,]==?+^Z^OCX^/91_X;) ME!90J5[]_MP=FC,X!Y?(=EQ@F_#"H.F_._QC%YO Y7**9?]\(U980/TJJDN8 M@OUU&2:[9)\NJ[7+>O7;IS.^")K(?I:H)$S^N9$^P%1M-!I7_-%.28,2ZU>K?E(_G/H M4BJ9EK2P[6 +C1FS#\!BA0]G$+K.A<%*?QUT$LTQ 2MJABVF@T%7O31Z4UZ"TBXLCA->]S"\P6!,V@[Z!UV:/>:PP+0JU5W3,(I M0C<4Z]-)/"W@S)XL_%&T&&+E'A#N(W),"SL>@4WS_SSD($Y$WR/FC%;0)\B$ MK,%H''!$*7H"B/P*+ \.P!B01^@"9"D*H[A:2Q%5QWZGG&&"H+,C_&TEE0*I M3S#MANZ22KI-&5DPI=P16VJ1I8#\B?'X@\Y_:(MZ[@R2CDV'TREZLV#3<>@@ MU9QCXJ*_N,JU/Q?4",$G3'5M@FSDPBZU2./U+#O*:)\M*LF*F,2#XRX";\BB MW7KG'I)2H&8ZY R]^1R096]R,"61J+(4(3W"-S=J6G,Z)7!*!SIJUVT3+8#5 M!TMF#'J3+K:G(TCF+/V.0MJIRE*$U(6T1.?)<^F_GVE_GGMS_BEH:DAA"UAF M+:]4U.HH:3!ED[P1^(3. )J8TF4A;N]Z$S8]\NCHN'R";"9@14D'E-H1;D\F MT'2I#61_#N""FDIF#MD4$MC+87RB]81LNA9!P%K-N'8>N4MN=HDZRU;A8\^" MT=S=G@;#E5V@Y<]75XEB80QBVY_-\R_!B%V('#(+U]*&O=JT!T3$^:D+$4?. M*I6%9%++Z%F\8W?I;X%@6).*VQB)R1]^NI"V?QQ]12ZKJ5*I5BK&I1$51_\= M+]$(BC24-ULX2HK3PF:B(1;;3<,DJ0FL.(>6Q\N: .>-%^@YEU, %FR3KWX% M+=<)OW"EX0H3?/C#[[EAH19X@Q;?QTS\>'78-O$IE5_W"S7C'B%4OH(F;DW[ MQVW]_OKF_KIV6VW<-ZZO*[5:#$1,@9HDB0<0,ZR'_G-#IY*,!2FN'#;'8:5= MT@7 /,P_(7B^*L3F!=&!\036(%N^].T/&;V,NB1R7I,U.7&$]!:UXC61SB! MU!2,HYEJ!$E ICA#$O)-O7%[HRV%BB@"XJXU(B[<8^O3X=^-;[2)J4O+,(Z+O1B#X?72MUSI%(P3N !H'*R+T]G;FO8T")2'IN7\TO>'+<7C5SS):3"6B4C#&6/3-+%GNVSO M$Z)W0&?!M/$9 UE*EB3LV_K-_3$2J8Q0PQDE"T-@_V73J7=@L1TU.KD:SC!Q MF=N$Z:KC\HTV & ML_$!<[G8<-P&Q&8^$3HV>G,FLY7P) MN260LXL=MK?6FXS IWB.J%+*"6E"$<@U7- UQV/DMZ)/%Z4=NP46R 4B'X$@ M=1+L7;W1.%Z:%1!JN.RC6CG'-D?/@W%%:X"U9"=$H!0T#==U(SA?8 +(TD?; M H0L62S-G*U8FZY+T)OGLB7K"/=!RBI>N1S]N,\S$2L&MH8&FNDS\M>G_/B% MS=8^T#81%"[PQ3E.@VM5@!K:Z1CL[+7>:;"6!4A#F\PG>K%VR\4?;L?"=!;RZ0&@Z9\2,$F=1N3WP*?"H@ M*WZ$W Q*9E^BB!ZZ0HX;DHUMZ_3$Q\Q.#F0:CHRQ5J<[%3<3'C-YBJ@T]!W% MC4(&J-2/U8ZU3!J.&?9 M/$8K16J6P$Z!5$F,&J[RPWB3/EBRK2>Y\)MDXM.B4Q:@_(SGEZNU$V#[.Q:F M>&-,C OAJ;%:^JFQ58T&GABK.@U@CXU$K8;R136'[0ET:KORD0DZP%J:@T5AH83NV@#)K.K;$FI'^6'9C1E1RM# M3!KJPD]"&]LG>"*,PXFET(][6 FYT7!UE W6MAQ>Q-VWI1[RB!Y1R9TAG3& M*?3>BC*< M.*Z#(7ZIWAKBRB,62JSQD2GTK5)\PYX-;3% SIS))[I>H1B8I9(U'4W M$R8A5NN-ZK%2*HFM^"U2@4=P 'E,;1\0=[F]\XF2'3\G2L@TW-^DBS.<'$+2 MS:VSGP:CAV1P-7 MT.X'.L<7;S8*4B?!UJYK];NRR97S,\@A45B_:NJ'E+V^LE:IGHL'X-=S^2(,9/F[R#SB>0C:= M81^;$SIS'4#3 HZ#)LA_OHG:&7%?*;(*_=1J'WJBIHV%R/ 45--??&^ 9I(H M4#O3:SDN!2U$=0K0UAPR/06%W;>JR@FT7K^_+WOY=0Q*JB1-';U<(L1/M.^A MJ>W'7IK+$0&V \Q0H.RO0!O&_^OYMV(5/ZW<2QN.2\_W/ULXG) UW,92CC;5 M3WL4ES#9:.1I*FDK(_Z^HLR615TE=IH5;JB^WECZQ8[<5XM,"H?]0#MN\D,L M91\2A-GQ%\+.[CY"___IWW[@5/O3G %[RE\T\I\W$FUV'+@1AS<,K,U]@M\1 MU:F'Y:O##@T%SSC9TR9[]RGM5@;Y C0T*:4HV)J5VD5Z&JX#*!03PC%W$H+>'%TMD/&%J=Q1" MYA7[Q0WA<>.CPK!4QE-G.+\0 H;O-3+;<75-B4==3Y:$=U-OW)7MMBW<0$M! M#AAMZ#Y-2R57G.$,:%8$'^Z'5#3MPUUD0^8'H(N,E,+.05>*%$VH2D5NR.UI9A![[$%I@A#+=P[:D4L&H1KH=.VL0#31 MN=N\_MLM!21E0O\H_=)];?VWLM+3,%)H4R!KMQ12F7*GX^IR],R7&W8J4S^U MVY'T32TJ7CX:>GHW00;O/H=^E.#X68@U^>!EID;)%':6JI1;,#I&\6[""Y^B M5K$^L3QGJ1)9^/?@?][CN+1ZNUIY^%EE/4L]D!2#CN[KY'"XDD48,QL%NZ:% MXLOD/P/%V$T6&KJOQ:'^R3-7XM-&"B4DA7)7;U3N3TU!=I7&'MS=16R?O".' MMH.">\3>FSOQK- >BG=.A%G.0 N4X6OXS'P4L[6ZI,H_-^=O)(N8S\IV!NSG M$H&&/G*E#7:9/>*39%L!>*;7_&0OZCI)YO/)(-N37L(0WYRS@YM_<1'V)I&W M@(?E4=OUB)S4X5XV>U(@]_7[.TU/(>17BIU$D>UW+V,>L"#01!P0_;<%@W/ M<:#"N4!VUC-0B=QBT-(OSV]L3SD;O4IP!M1F@,WVAA<5VIHT.^&NY7*-H[2D M)\R6,NPCBG"MJZKV6EI^$EGO'(CB&55&]"O]"^Y2[[%K!= M*E$FPT7*SK!""4FA-.KW]YKN#&F#O2O*>*FV?]%]&:12A'GJ"2JXM#1(^T/J^Q8]VJH M[=D[#>K1\$U7U OL .LGP=XB7&'S%Q?@>'79L$#YRF^8?BI=_EQ+4U;*?EB8 M-=7"CD<@-P .XDWM>X1*R:&#"6+G:&V'VB$27G/X!!#Y%5@>%>$8D$?H F3) MW9%U7:E5ZL:EL:J4_M%L_?.U,^R,.KV7(?TSK-K@=1N)ROGMWJQZ@]=/4_,F M&/\=-.)_+G2]2RLTN"T\?T,V!S. )I[:Z"]JVL=4F] $\5!#'A 6&F/V+MT' MLMA#5[&00YK&F\,Q-=T""[2WV@YLXG/BV-K^U'C&XBM*=/9JY;IZ7;:K8L\J M&+>U!Q*GAHN;(I$'[]'[*5):[UHFWFO=7WI M=0GRU?#TS=XZ=7 *0.6,12EM^>H(&LI?PWW^O0F'R^+0/8)7^J7Z90I:?A_D M*'56MX?J/8*: +["F*$G,+,)H!.]Q7.,@T/Z,-26*J]<9M M]:LCE"7WS-,J)00TI^OJEQIMAC%+,*S3P90B!95](<.>:CL9_2M[SSE+ICI& M3>QASA[_(7DAQN$6:.(V))FIU6]K90<4'E(%#[)H4Q3^B>],AT?P1N#SL"9^ M>\5?^K\__5>0>/&[V()H_$+G3_CZQ./%;HE2B[&[K5378^PZ+[^V7T:]0:<] M/()@N[G0 MMZ**F[-%JUZHAHP^H/4.G['MSD1#U6Z%)GOC=;UQ7?8Y43FB$Y>C%B\!#8*DR6XN[4<"DX:JP/5]8> EA\,JJM%9E MYCM:4G=#J.&RC@X$D$#'#>)NTWG=GOCHR52 I>&"JT_PV#/=WP AP':7'#NP M6A9P'#1!4:RUV! #?H>UE=-OMB8^>4@58&JYN_$L9 M%*=KZ9F.GM$<\#0\S;EZQ9==(QGB6&8PFYHI"9W^<5?V27I59M7AR9_B+,]I MZPR9J,B2WVL7EM9:I7EOEC@ZH-//ERN?J92HC_26E06@105C;]^GNV MY)7VF\0H-5P&I^V;K>)6)-X64B_HY!5!!;=&<3SL?$=D^YO3*8%3"J%/D&VB M!;"""]%[D_AY$*4AH5JIU-:'A,?VPRAI^$%8L[$(JS86?MWL9XO6?DG7MG-C M3.O?_Z @V *,"^$9N![A\X4!#%KJ]"8C[%*AK4EOZYG!_&4=V&AD-S1J8\>6 MC,;9J4Q]3$DA2A&W+\7+1<-12 ED>H1.GJ*28KJK-V[*BC(M5WW2Q*'A_JXZ MMI2HG7R%?6F.C$ TW%E61I<2R9.KK"_-D9"'/B>*^=Z.\^11-/"93OGGWIQ_ M"N403#];M+Z:]"RXL3X+]FNA__ K,H*:_.]&6-=JLFNP^HR:MALA7?9.$A1L MD$6B\X0V63+['_7#VX^TIKW:X^!98>8>9RSX07W( M7EVRHJ3LO:P1]E_10N_\^2PZ&F+BLCVC%IXO@+T:L(7&;+LH>*8<6*Q( M&!]@),>6F\U-]\Y+J_?<-D;-W_D6>[+Q;$?%G4'#"2$8$Q^#@3@(PP6?!F&; M,2[F"6$(QO]* C@T.?\Y /5?CF'&8!F3$!>O"*Z-9MH.8Q%S"49;_C-E5%$D MG[63*Z"4IP#7F[:FVLPS%'VRIQU*'7M9SDP)D]JQV*05N*\W[FHE&SMU)=A\ M0J]@>6@XTLG@;+J!@8P,9B+Q#AJ54?(Y*E4>D6BXUR,#E0^6[#XKV@(K-D[O MH%"B(L]1DY1DH>&6CPS&%G_?M&/'+K'T?7GLT4R?4,O"'W02LXN94JCE'!5M M5_%H&-,H YM^;%&T2/BJE5HAYZ@Y&>@S0R5+>XH['=83)K2!=B+%(Z(968 9 M J*W%8HH^ARU*)=,- S6E,'Z@MG^@4>3O5DP.,JS@SIM*^X<54A:#L6_YR$( M5)%I=7#1'-7_5SJV$A<@9E'[.'C9?%O,2@'%)N72J#=NRP[MSJY5'H"?W MY6^ ^CZJH3FC^FW!WB3:Q@V"WNS<1U6K6V[?[;:;0S\D.*B0[53BL,HP))B] M;6^M:CV"+<5"/ *Z^#%6UT6KM7^53S\;D$&0A",C YV&FW=[/]UQ&L2F0=/' M4>7;:>:(P;8?=<&_!),15<.\$; ;&>95#3PLET),H8.%70/A3"))$I"1/X*A5 MZO<-?;E0A:&;+1-'7[U2JT62L)2GGM=""Q<$8\V#8"S?Q(7!;(;'ZHY-22T_ MANL83-]A@K-*".Z4;)KLT82EH&^0Y4PS14I6#AM-?67P9!Q#42CE7)4F# MKZ'_60E6VC$#U7+.6C^$ M#0O:P"+.TP@6(QYZP?0OP:>H"5<(FO>50M)BF> MZG6ET3@?]1#AU_#*'%E<,E>!YBKK7!4E6PB[707ZRY5/4;#&^]O_ U!+ P04 M " #\@VQ8T>63W?A% #*(04 %0 &-D9@[#V?QJ>KNJHJN>T.6Y=.*MBVW)%?=?JJ@24AB M%T6H0-*V^NL'(+5PPT:11%)F1"VVB24W)#(3R,1?__MMXPU>$ E<[/_\X>K3 MEP\#Y-O8>KKY^_?OGZ_>#JZT]7?_GIR_>#Q_M#PWL*VM*5 MMO1<__>?V'^>Z8P#BJ,?_/06N#]_6(?A]J?/GU]?7S^]?O<)DQ7M_^7J\__< MW\WM-=I8'UT_""W?1A\&M/U/0?S'.VQ;84R@5/>W9^(=!OCN\W$N;@OVV\=# MLX_L3Q^OOG[\[NK36^!\V(/(/BM,S]=A0\=_6!"U_ M_F [A&']];NKKPG._V<>4I8S61IA/\">ZS )./XQF"[G:XN@-?8<*I[C/R(W MW'T8L.F>9I,,9+;%QF8-J=0&GVR\^HN*13& T#[']>[S:1WBS17X0KY_S68S6 :G98T[@^1L1> MT_$?B6LCM@FY=*>)ER45PEO+);]87H3J)D6564U3:N)3ZV/E4E4^# (4!G73 M1#R^:>SWPCO:4<9L4/VK(C^P:7S5)+1^HK7>]&ZTMWT<>9=HWA%?$VJYW9U*CZFPP*#/Q;2]RJ 7H M>;192-SGB/TYAK]VPBA-!H,N39C@NK. IL32BKQSC>Z*DYF@RU'%WR.+_1Z' M 78\IY6FX1B2_@^T-G^F2*>\5HCO9E*AA M8M#TRG]HBUS<>4U0ZP8]A_33U8@@JLEN+=OUW/!<$T,RJ"D\1Y9O.:[EUXZK M9&!3^,[7F(0+1#;LEQK0+!_/%';'W6BZK D_WHC&^&>OD1-Y*%89B* @G%DA MFK]:VW-UE>KHYC$_\H0!-EP1A&K8X[6F,!)-+IS6G!LNY@\(Y\SDD=H1(=[, M$'.U;': Q:!^]*RSSQ*J3@>'-O%?J3]*)=-]B8&D=L:]17Y'[,@O<4)RF)RK M)!H !!@]I]LX)M0<5!2?U/]W&@5%_ ME5CC5)KO7.N967#NV4NHVEQFXB@>NS+P:%'7=T$LRCR[CK4A'=;(BD"K>(>W M0BOF0RIT,R5'%HW?F RSJ.BA_9G+X\Q9C5 J>@[0'Q$%8_Q20P").YPN;C'X M!P3SL"RMX#GN&@4?5Y:U3:! R-E\'K^%E+K,]1[[T69_('+G!F&0I0D;*3A< M,RJ,QXCU&7EAP/["!@]B^L6T8]-\**6Y N2J>M;R'8LX5'N,HH!:,,,W-[C! M&\L]1!X#G=U!>3 N.A:Q#QCM?TPC=>2DZX>?'7?S>=_FL^5YY4/G.5$B$H<[ M7^QRV9]BE.+1S@>*_LPD!/L?G9@(-4)8'+H&<..1/F[0YAF1.F'-CGL^H&L* M$[&C9_3Q2(8:P2T=O59A2-9",])P&%L98#8Z"C;6)Q01O&7_BX?_C *T/ +_ MRDY\/_H6(?BUJFQXA!S'8Q-^W/]"T;CZX>/5U<>OB3[)SY7"A&+G)F0<[QKV[()OWQQQ^_?!E\')Q&IK\%UP,S#=F9"CUV=Q:3R3L+^K'$64>WUN'_L<*#<9G9S#NK0M%UMNZPR6)^D=DBR^="4<1EX2 MO-$G/E: )0KH3'B;G# >>N[7X#GJ*R'%";F?%($?+/! "C0F5!G\_,&,P!R# M>=>[U"GE+8G-3GLG6#0*/;G"I-C7)#W*X!(N)X6> !H^8Q))].F,Z_G R1.XS5GR.'AHC M<&FC.48SR[.,A;@RC$"6: JI]/+41 ;*,CW^^#<7$4JK]>X.O2!/;;4*.JLL M6DEW(%MH4 13>S/ECJ&UK0I'J7$%J[%5LL<*@36YE(78R39<(59&U_0-(NZ+ MQ0[J)GX0DCB==>8&OPM6LJ@+5S!EG8RB/L)^2"P[7-#9A(M4U$4!]?).YRY! M17Y@=8A:7V=B%-*K2P:ZT<5T .E7-UPG,2)$XJO@AUOS_$6ETI4K8:J= 9)$ MN-S4.E%77(2G(:@=&$)VY9C)VI===FH$ADKP-#:LI S=:!%%BC MN],1^.LH<'T4!'M0E("$R%L!@ M[AR@'.CTME UFP4@V&"[J@%Z>3S+*YW]]:_,!EY5B ,/*J/P'?4]<: 1:<3 M? _61NPQ:8Y2A5Z\<]6\WBIB+/ MK[PUWROBMX>!J]CSX[77P;=&CU!*?*P(2?M^(0_TC$G=H\6COV MMQCP$_2^P])CI=Y3$U/QUV9#DYV[FGF2@9L'O?4UG\,UL\X;PM'LKINN&R(S M3,O:"J29TQH"EI)%7]I:'=,:-U()R;$2%.WOG.5@9U<3%URC"^(.^ZM0;3V4 M->4*":\Q !2%BZ&\L3*:]2T%";6Q"@RM+X1RH-/K@ ^LZ;,ZR[==5COQ<"U, M?"Y7UEITIL1K;P#7V%Y?(L)J/LP1>7%MUU]-ER5 !HQ#0?DGX2JJN> MI(9C/(E4X.: -W&>5XYM>K77C:792Y>9DGJB*Y:%AOR;@Z5-C2,GOBQ9TE01 MP1HO0HIHC.7SMW_)L03@S)5&#J!&1?X7B[CLI1=6CD\@\/EF7&DH:V@8+:&H M%QLJH5:?F LHBV5SMR[B16#3 EX.9.MGL3,6ON :3!I;.T>D:: NMP+)H#QZC^Y-4-*W, RJ%K7TSIHI#5X.?CF,BSF-O+IIH)EV17I=N+,BGS+MC#: M3_OD!UMDQR]M\K,J>&W+,1.UKB6K@D-H:0$\/351R18NUMV##F>3Q]/I2[H;A=7C.:OI HC<26NXEC@Z!>7 M)!=6/E/L7I%2V0'.7:GG<1A7 [KU)5T)RTQY-0WL#*=>V'B#3@EC*2TU])W3 M UD9G.DO6QQ8WC>"HVV0O+/F^BO6!K.G;"/D[$LB4Q-9F+'1QN2"9(6VIC=1 M04,'3NDMIXJC<4E_QGCGYXJT+'2X%K0-I)FT0Z=,!9'J]#%;J2<-=YP^$[_N M+?$[)+W4%D]Y/U@T4%T.K2QO3)5 :?"WI$5!;#AM&H<\F:YT#>0_E\*< M;U!5HL4TPN63M2:DI= Q@2R#RJBR3\5_)=?_2EJ*K^84VYK%3WYC22FEI)$, M$C%Q\_>&C*>*E();N/@#*B>$%46,%?X"V6O?_2,27V@H:RPX^^7,-9.N\[B"A.U:#P\#5AW+ LQ<@^ ;71JI^J$3?QO)[H'SFG,E1M0!"+K" M)<+OH(5R?Z9Y4S]&;(C0EQ_%5H5GO ['7+PU_2%WB%KS9ICL*E3(5QSHZ.2EB'SX*N M_>AI.3KI95N].">F- MU6 P\(!1$>CLLT5\8,VF,>RK]P]MZI0%KBR+H;PU_T8_OST07-F/!(F7A[2? M%OZ%GF?R7]0!"+IWR*<,$)<@ MDW330C_?\>RR9'*>8#V(VB]2QD4A4ZA, 73#?L42$<*MSLF>QIOXCOOB.I'E MC=_VM\\+%3M9>.$14X,1A>[^ 6GD4Z*Q\IY)H*)T(I$;8Q@N@3,! #*#DG*- M_2@&GF *+<.+HIA(W+RF)I3RMIDISWF6?;)-$,^,;& MJ9QUQ9ND;G?VGB*!V]A9]&>M9]^H-J^)1&_JT8:[&-+T:4-1&H.*NT!]$_"3 MQ6N=HE4M?Y9\XJ9( %MG5Z%9)I&]5EJ9?>+"#UW']2+V0/V[3O"(2$+$7?D NW;X(S\L^9FYP3#-VD 3-9-DX(U M/YC1BF1@/:3:?TJC22ID[@8H8-_^$X?1)O(L!M)XN41V2-%RL3-=#IV$!YP: M;2K="K*MTQ$(^MQR;FH=*Y&@GD)OFAS"NK"U^Z2B$C+'!Q:5D3!K"CC_BH(P MMF1N,7E KT/;QA&K,+&B+J=/?[3W%XD$F[O.&/S-1G<4+$P4G8-H<:I^W9 MB[NL)2U-[/NV32+DI, 9">5=VCZ_G/GMSS]%YA,;*T'0Z@(H 3?C MD/'!A+,24DM5+";\AGR=6)M@:"E$,\*@I WS G!E7@"*XJFN$3D=^(JQT*'+ M^I'O[XAZU*@C>>17494U&/J5E64.;B6=F37J32^:7/J;9,5(6HOS%,]9*[9# M4 S\%?TG1H#])5%(^QJ3_BJ9+Q\!D#?<@RUJ6'-&99F@BZ9O5;XYL#+A%L$( M1Z9C %,+3\U1$G8HLPPX'5HR'44@0+(=17"*1(8?Z)#'.%Y?7S_9%E,9:^RQ M*S#!)RJD2:3C*-B/Z>G.'T(!G@Y2,_R?P?'>3:>'V30.'+IZY;8"=(RBM//:]@'R M!2L.PEE#^4:?S8"84)(=1&%?$A*6]#D@H+2$E1?7FO8D=O2,/A[#B^EU4*80 MRLF?>2I\1JWR9COSV0,#P>C7#B5SZ&@3>B/4ILKU; 9ZEN>I[RC%Z N M-:[VYE?>N:( ..%/[,4+ZAF,O;CISQ\"M-HD_N/^NX<#Y/S\(211Z\8Q7:X$ M4:_A!B7_GR0[8\;'F6'/N\7DU2(.AW7:HP#8H=0XK(W9R5LMQA[;7GAY0+D+ MK]@0@$57432SZ[.(&1P&I2S1V.4/IE$8A);/HA)RV[ND"X!550/3Q#C"8=\# M"A-CYPX'O#TMUP: E5<#@W)(P>%(C,DD""+DW$0LT2RYM!B7N7U K_$7OO6A MU!> .5B77I0C"YZSB7ZHR-I"YS9Y^Z>V>5O %@YS;U@"$O(=_NMJQ^]MLNC/ MC;$HA1 <+J3NIRXP)RH3"Q$[9,ADA!3K%6XH MJ^EIVY29OS0F,\W3"8XHBK:G4QID&L=OA&^#51ZM3<'YP+T0?O#PD6UIM M J$P7)L2\:,9"Z';(B&0ZMJT0\O!D2^ -$,')$ DQ?7I@Y9EH.$(F2[N<(2 M=_Y$,4;NRD^N5=J[5-'PH>_$OWE)F82C5?6 PNER8;T]8A)_"$/B/DVG97B,G\M!T>5VL=AY<[U*_ M":\U:P_3[JHN@4K_U0%(EYTKLDU6F=_\1>@RJ&IY,P'*!6F)*&J]G7 >KSC9 M8C/+L<@=LIC9QXYG&&[S3^13^3U8+Z:COW^\'L['-X/1]/YQ_# ?,D>B0WY$>:0\76?W>EAEU,34S"V.+-)F@SZ5T3MAX3M*3U@U M,Q4,UZ94UC-[0"/(&Q6=Q[7EAW@30_U$21\\SI_$Z57"'@ WJ'T M<8-P30K: TA4:&M%"JA@.'OU*&(,LEA9S.9/DB1681\ R0MM<55""=B&%X\$ MLA!,'0.;R[BMC2KE#OC9UGR7XSP3J'4+#E+$VY-&:UZB25@;M@ M%#6BGU2(8SC<[*Y\=^G:U&5./9: /==F ?)C#M3$7V*R21XH8Q50/+58]/=? MKKY<%6+1DV\/D]O):/BP& Q'H^G3PV+R\&WP.+V;C";C.;OI$&J^%7ZNMTV%A:B:^/_?:QWPN(_78TRF0X[MMJE$GR7MN,X<9YDR[UK7W5 M*JO45%"M.8C-4+)4^@M?S2JL4K9G*&A,&N^M-W<3;;A4S'TWJ#,X'#^0,0=H M7W2O+[K'X\U9SJ@+MQBMLC00&%<_]0ZJWK6[[M6MZI0KCD&8:: MQH80M5.2AIKPK2U8PCF'?8@8RM/EO>5'2SICDB%"S88POS+ES0&83;5*\/&0 M58AUTQS:1Q@":N,QO7*-\>\C*UA/7Q!QB+4LYY-")PCQ2N%*4D4$3CQQZ%"P M0C>@TC%^8T8[O[A0L2&$>)^29BL#'@X/9G214^37=,'?H!?DX6U<_U[(#DD? M /77U#@CP0,.DT8X"*?+;Q@[+/-X7_\IF&./E[\IZ@"@]IH:>T1(P.%-Y:#_ M I%-,%T.!?68:QH;0.4T19>@'GSA",<-VN+ +=@@$,N SI4>" MMW3/W5&UP7*^8[6N>Z3T5?](Z3#MP/*=P7'B#API'4\8#QC$QGJ:>FKI#;+N M[S@F*LU24"-]'RV]D&@I)8VKA2E,+C+XA&?]2CUA'-UKB*H2]](8&D[==V/KEP)W^'&RV1+\D@1? MA6?UBGT!!* U9#1;7$0)0:,,O(T()2JKS^0[M^X;^TG,-5$' .(5HP M#8M"Y$C5KK@#<&M!':ORV]DR$[)[]QNX&#T%:!EY=^Z2%Q)2Z@EY3Q/R7 D[ M.$'HB1]2M].E0I@4JDG>_?(B9C6QTY57U_,DMU'TAH"\)0H9JX\Q@"\@2J2FGG1CH,:G/JL\VBSLBKM_;56P'$R_KJK::KMS*UN$#VVL<>7NVHZO_$+VS# M;PM@(],O(,I'!]J:D#EY?0'1SCAX!\Q&>//L^L=;P"ZE8U(1DKW3LD2$5;44 M.PB51@+@ .I*124\X3@*^SM3[.G)1!T=\&%/RH;3);LK?*ACRG/MM88 I(LK M"'G&Z=?"&YS'$=<#UW4Y"G>@N"Y'/'SO<_0^1^]S]#Y'IWR._L6(-EZ,Z!V1 MWA'1'J0?QW(/,Y''R%9M^$,_?QR;ZV$0?F^AC M$WULHH]-]+&)/C91BR]3? 30.MY9.YAJQ_MJ9<\!4L-.W^^I=];+B(+42Y/> MGX*P+32\T!KTO:#KI%(2C2+JH?IATI*.@MR7S$.@]2@FS:D!::<6Q;$=VEZF M&$_\%]H>DUT+#41#4@%Q!9 M5J>LMN;JF/!C?@0C1DU0\C(%\B5L59CC'36V0MNGW=6K=6&R;1,CARV0K,[8JC.8/FUJA MZ67JT0?LVX4]Y [[*_;^Q UZ;B-$I !#JP)]F8=2"E2^3!%OUSXPIX<7)9\ +52ULKWDJR5TR2#9);NY*;<,HJC._>E M&&L^ZB/J1)/P=!$X)2VB=)5:1C9^W;O3&2PU,K=/:NF36F0!A#ZII1-)+8>E M+] .=Y(D%[TAC"6]5,$T\\)%'?JSNWDQZ2H%Z93@H1?/2_]\L 39W3<[C$.6 M-\B)[# FU(9%X-6U[CES +A5?JZPU4P1.";XOI;<:&=YU$'0M;W_I%RI;C\! M?)N[SP?OI#7=YX/WIG-3IO->=Z4FY=O,_+:=-);YZ$!;$S*K6-RE3_T&:.+V M9>GZLG0:'DI?EJXO2]>7I8/ \+Z,0E^6KK0L7<4PPY]K+4S7AR+Z4$0?BNA# M$7TH L!VV8H131T_A4%86RK<=BLV+># 0A%S. X M)"U=W[OD8H(U1S/Z8H+OQ0ONBPG6JI/Z8H)],<%+%>.^F&!'!;4O)M@7$[S, MU*Z^F&!?3/ B9;DO)M@7$^R>"/?%!/MB@GTQ0>,2WA<3[(L)]L4$NZ1>WH63 MTA<3[(L)7JJ(]\4$+T^8^V*"=^+"799;"]+ M!_?%!+LLH%TN)E@QU^@O%,%Y1WU!P3X5J4]%>L>I2(=5WM<. M[&L'JBK-OG9@7SM0Q^*>H1?D1VCO/+#QJ!LPMSP47.]&:\OW$7,6OB&\(M9V MO=.SOK__T"P,[6$[JCL2U%K0G?!F\H<+9K":JC%]L L%4JTKB(2T-B M?8M871Y%@>8T!I"N=88H]F+(BABE':*A';HMV+2.SAOZ6$*9/0\9OM M1;182]SEB?XZ5DF[8 MX*M:V. PY8"NSD%ZTGTPH8\95 _(&$*=/K;"6SZRV]S9KHS?7.(";G,A"\& M!R1M.Q<-D.!3_UXJXT.B]=.0E'KYDK9FG7HE@3I2GX^%44OF ?M/Y9Y/:0N# MGKN2W*0WI@S@M1$Y0/:G%7[Y'-_S)[N$QOM?3N3=_^&WIWG>'D]],+CA*Q,S M#6]OPC MU9A 4=(^(A)#[]MH^NRYBB,:I#34TV M$MZP$#[_4+#N2< X#/4*5(E.JHUD1HV-LY&1F25U3F#,@*F?2K4*5->-(C'F MYP@6",,'@/1 2FE1 OCTUM(Y[$^/ N#\$H @I"G2,9$0$89V<+%SU=0>=!P> MP $M "%2(E5'O+"E%7EAN\[8?M+>*7N/3EEO+YO74;V]W-O+O;W3V>"7X1VUC._'P_G3;'P_?EC, MX5N^1W+LLQ,SA1CV)'*FK)A#1 @[?_)9W1MR^/7:"MQ F+=?W_CM:IXCX->[ ME*3<$O1'A'Q[)SAI4.H)YOB@=@'(Y,&JD,+H!E.F#H[P"=.4E'K"R%'2D.52 M[HDP!,>]X"BJPCM0:ET!I#5I2*B,>47\8'#O>G?\\6\N(I1,Z]T=M3=$29ZJ MG=M7M!QGKRU%*Z0&#'ZG1;((KK;6%8P!3O\J"+IT%?/1A<'>B;^-PB#&ZZN: M#B[K 53U2@6VE'UE",)@UAG:2!;AK7D.8T'>1FA5*B;G;PW="_4F.!])D"J^ M)W[]6*$?@!!OX[*C0 8XX;P;1-P7*W1?D/")CV(S )N!LIQF+G<7,('#C)0@ MZJ\^UGDL_.Z<7 MF/Y+,3#].)L^CF>+?PZ&#S>#\3^>)H\L, T_+CVWU\B)/#1=8J+(N^]*+4PE3H^J3CQ.=5!B^4.H)(VBA(:I*W$MC M:-;NL7Q'&)9(-P"PS6E(6\8J26%AN)2R&V]Z%/3#CY/-EN"7))XB9(5B7P". M7D4N*2)H-E84$4I49E+YSJW[QGX20N9P M6P.XPE*1,UR4C++EWK+7U&TD&8->R!IA#P!%OBJR1XB6Z3JEU$F,XOM)$Y^B MMZ)K6JS;Q%T O,!>>0V)\()I;LL.(%0Z&CM54,D0 M!R5U!H!L,@HE0 =).!%'+M3?" ZTU^^^$V3GC"NS2KS<(PB'?T/;CC:19X7L M5=DM0;:[3RO;>B@FO.\,-YB$[K^3V^0\Q'B'>;4-#WE=*\E$?:2 (STBBE30 MY;"]R/-6OMJK=RV>%)U$D'M E&X"F3/"?36+!AP.C' 03I?LZ19V=#E'Y,6U M43#'GJ/ &]7.D'U_(==4$31[M)=ZYS*N>)U_WV<>;386V4V7K%KV"@63XU,] M>@> /Q0/ +]-IS>_3N[NX@/ Z>)OX]E@\K 8/GR;7-^-!\/Y?+Q@ST[N(1C@ M9?S>#85AX/J#U1Z*+IT7'BBG=CR8:VW\O:Q.OQ I84+_ZJ/Q0SV)Q)E_]7%F M.1:Y0Q;3DC?NB\MPFW\BGP0/3$B[ ' 3E07K^#*"%*O^R4V^!Z9/;J!/;AZ+ M41\PVE?X#03[A*0/F(08C=U"@I)9%B6@"/>'7!L8>X&2;&6XD,6B 05$?0#V M'*7@W:9\"P"ZO50 CHHE#W #5,L\;['W@/@4%+4&H+K%U!0!;U0+'%28[$BJ MI)VQ$R@NS.4'3CDMW;WSI0,",^QYMYB\6L21<"G3$L#B4.)8*?!PXED'\"2D M!Z':!1)31G&(9#X\!3VTXW/>X6WP MFX@D-7=<+--9Y5T A.4U>56.!SP64520N_)'$2&L(L."6'[@)<^M4]K<\4^W M=08 $)_79)\*5AT)RN<_Z,;DOSL_)N\>01A8,0R-1^0YOL8M(SVZUL101'C%/L"<'!J8*$BLF:922P',30D M?"LT ^#7U,&B EZF7Q"E]O(6A6BX(D@A34_4 8#K4@.'1!@:Y96&-28P2K5' M,7Z*V)!AJDT(R,S7,% KC03#2*VX C2XKF6L&K3WSA"'YG:CN@,)O!.VVD9M M_3RN9GH<#TO/U8[=.^$3;/0/*)1DCZEV-N@5-" INMC#"< +(!8EEH*LR$=P264"6%-94.EL)WV><@>"[=Q7YS(7X4[PG9\0)NL$.Q)0G9_ $L+X MD#X%:!EY=^Z2^Q:(4E?8\8+*?$RC"(>;$NMA_&9[$3M E5S:T1_&X&IMT(C2 MIP,D42A(NCK[5;H:7-B-LEP%=[,W'6[0L MH?'[!,KDSZ9F%S$QG!6?!D@:7.4WAQ%!Y8L4GPMU'=MSPH,/Z#41CN-QRS!: M14&LQOBY#2J] 'CW,O$Y1O!4\#%[9R*S@ 7*J*RA\3.D2LJH#!- /! JHO*F M,)007Y3XU =Q;VB&7K#W0FVO+&S" W-)'P Z2B15N7=A19@TL#4L$-G<84N0 MFYQO 2#4)R-G*=QFRV2C,$3DH!;%!;-+FP((R*D*<3D"#?6:'HE85BL_:-%(XL:QDI13S 4%]HH)0U MA&&>\ 2(1W40I@F[\,F $=?8SS4"8'SPY253H28'N.$R$';\CM0+(KZ[6H>W MKF_Y-M6##,(Y7I+C%Q9Y?)N_6ELI9\X<$X#9H\;(,_%L8)^^P[[#ZF!3J^#9 M\G^?+I>( LAEF&(? !:1F"&*>-2_T (2IA89_>VTP.@OIU(E!AT !AQY:]_D=D$:K *-L)2_/_U0T/?QJSXZT; M9,?STYY?OI8_4GW>4 ;W7CW&5,:P\16QH&V5UT2FL<%]]IQ5D<&A=54_8U5? M.?MJZEO[>RGG,1KEO30%O!FBELIPX:OY/;(@ 1D*&A/,>TJ.3;3A4C'WW?"6 M6,+Q QES@+9/2.M-3,CL=\-;F(B064 -OZ)=5$-WDB)PDC[&"L(IX9)]^9JK M@[N7/%*&S%[2KC$AF 6U1]:6?@EW&HSE#P$@/E,+Q_D8PKG=F+UR$0"W PQZE!PS]D/18.TR53.\YFU M[(@B'.&P.*M#KJW #>9;@BQGZJ>/":Z4E*JH>YML_4LC"E:$76T,Y97WSD"2 M.8<^%B\M"Y"I]6N3-S^ PKO4 H:.:LXW5IE MS[FQ$76TVF7)Q+>IP1*@B5\*SDV$%CC.E1:5:>685MEZ;G1D?K0AF.( ML+K; 2N\C8*I/WYC)[T4SC7#;;IDN'+L#X5^K?*VKA"* EYPF/=H[>*:@]/E M\7(<>_J4^W(ZMWFKK*HK<,)'!R*'V*UW->:D6K;*E[IB'Z680&1)K,J#(**R M@]184]*C51;5%<<08@2'5=F]]LFWDM)%R&$5!Y0C^Z7]6F7;N2$.#;S@,"\- M7DK(QF];Y >\L(:L4ZMLJRN6(4/*?!V0D>5;CDN5]5FU0+[GU (YC-[7 ^GK M@?3U0/IZ(/4]35VJM@3/4PO; TAQ4ZX!(L8$4.6)OOJ'>1[TU3_ZZA\74OWC M?16PJ%@V1(P F)S_ON)"7W&AK[C05UQ0,/2[GWE?J10"U,Q[L%F!YV;8]UF! M?59@.RJVSPKLLP+[K, ^*[#/"@27 9&&6X%YWY MDZ&'Z,Z.N(MYK2HX)N$W!W.%1X4A,L4(X.2D5&>PU42$YRCR;C!.561R)^-0 M%J<&-J7ATL;)E"-,MIC$KY?R8__"Y@ .5E3%Z;@+"1$R6^(ZLZSI1 )]Q6D+ MYM*/KK+BX .+'T(%Q6T-0R\)A4O("1#GOO%+%X_6CLF/^*I)24, :DHB2YE= MH00#..N@8-Z+ED&JL;'PNACZC.0+=5;W0NNYC';+1AI%O-+- 83,U;G(1P-. MR.=B(WF(;+C8<>U]:N C<7W;W5J\UYU5.P,(LU?E(Q\I.#P\ MXG8\49-N<>F6 .+E&CM=&0;F V^WEDM^L;P()1+L;+W&_ABD[FL34 '[,R M[U)HP+%G8R-PKP&&OA.;?.SG$=X\4]0<:2Q I3, WU*3:RI8F;>$3Z&HC O\ M:FT#7:OX+[P#Z?T4S"9V]Y,,")UE$+!INF B$_?%"MT7)#:/3/KC<1)H:UXP&T$=U;B67+C69Q%QBFLXJXE7.H#">C M',HK/N&I#Z\Q "M<1=+2+.&ATH!7DY]*^$:FH#$(VTV-RC)46J#RXA6K4SG5 M&(2M=0:54Z@ 4?UR][*DI4'7D@MWN4J_$)?RW@HC9HW?4#F*T]/B=U35TA:X M?4&I+ U7DXL0+,=3 /#8=RKR+ND)2@V>P[D$'4A\.V#U@!,()"$"7G, !Y7: MNC*/ T2VQ&\2I'=5*6=*>@ XI]1F3@D:$/ES2!S38E%Y)P").-I<*L<$4BSM M&*=EYNAP15!L^^@&U'Y0"*@MV9'S2WSDS*)I ^LP&?RPVI%(P8FUP;7EL3J[ M\S5"X1V;EG+F>E?N#ESO_H:<%>7(#0K)?V@= [%^ 2YH936Y373Q0.*"8R*>4^X=F !:A-NN+6$ ,EL6PQ3D]R8. M^X?G+.\1)V\[CED$)G"IQ(U]ZH\D>=IJC*LP+*A3A6J,KH U1,&X; E:,WED ML4(;;U !G0,2UVB)"9HAV[."P%VZ>Z=:+ 6USP*@3)JVE-1.A Y+4=/R T-R M..^:-B\Y79"9=&B[%(D%ODX)/W)N(D(]UP?JCEY]O:=^Z3IX0+Q[+'4-WJ:T M<)Y3U9:6NG W>\@_7UM4VFD#1(+Q'Y'V*?\$_NY]%SX#JN1793DM#A'H5K[$Q\*A A0G,KKFT38OOWZUVQ\:&9 ML,)CK5.T7.#A"$X*2E&)-7Y[,.?R3; \4RB"3P.SQ3I.T+"G/:?+!;'\P+*E M!U$J'6$<2$G%-<,G!;3,;N&/4_%!_.D[@+,G=?'*[*8G'!I((YDC&_L.6[SL MV2JZ%_*32+A- 82S]4@K1L>L(_."R-#S<%Q8?!H#(3[BX[<'$'RN)O$"G P_ M&NO%Q<(L$NY2B 37N_07P=ZO,P"8JRE-&P,Z1 '#?J$U4-80QNZO+\$\3C58 M%>?O%JNS'+!P@^53^;'Y6Q*W*8#=GB\NQRV("[Y9*YBN8?1'1'7O^(65D!&7 MWN*V;E^!\3:A%KR94@I XZ+8A>&WAZ&[)&(IX0@(=R4'E]"PX[0%H-BDDB5@ M!1@%5_"!"Q%-E;C-'8!+7&K8E(=?ZE"(W;NW%6,V"8+H$'E."LG& =_@ ;W& MG[ARH-@9@E.L+QF*R,$YQ$E 2T!^)*[-7N**_\9C'[\]!']9GV-\?)I^A^R1 M8!LA)[BE*# V"70"2.0[A[<]DE(#$BTHZP3@#I0^QV1( MP>$9>SH2^S%&)Z#W<-ZPS*CC28W<$"4NR:-G M^7J7/X83Y<3*8/]--^UL%IVD$\[X!-W(&; M.\<2)3>(6IHD2](A(:Q>%#-R?G7#]<1WF$30]1JC&'/@8 .IOPPV29P[I(TOAUD$0?!)J'^S3>"H4/+)*R,RDV^C?2*%VOJ0UJ^ MLWBE+-]-?<3W @0O*%4:!X!Z*Q>?T_M*E? RG'##!<,&E< MJPGI )&G0ITGZ0-#!2H(JP*'8%P[01X=;O4-^8A8WM!WALZ&4I8JB3BK:_S& M9!6)2PEIC@% ?RI)9N8H50]%PP44SE(TA'C^C\/$1/^Z7+X:A$G^$81#0M'5><-!>#>3!.B&3BF *?.#:H)@&1( -=Q# J"A#CF!2(KJ6QS9 [' O]"G8\Z%$)^1 #W M?\#HA3QMH$G#4W)#M):-X306@&M$8"3@1!4XY^DG?#GDN=X52!)C<[A6?"@1 M'L3E1A9KRT^2_X('O$=WACWO%A/6272_LT4@ -R4:M32;9F<[TJ:DR5M3I / M\P-PULWHCI8E_4#O]R#DL?T:3/PD@:!U&<]/#\"KO&01SY/[/4CX+S')C4EX M?GH [O(E2WB>W.]!PBFAE\@U*>0E$ "( URRG)=0_#V(^I'POR)WM:;_'[X@ M8JU0,0P'P@75@Q) -DC'?50]>O<+)DT:P*ODO;B^590:M!7V/I95UI&"M[:T MX7L?CC?PRK+.'+Q5I@W?^W#^X:XR;8:]AU6V=R4C@@)X2TP/N/<1 M=("[OO2X]1X65U;C+'!H>5#VJSPP .H:=#/\("8K'"EGM9IMZY!N4B#%_N(T M1RI5.P,HLM"D%*F2P?Q5KR>?(!NO?%;60\[FN@9M-5#S!=SM+RE]X&B#\6;K MX1U"7!N5R_/1YDBNL\6Z+?V=E=EZP.$_43@[XIVH06H*[/_$VEUQM$K; M0+0JG@8R'MJF)\0:-$D=.)]5/*(KE*W*H>_<6^1W%(XP)2QKDTN]#'2KTWS5 MJ$X3PS,X I04I;%\9Y# -#@"5:A?$W2I=HW4O@IX!I9:V9JSQ^^3_W5KP=3$ MTC[O_P+S_HM:EK:Y$KQ*)&P/X'Q/DLO./'S#[DV "N--*!L2[8;/05P# MOFZ+16=F /F7P(P7'>J!599E2.04?ZT*4FD^ +&B%E?S^5I3B:@7JBG';XC8 M;B WS1N:L,LQA6JRV@95+U98$^OE\&[=S I;DMFR>;LU\#N:V W M4#ZHL]YI7_VZKW[=8:<7;EG#OOIU7_WZ EQNN NLKW[=5[^^%+RVRK11KZ\L/[\L-[BT"WK/!WVF6%]Q/UA8([6RBX$]4[390*[JMW]M4[ MS5?OK,_$.>T+PJ)S@O9=. K6O:OI)G7\FS MY4J> 0E3[*2_G5A)?_EMQO1'B9[,?;OLVL8Y9,TPH72E%+Z:U6.E$I.AH#%! MOJ?DV$0;+A5SWPWJ$@['#V3, =H^(:TW,2&SWPU>TI 1,@LH;$^U+Y+<%TDV M*FBE=WZ^$1S4+GFBF;I\Y4LLE$U0"\Z)467TXO^P*S#42$YP$Y84J&V*+M]Z M:D;02LD$3,*>Y7@]%RZ(O&U=$C>6IR#5,WZ7;_S(9:L>&@$3K%9R6NM5:Z S MF%LI)=T^"=^?U,*[?0DZC:"52M< :7P!"Z,OFWD9E;#[JICOIBIF-PI9]44O MWW'1RVYDL_;HRF*7:0 -E,@E3\/@"MJS2[?AB018&%3=L5Y0DT/Y-Q$ MY'@F%B,4I+.)#@_(<#5E58)>M8AYG1!\<#YPQ^Y-9&_YS3H:.XR:0G^JC!?D73&M>!I(Y M6W5@V\^^:8YPER.5J84X\4/B^H%K-WEM1C#?!813E-9X0Y&3/#DO1T8+WD-< M<+,5<56;^@*B(ZU+KAIE@0GQ&0=1*<\@BV3M5V@5)KR R$8U@6V(GL#$M%%[ M?;A:$;2R0M2* CX#G@L(:K2NE<\@=VUKP&95JYE@7]%_8N%F?_DMYR?.$.,# M!6B$_9@7=N4O$\:BJ#=&J2=I*'G@U.@#3;V=H<7[@H8P*+'?B:T/[AV.0*L'1%N6Z[K!-"@ MHP5%W.LD)YQ5<'DOCK5:CJ5_<0R]DQ?'6BV.TK\X=@Z2_8MC>YEMM59*_^(8 M]F<4-^(RXR#^_D1GTGYY['N-E\=.\^T?(8MG[)\@ZY\@.U>C]$^0]4^0Z6Y" M_1-D4M$IVR!F\R?ABSF2/EVX;E+34V022D!\OZI_CDRDU?OGR%K7NOUS9/US M9"T_1];&M8^":]J_F2.]6]SA-W,X=RL.]1'&?T3L#EX04N+&\)?=HA T[O)% M2/YU"0'"<**"E?&._]._*@,@]Z"43' D[.*.O%K-2.E/O-[)B5>KS[GT!U[] M@=?Y(MOJT3^X\R[X)IKT#9HCN1HL(EP1B/XAEIH(^:[DN)GRGOKS XA;F=$: M+4LZT#*AC2#]CI\ZK#MFTP$1?X_/(B97?HU)>'[Z+D>:.B#A>7*_!PFGA%XB MUZ20ET#0Y=A9!^2\A.+O0=2/A)<^S /"^=2#LG^!L2U*]TO%Z$O0.J"]#Z>W MBCJ#ML+>Q[+J7UGOI,L-=X&]QP<'-=TX>*M,&[[WX?;#767:#'L/JVSO1+(Z M3O"6F!YP[R/< '=]Z7'+;-KG':+H!:>;L],M8K>H_=4P"% 8#'WJS5K/KD>G M0IJ9GW_^_G8"FO_PV8S)>DLF3^P8F$U.!P&QIY\"O M?Z=2(6MI=D;AJ]G0)"0WOK3=W$VVX5,Q]-Q@2X7#\0,8]^D8HQFS,J;+IP#%VS:'GY(^ M ((?%?@J00J.ZY(%]&!5[481(52HCNEOT^6MZUN^[5K>(PYB-HR9A16X5%+O MW$"-N><,#\ ]/UL.SL&_*R)321! >(>UL[<#3*-^JUV%;^E^ +(EZF-=&C'P MW-/C&8@D@?HX!8D_"5:Y3?]0ES+^C56D%!JT\LX KL97MG#EV$%GIH]>D[JB M6EQ,]0)P=Z0V]J70,ALHG"&/)4D^6B3<+8CE!Y8=!SOU8H)_*<8$9^.[X6)\ M,W@>:YWF2]*)=ZTQFJ[W),*:((:03H# M@ D_GL7F;+TG=>P-E_4Z@2,L$536$$9=('U1Y7&JN=I DECH-6;5NIU2"HN; M @B?B6DK!A^,NDFM55F 6M[-6(1:%:/R^D5:VPRT6D4WK!*7^QPQ@'ZU"%IC M"B$[29[%UMR$]8L4!P"VX&1"G;D=87C5&N1> (+(VERB8CK MKS247X6Q <2(ZU*1%; '* /C-V3'._)T^8!>1P0Y;CA<$80VQ5.;AN8 $'EN M0R8D5##\$D9B*=]8H15?(ICX2TS]SQA<MN]2O'1/M!G:8L+P21'Y M2%'%!S'41VKYKOKASL%U%-#%$P1[8 )!>%32!V!$5)N1&8]7C*[A8MS)LA:^ M9I%M R/PJ21WV7K:&2P:V(P?"78B.RRO7%[: D"DLE0 CKM>'N &J)8.$ARV M4#X%1:T!A$K$U!0!WWK8?83] 'NN$RNQV.;A7)7G-83XUD45-2W"$0!72E6S MN*GY:_=BX>)3'<0#%?=T9R'4F6.%/'W;]9@@,>"$+U+(.AF^PB^3J_1.*4,% MQM6UPWXOY JWM<&]0I<=7!P@&(YEJE9VH*76U=RS'1J8<1[F4-^&NI>3,4,O MR(_0+:79X87L7]UP/8J"$&\0&;_97N3L4ROI/\[">N,>;%88"8Z1IRT@E?"% M$_5G8>WI\AO&#CO".]BO<^SQRFV).@ X.:O*1A%:<+CUC> @H.[;TN5=Q<^T M '!J5I4?&3P,!U6CYP#]$;&CU!>V4^M%2W\L7AN=/UW/Q_]X8@'3\2_TOUVX M+9JE@3"\6=JT93LF!\-.^(@OMS6)6:NR")4X-,EO#R1,*18O M"4= N,,YN,3O,I:WA1#GE$F6@!4@'*[D_/#6LN-L)8&.*FL()U:GJ)[*D !$ M?J%2*F\*0Q_QI8A/_0:/3":^36(?-TG_N<.<:]^RQ@ 4C$A CB< A2,2O?A M$"UUZTR@8;BMVUI0*T1W MGB W1=X'0(Q0G^YRM"!Y =(8/[>YN;B^! .1+];58/WAAO("[Z7O()$#A M=#FR@O7^"R^*JS<$@*6GPV<]Y.!$=P]@CO#FV?6MHWI)-,W^!JKH/K[. !!B M]1H\U4&MZ?O9ZK#,$*NT:H<1NS@^])W4'6-N/DR=HT,X %!@&01LF,2M,$1M[25N N /!@=)2I&IL(IVU\_)S3;GTG] MU_\'4$L#!!0 ( /R#;%@2Y9VIQJD "9L"P 5 8V1R92TR,#(S,3(S M,5]L86(N>&UL[+UY<^-(DB_X_S/;[Q!;N[:3949E55;-U;4S\XPZLH8V2DDM M*:O>;-E:&P0$*72! !N')/:GW_ (' $2 02" ,*A6K,^4F2$7W3_Q>W^;__S M;1N0%QHG?A3^^S>?/G[_#:&A&WE^N/GW;[)T??:OW_S/__C?_L>__>]G9__K M_/Z:>)&;;6F8$C>F3DH]\NJGS^0QVNVP' 3F/?6]#"?GT_<=_^OC] MQW\E9V?_P4F<.PGK$H6$T_KAXZ?BBXN<6A3^1'[\[M,/W_WP_0__2#[]\-.G M?_GI^W\D=U^*AE^8:&N_LV7@A[__!/_SQ#@2IF.8_/26^/_^S7.:[G[Z[KO7 MU]>/KS]^C.(-Z__]I^_^UY?K!_>9;ITS/TQ2)W3I-X2U_RGA'UY'KI-R TG= MWY[BH"#PXW_]4[K?T7__)O&W MNP"X\L^>8[IN%C*(X^^@_W\W^5=./OJ4T]*A7: @L6RASB7@< V$@';DU>@% 4Q0?&RPIHCRA M[L=-]/*=1WW RA_A'V?P#VXG]L=?+B(V "R?DC1VW+2@Q,7_]V^:ON]G#1 : M:"WCNN1.[!:\V#\[[)"W^,Z-OTK,@_V%X]W4<;9LE%>RBAB__$CSU_V$+ M56IZQ#2)LMBEO7Y167R5I4L160L8C6EX]O6AA\S_<5F,U4[HD:LP]=,]687K M*-[RT>S?A!@C.E8AP".CV*#MP==XW:I)C\*KY.]P.E6CA"?[%%";SH.689@Y MP3W=17$30BF:X?>H)KT./4MN@]O#&B4]V=,$52+(3N=R=S3V(^\J]"[9=*!% MZ<-V^)VN4;-#KZLUPNUVS:*>['>"+!LX/0*$)QPN8R=,?!BB.P&OH2E^_U/I M=S2D'K3#[85*:4\?:DO*DX&@F"U^]@-ZDVV?:-R@=T,3O*ZGTJ=PNVM,%H2S(5%,$WETH_.V\IC4P1_[8L3BH[16MT>NQMW:%IW8$5C MS*[;)?*)3LO(DSK]BVJ)AW3L;&F+VS#9Q M3_3*G.:B^ C6YYT'8&OJF2>!@'S2>< MMS$I&$SLI'=1DCK!_^/O6I=-BL8S<=!&'1O=L]9R!L[9+.]0V"FH$T9^HF40 M@/4RIH["%P^^QNM]37J4]Q:D[W!Z6*.$IC[%QU^@-I$+P>6^X.XY"M5;W0U- M\+J22I_"G0Z_Q^E22BE-W8H3))SB9$O?!^IF,7/G3S\\/?IIT(10#4WPNI9* MG\*U#K_'Z5I**4U=BU,AT9I\^N'#T[>DH#^^?SW&#ES4?MAOGZ(F30^_Q^M9 MC9H4;E7[$J=/-8MH[%""&A'DIL.IJS?WF4E,%4=RBF9XO:I-KT/,DMO@]+%6 M24U=K2!*"JJ3'LG]2H/@O\+H-7R@3L)&9F^5)%G+^86Z/5XGU-*TOK94-,;I MEGHBG[C"!/)GOP-]4C @@L-4KOI+%&1AZL3\^D6<* UQW Z[:RHTJ[OD02/, MKJ@2]407+,D207RC'1*? M?&^FI [WJ9W"::>\S!I?."G=1/%>:8/#5M@]LE&KXUNM91/,_M[JW=9_]\"'=IE=Q M',47$9N NB#&Y\#9-)A"JQ->_]37^?#EG;H'3I_M(??)K_$8#R=T?2<0-['X M9YPAJ3B2WX#G_SN^6Z_<=;S,/)_16:8I35*GQ9U;&^-UXVX="_=5M\3IMAKR MFKKKZN+S/J3K8*>:1!TS4H9YEST%OOLYB!SUEF.]#78G:]"H[F-2 \PNUB3FB1XF2!).<[(CF&B[A0>% MD?O[P[/#S'2;I9 E$"YIJ'?\VSMA=T$=G0\.95IZ8'92+;E//:#A/ AGLB"" M#9'XC._)^5S@LQ]O5TTK\,/O\?IGHR:%*]:^Q.EUS2*:.E@QQP-R9'4YF2,I M[HC5OT7O1$TWPJ2O4#O0(/>_"O>9YM97SJW(IZO636J!WH<.M3GPH^)KU+YT M).2I_E00G&R*1L,T=H)5Z-&W_Z+JU>9Q.[S^U:K9P=RKW@BGK[6+>NH,2Y E MG"YAA"=X?"8N,'SV$]<)_ILZL3I98$M3O/[7I5_Y0$W1#J<7=DIK_' MOX0E M*!,@;2%Y8*779_9)T]T#=4N\KMBAW?'Y1:T93D?L$G: DXK*$3GIJ;U0'.[I M^6&][5P\L4'#9E^4&L[!&YO$'57^P5_*X]_;=7DF M?!>)>PV*:@H]N^+T11/]P4W[],/GP4;2&T\EHS") M_C-9'.G0 *$L'9&DU/ M1DP33U\F">/5RP9- MII2]V,G7AEHA=-QV#I&DT/ XH X:8H\KE;BG>>*B?+*%(LZ&5K)0SK$6=A=. M\@S_O?I;YK\X 1,F68;>PW,4IX\TWJ["%YJD,(P?KDR-". .T/ZVD*-6OS?> M4#;0P=CU&1L6W>Q_B<1MP6MP<89G+":W1&)I)>XGM@A7WX5_T(JAE>'8=2%/ M=W)/7 KH#4V;WZMJ=L$=^SKZUL;HEO9XXUM+:N,1.R=.*NHLG-$%N0FR,GFR:<1M''I^,,_'+9VM&5X45R;03^ M74QWCN]=O>UHF-#V\5O5%C<4M&HH8T)C0[S@T"ZNJ2/F5$E.UN[P.ZZ*5)"U M,GN^39]I7-LR4)B@L2'N@%/K)D?;<2N\H=8BJZD3]* M)\#F%5N=8363B!K6WZ8(HZ[IX+ :\?D@@@BZBZ,=C=/]'=,C788>['+M8#=+ MO4[LZ(([OG3TK<\9U>WQ1I^6U.;3*T%\03AYOF%9,K"W]IQ$9ZXLK90]WLV9 M!HQ&5=;:6O66Z>1 4L9KR@2Y]S?/Z>WZ:T(Y]*IF-QU]<,.1EL:U675;![R MI">V\72TH$XX^07A#,ZB]1EC(>;@=F;>$VD= 'F+DXA+NJ9L(N-!P= MQ%Q)/85H[8 [8KMUE<-5W1IOK&K(;'S!.2=-!&U>;+68V]N:-TRA;LKT='(] MK1T I4P)_RF@I7Y7;VZ0P9OZGZ/(>_4#]4:X5E?<<=M'__I!4G<_O+'<2WKS M@YJ"B1S,Y$/)B12LOK5T*C6M$=21/HB^+S1^BE!H[-&U'_HI)8'_PE#.+[DV MPODD,-^#4AX@W##)TSQ%K;7'#7*N&BM/$ MJB%> &P7=Y@SQ8JP[6/%P56T?:+8>@2$/JCJ.AP?'N(-FP/Y!GW#-.4IX4#' M@_;"X-IWGOS 3WW*+[M#,K[G*/ 8)L!)0[KO>)[5HSON4.IK!SG8=/OB# M&IBZN\2H/$Y,][9??-E0?T&^T+__W6$S:%I80;R'<6*:,_^'_ O+N*#W4+.U MPVQB7^/)IKKU+.)[Z'>--9=&\H)S1'4+#8.*A$R=:DH^FH;6+&7W75!@G4C*!KKB-SL ?PQJ3;CG--,>858VV=2Z:^(YUHRS?#9F>;=)AI3.^PG* MQL@CKE5'U< WARL*'?(.-?Q5ET 1#H2CZ-TP\$V$-^-H)C"G/K!;N\9>?U)3 M(.R^^WJ41C_<2*2MN?JY6$,GO/BD+_I@S\9*)O8O5XVN?(57T<$[LM-F%:X7 M4QZVG]A_>.C")^4K&[;LEZ9%QR_$.AOC#%(]'2$RVUO:#4\I^M(2\ M^NDS^2N;=R2>SPO/LR&-#6'@]A_'B/ F9!O9A.5K,WA5)]^HF?IEW51ZREY@ M:0G$KZO*^FE=TU9UP(EM^KH>7=AN;(UXRM$M\VGWFFM;$[:G&&,K:WMWHF+? MO3^#/O@:M%%L^>$-KR8A!]CDL[VW-]0"VVZX0-UU7^0Q7X;>113"U(C-G=3A MT]X#=SAI:%O+[*]NCC?<=(0V/OFI://[R37JHTRHN_/T3ZBN*U,G'VZBE))/ M_WCXNGV2N'VDVUT4._%>ZV&&NC7N>.W04HY515.\<=HEL/&P4M!%\IQB+#VK M!Q/4VKN( ]TNG#C>,X 0NQI+:7_B,;IS6I:')G1F%;GZEFF)Z6XBLXGV'JH, MA0-0Q_W?J+4@8%9_Z20)W[F".$&5IDK)_@)V= M!+8O+ZE+MT]L9?SCIP4!".'M#C_]P M(BKPP_:$8TPKU-YCVIMWP,(D"KFBOP!2M:R-#IKA#E&57H>+C0*":>X(+^(,6K%QQYK:^\Q%&P9D/_4.B+_^"^+?_K7?UG\XX__S,=8]N>/ M/_ZP^.%?/@TY4"\(H[2C;NJ_T&!O9=A>>IXO3C/O'-];A1?.SD\=Y05\96O< M:-"A9>T)2'-3O-C0);#Q@7I)EP!AXHGX&QF!LQ^8)-$P81(A'*E#S\(:FM^M'YTUEJ]Y4D(>OF54.7G;U(8$X MW T5.>$56,&/B&/9&L?B==@'8/JMR-O*!D#&V=8+,6O6B41-HYIU?,[2!I+< MT]3Q0^I=.3%D4TPD22_IVG=]U;IM6K?V[32\8=DBZP3;9]9R'H^@MI0A MF VSD '98M[C\?4KLR!;N9LT@G[BBE*"9->S*S&?PBX:W7 CK*[>?;)0XD5? M;W3%?1LU=!K5C&OTKHEU@^[S";&E8(/%]N"!:EX8(CGP?4^ MBN.C(U(T\2Q.K?O8J>PQPSBN:]L9PZ+YS.+W0.C!8]?B/8_.\)7ZS"R&FR0?/) E)GBB>4C-52$=*16?^M)@SW6U M7D_\5MP_FMI?L(/\R=1'QKZ EM@&'Q+*FKN7!N[S&;H-99,+@RL]CL6/.VM9]1E ZYXFL.U9$7NEJ7>D95^_AZ#_G@AWD$CW*G M4/.JSY1:5Z7/1]:]/SZ/X.*H=C3$U7"^HMMVUZ14M\:-SQU:RM"L:(H7E;L$ M-O?6,(D"W^/;$"5Y_LHOS['+&N0IC([?1=BY^?]"PXQ^9C\])#$"*_SJI\\7 M&8NX+8W+?.I0:9K]QU._(S*CA#L&3K!._;% ;S)X8^<49!'X=4G 5 M678+OG+N_X*UM9=%-FP$CZD2)["5SR]);]<_1Y'';Q32^,5W:?(0!>H=A98. MN$&A6]?ZLD75&F^(:\AL/D(F_,T?)RZ*C>?D"="W-($=7=T-5SK MMQV;G-.D8W77UAYW&'5JVEC9Y; QWA#K%MDXX7A9PJ0@;3OWU!2ZTIRTE8>L M-&#D-C_3D$D3L$%ZZ6W]T <=(1U.KK7".-J=<<=K/QO4'L%J]<0;R3WE-WXL M*]@L2,Z(ST[KK(J MY-@;F(S;"0S.#56=C:J&/?,A6)^X0:FU:I$\8T-<8>V M6K?Z+M)A*[PAVR*K^1Z01))PFI;V=D96#>*-!5J8.+QT%'$;5#VA-MH]Y7DI M[IPXW3ZUL-PVOF$A7$*%8ZI;:50GHNNQ0 M:SF3(#O6KC',JF8S"+0&84\/M5K*1+OQ-HI^]I(>WD1A5%7\2^H1T ZNNMM@:32V+P?2SXX<)#/,T MN0VOW@ V,C]YAGV*V_4E?5)>(M#HASO@M#6O73CHZH0W*/5%-S[/9QSRR2N) M0E+G(:I?/ U[:T$_=L?7'HB#VO1(;6]HM74G \B4GF9-#=,3Y2Q(M>SIZH0; MRO1TKBVZ6WO@!3%-N4^;V[9.\.W<^9A";3_7-)^-?+L@(;42PGVC=[Z!VRMF M9QBNX[GL]#':M74VGJ[YEK6\[K86F]6^8/'@P0\SIG'UY.F*/3]TXOTJI=N$F0KJG#.[!MQ88AFD7'6-R1$W/DQ@[>.W?:.PPXM1 M4RAMOD,@'0A4+Z*$@/(SPR8]114^SXHA;X1*]EA(MM4?(A MISWL!*C/!NDXJM[IAN246#:\FF*>APM_;FC:>3GAL UNK&G4J+;.DAO8Q97N M14>CK*<\*VX\HQ]$F1<:/T4=IY?3J#-)Y!0EYXH4D!TW#5J:XXZG+CWET%*U MQ3MZ=TILZIQEL<0R=ZGMJP.CJ5K%(6&S?9'8YR<,(7GN)+ZK:8VB[;R"L:9A M6R3RAO,)P[JXP\7@@G#**.)O&!V;]+$2;)=^D*7*K*/JUO,*N ,MVT(N;SJ? MH#L4>,BPRVFC"+RA]&S6:9+@^Y7ZFV?&>\DFWE'Y:LXRFI\;.G24'4 ,D.2-/ MMI8^"F/DPYENQO?^5&:)E5U6T4!+%8G9X66G(M-.O,8Y1FQ-JV[-,*U(XEE< MG4YM$8NKUEJB;'$0=$/3V_6C\]:Q4-7KB1L?>VA_4"NCJQM>'.PCO'E>UN/T MZ_F5J@6!LPD&@HS?@BS3-/:?LM1Y"BA)(\@M H\9+*\^IS"1N #NU@PE3FRL MK#.Y. UZPV]VX23/GX/H]3^IMZ'PP 4^%'?'[JD;.$GBKWV77RE;KIEQU4GL MA^>"&U]&LNK1LY+A6.#%K;$4/2V 6Y$.Q"(@%^&"+8CT7&]17'X\%'!!'!#1 M6G)];';^&L;4":"0'WF. CX[W, C.W@#YQ?/>6,G9?/(5V>7\&OZ,+ZDSMN' M3Z.\2]!8FV,S(G>\F+K1)N269']%R@&(? @:LJ'@'(;&'H#^.$//J(/.'V"X MP3O03#7"Z-]:QF/<0\+$\?Z:):FH*P6W@3_PP>9;$O WW8"00>8)! VK2U8" M,6MCSP^S&7M&,^YR&V5L-1>7])G=^(L:QW6S;29R+K:,0VQ!2/.+ K,8C+CA MCJP9ME3U&IC%.QN2-.QYTJC40O\=#4PZ6EH;F\1(=(S"X7C5Q3H3\F$RL'B@ MDE5K(#'2\"60Q@H($VQ^9@L9'%,0W?_6.7@!EO!7X&P7#D"%YMN=U', MOY V"Q\CL578\S<<2X9Y N^HOX@.,H\BP/R@>UPSC(CMN>"DD)Q(H@L,KX0G ME?3U,X!7)C]B6)_.V+::!%H)S^*%3 MG^H\!\.>5M-=>+S+ :NO8B,.099'DE,6$]-9L+Z[DB\A[+W3;3E?[W\BCQYP M-+35O%R"%RATA+9TF<1*V$]G#Q'%6-?\/<\[1[\Y,@>\&-Z6(]P708U&(^B( M[Y;(S.^'6+D:4J7VL5KDZ]0#NA'O-[Q+@!P+&M\W***$P_%Q<,);#'@N,-2@ M\4DD5\,$C4V;@X?;@:,?%/5F.$\8'<[6ID= _;C-#W('U'GRPYV&PYSW<(HS ML?GUCVQP3%D?4C88BB(FQX91.A\_W7A'JKL*R9N713_\5/?=KEX4:$6Y,VU!KCQX%@7.^4 M%2&ZHG1@6]@[0*[FZEQ:7W9.QS^,L%<^\D46QL&_\\\5/XIF5]P(V4=_&?%T^N%%L%[2&V=#DI@L M2,F&WR>7&5E!E,DMP-5VU&I/,]^2^-^N/_NAPQ KW%Q$29HPY2_]Q(67GJH% M3X_NN*.^KQUJ 3^P^' ?CD0-U5^,(F,%&\ M/S!.1U.M%;@8SRJ9YEY;4)S[Q9UXICU'%455>3RUG]G&, M,&T"K+$UKD5C27E2$)I4Q?(7)$E*=V?9SLZ*8TWC&!9G;E&N5+RQOF ?^LJY MAT8WG*#45^_Z*J.]#]XYAK;DYG-KP:!6N+?(-T!R+I:6%E.I;KO"95%KB7IP M.X,-%&W;!4^_D9,_@WQZY<_8PFR'+.&;$:/YF MG!D=]L.N&J_!3!.C8^F>1N[ON>ZN1-C2\:4HAOLYBB^C["E=9\'2;5W?=W3! M':@Z^AX<>BK;XPU:+:F-YXLY(3@]H/X+''TN\J&4P!Y[52W[GKZP$'."49(/ MZ)Q_CF>$>L7L#["MSW2%0Q#PM_+^->SH%>:*2W-9RL4PC4%LH)@ZFT3]69+Z M*4T_"K@QSL :,N3UZ(X7 4V4./5Z;V->G*;G??8>L=@P"WUSGV%>)]ZF"&BT M]MJDX:BWN Q;WEI5V*Y/?]P T=L21T\[=#KC!8?^*ISV\*+ILH3\]*WD9^_A MQ'36L!'ZJ]"-*1/ADHK_EZY\7#@[/W6"CGMAO0C@#O[^MI"C7[\WWO WT,'4 MXPM6Y$/!##+Q2("0,[1]=6I"DUSPR4#"BQ)4]YO8:BD_Y@U\Y\D/'M-1A3K'<)/; 02RQ M0!.\PZJMTL]2M-[%=.?X7G$*FN])+T./+T*6?+ZA;2E-8G.+[SXV:@]\'4IS M0H1>^@P,%3GO\A@%)L5B'T'P'1$_'ONO$R:Q5&&2_**96"B(4C).DTTLKP3N MG#U,6PHCE$NIZVIITWN&I4=S;@AD8#&]184&P3GAD8E:8RU#I=NP4J'Z7*: MS&(G78ZXZYL\1DLXR8DILPJ#OG1_QS1-V>SLBGVZ:[F%T8L ;CSI;XO:S53M MWGCQPT 'XRV$G!4D6\B9D8+;@G!^"SY?+UE:VJ>=TB9,_&=8Z45KF(QP+MP& M5&&#J:ZDNY1Z"0#7@Q/0VW5OC.A% 3E(]+?&P?UUW>Z(8<) B1/N,7->HG0U M<(/HF! I>EQOMV04ST]VD;B#@0PY#J'S/$O\D,)-?%Z/!V9%^3>>+OJVDT". M'0;V:)UBM/1'C!XF6@PYS:CXE16L^/R\8(IEHC&F70K:M0M>(C)J"=4>3=:MZUX_=N-==Y"3:/T$>VXWGR]@[Z"4-_ M6YCM;.*=+!CH,.%.)J:CD;%,P@$A$U;@N6@2O,NJF&VWAIOZ&K(/,S@4V:BSE-3 M6Q]I1]662;(E0>2$UD?6EL!L:(8['%5ZJ89/W*&GE'28P7+P(#,;(0<*KJ:! M\:0@4R1LKR%$F&0Q0,1=3+=^MBV7N0=J]^J(,\+ZZUZF=M?JA3S1>S\=3HA/ M)KTXUGZF8H?6#]>0NH@/&G[!F>P$:[(N>$^;!7X:!-MR-B>.NE>PEO6KV0PUL_'8:$MRA+$>+;9/:0IF-3 MX5OW+&U"$S3/VX9%NL&N.XJY:K$LY!6)5,O(UAXX(;"'MDUW%QN:XUU9Z0A] M\LW$YA);EB\ACJHQI.@N2V5QE9NJ94U]^6H,E2^/M220.6/ =68I_=4;7,S( M_.09/FCFA;+2E;FR.?;&D*/\HLBP4HK3$%E(*0G7C].*X)2D"Z M79.K(W4M['M-JC0O%-?T&]N<.]W3@"<^BAZ=MU_]]/DY"CPFXNDHK&1YFC>YH43!-YX\S _A GY( M15V&5\:=T.TNB/:4D@1*,I&T*H> YH1Z%?JI[P1WV5/@N[?K-8V/-[I,^B.' MG;Z6Z#K.;NR,&%AZJS#P87?.C ANI&!GKW*1%7/XN15VP@I1SJ5\O)*%'HU? M8S^E<5F8&0URW*X9DFZCD)>;ZW6OH-YO?DC1J'GWA1>IT[R0H5GTX:^_""Z$ MLT%T#68\Y1/*/-!SXOUXH=^YS5(6BFW9W]7L@C.2^^C;L-/2V'XV6RWMTAO/ M>ILV6& W$(H!9[PJL.?';"8<[,5$&'9DO+)@L!3R3LA3.J1[B(6,N?O$==W' MME1]5[PH%FUS9WP2M4M5"UQKW!&?^A3+AX= H:=Q>B6UQ EJ&MHI3JN*9HBG M("W"#A*'!56;F<['4+*D!#.&-/:?LM3.FW=Y'E4H^CF*>6;DAO=W&K,Q/2K( M8]7,*JJ%A08)Q#%NJ,@P\^X/\M'MMWF6\:;'FM97(5/8QEK91/T7N@I+]2* M&QSZV\+L=3M>2##08<+7[)A28XQE$KZD^Y 59I#SAY<7T2PGRKABZPDWA:-D M4?3YGDVV;D,P$OP7,A*^.($X"8(9D,LF0#S94.C5/Y!:KD(WR."4Z)+G'72" MG^,HV[$>E[#M$J9^F%$O3]0>A2HH0B$8;HA#8:(CZ+0O%5Y(1F0;4UP3*L"R MKU""@!9P6P0DR\MD2P(N2"6[^!+RCAY^5NM0ZD0*I0C7BO>4]2*58E9FEN_J M]V13=^IOX-)/_KLR%I1? W*+7XW_@U;"VABQ3K+N'8W]R#NN.I3;7/X=A6$4 M/_SD0N >B>S\)O*H,ZT$>$<82W8X)<'3($.&$)TTU$*3AY/ZD"5TL+(0F=O/ M)*SFOZ>A8(Q?YGT#]>"X^TYA% LJCH%L.XX]5V'K[5'[UFN$J 6A4-]Q3802 MXYGG(77BUOSE: WT1#=^&,)0J3+3),#^D.UV ;__[ 0@+:2 7(5L@;+EJYZ. MG*WZO7&#=4\KR+"LV14O /=5P#069#ZD3#=*)%:VTZY:L01L-@11DL6TK'XA MTK!*G*TD7F6SW&A+^2N!.\?W;J@*!!H;XHYWM6X'-;0/6N&-XA993=U4D"3B MG0@0Y35:;!6O'EH['FG\]0O< /2%KBEP:"H_,5'$,4.PN4A7N!VVPAYKC5K5 M ZW6!'.4-0MJ'F*"7AY>5V_%]LF%L_/9Z.#_'>YUP&(R" MNI6+'7[S(T5L#\V&3,R(R)U*P(D]9R@(F)7LJ MYA=68&,R6RQ=-\Z<(.& X+CBU1GD*'.> BI>^>36HI(L5K;<4B>E(HT(?YD' M+_V9&:_X8Z*N#3?-OKCAH9<%:IMM.AWQ D,_\8U1(0J3*/ ]>,Q!2I;\_0A/ M)9%S_0(SBYK%8UFXM0UG1J]E[>8@9O6Y32>SQ7DR&^:K#JB[^LS$']LT;G3/I@XS\-96L8TO[8DGOA55M@YC=*WX M\(&"E]'6\55IMU1MMA([S.J!;5?,:IS'XRB>\M/8_7SG8"6$JNPGS1V>J'77UP M^Z26QK)_MG; ZZMZ8AOO&934^0;)V2HL#EZL>+'K9MN,9P'D[UH!U]EJC8:) M_T+%"6B[1_?HC]R[^UJBYNFZG1%[?6\53M@U*SCE;\EKO$A^!^##=90DW]JI M>Y:R&0WUKIP8+LLEK1&@;(S;W=MUK%=":VJ)UY$[Y!W":R_IVG>/"H=.NZ=P MS73D9V!=2U2Y(6Z?5.O6N&50ML+KBRVR#K"S!43%0:V5U=?Q$Y7C#>;[* @^ M1_&K$ZO.'_M3P>W$AE8YN /8AP1>]S=5Y(3;@X?OP^!5D\RT.($@OP%CDG.V MM#W,Q()$6BI&[ @L?(H=^G]-4M2?FOK,5(<@7"PX<6,Y*I ]_#&.&$@\$#C%]^E ICN MJ1MM0DZ%S^>4ARVCL\4=T5/9O7XP-RY/O/@SF>;&V\QWJXO.LF&+*A,.7#*& M)/1$DL3*I R]9?D$*K>I*[%'M)+CBC:77OLYCA*3S:!V:KBA\40KZ6X8M9#" M"V2G*F0<16(I)#B7^TB=>/5$(?\@;+>N*7\%@6GA.+K1+FH+*;&TYFNGJN2A MC$ADQ_C@VV$:#)ATR,T2F;3MI+TO]9ZP25^C@<"IV*Z:-SJ-;S8C>+*]I],? MRP<;%.8*3QJV.6W.-#M(TM%EXIF2LX;=5)Q0-*:Y:B $5?">:>"16%2H)FG$ M]YPYWI"$IJEXK,\WY_&OZ]H@?+C!8*ZPI&.=$R=,LP,F+66FGB9AAJ91#38X M-MF>/*EN>,.5ZTMFSQ/'Y 7FOX#K7BD?^RY)8UY?&M..G9BIPW>W.UY) MYNJ-QJ[/QB&3&;^"#FZ4-;:,]AJXB0A>!#179<0+J*))SIF4K#'-+$9$*Q3?E M=N4Z%EYY+ J@691(D\#8?C=\P0C]>V06#%E2:EF&8EC,3XNYMM?D2Y$_$(P0 M!;[KTZZTOZT=<.-IMZX'K^L5K?'BHX;,QCBX^OEF]7EUL;QY),N+B]NO-X^K MFY_)W>WUZF)U]6!E[N!O0G_MNTZ8'BO^2-_2<\;W=Q4(Z';&[=/];%";%VCU MQ.OK/>4W]ON*#:GXD((1^0U8$<[+4BV7B>R +_[/L\0/:9*P:=F3'XK:M1VC M5T<7W+&NHZ\8''9*N][UY"EW7EV;MQB M@PZ';N@Y*]=ND]_4R0LV1.(CEQ>P/F1-9 ?;P7Y/7>J_0"+@KF&IN27N,&[1 MKI[(Z:@9W@!M$];<"_EDZ8'<7UUZF6QK*_MG; Z[EZ8IOZ<%5V1B)O?QP95VE,@7M/7VB8T<_,MR^BD /3KW[Z M?)$E:;2E<>?PHML;=S#WM$)]&-+JBC? ^RI@ZO7W5[]_92M^F#PA M=/BN0:M']UF[?.M0IMMWMDX_'-;GC @8GQ2L^*5+4C"S/]Q-9PT<&/#9\6-^ M#Z):''8MI#JZX(YU'7UK4]66]GAC6DMJXXGJ,^?]6* M3>&P>&_G6JNCS_S\MWVMU=9A7AX\X%H+[GQR\M*>'8;%UKA:XPE]!^Z@U="VGB58V1QOP.H(;9RZ[H;-E1YO[RV=@3:HUC7(='29G;NV M#C%M[6?EL,-!;4D;7^4-23Q$Q] M77.HZM-_AA$P!JX7S!:$L^,O#$N&J(:W:@Y85ND;1WD3>082TCJ3]*,P\1H8;-@IV?!BM&!+! M$=5P.K5ED,+'TG7CC'K7OO/D!W[JT^0BB^/NA:5./]P@H:WYP9.N]DYXH4!? M]!.N.]U_O;HDUZOE^>IZ]6BV5^)Z,>5^^HG]A_LJ?*(67S6VZ??"Z:<]M08O MU>QBUT>]R.5I1YJRR/55P-13'Y\I801]-A!YU9@4A<05G(@C9"!!)<3',8:I MIH"=R@@Y"R+Q(#D3>\/S9,H/@E4G#[^7]"G57L8J&^,$,#T=:X6 &EOB'5([ MY#4NK'-U;F6KI:Y.UYI1W7I.[MBZ"E0TG8M##H>60!?5ZFTT12V%WG%]X9LH M[1H/.COA#D0]G8\2$2E[X U+3;F-'];_Y_+^ZC]OKR^O[A_^@>_6/_XW'B?6 M'U'Z])^C:VN..MJ=Y^;P8P!V8XUT8(9JN)K0'DBPH-+M=ETOFL:33T/IMZ0J MJY:G.^NZFW\R4=RH,8S-ZI553Z&(%U\&TLLXR!YO+_Z+G)'SYK\Z_\B_NKI=V$OK<0<4 ;@5>1N". 4-$-J),U,G_D7G A!1O[@Z\U:R#'&JC^Y)?%1>"]O\\F3"$D M]>PS%/>B@1M5C"QR,!SK$\"+'V9JG! F7U:/_#$NCQ*(CM7-SU;!,> @4K'CMV9K#%%M8D]M&&RP(@W5(+M./H\:X0[&9IWD\*NWP!MP"CE- MG>WZ:OE@R\V2A-+;'8T=F+<)O;I&A,Y.V-U01^>Z6[;UP.RF6G(;NRTG#W7H M<@9$<+"_*!E;<6OQFA\=WCEQNG^,G3!A\*-1GD:C&^Z8U=6[GJ:VO0_>N-66 MW#P1Z_7R\>J2W"TAF\/C_?+F87EAL9Y%L[KZ:Y1^%.;IZIHKF![=YQ< XYQ> M<5Z$,R,R-U3[;).:!!4\/- -;"_>TUT4PVC>]?Y!W1QWX'?I6;L-KFB+-Z0[ M)3:^Y73U,VP'D\OEXQ*#>_9XV:#5,J7GUHO$*H:4Y\@CNT+,6MHJVB&.U2V)C]_QZ_G#UYZ_@H5#5 MPDZ>GD/M.D>#Y^.B".EI2)((U@^!A/60Q1>>XD?G*[/JB: MO1?_VUF,5[VM>Y@_4Z80\@V O%8Q3!4F) ]>0,# ?^-X'^,'8\6>0CR MO=#DGKJ4"?444*&[PERZ?7$'?R\+R,&OU1%O\/<3_X2,_9PPJ2BC"7=K%K!: M,UEO8&]ICCNMZK&S">C>&IB?6[54C447]).;I6X/>Z]=Q6M /0AH[X$[ZC6T/7[DVM@< M;VSK"'WJ\];B42N2N!U79:"*K&"M7J3V(H [VLK5.UN:([]WHRF\J9LV M5^UTGJ(L+>[?)&0G>)/)RW6.J7FY[973MPY2-I2VD[#@A889_PGNB M7_WT^2)+TF@+N89U)BR]B>"$L]-L4L]W:^F -]3UQ#9^S)93)SEY4M!'MRH9UPZ'ZMMYP9.DM^L')]#=.6SM@#MZ MNW6MO]U1M<8;MQHRF[_;25*X?PJK9_$*[8'&+[YK?W8^N?(/4>#9R<@2!'"; MGX8T=F"G9.EM_="'A_^I_T*OWJ#ND&X<&Q/#'>.GV:B>RL6$$EYL.%$?\X0O MG.V"Y(PY=-19DX(WOO$?B[^[]55K,!14OOA<:IGS I>;D_/N- 5W'B_JZ)/^/"*)>:G5-QF"-_3A#+?AUO+E_2%!A&_OI!+ MU+J&U^N).Y1[:%_?R^OLAC>D^PAOOC4E>/!A7N)2N#JZ(=ZF4:S4SZ9/FM<$ MFUOB#NL6[6JUJX^;X0W;-F&-G_,SFNA"<2Q%R2I),H?Y#I]H6!ELJW+8)'C%A MA4@^7%I/V#70C2KBC]@3KU%;L_=W95GD<"%%9L MDS)USSA3(G.U,X;'_@O?!-!<>+=VP(T-W;K6!W95:[R1KB&S^>A7DD8XVD^A MMJTSM629))'K0VD#N EP]>:GM_&EG^RBQ F6+I/-3WV:W,9L;9#&F9MFL1]N M>IS!#<8 =_@/;\O#,[YAJ..%EQ%T/.48+2&5+.(V#TA#HI@4\I!*(/BX+A(Z M&$-DWAIU>VN=LGZE[G-A97/ZX0[:O'>IS!;V^>$.ZMP;FX[S$B A.Z()],FLL M73?;9J(8FWANU&0?*^G\HICZF_ BBV,:NO62C*''_PQ$VG$]G#B%'F[@.-E2 MM?1_IL3P0LOI*AEGPQ.<2<&Z7ND0#MQD[MA "(_=;.#/E1.'?"%$8[ZEJXTB M0T!?&GAQP5@3\R'N52H'1NHLT4'%Y.:![*!P4T-EH>&2F3RXS]3+ GJ[+I*? MR0G6BM($WM>$KK/@&LY?+^DNIG TPF!S%3XP /4WS^FU'](O-'V.O ,;CL<% M)\",;-4RT%.3B5("RD)+<0D&9>3 M!" H\21)B1^2))>5?1U2LN723IL0!J&U'R3SEID:EW*FQK*4"IMX"?-RR8@L M&EM9D4(X M(1(=[TZ6?)#_QT_PCI=3J? MQ_8G@W.$.=4NM0NV/6G@G<(::S(0'-7R/I"2*?F-L[4^A9W>/!64N,]PWSB! M@0V&2<=UXPRN"@D)+"V,*X,<;N=!+5X7'@_Y0<;PMR>X]*4V%XPQLE(SU/0B M-0?$,5-H".!IVBWGW,7#-,$?'P9-;# )BIS S<3Y&_SY2F$"Q2SDO-#8V; I M/$B3D"A+$T@4!"MO,&1(4X9>Y8Y\8FM'OK+@>9:P:5^2+%TV-4MXPK#D?"_] MQ6W8^4-HDYD+3/6S2S,^Z=&8 S#UU&0(1"I8$IGG@CSMY0]R1#J$H4EBJ,$F MRS=?55M6W1IW1'1H*3N^HBE>_^X2V-2-FUR7_ :DT3@J_#.F]#+:.O[A+EF? M?O-SWD;-N]RXUFE>#MTL^I"NO2 %$_*;8&/BYHISA7O'<^)KZL#MR$O_A;&, MPH>/\6+(F\9>L79F$_A/3A#EKZ'04-QP8T%(UFU>7-V M$!9X$67FU8B_!X^'4VF4.@'9,96? MV5=D%T,N?A9_B>_1_%H]&)?-7P-_ZX?0:^WX,7EALQY*G*VH-A57OQ*;TQ)' M_#R._/,$TL_C"*WLHG%1*NLF2FER'3G\K=QGIF+HLFDXW(;U7_HAKPG%N:"L ML;6:$;4WN3F@I[E20R!EP7U!./\%X1+PV"ME()40^+#1KOD PABCP"\/ZF&I M+ETC8JH3)PBB5YX#%&#.B[*G%&Y\%H44K63Q\Q-GLXGI1F0O7.=5O;0FC;I] M<8-4+PO4TOSI=,0+//W$-\Z"5^,BIF2B;AP2 )G&#-*4R3NR"%S52:!B$%PY M ,@(J:A0LJ'1)G9VSU;>Q5?(^IG-V'Z!"5L^U:Q-,;]0!VK">KKBT+J0B\."[D MXA<@DXD@\87&3Y'NK J%A2OP="JCRBO";6%4)Y77E[#ZA)E9;N0GD,TNE*Y" M-KHP!GN1\23MB9*=W><"@'IV:,:V]KYS@"U-#89 I)+5(D^RDV*9>$UGC@H^ M_)P38$:2\E=W##'8HHS&_*HUK[ 8\PE93)W _SNW% <3&[A1/+*#%/*I_-*N M"S&T.N+&"GW=993H[H47'WK(;AH*!8L%X4SX.%H]144"#!/8 ?FC4:CP^NH' M@?[$H*D'[OC6T+9Y^#]JCC>B=80>]K'B)N=7N\OHE'U]4G MJS!E0O@,/\1"X7S_Q?EK%%\$;,;>.LD=C0E.]Q_7I@VI-@;B@/SNW7CZFL8G M(Y<%3@S;?6X0P>J4KU^W49SFTTHAUQFDT_!8[!:2Y6ON([9CC5,HPWE=Z:?J.MD"04#L-&;V3?QMSXS.1/+%PWV\)W/YO-.RNTO M?00=\\?=,/[GB5GA%^(B.>'>5O(2+ Y#Q_2256_F$E6+'Q M=;XG7#;"A;,]N<1J9'EM>N#]5I)QJZVPE"(_KTRJM7MU(DF>8EL>W8YB2!2CJ ]L&*Q1VDZ"I2@$F#_]L]!?6XI<9BN% ,8^P M?ED+\K=(1Q<]-]XU". &JOZV4-Z\:NV-%X0,=!CH7A5/'22? 2(\YQO?)M(A M7FX2Z03/+CQ ?>:>@-#892X0H-:W.>B/V\\AS%ND'B*P>5%O)!.%R93.U\;_ M /D_GRSODG^!5;VH:;B^CL+-(XVW!I&L368NT=W/+LT1KT=C#BC04Y,A@J1B M"7\!TS,6P5NDB#&5@:3Q/[_^R-^+A*Z_@RWI]'&B]6B6;%[@GDA\#BO?H50<(L(Y MGS/XW".R-$06!VYGR USD0B7R6;^W;MG)TRC+9?M:^BGR=W#UZ0Q/9M>#]P1 MJ*%M[*-$1VOB2M: M7)EPZN0#T/^6_"986+I7/8'./%0'7,9\<>+? M:7H1A1Y/ZW3/9@JQ[[(QGVO1'(.].N(,Q?ZZEXL6K5[(ERO]=##UV94R@>*6 M\X;F%:=.W?+XWE24AK![S3$#VQC?/&LO'=RF*X:^&A6G=<=Z0?'80P;L\? MSG:U=>_)5/'&T("Z&:]T-5:W'8O;:\LY5#%8$2#P[/S(BK;NQB&PR./MQ7^= MG2\?KB[)Q>V7NZN;AR4DHD6YP^FF_DO_PJ8]B2$'[Y-LU&NCLI$28I ^39_3 M@/F\#KA5!$,Y&<'7]C&T;3M)EW/X>.3D?+ @C8RO?)RXW?$7>W T)0P#.6'% M9\8(=!*3^2'3Z3;M0BQS#O-"L@'T'/J0I3:]7! N%"X(,N M^Q:L70#,"]U#;, 7J1]F<)0K97;)+9TW3)TWVV]. ?*C$*X]%=9D%LQ?\I_3 MD*[]O@_93"C.!=V,K=6,;+W)S0'5S)4:(AXK[A*^,0'*G!H?&4#Z49L+C!E9294WI >I.8"7F4+#9!L1G#E>*4J+H(,L M>^;R"G-)D-1<.\0N)'T-J]J7S$KY9#.YCX* +:'+MSCZJ&1 <"[ 9&JK9FSJ M2VT.\&2LTQ A)S/G*%6P)\"?Y +@ RFK1CN>58ED[O#,-9,-*N'8DY#0!G!= M4Z;!193H;4VI6^.&G XM93Q1-,4+%ET"FSHUI[L@0!E+B(^EJAR_^0YSN"$! M<+,RF[BF;&)#;PM)N-K%+&N?9W?2.^LWHX0]F(VM4P_TWF0P@X"Y,N8 3SA M6+Z(F!PR2L:+(G$:FJ-Z&W:2SN;7&2];L/5#?YMM!<)4B=)B*%8$2YPL]*!\ MV>E(U)E*Z"';[0)^O<()+ISD^7,0O4JO*.\IKS/Q&'%#]*P/_YR#YMGRS?_\ 7YX7DX;<;!5X@]:J!4&$J? MNHRVCA].YE5?G#=8RRO]ZO![O)[5J$GA6[4O<7I7LXCFB8,XM4F'^JFTF&29 M4 Q"&!\(C*.>:>C)4L QFB0'O[$B2P*3ZU(64@G#9DBY.';6'#@L M>9,7^UT71PWP_ -,>.XD/K^<+LLRW#;Y3088#/54PFS-%,EBMMBZ8TJDAXL1 MC>8XH497SW*7NJ4M\JUG'8EC8VQ(EOW;K)"[/C M5GA762VR&KMF1;)X9&HI.S-E/^TS6^1@K?'F:)?RX*C]&<%,AEA7W),7=*+%4O>O/LBY)1(,1&%?!\S8TB7#O60$:+X#F^0 M'TEHZEL%(;OW^.YBN&N>[OE6&9LH7/TM\_D KE? L+,[;E?L:X?FJWGM??&Z M078GN8SQ5+%H/7 NRZM2%>8*AO;1Q\C].#E9J4MS;D+_'YH%I$ MX_L.@MKTMS8FT&*:PI@J$#C?/S*V#1/O3%U!Z^?I[Y@>>'&Z9T\<_5%K(4BILZK74'=?OB]O=>%I ]7JLC7I_O M)[ZIUQ>D^:3>E^A;V3;"I?,D ?XYBT,?;LE!IF;_#?[5'M6M'7"'N3:)W"'U8B$H6JDX3E%\=]]D,:[^5E0&MHMO? M'9X:VLHAVM(<;YCJ"&W^BBJGS?V6%M2MQ*A]/>WNSEQW5!37ZH@[7/5UU]J: MN<9?\;N'[",=/UU;KM8]H07JJJ,*[J\)76?!M;]6'3KK]9QI>!]KKQ7?5;<9 M!GB#\*-$^(((3@18X8KP 4V0ZQCX+S3)"]%4(6]U/%^%:;X=+O+&W]!T%;I! M!CMH/T>1]^H'0<>C[YXD<(. B3UD-.C3'R\L&&EA&AP5L[SYZ4KL4!#E(W*;/;)U^9"H;D%&\YBSS7'T-U1YJ:_.G G.]TSD(HA+^4E%?]_7Y5<4&UG#$8==Z /;,7:=MTPI/%"R= * M&F^/Y7) *8]"$K'*R&4AN3"DD(8L73?.G&!!"KG(AT(R-LFXE\JHV)EH8#'M M!:^1DH!EX;4Z'!@XX?X?$GB='F?,LJ]""$OEG0XLD?^JZH5>\)&0A[0, 8XQ[[#&-HSKOSR2ST^]X2.]]95J,O, M'J<6%#ZG&S\,>^A\2H&&W+6:5;G(XIAA]ATWQT7@^$>'(<9$<$+4:3:I*BST MI8 \B8RY/L;/O2&Y%4V)LX44(J(L8S&O\<-B7I,/XDF!C[L<$LMX<82$!'[= MJOS)UO%XE321B03J9I/?_9!7#8"'G\EZ3URN1EX?!7BDQ2/55H8?&3S#[@F; M8- "IP_:^)-7+8.D^;PE*,S8N?0.H$4-VMHT3B!+9KL"R9LIX?9%"1_8&Z4,",*9^/=]YG M%E;B]EV>I_7*B6$.FS#LY*D3]%YX#\0$-^B,8]/FU^)#<, +8B/I:0QV4MD7 M62!2251,$#TQ)Y6$@DZ%6# O$BE3!G^OWB/V3[3I=<<%N@')XX[WH>U82^0W M$&V\,3ZXAL9) X>*Z&OE%U0N(==V.T.^,.R7XVD -.KR?><.HI MO_&N[;'?USG9OODRD1TNG,#-@A(.7JF_>8:JBLX+C9T-)0GP3DB4I7Q3J7CF M"7M?'X(H26"3RXVV%!8"HK&5&S+\6A 3XYJ)M'QQ_("7IHP8V&VC\"&-W-^? MH\!C-H=*"6X'AIA3PPTJ)UJI=@G'C!1>V#E5(>,;+BR0!&/RX9K'4\D<]GL% M>R+S7_!J'ZYM?+)FL&P+I4^BF&]#/'%3\&RK,/-AP$4+8"\!Z:<9(-(P1GYO M"#0 \KP;Q+&'-&/ "YM=/$6# LP@]LGG,F)F8P,V?LWG7TLQ_1+W'R\%M/%I M8');S<26WE^S).6Y7MLG-*=3Q0TK UE-AID32>*%G:$4,W]\X,9%8?="%I(+ M(Q9B"5FF:>P_96F!39?%KL;5>DW=U/;4Q[8)QB42MR MS3_5<\U+TEEZ:67=J'Q.E]O%@=O4=HHOG;:?O^0WPL8Y*RAIXT:T02TXX&&2 M((P7UX95S_(QTH((>:R &1Y+GI6F]$,V_F5&\6/U'T.HR#: MP N5CXU)G+K:X@06+0W+V\VJAL@O,7>*;5Z-JRR J2Y^N;JXO2<5>]@I^D@^ M? ,??_/MM!>"1S-$HXZ_">+3KB3'U]-.?IC@N,Q[C:&7+J<$B2Y G\>&?]S2 M9Q474'91WZ1J K.#E@Y;=""*HO>L@*1+!_-TYX(5D7BQQ4[%C>3LR$5#T4]K M<#&6.22Z9W&N.*]V"H=I\$C (QY;?\$L\YGFSP5LXH4D+X-[%V;D&WJ[_B6" MY"*KD)F6,N&7.;1UV+H=('PK$5'W9V5HE(9!GSG'XE8B[* MQ(<+OD*41"6YK")5(K[5(*H?0:P<=TSO9UA&[V+?I?6%)#?OCLT7_2U3(-Z3 MM>/'A"W$,YKG5$A(7*HT(RAOM&W^I%ZT9%2H_P(]>ZQ,QV#]+D'=R/X#('LO MON\.WLVTMX+Q:F O$E\4.7$ED>>$\M/^%DO7+=$Z)SIWM%Z%+ZQ]%.\G^%UD M7G\\#EG^.,C;^Q>:9&K<)L@? [G[FP,9LA].GG,=2*Z$5%*AL8[" M_ : Z7ZQPI1Y MQOYBW"HR'CK6Z@ -:29E$;8)?J(VWG\<2.[\!<9"9B7C/P9 =ZN/#*$H^/3H_/3E@<[TZR^]4MPQ\'R;5_D?&VN3L$ M^&,@N[X9D"%\0T%.,>=,F?#EG939(_WXOX]DR/![(R.*.GD!)U9WI88P#C-ZA<68WEN0[8_(7^>6=.V??4OUB:AG^ M.".0]B\R\B:]6H _QKBE;P9D0UJQA2]]"4\1\RMYN?"S'_'&_WE*D^T:338[ MJ+^DXBWXH_,F?3G!3Z5D_, M7%02E^(;EM_ ES@I3QWA2!DV/">ETR8E0V[)L;;,\I_%UC U!],OCUUW[LN' MFRATC]9:3Q]I(^37%)2$<&G*.'VS M"&0_8_B[)2#][-<@X_\^E<&\D0RF41MG7B83=QF"TG#O:*2<=G=M#FN\B:P\ MUCB'9FTWU8@V@U7(>]HD&]+O+ ,0!9O(/$D,J9!I^0X8P+4RMICSF@F\2NE6M?W0DP3N4#2Q1ZU^7(_^ M>(/+2(N3TOM#F'2$TV_ DG">=G+B3FN5BS]_73VL'E>W-P]8BAGDV7;O(-GN M,N!\V<'6*'Y*KB,V*_D->)//@KF='08M$YUD MWW<2-N:Q,O< F3@JQAA,Q$B= M.$5@AW.Z\<.PORD0X>*OL9_2V_5:N?G:F\I[0,HCJ_2'S)+$W+'S6)%I0'1! M..=HO1X42/XD[!+2#=1Y/1U$AC,/IW3&]+4"%Y=^XFPV,9C%C\+;]3U]H6%& MVXY..[K@!@(=?>6H;VN/-\2UI#9^UEHC#J>/.7F;!XX74<@K /[JI\\7;)$? M;6G\X 0TN7AVPI#YUYNO&NLTN^+VZS[ZR_ZMTP^OG_>2WM3?"R;DE7$A!9L% MX8Q(SHG\!KQ0NOYEM'7\PT>VO3O/V_WK-N@3 *+G?$/@0/Z1@T!P,PD#18:# MKQ^3CTG*YFQPU8WU"Y8;&KH^3;[0[=-1_0W-+CA]N8^^99* CO;(7_GK2F_J MM?=TQ^2&_7[BAVRAL153%LBMS=P45O!I1+Y^?/A(N!3\!BUX)UO"YX),^U9_ M;'NTJCI9=!(WR$/EB9)1PV2B"?.2/CF@"LV!Z8-E2$U;BHO:/-PYKKCY8Q& M-YP1UU=OC8.::_RO8K0E'^' YMKRVY?1=2\TS5_5 I?!(CF)4RF*V5]5!+,_ M_O( ^RP RS_3:!,[NVZ.52I\62HJRUB=^S2L'1'54.D[M@I[C#N:'YX4W/(A+H?-]'+=_S*3+P7 M/IG_4;ED_L%?N,"UZ9O\!4YG.Y:=KPG*3_&Y48-LQKLP\$K5(QPCK5Q9NHG" MK\U;H\TMJ'Q&V &!O(4EIA*W;&[VC,-\Q9^-T^!;[8]"J3(/A;UN1V_< ^3=9, M^HX,9H,1QXU$P]I01JAA*.-%KH'U.S%P ;=R08@D":E$D9.:<&E@IUJ6Q^;[ M@I.-R1\O7L+5/O5+A,&9O//0;K3IH"%>X_".0[U93_LAOR!<,@*B67QB<;)] MKSN.; =E\,ZC_LB6@T;\\='C^XOV8QWM1[K]LVA\9AWEU'IHV#O%FN\#K(QQ M:.80,R5Z6,QK.)4M"A/L)!-$)0.\&QCL0QQ/AK:7U!Q &0RX06_*>Q9&BDMC91(;*P4M7'\^! )6V.M]+F:4_Q_1O&0W=?5TINOX')Z5A9>DZAX MX<3QGE<2:=J5GWHZ5O[S/WT:LQAXWE^SU6=;QD_MSC,)8BT;*.9E+3UG$,AZ M\I^^*B$E=;$H6?Z";)*6'-NA]W2MC<9,(J&/13K'-16!&<1%+S7&"0\,L[M5 MN,O2A /"#WJ3NL8>,W%^M;:-KG[5 MR:%YS"3(A[3HT-O=U_CO3HZCYA#;WGDY:A@_)9%((1.)PK:=<2Z8_3N46,U+ MY F1E;),W!ZE>2[]Q TBD&CYE/"W:@J#ZO3#C5S:FM>*+75UPHLP^J(;%U3B M'!9$$Y8F!)$DGW-7; MXH[E5@V;YPE20[R1VB[N "-0F1/%\JQA2/6.IP[DPTW$_OGIT[?6)Q$C_8Z! MXG<\(4E^ZV[)8^R$R9K]ON>.4^VX,VY$LZ6 Q8PA@R .>L%8+83Q*T&][WS^L5A5O&= M !#M(=OM C;/ZA7FFC1F$O!]+-(8^CH$9@ "O=08 X8/U(RY).!@B4R9)C$ M,&"-;Y /]:E=G!5?HLW1!MD-#YW8:3LG"N-JL-4 M=0>2-,YX'@H^4]@P2[47MNGH@CMP=/0]J""@;(\WN+2D/J$Z0$DSXK'9!GO8$>-J^YS&E5>YO[Z[N'_^;+&\N MR=6?OZ[NOES=/*("AI_C*%$M>SL[S10 :CIK!3WO,<- K\L]4G!S)KA">5B] MN<*T4GC3H/ T3S-<-]MF 5LL>Y=0V][U^=$X^W= X1_,!,MM%*?^WT7*3I5Y M%.8)GWJEU*K[_%B M0*.4YE<7E2XVU=73D;3AJ:O#Q$JZZHLH26_7Q0'^ XU??)> .TI_SFFU])NB#6 W@B;9M"^Z"<9\*/[_A5%I(P_C8B_\%] MIEX64&&15S\(VI(PJUOCCNT.+>5@5C3%&[U= ILZ<$$7?+2@;#-5\4/*YI@P M;SW/$C]D4\\'NN&)#UI2XG7U0>ZU.AK7?+>M V(/UA+;V(]S8A93V^4BM*:N M.VR#W#6;-*JYHMP L>LUBGFZJYFGB5,\JF*K>"]ST^:#].86.#VH19OR75+] M:^0/BQ3"FB?:9?/&A(KB[[RZ")]!PA9.7CDEC4CZ3$G.ER3"Z:9]YC.PTCFY M471H?U-!MY8E-JB;(L<)#<%'QPQ9 M!CO ,:(59-(V9GG%(NFZ(\5C4SN9Q:+>H1]U!:"BRSPBL4W?II!L M:H\_-ENE/C5(%Z0@3P3]$2MV:F30&55G3C3Q;<\X&0Y1?Q->9'$,-:AX=H: MKP%^9O/_:_6MS5X$YA'!^K9HBN?NWOBCNX<.I\=ZSHP4W(C$C@ _\@$XCI(_ M2WNLGL BA1W![AWZQC4ZC7 M6^(/:X6\IX=P19AAB!,/!K16E0GV)'+(3UX'4LX\BWM(B0]' M,20N#FH)D\ )7=\)2/Y+)[7+P0Y)@?='\OC,VE=MG)B2+&%MTHAX(N$\!:I1 MS-O7CG^9 A%<0&:M7_WTF7C\3A+9\M/6A' K"&X1$S"*R=8)]\1YHTEQ7"QD MF#9_K-W?2K GG!MA I!*@OS#2H8BI>SYGG Q")?#YA79SWJF:JLAW8L"3GP\ MP1JUTH'ZW?'.F4R4."UVSE1A\G00)O8*3:MM4EGDQMG2]E+3O:G,-EK:K*(9 M,4TD9ADUK8J,$SF+6MP 6ZMEJ"^R)(VV-+ZG8G<[>?9W'?F]6GO@#@L-;6M/ M =7-\;J[CM#&C_YRVFR2*A&W\_#/MIJ3A.;2E)CIP."(1"T$UF3Z3-)$-TP?XRV.YK2Y2:FHD1Z:SBU=L =6-VZRB&F M;HTWV#1D-G531OHLITV!W%B@V+^WM5G88H\>.I1FE68>-[LZE 9G9AL\H.YC=(33L+N;0 M=PBN%6\VAZ.*,XX&MMKI]PFN<;P>'>].P;&"__^] LSW"H;[O8:X6W!MZ74Q M%AN6+T$A$>\M\Z7XV&C(SI1O:-I12$.[,\XQQ,P&F@?'4D^\,ZZ>\H]U3 SU MX"P7S)C($M*#:;^R@X,Q_-O>?&ATFVW(*U^&=/6999@/\]JB*\#MO2H97?7+ M8B8DEH]55"O4MAW6TJ5X.=E^?_.I"5'X(\+G[XF=)T%U_Y:531 L^MI8?SW$JOK-$;<:I!\%O19$<"+ M"AF(#6B#7ZF_>>;SD!<:.QO:HC6&4^>K-SA2\,--L1]K=A391 8W#)C:I<=A M\Q$-O/!@K,F(-S4^E%S+JB5VDD]9-,[QA,A*!5)I276[/M1?8;7.3KCQ04_G M6@W0UAYX8U]3;N.D$Q)YV.;O.N6;)J:G5!IE.4"-O4[MSK@CN9\-],H!SF,? MLZ?\QD_F>#G T78E3R\'.*BV3:&-L!Q@R_;%YRS-8BKK<274,+_=H$,2-TH, M82_-#G@191"M1MPFSP=4-/:*SQ;4>-M,] MZ>VF.$MLZZ/72)NGP-8]/-]<"$2[#;%MJ$YB,88/_X@?AN 7>GR-!C%A1>L] M@A$7&%MWQ6NR/K8P!769RZX M,H2I6,#_*WY<6:Z9_08%ET.*[PEA&JUE#C,U MGVE,N1&&RRFS=-TXHUXN;R**2!X>=K>WQ D%&MJ5^5R:FR'/T=(A] E7.;(P M/2C6[0A>Q5%HLB N9+[PUSXZ70O8IEG/PV3/(=5Z)&=LVX*.=N[6&IWQMWG/:T@ARXFEWQ1G)?!4R]/N=#"D8DYV0W MQ*?2OHCY5\'(MS.GOJ1KRO3Q[ND+#;..,5?9&'1&%_ HX":H9-I\%NT7E*IWE<0ZS6'H@12T]NX]#E>:N+&3&: MK;A)M"[.22S'[R5]2E=ADL;\!(E7;%?.QYI:XH[4%NWJ\_^C9GACLDU8XS32 M[C/ULH#"6=YU%&[.'FF\)<")5*P2\AOG9J7Z3UWK:T65DN[6<_+7(RW5/GN- MHUJ(OM\>"VR^:JUYJ;W2$*,K>G7^:"OT\K&O(\-!$63DML_WV?PP%'YZC.#U+8>#S&/F?;(0:EP'&WO,HCJ-7MH14C7#-+7&' M6HMV-ZQT:BJ#B[(Q7HCI M%MG453GEXH8%U*0#XG;W7L93MIBZ0"F_/)';I>;1/VM 6;W!V2GS:+F%],P;!MN@8JC9$9@2\+"]VN]<>Z&.O(]QF M$6%#>MKX0=15%F-(;:S5P)!!X(9YH=;F4&$E?-;C<-A=7U$M?RK3*P[_Z[UP!V$&MJVK@.KYG@#4D?H85># MEJ-R=(6'>[O>+&5326J-YCA#35?/\BE[2UOD[]EU)#_M4?N"/-%U%%.2A7F" M;^J1#YZ?N/#MM^4!!EP7*$RX&MIKZ:U9LDWAG.4(H-=-5K02012"$#^9!+\2U'9]&G0.<+ M@VIB2F?\O\F(K-6MA@Y/=Z24+=XH(7;#92CZ3/3DJ M'J5;?OGD:4^>H\"#7 DI6?MOK%D4,V[ U ]YDUWLNY1$(>&'0/"GT)<4AK!W MMC;ISP*,2?5F7[I 5S$GMVLB3JQ*_J00P.ZYW*2F>E1XBI5)H1_2V_4%SS?V MV7%YEJ"V%!QM[7&BN;:FM0FW/-93[9Q5 MV[FX:(/$@UT8 -KD-T'=Q&$5*[H;^BKP>;F)*9_N+K--EJ2LY:6I?KL>XNR%=>/10P3Y.PCN*M*,^PHW'*7!465&G$;Q1^PR0H)@.E M#-\0RE/(\U3R$1$BD1^^7Q"0:]I%T 06 E*'$Z+I2^[@4'228;8^L6V9\34V MQ EAW;K)@^IQ*[S#:8NLQD^T#U5:9WN*IG-R1_4LKZG=7%QRH-G= MD5.:S^M.=LM[^A(%+VRU]43V]2'2^IYV0&R MSNF/,FGK/%ZSI.QP*['BE:AZU774 F>8M6A3KJ;J7R-?.2F$-=['?X;#HAT3 M%7:@?/6:J7CD2[:<\;2+H:&55KQ8GF"U,Y$FTYR[T)0I6^S7MX[1BJ8X,4-' MO]I!2T,[O -QJ[3&QRN<**]AS,G:N=1B0;,3QM@'2)1Y[8>4IV-0C[2*=CAC MIU.S?A]RN25E^.!DTN ^(EO88RB[,.!2M,/P#;4FF0T_L6) M?3C+OG=2VK*UV- ,)Y)TZ26/P(=M\(Z^2DE-7:\@2("BQ0U%6;'6[<3&AO-Q M0?56XG&K>;CA0-N(!XYH<1/QG,D#0K2N2(X:X7;!9IUD]ZNWP.MZ"CE-W0[( M<9>SLN282)EIJF; =6+JW;[0./0WS^GGHJH "/00K>/RFU7HT;>'5V?7&66G MTL0=E(-8K%:SXQ2">$-^&+6,)^>WG^_M%/_ IO9ICVV\*%S!]9@G)_S]=KV& M>S+*^-?M@S.^>VDL/Y)I[8!\[#5NF8^JF.'U-1[_J-*FY'?(Y5Y?4I@YWY;")U=\R)X:C MRR1E_P_G$Z]^^LQG4<4WE"T[(+6CR[F2'S_9N.B.TP86#J;F8(<3D KD^+-@ M]I!+\2L3(O_H"M@7W%G/[W_X08UDYJ00(]V)]BF1T) .!LPA4MSV+!'5KVXMUPM\MF+"*7.6=_3!"6.]-.[*^U)VP+?UTD_L MP?._\"\X#TNU$4=5&S(W8 G3+\Z;O\VVY_R@!]Y&.3OV3;KO89@6$O,+XBY[ M=,6TJO^\0KQ3BX$C'G)P(AZRG*]E0CR<#>R2=>274T!,128Z3'XLKWDB7GA/J)AEB^. M'XB,_@@7[^=.XB1'!#&I7U-Z?HE@#C&B-Y6X7^"Y7=^O$&[9F_^ DQ#EEY:ZX+%!7J?9\W?MK MEJ0B;^[Q0:5F/YRQW5OS\C:!3B?D%PMZJ7#R:W'Q&*@D7'BPLZ'3WBJ81.LC M$*N!%EOVE*RFOUE@]V<_&;Y&/(S@[U.\N](Q>^_C-A# B7OFMM [F#CL/9=Y MC98.XQQ0+(A@2"J.R$XI!C=([:'H<#.92D*V:HNV6Y\CS^>CVL*=C7'&KIZ. MY41%V1+Y[*1;[A,NP.64^79<29NL*27K*,Z?)A?'# O"_LRORO':?4Y1OV#: MB6<]6S09;.GV&THL7SVRU1B\BMI9DBMR#E\,=S@0J-'9/ MRG1(( 8G0WLHUE:=_9$#F:DVYEG#\RS/"8>LK1_RFT"B(JC+.3/0$ZQAY/6C MHNZH!S5$'9'].:\YNJ_03H ?] R=J;%O:AL>3=4X2R)XDH(IX5Q)R=;V6FY\ MNWSI=J:Q8)47(KVAZ365-.NVB:K;;."S56\%9#;VF15,MFLP$#2**L@A34E MYXR'XQCK" -%*6#&AQ2,! #:AKUQU']4.,=8^+8*W9@RSJNP49_+C#Y&7YR_ M1O'29!++%<0JND:EUL5__Z\"*IJ"I1 MHB127"PW,)C>MLEU$]>W%LE%4I3'-MS;,>*MPEBUL9OQZ.VI4;*'=7WKY&62 MY;(CDAW-82*^JI[BOH2L+=Q=B%Z)1R_ME83IPEY-&C':5G87C"EZ4,ZG]-#. M"X_GXS/[(WUW0LT5Q9:N>.&)=NT.6#=SP?=.A=7A=I0J"(_3I]X-QMS#:)85 MT7L#4BMG%)J)P;?8VR9I'OZ.@ZLP\Y4/$K7W@^V(RIK+]^M;.L%U4G71M67) M A-4<0&P(V]"=U%5-I,*VO6=Q:E%!:GF65:0R(ZO/W8XSF0U.;V=8+NSFLZB M+W?W@.O(BG+K&,GD'1-6+"^]V M"DD7T/]JM MTAZF3RIK6B\>=C4&OBJH)/KX-1/I*\,;C"K6QR> YEV@,VH F8KS+Z%!4'/V M,XX2-#YJ A.%NO21G3Z$&_5;I1Q];T5\U/HN>.>HRS5=Y)8B9@;CC].)>WGBSG[^DCQ MXJC@U7;]O3V+E8:)J.%H*?0\)PW% ^UHSWYLG? M&0LK;VZWI27#Z4=PXB_R#&O),5][L*6ME4E-(^DEC#KR0%E;F!BEI&%C_M+6$&[D[!9W](RE.4M9($K9 M8A9XHF5G\B=O[=@8E:=ZDJ8.C5-=[S2WC]3QZ=ST&4OBQ=FCMZ?S^M9\K[,A M[!$JUZTQ#SEI!7=<=L@Z;4BNV*XV+1BW64/1<+N[GD?7I(UA#\IN':6H6;>$ M.SA[Y-6$F?8?5#.DIZV7U(ZN\O!\/. ME$9SV([7IZ?\P,*A+5SGZY58WXTT MA+;!YQ,&7X*L4=>J"&J-,NKCB($.._F]MA@53_8IPR0(_?)XU6/UU)*2K3HZ MN^2\?3:0N[*LIRN.W2N_SHUZQ@F5K,AO*F8@W-Z8)9ZJ>Q^V29QOHCW:E0<9 M[4S/XM=<;:5+TA2V7W?IUYRDG;:#Z[.=TDZO/@:QR'6L8_<&IZRQ6Z.S8S.S MM:4[(U37QF7K&+6XO'6<*H;I+UY4J%VP+K:&/4Y[M.R:V91-X8[4/H$USFO" M%#':[-1UE&1%"N$F='TJ,PW?F(9DBA-87&^HX&<9!VPUA?[[,MF^A#$.>E'K[AK@KDTU;0O;E5JZ;;-II ]L]V0<<[8D7/9O'P08I#7'T*LU\[ MIM,]75P9D7)]VX?G:7L7QFJ'U!H&[H&ZQ?GV09[+),Y3S^^?=?=T<64(R_5M M'\*G[5T8PAU2:QC"%76KD_'&FT[OWJZSWD3:&/:P[=91'+#M+>$.U1YYQ]_5 M(KQ%ABAA.]<56E-O0M7^L

6D>XHP?0Z:%^QF1@=;R\^V_:O<+Y1LO M1UZ*RS=8R ^T_I]>&(+9ECG]B76M^*#W,-^0.6?Y(&=-B$N3Q,BC3PO_2GJ' MXGM\Z$L8!_B#_?L'1)]X(0VS'?;#=4CZ<<'F/45@[@N=PL,"$>KS'QVPK:)& M%%R])^HH*#9V" 5/=)2B8-W2,10\E?L/%(2%@OJ^4!M$$.KV47!N%6=>2;CK M*;%N;PD3)A6T:U\NN(-?6=TEK(Z%V3O+%=5&]+N^6-FO./CJY>S%H"OB]4]$ M$?J6=9K_I+3Q*^\+W0,'6$!>FR#I"-E+AXBOK6ZA8H0H)\18L2?=4PB7QANU M0BA8(:-TZ<-;W!;!N(?=37O_=1R,]/VRI].>+VH_P.]I-V>]OB&\69\GK$!4 M9ANT@>CQ. X@^'N5N=PG=&;K13WE2]+FT#V[6\_VU+K9%K(/]T@\/H(JT MP9*C 8FV9D5KY;PVY69V1?8:VO+9^MQ!=M TN_ B^K[3\P;C_(ZR)5'_8M]>Q72Q_RL.7L/X]0IGX6O, MVG:5_1IE"!LKS-M:Q!ESW.!BU PZ3SJ6PV5#@G +5(J'F'RH$G!!'Z1O*^WC MA^WL%5FW6;.CP+JC.6QG[=-3=#596[B.TBOQV&'>/IHM5E2W:=I93]W9P;TQ M*Z^EEK=V:]QJJJ.6C5R+I=0/^0:GET6:XCA?9AG.L\YBZH[FL,=MGY[BJ)6U MA3MF>R4>.V(98>1SRLACI*T-4]7QZ=[ 5!J1#@U% V/0WM@34NDZ^;]3+GAJ M[P-[3"IIW+[@U-(![EA5$WOZ])AD(Q\46IVVUQ!K)NN+LT^S6C@?C:+H &1,U MTU!NR21@)5I;M E!NB[!#C1WY1-[HTUSD9XR^1-2*MN][:%BOLMDJN?HH=,7 MC$2)$!<)49G03W]!7*H%^=E.^2@0DY;7]*>BI:C7(!I7Z#':Y'"6%G_L"!QB M=@J7F#JFELS?<43PD=WO;65I\KEXR<(@]-+]0WK]6T$RRJ\XWR3!;?Q&9,;X MV6-O.^>)_^O%_K1QU:SS%6^]+&"#I E[-E[BT4@?+F :T7+TJS\U?92DB'- M7!Y4<2+3,*]\IYP*1>MB6KM5[6T6QQP$$\S8]6YE1WM7G%&B:;MG'35VP4UD M(H\>\XW1;/']RH->]#WUA_4J]>+,\WL+9)0Z A^]RKHWAG%O+\#C65UV30/; MYA6$CP_=MPX*?X<]4$\T:DC*OK5%V9)V@&_+JM/ZO&O7^V(O.55 M5W0-<9VD6U[ON,-I3G";+DB0&78M *HDF/H1.HQ/-OCN):-H M<<%#5*QS@:.UH3L#6KZ <=K*C0&J:8'B:"".7Z"0S+7^YL4!"327R7;GQ?O; MV)?/M>1-88XS%?WJN9:D'?"Y5I_4!N9:WDM2Y*ADC/ZSM]W]+U3R7R BP;QS M+5,&D.LW_YS+NHZS;4/AWPHRYJ[?R/_1(^,]FU#MK6%BD:*6QQM0+4WA1K\^ M@:=LN'*ZB!&V_;YTBY[=>T\=[9T;K1T[3;+&3HU87?M*[6/6XO[2D:Z=ZUJR MMDZ-5OEZ5FM#9T:IKA77PPC%E*R5)2PKJMFKJKGK.>3;VPF^ _;KW%MD*8[_^4H7689GE=YT2# M<<:"<9ZPU5%>!S7ONN>L=JJ8<;-4[%!5!\89UH4;\Q\"FM\B]^*H859AK^N5 MJ5K&4'B!0FV% M[?75>Y#UY*/V?,; 2H)C5.-O=#_D/0WIF>X@S'QZEB]#7DR?YMQNPRRCQ08+ MM,:8_[8\P6?$$@IOVQBUQ55(@J$0]/R63S[/!2_A6QC@.,B(NO2,%#]BV3,= MZ^T$&[W4=&Y*GM5RB6QE&)7V/X\1'_1JU7ZP?7M0=*/OI.$,>$) MR@+5?!8'!R>_;1_Z<\7I6>Q04:[]G#[3C8(D(C\(,##FMA79X@TFIB)3^5?\ ML+Z-_103.6CA\&.*W\*DR)9Q7'A1^#L.*ME:IVUCJ,#T]HE6.2SG#"8!?5%G MO$)3EG9V-5LZA0E+QOS%^EW)FN3Q%6^2\G/F,Z_DS&^< TOTL$854T2YHHHM M.O"M4=7"HHY5XPP:-5;G1D*(H;??]&6=I\UA(JJJGJTSH:.VIVYSVZ566W5U6N:.?F)'^#@X)NB5_A-4Y)!D8K:G&<\7=JTI2^-TS# MY-_#?',;,UD)AK L\(+H$%3+.9UW)^EF MOOS=BTL:&ME0-DH8-0"SZO^Y&2H@=CRF5JBUS(%@)PU \2DM^R>FPI^M@[7, 5 M87J(:AR4J'606[3S-()6!K !0K\M12S01QVNVQO0$8J':S])>_V!_8*_S7K@ M\TBTE9^H[>\"T\&&Z%LO:_:T![Z&J2K]^$NU9-<9TO5@1Q9^U 2FPW;ITRB#$OX.-RJU2CEZO9?T0Y2: MQ:2O4J@S<3MIY,90DR=0S1;PAYNF1$88<-ISD-5[LMHD1>;%P>J=A+/]0XP? M-UZ<)]LGG.5I2%_H8-.S[L1D)!V8(W*R9>H49@P1X'G-))6,7^5(1OA/J!0' M'>3A"X L*Y@W_;%BK7XCV'E"A[[A4[\V5KT]WI$I=?> B1T#M&V^8"-M#C?. MJ0@]?GK#7GPZ/$YW>*O>6M8ET;OKX^0HEJ=HG1V<&\F:$KB.L6SS?@\< M$7*O/^,8IUZTC(-EL"5QE$0+]F+;=7E6H?O>CX$T8(_V419I; X/(0#7&\:I M,?XF9\9M@5XY/W92QFMP='"+]J[GY@Z-Y&$[E6X[:MQ=O8-_;XAV#4>7ANDJ MNKBS?!\)&(N>K%>/J4*3+.O0ZC8FMG3Y_;Z@X/VP7KY[:9#]3/3/3X[43"0% M$Y=TV*=>WQE)!_@2SU2M)EVOP"C3;5B/T4:OG#@JZ%E;Y!/12D@!L\5ERUR4 M;[F]W;$+MD#WM4DY_P4J)9B_/-^6J>YUC*HYX9DI?D7FBS=>F/[B1046"J#' M6;:/I--PK62O ;#=2<]Y^%;3;@J,,_]" 7TG>DUXH#?*1#A<3#S1YR<,^,TX MU#.C"+''30,V RSB\HR!V5+OZ[&0+,FEPU%# I$!4#43D0$Z1YV -B M4#!KO)]MCU5[>3]=RJ%;0ZOD%Z* CHA]0M'IL*)BK=&3@28YYX.*DG):IP:X MY$$W?JD#.A\DC)IP_'3A6K S%05BB#!JNH-).,!+!AYTM/]6ABD=%A9HG1'" M'UMH-+97A,X,U4_4TH/G=?Y4 OMYX;@VHXU'\$H$^,BMS5CWIZ-+S,Z-8?7T M??EZST&R17&Q/]F68+;C!UYNXRQ/"W[/'_&@=+7Q8OX>9W:?E)9X2J+H)DEI M)]D6\-Q"P PB=K_)R47JLTD =T/4DATF7?E>XHQTY_1EW[97RL&;9-],<"1( MCICH)#YZ!94#7]'4>BCS+O3B@1T2\'&'^ M+WK;);]W__B*2XTV?,Z]-#]+*[[@US!FIVZXIAWV=#QLLNVA[#9^9'K._AU/ MV'_6H-G^'>:)F4W>GS%D2BP /V)RP1%!)R[ZF-&_R_HQH+K$ ?#3G@AM"\W_CGR3&KQYA8@?/-7^9TEYG"^;-DB$B?L:P,\U0\$.3L/%2:8A* M%=M/5:#ORY>,72U[MAONLWYJ-:M_UK '>!#\$> &?#]H4>V/4*9DG3.,7^=< M6&#^P\IK#GI?V#RS\H/9;=U:F:#E75/ F4)S&Q!>NC!HC!< MOL^:*(S\DC9*;/Y(%#2:"'ZB<%RD8R51@+#7._(Y0 M%A049$3 2Q &"O=9LX,QWW#6*BTER3YC7C#*/O"3 D&M3[IP,.N';1:%G7O$ M:B8#JR3W(BA3V!-A/FM$4OE&-B:G34D^8\11L@?\"',Z[3S;4&+TB[6NB-J( M%\N(T2T?2#PQ9/D.D<3XRIUAX_$P&XCXJ=83+MX-E%\'/M6XDOIMSC%?O(:A[^K.+@VHC =7Z_-!EQ@VD/1^9M,5?4; MZT++;5(0[&"WQ6>2K*T?R[0?R> M>O6I:>,UC-(82M O0;W>[J)DC_$S3M]"'[<'O[K&D%\=R])@\>^7Q _OD_P? M.'^JS< SYILD+7]%V_TDB;VS"P$S(MG])F)*.Z\$<%-C2W8PEF+7HE8S?BH; M^2V/H ?Q%N7,GD52040KLWO'/D)[G9/XDL$+%I,5+VM& LQC$DK(I 5YZ+U: MP??*%?Q=VW'M"=,&]K;/+0&EF$8E&BU)FY]:7Z-6:0\36I4UK?/XKL; 4W0E MT<<.[R>\(T*SM4&:3(&YMBA@S\E?O(]P66^$]FHQ;*M]X.=IZ>YH9A5E68'&YQKGG08[L]^:%1/@( MDSR3I8:&/U<+N\\!KC([F\#88U[G#[52C4$A;B4EF[PWP4B#WBO5"@^#$-?=D>=*.! W#7T.4$H-A?@4-*4\9)(( 8+7N. MJD>52^'EXD7YH/&N1;$)*S45.EPF<59N(JQ2CQ['O_+V&:U+^>JEO^*<5:>L MD@O\E1@>IDN.]7+0!-H 5\ETJ'9]#CD'[BCG+-' >'/0M#[ M)O0W?!5URV0I%U./'PKG:ZK;6KYY5Y@ &/)AC03NJ&2/*/^R.(^+4-Z8MDK0 M!48',>;?LK5ILTO)D-.XI&ZL'K'_'?D9>0,. 7-_@<.VP4R,@0>7V 3>BC1>1WH0S$1OC@,[S*NX^STX/)U58Q,W?B9I[:52>>>O&E4$T M7^G]M3"VJ.CS1VYG/LK)6L>Q7SJUJ%R?.EAF6;'E!EO&P5><;Y(@B9+7?74+ MKNXUJ4&<8:8$%JRO9=59G2WPU:*9E+>(W\)]U(*\;%E5D-C9NZKG_!@TC2DK MD44I938&,&UKL\[1'%9K*%7C!Q.+9[/T]"F9 K-SG88-47WTR?FV=3UV0$.< MSY2_8YM0T9Y=/9ME[+A'1)3AI6:T029@N66-XC ITP_#1!W MJ X2C\LEY4I@1"4^!UPV\!UJ&^U#')U#"LQM]$M")Z)1F._GQN43SI\0F=NM M;QR;FVP_&3I+E(>,SP>1SPRA-7^+VF!O-5WG@?HIS'Z]23&^C7?F.]# EE*YQN93<$&67H "(;M?4)%!OA!AR#S>H,$'SK5(]*:@]R8=K] M4&=)R*$O>^REF96%9&.7'TF^B4E^L''6N*5GN6 -+LJ:5QG M6G\;E)+5QC# MM;#\?DS<>FDH[$6&U@/A M8R:C6^L!!FU].-)2'C8K;TMR[6UB@R82'W'FYW[SHMJ66M]Y@X<,33JJ+-,^*U3-:Q#H1)!7LX>*RB-0F>_1GH MT5(X@)OS?Q5S*Q.?\07GB8: N:)QCB\R6_I0[2]MN'KRHS3B0Y%GN1?3*W>> MDBBZ25+Z1T-?3,KLO-&]V\8Z0;R=T_EB=8^^TR#Y0A&2+SHA61 1?:="HE)* MQZ[D,&OQA]&7:T!"4+Y@;M[R-9]/@YM-RQJ"3,[D4Z#ED:K @+*Z:]\$0O*I M^W4!3 MGFBGKR@8#3YM?,X[^$@MJS/XG# YW^ C5Q5"\!&D,QE\C*?G^JTL4 0!EF.V M DKC_,(*$9N/WNC>=>AFY0!D&K*OEHW #C[ @=.4MA"PDPMX^CZ66]N%)JU] M4T31'I4UW54M73(NHWBYYQ>+#[#?\(! :N !W&^M-#OK,X M?PXK]T8_3.]Z?D!"B)=F2%I>XNC2_IQ6E2WX]]H61A3-IA1 :8FD6B5P/)KJ M_QJ#(JH^]@Y'50-&,!E9,]70JE"WZ<)=W( ^CW@P\TS@OC*05<0?*L29@_ZH M;Z(5]P=)<,;0/\X.(-"_%OWL \"\'ZFBYE044-_@M[!TIL[=<=S7^Q4,E0R= M*=)K-@"$I;-&>9&3R [DHQQ7(YT'J/.B@V4<--^DMKM-,EFH\PX!>KZ9SL@P M3:+S#1B:[ (ACG!5V#//U\+S\O37]O=GC <9RQ]2,#X6C$_+ND9NX3@1G)9! M$-)_>-%5F/E1DA5DC&56?LO7U]3_$IO:[B-\S2,L]!OO>S""1 68ERMCKKXG3?X]EK:4!U4 MD]GY@FZ_RA MY%+=^.'D[5-FDU_6LTDO1'2T;(ELP8[%"JY>[/[[A;)#V$");ZV;S#!%NKBT(LU^BWE)V\?RSL'G2 M-(OV9_!4&#J QD9MK?-$M)P;<.0UJS,@O.5;OV!P%J;=!=(N9L#]^Q/UFM0L M:?$4>1Q 9YM?:MY]6XDPP+'=JDD@0+_Z;JWJ6K4;F;B]K]>Q13LBH/@!^<0T M2OQ$_L0A?X77A#Z#J#C)D??FA1%-H/YL CK:,-^*UB?E+35' M)+!$E*>M75+P=J$E*O9>FIXZ#9%7_;09F3[3_1=#$Z)QDL $= !?1^>ZR @Q M@"?5EHP!(9WNKF]L!SJJA9.K+#8^EK@I6<4&%T.#_#""S'8S+( /D.2\0\.$ MKV-HR5Q5C/,-#5., 2$T=)^O.K/08.-C'9^[,/@0P=PQ0ZN YQU*]']+ M_==4ZY#N? ./ 1M!B$<3SFF=6; "]($[-@<6Z+WZ#E[Y'=+Z._C"=XCL+YR) MW^$)1UY./TV6]QW)4N@&.UBHZBU">%\?N,"J+/EHN%L]7/[MQXOE\_45NGSX M^GA]_[QM=+FE+X/M9 M_7*/'8&']R(PI8U"@?B\NU?&=7RX08PV$HG/OQMEYUO:"))L5Y1")JTO>"GH MX'XDJEUO=U&RQRD];YAB=O8PW8N-EMNDB&4A=#)1F$"FUV9B^)U&$6YPUJ37 MI"U_-DLYD$94@ 6J1$ -&9HMN1169A.6#5=;QQ?M0>8 .T)P#$Y),I]++]NP M">)=$K_2R&K#683VL-10K1.4N31&7F&7LM+<8LX($Z0D[8^D>U'-G='$9'N1^+!6Q*\ M2_F87\R;BLUI+,JK7,BAW'ZD[%#-KT34DF5Y5&K^G&U.@_RB=^3,!:CB7)DN M,\79<47]:"+.@FN'310AMH6"TT#;I<]H!!'7B3$GBE*^7$/S"@X[N*, MN+\7W%GO -G'^@)E@00>"U1R026;A<5C,3/HSVGRI,O.&7,"=\D6K[R/$MXN M<$SF[#G7NR"J/Y#DD&%5=K'_/T4:9D'HLREZ]_:3#KJP 4&;Y42\F$P4+ISH M4VVLMW$)$!&ARC?0EU**'Q;H( @Z2+*@%0"B,/+3)?-40Y%L&"]CDJWX=$5? MV:*RW?[QY& [YU0[->J"1M*"ZXJ3-1J]"4T9LXH,QAJ-\$@[53&V#/;MS\]_ M1HE,^5D@YR9);481@P\QXVX@ ,YP*7&B9H,M8'RE9.@,F%DUD%TDN MBS3%<7Z# R)%U,#4$S/T5;>-(P4;3:;8IU$%-X(.7$29I,WH13K.%)5<%^@H MKD$&U*MY0AQTL45,) + MKLGOV[T<@&OKU[PD;-%MN^&JVRR]?9UP834+M#AR=T?P[JPH_E2G/EY] .?< MANW R-N,RWP6,C0NRWLYX=1]6K?%94D7\([<*_CDN%Q.9,&YKC'-2\(6W5:R M4-%M#WDG)YRV1^<6GY7T .^R?7)/]=BN53DC#DMO@5=P6%-ZLUOHD5]J7\^' M+1V*P42,0,>"VUA:L+U]DH6.3KX,)P07&Z:I,^&<"^/JVJJ;96O1=;#"K]6^;M-CSZ>KW&/CU:6*O]1)*(ME+$\D]/F'I,&(6>PED@?=1A(X1F M*XI(HHDT7,31K>#H*V,J.41HHOQ0D^&"7A!!S^-:/A#4;K.LEZ_MPXBZYJGCE/.O)=ZAUJ^6I;C3K4O6YDO0+!G9:*L-E%J M:1%!Q1KMRRA8=NYH(DGW$:S/7D.A2T;/;3& MR+DQ8IS3VT?7)7")?X0*6Y<;>H?Z;5Q-,4FC99;A/*-W27"8CZ+DW8O]*2G9 M,"[N@]L(JP[%NP$LW(; ,8J:1T4N%7VAK%XVHFVY9*@6#=6RP8?*.0U],-]; M;2JOH@X5*\DO+XE=PI/+XT<3<1_I3FTR%,@.%-S&J18]S,,0_0/G:@9?_HW; M)F;OI =3$4:CB:I*7OH$"BLV\SEAJ-AQO/%&6UR%I"/5(O2F6%6!M/LXHVJ_ MH>C31]=M3%+6SCQ2M6R-LW:B./!S).,&K8CY&+W@_!WCF-Z S"Q'I^#5U)(B M'N35L/LD#G!0D&8O$6Z_#ED#.?=AK=2IJ93S^9&$B0 S%!X">@1NW'B,/!IP%7S0XBX"+FJ%XM MJ][;-1PQ-UF3RV;"#XRS0/2_W:RGV@7+YR_SVH1'9 M8RRM7O52*UZF'?$K>SC+2]/].DG9^GA1=E[+]83-=4+3V>O&- ,]&.G2@TDK9#$#550ZWX1?]=_Z'>!*\$8NY< MB;1 I5#BA (&QMDR:6602&H0P$!7_4JKD06BYPAJQS:;#F75K\X-P$[TL@=; MU:]-8-4;3E\2$VBES7X-HR2V]E=.C/"8TLPQW],WSW.B]_5O1;C;RG=Z!Q%P M#'IZ;=$),]+>#D%*OPY:X:-B1_Y%&3+7J%G"2&G,6>0O__I?EZB(0S(UVY)9 MVB[,O2C\G:]Q^4EFYY3%Z;25(I7R'+=L[)C?-W3L7INA+1WRYZ:\>E=<6D*8 MK:45+5KR2I#Z?J[#&BL(/_PY33+E*4+5V#$_;.C8Z8>LI4-^V)17JQ\RTE8O MS-.LY=$]><#\4/G&AG.XA6'DS0I.WY8PQ\'\5D=NV>&T=,IX#A/\ N-&@K8] MW ';O>YYL*!?7]6"0SXJ2CM3]0&,D*M#<:HCO' K[ \0 =4KD:3]G''4;LTE M7MO>R0D7[A%=BS\+/+A3PZD=,JT^]6AA8\QVQ9"@[L])$KR'4;2,@]LX)VK2 ML[0A9NRFF H)UV!DINVQ!FC,MT78I\?P(*#%QV 6?U)%P + M]%S$D &6FI2F5']R#5>&J*0?82H6H,!D#I-(%+<(*8J[[2T]7(0%E7WWX^:N MN;:!'?B&\^K?AI_JN1IWXT$\<:=^ D'2Q0W7[-*W\V4[IZK_.Z4V$%JU;\XW MO7,U^%$[G7JW[-3#J< ?='#(18=5=U77G'0V][S')F?0RLYIUBUM/Y!R=&W1 M^EM,;^![C;E\YK9]8F4:^<4JN?[PMF',FC_A MO$CC["F)HAM^IE%BW!G8PL:)N>PN(HYIGG"Q:S;-QY\_:5S+"HN]47%3*:^5>$XG1)9],WAJV8_=H*?JCI"E< M-^H3>.SHEXYU$[O_.YR&27 ==TZ>36E*V%(G+42%:6;^8ESAY]Q+F257\GNWM1-W$NM&VE !&@=2 M=@Y)Q^JG'7AI.007!=6B(/KQ4?7J$)?&XF72P$Q9V86CK<-85[[OPO7Q]ZO4 MB[.H[39Y_=3/".WZK3@:[N2DSP3O%!2<$?"J5YLJ<9 @#WS ,VC+RC!^99AU M5/@YK\2'!'-7V"3,C:#N),R-M:("S TE[1S,C5;0 ,Q5LEB#.?4=;"C6= 7H MZFW$1QQ[$;M#F=7G8/)]\NX7Z*91=!+0AEA++5?K)><<< U2RDQ.5MWV7TO M:FPK&:IKK8 E8N:-5JW\I[3X-J,O;Q(@WS5L%%8V>B?_80]KI0&QL)>)CV[A M5ON!1;'R+D&-'^1 \?Q0[,A:4U&L)'=>*':LE!44*X5P!L5T&8VC&-WNK,$J M2448:[7+/,5*8>9'25:D>(4_\@O"Y->^8\Z=/6"CBX*VC=HE>7.XZ* B].@C M<_>7#U^OT6KY_ZZ?CQ^DG&6XRB\P7WDOD2SM[^\%>]@J:BT.W9XN<(>OJN"C M:[H[+NE'WQD/*V4CH(/]%>;937W5PF+768VC5*(:HR")3$ MLI>WF2D7*%RC0[\%>F>F]9B8I 5&]%D_+][_*4,8Q&.8=SC+,+ZC.Q-7.//3 M<$>UZNIF\SUV[7N"_/[N_E MXECNS*][NK@VIO5EE5WCVG96;5YWNBMM=XY,1:B.J^W+FL3GG(1$>M7+P_HF MC+W8#[VH*GR\_LAQG-'K&^["3+:RJ9$\;"30;,O/ MF[*?5CC==N9<"IUA0],P&YS.%/IZP@6N@?)/G3>+O5QT]Q.M^_V\[N*:@Y\*;L"S&1-H'JU/ M\P>VOE#G+9C/)\C48JPW^T&*F8O^1/['W)3^YI\WX0<.FFI\KRN&#)&.28U941 M/H89=-GR6*=9>)E#R];OJ ]1?O'2D&Y"*()*=W/ N**@9PTM'6V!HXN*Y-,! MYJWD @%C3&I*]MXI6W2VC8\Z-)E _1EC[TT^\'* M0W&=-J+':V@N2*L''S'Y/-*GF4:0<1AE.NRBC#(M-!Q%F2Y-S*%,Q955X2Y0 MR1@>SIBUC@QG@LHZ=DMG);NJC]Z>SFZSJP+?XX]\]8ZC-_PUB?--=SWB*'*P M<6:JG?KV*U1HP<6=R1IIW^$0RH[R!+U@].B%P0+]@T1P]!#;.0Y@S4K$Z_\; M9'"A7V7UGDPTVX'*>4#)D57&($A)PGW@.%9D5KP@C$'CA2[C$/_][^!A@O#L M/M0SC,X9085HF=%@08F<"5PT5)D7,"AK^)"AQ4#$F_\5.FC<$$-K,%A)YGP@ M0[3+6,2@-,X#,!J:S(H7E#-XN-!B'N+&_P,\6H1O.C*,DLP9H85@E]%H06B< M"5J(FLR+%H0S?+3081[BQO\3,EHLU\1FFB#CF-9YX$:KA<: 1X.0^PC2KLY< M,.)1[HZ B5Y+K38XQ4Q]R+@RT61G@QY3 ,-]C)@9%BS5?\UD"WZ*=5WD18K+ MFHY=21X<$GR+JVUA'%Q_^*0I+_4=8\,.6@YC1)^%E %#1LA1].A5QR24B,P1 MYUZ^DFOI$1-[IOKW4O'F&P'51=OVZ\X9^/#Y8824/>/8W."@B_+!^PA'%LTH%('F%ZBKBMUA?[6\,;[ )G'#NJ_>_1>,O0W+PYP.N\Q0MO:S1+D) !U MUW.WJ4(WF$XY5&\Q2O7U@>>@@R4??SV/)-[8O][4GNX:;QZX+RC>4"#*\C1\ M*2AY AYXDQ0D.U[&P1/.O3!Z)O1PZUT$0PG ]-[QMJCO*QC4&_@-!N-T&3_. MR_62C%TT'S/F--D,!/;HO>;/WG)+F00H8R+,>]O!O-;AW-##&HG\T($A(AP1 M9XDXS_DO1;!BDB$C1!]B2F#_B8S?]C=_U7L!QD9UK6M [.\"' 4'*# >^N*\ M>A-V@<(8>638\JB_8U$_/_"=%^1F45Z2W["[ZNR\-6SCPYO!IE+2I?];$?(K MMJ7W2:EUO1NA2=)'X?PJ4^#J3[*T:@M-H-KW%SUM%9"$6<^7IP^Y101]Y#^.C MN&T4VH68=(-Q1@MY;I+T&:=OH8^SLN4JN8V)_%[T6+Q$H?^P7N.4..R >#>& MMB-!0H<%^Q+=P80="C=:U)Q0SXG6A"MQM3! ZR1%6LM2<%H&OQ [09WXE09-; :B%):2C;J"ZH]AN> M\"Y)OE5T((XJZE;*!F91-CTH MF[4K.W.E:ZDC5YKDLK)G&61&' !&'U1&XY&T6@:O9/:2AE[TA.EW#B,:-ZA0K4< E#O!'*[#=!8SANX>\(;P0+G'+SK4 M9/E0MGIFLYH5= Y=>6O88[9'R]9CF\VF<$=IG\#33S1:G=+)T_*[GK,=BEUA MC]PA^C=F:0K]X([I0=*/GH=US;WLG_>8U0977NY9<>_B)<._%;32\:UO2::] M*7#W[="OX:XM[0"[9Y>THX=B310QJA-6/"3;T,MHM_&>O37.][?TFHPM#D*2 MXMU%?FO2H]H'Y@@O5?C)NK1_CMG,V],G5]S?:AU&_LIV_CDS];?)9(;!GH; \:I M7AUK@)*V!(Y,_7)/J12IKX#J0"6ZGRY(P9YB1%0. DBWJ[NY<>M3Z;E4U7CN]Z+(B)A9=IEL M7\*8 ;IP2*0LVV*'3YYPEJ>%GQ>T:'<9!T+!E_0(GE;J,+W8D!7K3$0?:>"I MBP%%YSPF)8C$SNF?MB?_H,D1Z99L,)%$D;B1(@I B9KK2-@!B?>M;N"PL+/S7__G< MV+T/X/F6Z_SUI\N?+W[J <=P3 +/WPPK>>DOW_5UW>D_ \RS;[MU[EKD&O=[EQ<_7/U_\ M_+7WY67'S]^ M_/Q#^]GUUK#^Q>4O__,T61AO8*-_L1P_T!T#_-2#Y?_B1[^1 =5/]\ M]>RT >V7W;>P)=!/7])B7]"OOEQ>?=$N?_[TS9^2+J(_,WPD+?Z9*Y_(='EW M=_=+]-==4=B016AZ)_9__Z]>[[\\UP9SL.I%3?PEV+Z#O_[D6YMW&WTZ^MV; M!U9__Q#4?$G#H;MX] M\ 8;H )/@^UR%L1%.FPKPQX8% M.%7-W&@;<@X,"+)O1:975JQL&^U($:'ISX$!K _]U0;/("@O3F%C;<@U!Q_ M">%_#!3.$*PAL[<(NTMJ!9 M#WR?>YW/TVY+(Z$7 G-BZ:^6#>V\/!V+6FI#H@?P6IJ%<=U6U@\5%TKDEEJ1 M*'"-WR/7#UJ?P\5Y&2\ M;4V)#OL ;3F!["R'-0O)_"LUQ#]=@8WMZ4-B;GY MEF3?6$$T<48[KVA)"IPJJUQBD^W,S6@+N=0_J\S-!TVT(<,$KG#*=S^MW-A$*S*$KS[X(X1]&'U4 M68[GVY%NYU[K#K[=G3RQ:TNTC:U'ZK3IMKT7U40L:DD:3T95T0A-RN'5J"8@ MOCUI/!S5!"0VV;*WHYID!0W)XOFH)ABI11F](-6D96U=#H](Y>$4TUY;WI%J M\ARV((]?H>*"A=AFRWO0JB-FKJ'V]J/51,FVT?+NK2+A\@U)MP<8F&:T.-+M M@YB;!Q#HEEW/SH#\0>GP*9JRZX2'^#WIT$FFO5]USX-_A[^HE3G8CTF'RZ_ M6K\%P!Q\ $]?Q]YZ?QH&*! /"0^U"[=;210+\**_UPE=I?ZTO8=?A)N-[FW' MANM5Q(C6JB22SG53KT'4;+-MRSH+/>,-MC_S+ .@P!_+3**](!EW>UO14)3Y M:MM('>^;1&-";K]MZ1/R#K=0,9NJ@R1#PVW+R\90\7"4^V[;:!US5SPNM"]( MXP^N+#.I33D\PK!'"QWNH^ZWPS?=<0!R+7T#[MK3W]^V%>4O^S4YD(%+-SLT MX1K9MF&Q70Q!U'_AP#!]3 YZ=MX MRIBXSGH)O(TH),I^LBV,X)\NAQZ ]ZC;B"B5G5R4!IM2\ZA[NBFI3O"9:4T MW!KWW^#X*Y+8A>VU)=UN=SA="9(/UV+[8S6<)H$'_& .!Y/%#_V]ZL3$VGK[ MDN]T@CHV@.,I$+ 'Y?J$'#?XJA[;XQN4)^YN!O>Y@;N9 ^3L-5!R!M1K=$&M MJO1E/RCO+W!'5@\.Q ])?..V(AB\7Y'L_NT$[EOLF><: $0B5D># M^TLM1TH?)@F*?_WHN9NXZR'LZ#YKU#U8N9%?^\-".1 ?7>^@FMM'@*)A[%U1M")?NJ/5"AAH MMD4_SL$[W(4A"J1^ED-B/%J.#EO6[7U>*W&8MM/MEG4%1V[@>:G)"68IJ7') M./KB>/$9_)_ A 42^ZJ17;0/MHQ/,MPZZXGK^T/=\[9PT/VA>Z9 2!B^T=[] MF_T&>M?-Q.WO"'2AE_M6>ZB@TZG:8B/3B%39*P+%V!&)7\I$PY;2H'VE&:;?F.9'3" M7-5#@6NN9=FBN>R ;M.]428CO'^_3"1T./X0@0TP.B^'+J"N,;E*]++VWH\)^Z M8_;B5GOE\ODC4:&PMFMDNF*C)QM#5CP*W MTY9L_178?_WIZ&^_U-B-%*LE;/&H%\=__NU&^]J__MJ_NH$@W=QJ-Q>7^[X= M\F'@9?NI>T;:-/QGCB)9[),2O[Q'J=6_&&^6O5/YRG,W.722+[F,'78]: )_ M_0G^*_1A/]SW.)2K&90'CA/J=NSP(*!]6*Q3J%,[GJ!_U0KZ,^!9+AQF3#C% MD*=P\TK M\ HT<%RD$\@S=3I!_+H%Q.=@C>ZIZ4[PK&^*QIZB8AU"GJ'C"?HW+:"/_*8> M-,3D]!V.C4/D]_&V0]?$*X-8JT.ZX9> M,H;PGU-OZ?YP:*K8E^R>(BA]3S=T%^WI(1I4IUX45A&_[DA4QE'Q[FF$18!4 M+^GDY&*QW;RZ=@'>F;]W FQZCU.DF]TWIR08?1I1A@&,UZ*H6"=P M9^YX"G\;>^%?@6W_W8'KW@70?3@$FF/?#PE[84SYK%QW<"=Y*Y]"^"5(-=/& M9OB[:X<0-"_R.'H^5B-'Y3JD"9:>IQIH8P<\##TD7>Q?1R,H"CC&*Z*X>(?T MP2% >L;6QH8XNB^J1Z'=*(XDZ37!Q5I4O$-JX1 @54L;&^+(B(=PT[YVO2WQ MS&=7JD-*H/<[Q;[9O6_J@L'2'=,'>_U0G;1P^CS[WQ^-QO )>(;FB&6EN+[2; MJVMIM<'6^505S>ZDTTB%1\M9!)M@Y'FN-W3AY!5%]C[:^IH0FX&OU GUE!0C M551^(PX%B^]J36*LL!V/>AT!BBI9+MJ!1J%H=:IZ;*R\06A:L)U!$ _5@!& MQ?C"G5 M9_=3E>8W]W*K-)EZW^!NF3:G'1;JA H9NYVJKHW=_RQ\M2WCT79U M_,[FH$R'8*?U.D6]E1V_N]DDN3-RK\?@]_V$2ED)+[7K6PD=E27%2,,\F_4! M)$/OH^5MQD6KNLS?.P$_O<0= )[2$ MCD$/;\3D-966Z)*VB'U.-99W&\BML63 !NA%!GOLF.#S[P"_/#LJUPGML?<\ MU6&S;H;$"?MH^89N_Q/H'O[&!ZYH5IHK[>KV2CX]<'4^545;;H:TCX_P-T5> M4$S)3BB"I^^I'IH]SL_V,/9&L6GBH&P'=4'K?:J-9D_W!["#9M3)8B=,YN^= M0)W>XQ1IS'[]OWXYOE LY);Q+F?484:I>]W6'0,LW@ (=@9 N6-\>8'N&.^: M@_\^;+&7--G;M5G[!>.5[K]&[87^E[6NOR<7QNW 3W^SYUSRB]]VW9^N=EFU M9F[LH<;<1.:K6MYHRHB3I/DA=SQ;*$M-3;NZ;F=]548CR-8XI,+><^9;/@? M\\%$Z!JZO*Z3%0^3RH_*RJ9Y!@WBU,XBF5K:1VEWT/^C]-0?N@WB7*&[G//H M22P_2!-9%%&"O0$Y><*B\CQ=*DJM%H<*7Q:IO75_?=%;]C-)AO[/0Y6?2: M0G#XIBQ^GB=5D9,*W(,^IX!J+?6R"6WG*$7P=/7BQR],XJ8!4ATE2,$OH5K+ MPERJ_1A%_#"!KZ $'SC%4VMY>/SL+)1Z]&G8(3I92%^UQ>X2Z565($AI0=5: M35+HH)3*6=1:>=THAUH/=D;/KF.P[A'W9950.+MDV&QQG=1^+#)Q;ZB$?@FB M8+/,=7(;>/ (##K]0#'4F==.*:>)K-6S2%YKU[=:)X^6*\FKUF[Q JVDV=\ M!=G844G+1-*P"*[FR>),WZ*S,[8SQ6QAB>G!HD_\D2*#F,J1P0N!F0<0SX?B M\BI2@D-2M6:21/;#)UM96)$OKRHK&"55R^\X<9TU"L1Y *^42)2"DLHQ@55& MM=R-S!/%"B)-O3 ]I3W4W%A;,HW4"4+F0A@I#-!;O0:JT:LN=R M*:I;NE.25D]QPI237ZJU1?[-0_2;WP/ MI68ZO2BLH"A%2@JNUK'E@=STM:;B1*!)JE9$'$HC8\4W/B!X0]=!DR1P##P3 M"#6R>-UJU]?M/+%4$S-X)5?K%'0)-NC%,&_+=$:&*:TX0WBD%G6D*B4[AKKG M;=&+TAOD\Q\$@6>]A@'R^R_=F4Y8?W"W(QNC>"A )5!)\=4Z/^$^GV98WUP!MP?.L#Q.>*$]=' M+J#I:JE_XD]<>5K)XOH5_M!.5GAQ_!$@OU0>U,J\FH- MQQ@CG3/05F%#A!Z M "O+L' K$GI%Y=A34F2UW*]Y%)F7K,H1@E%$Q8YR*0O\DA'&LI&C/AUK'3Q=O\-!):Q7]E24]1=LZ>HZ_U[YA/_\=-IIJS[K6W7&=3"U(MZ M:D;[MQGPH@3O; XS7.VLR=Q!R^M+?Q?A-Q87&9? :FU[CY"(GP$8A,$;[-"? M^^& 3)CC6LH2A4E0M?;!A0A$[Z=RD2.NH3@Q"$*JM8DME![_< IK-<7I09-4 MK7WK@0^9V=;EBEEA54K>"CW$A%U"4*HH20YF(14*V-" M3GKBL@-36F$R$ 14*VR(XXTVEBH*4X(F92,!0TWZMW:_]*>K)$ ?_C4*K;^& MK@\'792$*CHD -Z'90!_X=KX10:N0H>YP2F46OZM;Y[K^S//76$/W@]*=%C) M-"E$.:CD.#/=W=5+\I#3WO/!EL]B=:G!?W9%XWPRJ>5\6@#;1EDC@0,QL.&H M-C WEF,A^0.X,DL0P1WQ,566C1E\ZBZ(K2@OM5J+@CF ,H=&$'H0#C0WXFXQ MY0NJQ@E&":5:$6#N.,]!%#]+RD: ,NL_BC1J14L^NXZ;%3RA.F4'0*V7Q>Y*N[YI]\HZ M!Q/*R:;68=+8@1V!RQGRTO^HE&PZ+Z?(/"%8Q*RZJ+^+U>^ -5IPM$^ ;[KE M^&@0!/[4&7TB"$/+?XO/75 2*)S[AU9/59*4$URJO8"8W#=80''+"&(E5>E2 M0FJU-AF\-#DYAI0BAR*;D/T:/#V"LYP0XK _/[X'*]<#!QEKX9#KZ1 %R]&] M[1BN\J)\4NCPSHT\=>DD3CRPK>6+67UIVE7+5X>/6P250VUD6W]_ P"J@,E4Z;#>J;+(2KOB1QVG5ZP3B..*;X2 M7/$.:YQ+)&'71.58N![+?J_[EL&H^JBL;'KG4B:="W@9U3KX/);[P;+# !MO MC2FM.!=(4JKE^O@5H!=[@3GX@"OC-7@.-Z_ FZYR<<:4N8*W&=GXPS&'"!$U M'5(4&5-8,2'-.5QM9$'M:]?]JU;Y(X04Y;F&QT2MN0N#1S);??'WX"Y!N@$%?TR=BG/@6'KOF^M+"/6[PK*@[^?)/@K MLM&N+)OQ:3Z MFKE>] ?VUS :[2#EP)^ [G0;N15,P-W66#4NCA MP)I_LZ\ND7B%;N2I.UDSSI1)N'Q%3KC,G7ZF*SF9A:2C^:UQ7Z$@[T/M?J"< M?=YJ-Y=2WF#ZK4XO#PZ&LX.G+CJ>/!$Y*:B\TZ9HQW2\1ZI]I\OW024)6Q,L MC5SJ:6O!EQJXS[B8TWAR":+&>VGK4J[1#C)5[I!@?R^CH$KCQ_:H#S//_;"@ MMNZW+SXPQ\[NHOS "*R/^,D8RF5Q[H9D&T%8-'D4!2!"8K6667$Z-4(,R+Y M%HVOVO5URW?ZQ.@S3Q2*R&H18#]1^DL7KO-H*7A4FP\/1!W MEPP]R3P'T7BP? ,]8H^;;EFKGXDG!C*I1CM,WK^L@&/G Z+L>L>/9I**GMG" M#X]:F3T:2AUTDM2JAE75F C9?*8/2:\/TD_$P5)#^$L+._'1JIUY5@TJM1[; M2B\U@^C(&C@^:2%?7/A,J#( J951,8+2AQ(\NMZ#&[X&J] >&,0%.JE*%K$[ M[5J[/%5*<<.DUG-?^)#*[-D^_I":HX4S[82AIEK&H^C@M #6],!D=X9".H]F MJ7_FH"#,1&5EDF,@V/4B.L8$S T6!IEANJ#P: MZ4($:@58'R@*D>8@=,UHWH,E(UKM04( M581$K5OK&##0ZL,7$29+:$@VP@D*D^656*K BNH'!?HVVP^]"T'H(B5Z 8\TD'R%US.;)XFLHA>:C<74@9GUS"4\8(B M=M_9/M'8D:Z\[CH9DE6$1*W'J#!@[*)_JR[P"0W)1CA!"WQ>B=6*CSU<)TS0 MT W!C*+I&-9:F?*RL4.0MLDK*SH":EWRF(/W9,:?KEC8@BU_,FSA0T"U4Z!# M6QG[?@C!!,2P>WR%DV$,)P1J34>'YD*@R7&QDR$'D^"2W:S W.[*\-SQ0P\1 M?>:!C15N=D 5W?5BJI@%YDJ[UOIJ,:(B%%)=B\ PY)#L7 QAJG@:#"D/1=4; M#]*M13(#9SJS1K=E*2Z_@AK*DZ00C '=A3HY"[USU^MX"W)1_;H>EPW],HVISS?:@&HZA4#Z MG(-Z)TTH.A)R/21+74/M[N43UM0L591G16D0*C_3*-W4M0?!0N Z)L,F+"VI M/$]X9:_\2*.4X?N'8V>*!%SP1?'C!=@RS$4,K63Q[4/-W"C*+0&XI+Q3.SJ? MG6OL#9P,S2I"DC),D8>*1G#[8 3(?V*\Z_>6[XGN;_I86>Z9<+=)X89 M^8)9=&ZT:ZU=KV(5I>8IPBBO6N'J8P=V!(Z@-"ID2JG. [JP:MW]?'8= \*V MOR[FF#OOTQ@.L]2+4JSUI2,.[_VH2H*JE;\Q27\3)5 RK2"$VH,C*,JN:MZ' MP;,;_!-$)H1=V+)5SR)YJUU?MGR258D"14O<"C@T,A>U]1IE%+:$ZL'>H65] ML'O6A/(L99_G6Q(Z&(),F\[MNR65!LC@2(/70<9W>#3PCD[B'6D53Q>?P2E,TO8 M90X-RTNJ:66T%$SV3D%U6]\"$"YBHNVC!,G:2I0U1]<0Z M*M* 7V!!>\UV*&$8X2:, M-Q#[63Z<%:7TFJ5!)>T*WG5F@S!X%N.< >1. MH6T5=@6E57JI_0%9K"XO"?*A*OE]\]RU[4?7^Z%[./Z8^,N>I"JGP1=N! 1-1%(Q)_,.%_X:P[[,:7"#+K*@':J>!G'*0Z%69#X&AWB@+IS[90X@P+X5@ 7P/BP#Q :$ M7B)=.U$KT>",/;*I][.'NKN$K+K6VLU460]56T%1K9?420N+XIQ'WSS\DKYD M:Z?!5I'@J!5.3UR,"&,AM;F3IF$Y=-0*Q^6W4&'CX$ESCQ<7Q5Y0+V&1XD:^ MDR8>-S!RI4RKS#Q<2 P$%UAK9XA"Z!UCN_1T"(H1L< QHY_LF!.[!7CT#M=2 M_YRY7O2'(/"LUS! Q[9+=Q9I'1D%(@*7()=7=OXY\L M8*N+*.GZ'TKDPB78ME7>#/_Q,EZ,E^/I ML[1F?!_ZZ+%9'P[LKY83YX>E&#*Y2K.F7-"7O0IHILQ6.4MSK:]=M/N"&XO& M#HVY@I2J&',TA/ES8 #K SD^#U)\4:Q:*[+J:(Y>].:CX6C\?7 _&?UG[WFT ME-7"]V+3#+NP9+/VO$LB=- 7FAD3Z\AFO01M'!HMOTQJV.H060U!H!'W?(B3_D3T-'/T0$-XQAP MG1\#'@?C>>_[8 *'@:?18/$R'SV-X-PMZSBPDWXO!&W2)E=I>/8NZ MU]B;5 MD2 ?RB]TQ=I.WW?$SG+^7T[G$3K!4SNW!;H-LKL0: M3:<@R'6%9JRD*K+9*H-NLBD%.$53PU)GGOL.O& [<$QT)O"^.0ACH9CL;=YD M9_/I;#1?_K,W>'[HC?[Q,IZAZ596ZTUEG]G(T7D ,6&&>HU_@!B<8?8+9NG MB:PY7+=^U,6LQZ-G#:L)K(;]?W-=\X=EVQ"!*+IJ#%MUUM:K#0:^#YB7WE_S M8\&WZ?3AU_%D$HT%T^7?1G,XHR\'S]_&]Y-1;[!8C.1=AQ^@<@P(\TS/V4:S M(P93YVAC!E\CLHT:I71\.((($%^-,61@&%X(NVKIKY:=>?:4,FK<%7K7YR^C MA]YD/+@?3\9+B1?_>;'CL&S:\H&AGHAGU[&?P9DU8RW9[)A9#;N'U4O*J(:Q M/H!7Q@7^Y47>/!]&]](NYY%DS+,SKG##B2LRO:#-MYC26;+>:#<7UZT:)%D/ MF405' *I87TE7_.XO"P*'/O;8#[ZVW3R,)HO_BW:;2__*:MMYF,/G]V 9J.T M2FV'$J/>L%LO<_TL_6^UR]NKEK-TLNB.'%3,(ZHBEHXPP-[ZI5A[03#98CD= M_OW+_6 !%\?#Z=-L]+P8R'RDO>_\=)7-VQ*EE_/Q_4OTA]ED(&] [!%&>8H020,RHPT M&VMWNQJ-,+ D<-AOREP6!/3!T>5IO(P">*+!!0TJX^=OHV>9[\D0D. 947C: M:/X>';5SM)&$KY&LX7S5KM'ULG;'#WX='U^KJRB^&N/&P>OCC.-$0=#?^!F. M%*/>'?7[E:"%K$M=P^=CN[IM5A]F;,M7$56,$ M6(!UY*70 YW1Z OB]!:C;VA+W7L8+ >RFGDBZ!R\HRR&SIIV<(@MWO"1X5$_ M. X+Z35E,V.:CC('A"7%4\1LPUPV=IH^,L7()I8B)DC+@<.5\ MBG+C<.9\ZOU[^HG_D-6@!:9_^JWQU&_WNF_YT]51E[;Q_U*SQC!5ELW@R?#G MC;Z"E(V, T>;S@^%-J,E,7&$%*5KO."6S9!;Z.*80,F5'ZT =X:0O#-/'!=#7R VNC!]BW*;.%NJIV#FG4>I>T M*/$(S[* N7[7F5%-4$%/CTI"FJ'NOZ$#>_@?%.?\H=MH@\2X2F"IF\7P5NM_ M;??!4N[E0FDAJSY3*A=1EIYN@C1 +)^0, 8$0Q2FNETG2GDAU7K-&A&T0 MP17O.AVXY%+K*4UL8@HV1K!6[SI#*LFIUJ.7<01$'/C 1A)"C:[S@EP-=9TI%2>5Z2!*?!"):2J#?Y M).'%'"H) OP6933X +8;N8$20R&N2AAJ=IT?945,.:*(4Q5E&F,;+PI*=IT# MK"*E.E?$+;K/\7*8WR%^!3GR^1@09SBE1CE/R+L7_I:ZSAE1(J?A7XJX5Q^ M9WU$"S'&Y0>^0M<9PBE92@0YW*5"MKS^P/==PT(7T9!+:/1I!5/OP?+?71^N MW T(391<=NK!23CP0B.(WF7GV"*+^4!6'7?:Y5V[5WK+;*EK1"(EIB(NWETV M M8 @N+B72<-EUPI!11QT*(9VP-O*"O51Y)1A2>2D;5ZURE229#+17%YV[E2%$WI1*]3I]V[V\O8S>4O\IHT/, MU6T-O:[.?74[_L!)7-R^XAP<,$%J"^,-F*$-IJNBURC32VCFBP]6H3U!#J<' M -F"W &0*V-G 7MCK=\"R!KP!((WUSP2I::O=&C,N,H%PS4$AUJ7P3.@'<;Z MI&]);2/KIT8V<#;35:()E5>JB^0"F72\_D>9%PQT7&O9(31 3D)QM:8.KZJ+ MW8H0CN&]%#@:NE$2VD*[L;'2SV\EG%EE50OE[""MI.RC.[(#3,.P(9CVM]5D8T, MS8 \-=.]:?P!R;*'!S90$SONJ?#0C_^P] MCY;2.S7V*- ?M,B5;#ZM[I[FJ1K1L\_^Q-6CX)='N)]W#*CY?6?9AQ;N%K-& MFWY\C-V8$! M@9B,@#I(,-5N?N" >M'7:P^LXTLFJZ2C3*L/IKKR#0;,FL@/$.4E5F,H*$I MRG?8<9T?#1X'XWGO^V "!X2GT6#Q,A_%[\S*/B+LP-A+0ULKD*JTN6C8]2M9 M$&<6PHFNS:D#IX#00[<[HA3UG#L4 =^0;2RAJ9.TPJ@+#E5>N$S34/+&C=WD M!YCQ,WJ@9SKO0HS8+OLFQ^.TV!IM#BF[;L7Q^ 'G:$&NGF6^IO6_MOL %T4' MI'&@A*!JK"6*8M^X+/TV;^FS^70V0@]HHC?J1_]X&<^B]_5D-WIL0E6*Z5/K M-3\ 8+M4.GFNM$;/A'[>]$L*JH;1'R3^C-*-'V?_Y!H ON8'@&_3Z<.OX\DD M&@"FR[^-YG#V7PZ>OXWO)Z/>8+$8=6!C0 M^G =?-GJP,"-/6E]P":MV*-RX;EP#[8]EF,% 6UFQ$\)ECM?W.,UOWV2?^7 MZPUMW2?O-NOYB$*\:A @M8+%'_&X##;H!=T_(P8D6;V8-CE5FE2(DK7!H4HX MN>&%X- IQ+4VNBL\BYV_C!YZD_'@?CP9+[O@#LFCD&R3Z3?GR/5:/J(M4BW7 MB2RQ =E&"29M4(YC^056Q1.*<@CRV/[E1=[V'T;W\KM!D*#,&YSBPFV:]4Y/ M[(:X "HEF.L!6/S0W[DVMI3*7:2" FE>O&82H#=_?[="?!T MA20=K#T0!520*4"MK@ )RLG8R*/(]6=0"2#-<]E_N=9_!1>*%\OI\.]?[@<+ MN/\;3I]FH^?%H!-A=WLIIJM#0.; 1@2)$I1&U\Y1U\R9OHU"DFAKQTJ-MKG& M+,X-/4 I'=9Q--;]=E\FZ?G@A^Z9;#>7*[8OW=A36=&D-4L=8'7YYFLL&OP MX0YTIDP6@1NM?]MNOKAZ59NG$AV,+M.A/(9[7!P3'9,_ZQORW>DZ/B4;.>ED M*1BKFL*ERSR=O>E.X&XB'%X<*_!GBQ>_\%XO0PW96-,8 PH"73A1JL$;)&+G M]J1[OX-@Z#JF%2\=X.+ ,N#J(1*LF"CL%<]\J0I6YZ\*CS;OMKL%\>+%R*-B'7.5*J DR!'E)R+=AS.$TH6 MC.H-2\?)AG>+-2'8^?F3JH?XC2+>_+ \C4E'S7JH4L(9Q@Z7JH?!Q4 ?+$Q\ M=,(1HX52CL2_*TW6\A\YD[@^& 4-LK18)&G&W$/(A(Z_](;/-!8+G1KAM+M' MZ?CB:"\+\A6,GX?3IU%O.?B?#@30[N3FN$^,K='N?6+4K7NP<@^4"3=R<'<6 MI1M/7O_BOF9X%"6AX8YEYVA-(9)5E[N1P,46^/7B>+N!A5BF1#1$Z+5^Z1M[5NY"8"[*+Y=7$%2J,EHL.C _BT6EK)E MRQ9J?I<6?1\%4S+9,Z9TEK%?M?[7=E_$RH.:MT\>4=3:($T G.O ]!V@QW*= M=03$[DFYY#(/F\>O1$O=I(H8,:7:^U ONRS"]W<[\G+J]E#WWQYM]\?86;G> MYC .>^D>C.F,5Z&JM-PE_M0MMAKNW058(TP>]$#G6A@4I)!:C+Y%2>,>!LN! M],N#1.XY>$>9,IPU9:& *][JE9:C/AVP^7Z;_)'CU(BG-=G& 9)ZB.<]E856 M([L<\?7Q@1F'ENKV 3P/(- MFVVTZ%]<7ESRODG^I;?_;N_@P[U_3SXM[= B M\K7RKXT/+Y!.8)=1%#=J9 IE[>).Z]_ /O\T1B@735>9OTE&"9YJB2R+=LYTL.BLT[J._RJ(WN@H*U%6_ MI36FL"?]T]J$&ZS*,G^73FF$;F751A=#.L65V7E-:!>"<@5E46FE93ZC6%BW M:[/:FGIKW4DR[ Y=QX<[33.&&*X%#A"/4D:CQP]U>R<@S1\@I&UI.4%6;YX7 M]:$AU<$BYD3H.42#'4KSYX0K*$B(GK2*7L X'AYHQ3,0:!<:_'>KA*A/KT=G M0+R8=($6Z3.K<#N"AMA[U_T='6I-/X!G>OJJF!S42K)1A'O,J""F5,?#U3V% M)I0VL'S(]"1(&.:,&(Q_ N^M;N77K\9^5X051H$2UMW4M M2=J-)REZOY0WG.2*/YPD_6Q/=\S>[L.G%4YRW?A$LPNUPK_>R91?F5P]:T67 MVK5V(6L("B4#00DYI7-Z"S\2E$"CE33$VQJ$THL:KTBK(1I*D]"QF SC^L@97[Q0>KT)Y8*YS/GZ&F;)PIJ60. MME!DERID44#JW4!WUA8TLC@OW#,(QHYAAVA9C@(V?EBV3D.//%2=_<*D!$^"*A1N&'M+!+.K'T-:M MW(Z\7".G222!6%5=0M_%!'/ &J4GE'5PVJ^/QKX? MQ4R%;Y-#DG ".UTNW7 M,PV>J50,BB#O=#P1CIS\2'4EQ7[N5V"MW^! .O@ GKX&\1O9TS#PD3KB ^!X M#^UN !S;H[_S;OGZ_%N^M%L]/>Y7SX\ZUG/W/8O"UAT0]*RH-43$>+B>O[ M@P]HAU'F:'?H;C;)RX%HL(+]N]=]RZ#PI61KLA&H B$*')(",5'+4<")C!C. MR<8UD?2H3+XZ22?-$[9':ZCTP""_EB*/=;S-R$8\H8.<$##4.JYCA80TMG&U M(1O!A'"B/-5.?$![L.P0_BZ/MOFOT ^B:_HEQC?V5K/(7VO]:^UDV%@1);7& MP<@/E+Q;$Z\Z(E@&0>!9KV$0KT?R.20.\A=C8V2J-MP)CE8D4U%832VXJ;4W MP0P7.&7PS=^X5CK!Q]IF<"Y4JIX5[,ZE\@>>C7/M>"7.Z923=<85NL'@$EJM M@Z1CT4D;AL*RLA.#<_YBEU&M*>E8[F2\9&1"4EIQ+I"D5&M9/7 "RT326A]@ M 0STBJ@%_-$GBIX%YB,$.;[OE>0@SN&\044Z'Z0*B!B,T< M30^,/T++CQZU\Q?A9J-[V['A>GP'S%?YM_0&PW^\C!?CY7CZC$Z3DZ;AO\;# MZ5S^\^'[T+<:OM\>_,26[8RMF:QQ MW&C7M^V^PDE32GZ,$")QEZ_@%XA-2 &#*2T;#X1H-4\6'NE5XP3ZIP?("5^H M]63C"8]"V>A %[=%8F "N]$*8 F,-\>UW36*^ONY\*X]L6P7-$O7S5['_,)V M/I"H +()Y7(]J8ILC&AN3B!#4-?>H )F>NFSNT*R>6!Q[I"HN9/SQ?2_-,B,OA";K5KK=W,##2E MB/:%)!*KMN^MZ MIGP="M%K2%Z(H)VKPA;3/$QZ%5O:%M$\,C"\DFJ0G0 _> M4-S6!Q3%=18_>S_;>)<(I4H7]$S7U)%GI(S,BHT"XGPC[7.BN3F"#(&*OI$# MX>? 1CD4T,-_--;0&Y"-0]S*9O*$\ BOE@.D ,\9\ RDU34TU.\N"H08.["W M )"<864:TQAB@D 0JUH)(F\NE^UZZMK58A6%06U(F%;]>K*PZNJI!#IUC;O2!$JR4=PXIRH@;' MT8AW:KMGE!PS G\LV5'5YA@F7 #4)Y(_O6WR*]F576G7??O M9!O!R+1B^8.ATC".G0]8WO6V#1C+[EMGZZC;.LA0JW6"5=NH,O/ MNVZ9H\]WX/CHK>SCZ*&PU!RS?= M277?R/:'TH>S.=6_+2JC@L2L;M4P*PKCSV0DD9&%)U_5X(E(NVMLSURP"^M? MM)XF40[N-H1S8@5WM8:M=M(*DDW0X1_B_)G^3-\2PAL;[ /B3R+_7/@S\V8$S%'SY;4-T6Q(%[:C9R')MC(AF%SLSH15]@X@VA M@2^>+2 7A=D"X"GUSZ?>>>6YCI&;A2>NLUX";_, 7IOPJE+[<+:BNN>1I\?)X#M-GEUWG&:=!66&>;RJ?]H"6LY:&7K^YU*V(2VCNOSP4Q<(BMW9JWB;6P)JU*5H_(S& HAJ-!%_P5L" MZO HE(T.='%/[H*WI'JF:^K(M5A&YBZ/ NG@21A?)Y0+WSQ-R,:9YJ:5RB@I M$YCN-7M< -X-^O7S ]J)!\XO4WZ==,CDPR9T_I7K8\O-*7DAP\A M$G=Y^53#7KM]'@C1:LF-M:*!1:>6/=/C$P&^MDFCX0 [^CQI7M M@F;INCG:2G,)JYC!T_;,I"JRD:&YZ8 ,@3(;X*9?SY" 0]S*9CIIYA%>S8Q/ MA_OV-E_/4(MB H!0/DE22Z]GJ$6TJBBHE7NHS=2*$O&J*BGR=*N,2M7)\R[F MF0,".5RX;&]GE/3PW@A]/>-DO< W)^D%UEK/B4U3BF@OL*9DEO2J7N#V>2!$ MJR6]P(IRH@8OU MZYN+KO.U#<34\CBWZ@N4AX--$DBDWS#+R=,>?3OYS,K9!MI&7JWQ7"2,[3^S MM0W]^ M9D6=9U;.YB2-"L[/K/2OM>NKTTG1AR=G5KKYS,K9@EK%_?S,2NO/K)RZ!;0%^/F9%96>63EU*Y)'!:*> M6?D WJNKFF5)\M#*V5J:!UO80RN=GF]D?FCE1NMK7\]6T2C8HAY:HA;'2@BWL*^0#DU"Q=-T=.12YANVSPZ3C9RLLJ[9.EN1FD M,DJ=3RE08)A=>EFE?;)6IA#31"88+U5>5HGC"/;7(9]!P+;GHS4?#T?C[X'XR^L_>\V@I_Q;\X%HH9>==4++Y]TT1C7_HC@$>7>_!#5^# M56CG53IW;7OE>C]T#W=9G[N=K$G<:OVK?JM#"$8;!=.5$$G%KHQ:=%FSP5&) M-;)110P#RC*K3CJ] T@DP>FJQ5V[\;7RJFP2P0L55,![+)1K]&3$5TAG.@IL.6W+&6; R^% MW7F/)\&1@V=6[9NJ.?@ 3@B2 V+4'MQ4+72X-KW?#M]TQP'H0/@;<->>_OZV MY=MN]?/;K?GH^^CY981V6]-OS]%9*/PM_&;/1Q_MO6Y[1OS9*,'Y.OUP%[9C M$9*/D+Q#UXF6];]:P=LP] -W SSJ%HVI]F]730\Y4'OZ>NVA$1"28[I*.DHZ M "55R=K35ZVOW;6\&6/&/3^$< O:92]U$3S10)$.$_BC3):JLA[=Y>I06 M6V6:$(\PV2K+1I72>N:G# $ ^4XV7W[V?_:A)E 6H0FL9P_6P#$LX.,/."E5 MNJ9Y@KJ.#CO+""Z?QH?N!B)@6+I-.,,^*J.N3IDD%>03$6RVCP"],\1HL(6% MU54KG\B"LA$*U&_T+&%\>$ZRTX)BZNJ455A!&W^!VHR2O."U>/!G=;5'$U)0 MXK56UM.8?0@M((A6338R"-ANE1*Y\Q$]% ?&Z-.P0^3]0[$I\/]0S$@Y%U11 M2UE([R"D-S*RB$R!/)-$(:%&W$W>13QV$ # ']@V+!9XUFN(?AT-WKP>XBLV M#W'ZR9YNV[W#CR9^X[-[N)VHGEK=P^T/*!RX5W$/BQTOQ*U3?"\X( '\:4\ M^,-O"^2P0/DZT_,A"SDN\GY@8EG95,ZMM;WB^>7LG,;!^EBV0HNQ^_1"?=WC;6=O+#7MG)+WY[61SO*G=_D$J-7*HXV#Z2 MI9%%9V5FYF?7>2EVW!644$&7K&*UZ''MAC>@TW-P)9'/W@!A>^#K"PAINY&) MI2@@WAN0(J&J-R %Y2!K"*\30&-S J1?ZAU\ZKSSCW>@?1D"/5*];),LL!QA M'L=591M,./3 %M;!)+!:SV(28<@.+']B'VOE:^1T:,0F>B-O1;8P"0U,TXI% M&3LKU]M$'^&=AOILT]#^6SUK_['S1!0S][JE->\)%2' -,7VTK M7OWMKDQ;&UADNEK W_HKV%]*,B:3$O>!,XWK@U$5CQ@9GRH458Y] M9$*49&"=XZ,DNULF'. O#42(=:4%Y[Z5,_L$X-7(IE@N'I)4,(NN)5_6-6\G MS9^96R>0@JX=M.SG>=0M[[MNA^ )Z.AG="[,>;APG;^#_C@8SWO?!Y.74>]I M-%B\S$=/(Y0!3'H'S@Z.O3BTU%^D*LU?)M_U)DGOF$DUG^C8G*)T]:'GH2,U M![UBXJ4_WNN^Y1-3;XMJ7[;!B:;&_.A2+Q1=WMGND+G?'@PKCQ[X(P2.L25X M7QAJ9M&ZTJXOVWVHI5X:$&C'"9$2A"J2F'C?G:&FM(3B5#"!*IS"JT85?V=\ MQ&@]EJK2DH53Q6QD89*^!A]#:]/5[I]_LX 'M?"VG< ]!"GS"EME:6G3_*3% MBU*7@TD+;2H/ /<,AFU#6I[QZYUQA.)"0HF);>R\AX$?@7?%-I_E:TC+D]*J M)="%47QUYK$*@SKM3%'H-Z1E8=.S8FU@UN"D;#@?:X1,@7.&XI6CUE.1>V0N MY/E7#B2USA0?@&=]0$5_),#C[O<<%9.-/N54F:<$DYQJ,># SOC'&;;*LK&E MC<&F E)JG1[O38S^V'EAV2Q&FM:_O&Z5314T2QJ :!*K<=NK<.>S]'3'AS+X MTU5LH5.O]-VOZWP"&-SQ[)?>[L,]=]73XS>37:]G=^DVF.@S7-Z,+Y@TZ1%J-!_FL>L,>B71?P,F>K@0T?Q7U_M][,P\ MUP"^_PP"="?;!]X'=H51HJ6L/?2U_E6[F0TIFLFO,43)K-8^:(=*>0Z= F?* M<421O05!P&D%@ M$77TCQ-&4,+KP UTN[V%)!P/WX$7;"&S1W^$UCM:0_.M*&_S*\K9?#H;S9?_ M[ V>'WJC?[R,9VB?*O_B,@5C9NM.<(@(98E)K=?\0G-AP.51:(/I"MLY4K@P M:W79S)Q)$WECKR1NEX,3L.+>;Y?PLX3X*8::LI&CDI;SI"F+@))\01(3PZ$8 M:LK&E[(*YJ *1?@N4V6B.R8QS&E?H#.*IZBKX/",+&/G0Y?N0RM:6T*0TG^. M-^^>^Q&?AQ#USU0W"]NU=GVA"C7*B]_YS ./H>=8 =J".>:C]8G^1:8*OH*Z M_."4N?,18T-W\Q["S^\0(S("4UI=.O (+,HUT1H7GG2(J0.\C%N"R ="#74Y MP2NTH->^VAPC'+B-#Z,[_I$O?PW51YXZ2%7490:WU DU;CI+#2QV$TID/+VB M;#1IRH]!!J#SJU"LW,\@W>&7=/OF&I"-0255SL$=-@C4.HC'@O'-J MU!GBL.F;@T!X\=4BS< PPDUHZP$P'P"4P+"2!,WO-H@4ZYB#C>L%UI]QOBX< M7KC[-(*:5YZ(M0)5=:Z\BRGKH <[DK)RCG3XX !2E2QF-UK_NMV@U>9&.9SP MHKPYQ.""!F].[ T*>V%B7Z0S=.!=+5&%5"OH;.CZP725QF@N@/=A&#IZ_C>\GH]Y@L1A%=VZ2 M'J ;-T;!#FC"E9=,_C_**CIW9A51-]>B?'B#'*5'K MR48''H6RT8$N;HO$P-S2G.NF[DV CI8*#]8'%,5U%C][/]N%AT,L5;J@9[JF M]AHO+7/;04H8C0^WNAUNP $<>%7CRF;EO=7Z%^V^[BM$QUS"=OX49_=,?8I= M\DBV3YCHB75DXT2UZ9Y?U"[G;4R$(T[PF3+2*9M;704JIPHHW_0]\UPS-# ! MHP4EI-,;%?.C09I!'$GG7;C'##SK-42]2?U2>+7A2W=>A9RB=7E<36<>6BQ- MKIQT2JXTF;*)U_E(W%3,N6O;CZ[W0_=P+TX7E)1-XVPZP^N:)II:T0BIU!1] MRZIDFK+P:JY3M^_1:U31HZCR:'@6>L:;[L-MHH%R):&+*.:_0C^(5IL4]1/K MJL<-?G'5.L?='3C$K@CS(?3B1]D@JVGG0@55LHA]U?I7,$Q/C7W&S'=@7D0FE]B7"#45Y@KY60_L=#1',B<"Q"M>N2HM>M"FK;]O S) M,5U4)G?+L0(PL3Z@6:#OFF"U_\UQ-^ZW3_J_7&]H0[44!8T*:+';PT]!\G;Q M:'0Y O&137C2&Z7L+%,>BLY'["X]W00(, I9CHJ=""]8I.Y\A-&SZ\!]^SL( MP&#M 89-F*KK ;3R#S@;C-_N-OW1PL.7(QUYC9")7DF4$*JV!_/!20F"U_ +XS-<, MO@"VR@K2IH+@C:QYVI^5#F 8?;X#QP>/KO= 6B7PSEG79>>L@Z[U0-RW'IR[ M>ND:IF>C[IWOBK!8Q[4\?@+_,8S>;\TSK_RQ"[7)K(E?:7WMJD-C6V':+>%P MJ#5ADAR^>6">X0"V_ 'L#_#D.L%;B=,9AD9E(Z%P!O&YW4L"=LHT_2?0O>4/ M5P@[D[;.I*R DUJ.L1*XP"_SN_N)K9WY6 FI4SEMPB'SZ(:X0,)RC9WY6 4H MM4ZN2@ #RXJC(RQ[IF,5H 1E$NLD'0"9F9;02=MXHSTXQH46: MUK^0-K2H 8[A $EH=%OK*[FU>ZX'AN&%L*N6_FK95F !3L?S7?X%R\%P.'\9 M/?0FX\']>#)>CD<+^7W%>1SBU*BT('5J/>YW)S$W/9(/)?1.OU)T>Z.XI&Q& MS03>CMX6F0"X\DYAVY*I0*ZD""5*""G( MOR!-%NPHH@D+'XXT"_9;+DW1YD?DTF_NKH*1LIHP'M6@!R"9.V]E@*FMX\>9ZP1)XFWO7\]P? MR+8Q&BXH*:.&6;26US>K<&IY$R>N[OB)'2+PB:B6XS!: MQ4Y<9XT,X0!"TLJ^H+@Z9."24"T/(EW]2FJ<4VBBW*]-* MCUPIB]JU=GW5/A58%WTE).M\&NQ4YFC>>X30H2F/HOE,6=D47D*)>";0)55K M09B;\/8(LBX"]C649 :OO%*M$#$1)<7B%&7-HQ572N6EA!6U"I1C@8"D'CL0 MK1#E>G]Q]#B^#IAH2D6OT,\\L+'"S< QHZ*^'^J. = U<$+08<56E2)9G9A4 M7:S*ECR/:V(ZH3F)?SJJ?%HMP4E#^GSF8+WV(H;./,LQK'?=GNG;^$GO0V!X MSR!RSWJG9Q#[5S/U],L(@_C3O??XV^C/-OSZ%SAQ;T[HA(+WC4RA8\*3'H1> M=-@V!XD>_.EJ1XNQPWCKO%*;6;.[T:XO^C)N@*D#B1C!57L(G LA\NWQ,DV= M#+E(\DJUI6J!480[X.4:.RU68256RX'/#0SA)G>IMDZ*55B!I8H09O#_%$N[ M1.O]X_4UU3G$TU87V2)>8'6V9Y!EET/87RMXU(TH4I9W Z9A-F"HY5[<="]M M^S0V5S>-SR&6@R+Y,FJ,GD+"S1.X\EFRWVJ7$AP0%P-<,!=P"=7E!^*R/DC" MBY;Y@K(IF$]I-'P8_8KKOGN8= MA.O0CR;BPO<>&6O)K5^*FH[6:B6E[7R0;W8<) SL^8*RJ;_JP,XH89>?$SY: M=I,&]:*BLFF<46,T5VZ\A8ZQT@:X-H?5) M%#6*M]6B<@JHD4^V&OSBS=KM=]VST+ISK@> L*(^+I8%XZO6O[SK]'J:23Y! M!MO* NM00.):.E]0-ETSZ8JL8H)@75Y%W^M^)!YQ^LT6DEFY!"WEU 4Q42?.&NO-U?T).-GXL?^CN5#I7:5(8] MXE%H>T6//R0W72?**/>J.[]/5[ OP,2RA*E.YUE07LJVU_#%0XKO!0?#"?QI M/Y3 'WY;0&U$;N.% 1R(E5NP\,.6DTW995=^? (*6N>+6Q705)P(].+X[\"( M$@ 6KOJ(9651-9^JCE3,)9Q\YV%I_V< _H\Y=0C#-*:H5%KDTL;QIIQ#OK:7 M>AAMCG3C[1^A[L%V(:$]E(?O5RM(?S5"(40/P(C$@C4OKJ[PVB[9E#)L$"F_ MI&NU+.&CB%]6ZS\HG)7X#DK/\XRBL"?+L3;A!JNRS-^E4QJA6UFU MT<5H>[U43GOZ)UE[AW_OL/:H8K2]?JDE0AO];@SW?-CKK:0ZLFA;U/D4O[ U MO K6/B<24]AEMQSJ[_ OP9:#(K@FNL 8LL;96,,EOUIIH;(QM^FK*I&7./0@ M%/'&@BEP'%5 !$LJB"Y6G>AD)OPF(3N9-N DPD&K7N$OU[ UDT;S4 MKOO=I9 @Z46]K%1G^I6]"-&K21LK,HW'7)(GR.&D9>+!V#$\]/SHV"D4\R$$2_=)_Y?K#8P_0LNWD$"% M:;H$-*LXC\1ADO),$6?N-]UR_(GK^\"?.J-/%#\&Y7^+,RXC##'K6&J]+'A7 MVO75=6<)54WHE#&EG;NR96Z?[9+A[>Z'1)GK,53!%5>1(5RRIL10Q(N[EQU= M%V9CQ*ZDVF0@BYGR0!&OZU[LW-L65#[D:JC-"S9Q4W[(XD\5[$4K>!Z%R7E6 M4$]%MI03.N6,(G[70[$/;&;T^0X<'^=K)5?*PJ9I_;N;SG.EA,0I4>IUJC:2 MI7BH.[IIP9FV4J;B/B93<=KZ:68KOI4A)J!ZMF()[!P/,-N)/EXHZ:X=E%X2 ME,]6+(&"^91&F_"Q$JJC;3'9BB70/*/F:"JG""C?[>SBB1=_29-4/BMR7[OX M>BF13BFJ.?)!<\LIY_TC#L,6E9M8 L57'<89)3SG)I9&XXP:HZF:(%R7Y^QZ MS\R.]R$RWW58^LWB=OY\J(DNJ!+JN.K,SR7?.DBJ%KIET M15:QHO-YU2RIDBF7:\AF$*OM";JMQ)5=5&MY*>6]V^=$4^F1)&4,6>-LK.&27ZWT2(=P,#!&=4;4 M.95(&I#:4**(&ZU_W>\\5RK)KEK:H];2 ZC()6[IU4^*].) R>=KKAF( 1JX(K+IG!N';)-^%A15:/ !(W3'C&2@U9- M-DIPZ9/14TH35[[ ^\'*<&,AAJ[W[GJ1!O"! (3B7= O54%'JSA><>4\WN*9 M]S.C(_P08>PO+"L;"P0,_.QR=CD2/RG>U1U_ MIF^119"#L',%I5)WC"PCR5(U\RS'L-Z1 M< P$PE7.HOA5Z]^U^ZR80/)PB:S:@?<.QUVD$'4]LB^I%"E8Y1-T2$UC0"-G M1(^ZY7W7[1#$F>QX3XEN,*=$J-E>U&[/79W205'+(S_I?*B@9(;>7_O:Q4V[ MYDM E3:&X^7I\GYQXCKK@,T;6%141OVRJ*S(-\ HG4K:)A_W%!:63>/,>J.K MG""@?,03L M_!6F8V=5LGYF]-\EI>76/5F#=/\=24BU;II$V\QDJ!PX9K2#1/\>NIM7"*)) M]>W2*ZM'E9(R-W1CI9G0S-VA2<9Q^4-_]WFWX+>X0,WD$V@#;B4?Z7GP*ST? M?>8T]N/]Y@<$S_J )/D Y*UXII2,)EX,9I%!TT7!COEMZ68_?LTM_W=BJF)\ M%?FT1M<$27^,$G9Y@[T7=N@Z$:FIVVQ2%7D9P*A+$AT8Q>TR'8[G7F+T37%A M>2G J+\\!3@$;7LCCW&^'$LP=0BIM;"%%5)M"4';WJX%;$D=,'7EY4,U M-QR/N.HYY0@XC!RS)&%0S9.A"U98]3+'I @^N[$H%*]MZK[][J-7F5=O $03-!G(9WNM\7;^/OMWX"YAC1Z +ZU=J*RI,.A^CZ8M<:[ MJ[L[*;. 7!>-,PVCTF6W=JWG7.VSIF$F5#DR4XI,-1R9M4\F;EU6.3)3@ [" MC\QDH@"C_LH=F2F@_*)!EC"IX(K+1H#6)Q0NH+J"*=X$ 7),(EZ"=)P"KYK%(W%UHVG6[9R]B M5$Z5L,LC_L&,NIMFV0_M"^K(QH'6%P_\:"D4_Q';#I5'<3'9J,.O.9+V"3*J MES(G(W24[P5MW*>K1\N!AF?I]LSU+23E"#G;?0N:T\B!F_LX@20;7[B;/0%^ MB<%$[(0F!1$GEOZ*,IQ:@"44;5=6;\JWXL:E\TZ=!-D&XB'V2 MMD52#ES#FKB^/]3]MT?;_8%6FV 8;D([@NT;W*V@/P]6<#VWU#\Q_.-L146J MB8! JF=F!'ERW WL_!LR*W2(8K@;D$,IQ>8>K%P/S(%AZ[YOK:S$34:FGN"O MJ$C-)B 2]"Z.-),U-V9UT_9,6%'@)%2]586JA\>+A>@LW?L#8P;F0^A9SOH9 M? :75T^N$[SYSP 79R6F\:P>+J$>VGU#501):T0F8>C7;H= +MZ@'E !V(W1 M'R&Z/< 5\'AY<7D<\+CXVV ^^MMT\C":+WJC?[R,E_^4/ZYQ$;C&[QD(+ M90(_(=N 0U=G?H"I'8\NGQ+NY3V @?0:#JZ\=$RI6^LDHK%@TVG6[.5[UC?P MGTM/=WQH@;1($WI%>7G$HM0"4I23N,OL&,^FY(#%]._2Z;JM![&G6?'#V$*Y^% MYTKKW[1[]TZ8;?-)W/DHD#FPHW=>="_8'D#FWV\/_T)8,;(W(!UEFE]"5@2K MRS%LAP(2UY#Y@K(1IZ(6R;0@B"Q?@O:_Z^@E6A_YH'4'6H2!7U-@BLJL6X(J MCM80/,*UO3P4XE, ?X00R-$'RG%.?E$#4UHVO;?D3V!%1M ZHS4?U)&<9"<" MKKR,G&%5()/ZY1S[11. N.$H+-L!Q3/-%?Q"*C%9Y/QK$\K=!7(E&=D@@RN: M#% -V80:9A*2<>S[87I$'#\X&1V?^L_@1_0G+*.8*LO++&8U%W"EO.AJ932, M)8Z1F'F6 2 0T>]PG,&5SV*E:?U;%6C"):U4#_]B-JBT3\!Q0) MZ>W#_([HPE)52=*4%ERRB'O<6@5X!E++.GK,S/" [@-T$CGSP(?EAO[ <4+= MMOZ$:_A$^L(5"W^:*@89CHQ HX?M3F[$UW GS&GJT,PDW/$ M:.T;R8.Z9J8K9%K6WDJ--O]>XSZ#\T-B!8>]'G@>>@H!]?%7*W@;.R:R.#@( M1R+<'XI C'L7^A'9AK+J*B]PZ=2/6)>/I2J"\9!H*$Z<,%$?%I&-'*W,JE1 MNAR>G I'G,:RA;(87&O:]76KI*#J!Z]2@D#RC?W+'^[RS0U]W3&7/R FVZD# M\+X+_(10IAU9=4Y0X-%(+TSJ+@__<9Z478XSAC3\A!JR<:*5R8$7GRX'-&-D M)4X=Q#JR,8A7FJ>[_!#9L;OT-.,#3[8%C#LR-Y5C(-X?6U*-/9'V MG*>=JXV.$(9I5A('0)E^QWNI$4,?=D6SQP4BIQ4 >J"*/@2 M7R83,N^F;67!N]&TF[:?FI27=D3,U IWWR.+4<3]-@=^!%)Z[3%]*=:/\A@O MWW0G3K?C/[L)BG/7MA]=#U4BW=%JK!,G:@D2@:W618 & (V'I_:L)_Z^;(8C M 9-;,2^"-@1M"]_CR\6![@4JVU>TX?''3GR7NG'SRG[^;%VM6A>#,J3:[4IL M5M\CY;9F5MG/G\VJ5;-B4$;5'?Q=;%8.6*,8>Y4-"RIU!:PV;2O7@[-YM6I> M;/JHZK(X'0N3?\?5\LW>TS(O)G4(\F;$>ZZ1D[>O*P7MZU=@K=_@?P7LLV$ZKD5*VM#4!8)Y3=P[(A+;)I9!MQJVFW+MSTDP$3*N;6< M)L^>SO+>+?G,FK-_9]N6V[9%J//L;2WC89//M#G[=S9MN4U;A#JEBMF2V+03 M[UX(62^?7?-T[FS4@^).>V>MO%>Z4^9<595GCW;9]=#2#71;EK5V MMC.RS<'*^*>Y05SG/J_L#';1#8TIU7;#\[&-QI M%W?]=D?>RHHNV*+5"E:7\PI52G3:/EGJ56R>2%0L5.!"Z1RG[?.!JA^\2@D" MR9?C-+^>@64N\;E,2>5EU2%!(4=[2F[INFRE\9B5O"6/UP&9T)>:,Y)N _JR$8>7F4RTT'.":C;2;B1[/V[=J_M M\:N[8*E3&8!.4ZALI,>$DGZ[>L.RD:WIJ:TF!-O.MMT>9=.\E?$2D(70_!!#*9"TFILGQ+P_(/W;+1H//H>E%$:\UD/_[C*)@'?>NCJ.#8213% M!B_=>_ $%_4!_/_B7-\5FCLY%M4"F%37FG"'C+4%MM-?0FCJVZ?)YE;1/>?H MCJ#08^'ZXB=%#08D KMM-UW;76TI$7 -?/CGK:!M;J?)(B9X6BK YFCF% M3@4,W\LJX5*[OI+\A+$FWHF:'\I"?G9'8.$;?0+/L'SZ'J^6#YX-I)$I@HZY M@EX+<>#%:\X'=!T'..9<#QHRE/QWS_;2D+TP0B^5;T=.L_GNVK 9&TK4M.%D MOWPVG49-AP%\J9Q43.LX9X4L JO8;IYV>"25T*%;6 M@Z!?9QGE\W/=NVI+8M0IUG/^O) MOVYZ-FWY3%N$.L_!S"?\NNG9J.4SZLJZ/$=8G_;.6GE_=*?,N:HJU?-E-_P$ MX]5%7[NYZ^@+WKR>WPKP"'KN3M3CB_(^>(=A9FW?.UDR-XNHJ+?J< ;0^#A[ MXB\^GDVE69A3^ZDWWT:;;STF*SK>-QPU[C<,[U"Z^RGAU M<:UI+5^PJJ[H@HU^9*!+O:HMV$M1P>@R'[E>U^!49\3@5;7C;&-*9]PFZ!":/S>U^X=Y"DH%'#LR(O-%U^ M![/6][YD( ^O,IGIH.ADU/)[7](2AFOVJ0Z =!3RO>" /O"G/77@#[_-T0A< M,-UD_B:;JIN:6.@@2/=D)(NZ"\> H[_*HG*Z"@K4I9!]/L'A9Q-NL"K+_#TK M\8W6OVSGC(%%$5FUT<7HG.+T3[+B#O_>8<51Q>CR*KOZ(9GH^"S,Z5M[E&EK MLU<3@H(B%+,G[1TA;>&MC&^>ZPMG,?Y+TM&Z'IH)Y#,GEK4^/=&=R^?1_Z!+ M"G"[%T-&S,\JZ!-G=M<%8JW7P-JA]2L=KM=CN$:?[Y87%:;G_!'1_FD3NC8$ M:[WYU)U!NLLY&4_-%MH"^'REZ'RU_VQLLFA T)4@:0+52Z/=K8>[;C7MLJ-W M\QJSGTK(GE^ Z.B[7&?+J!W;\P,/'7QVZVP7-2.K8!+",NX2V5_5.C4[: Y2 M09>^93( 8<<[C6_?16P13\U46L99U*7Q8@/2NF9 TS#P ]U!EVMKS!9-_-C9 M'.J'LYFKWEUD?3V/%."^HPS7^2E8*_\)Z)Y3'4L=R_15T_I?SS90-[Z" D&D MR145780:V5_[CMG]@MD/QNZ@D(C9-J8EG$&9_+#QW E M5T:(*W/!GSKS7X1CGQ?@L.':KOFHXS-B*5R:S9&-*R3\J%B[^.RG$8*L3!Q//+Q;-YR;56+J];Y'!2#C1%N3/ENCE\:HQ6 >>EBR PB_(4S]XGD3$A]AQHGU.BL?G M_QBLUUYTHZ*1J:5T?\Z6U89SC$<94CFM#?2@-+*F2_A_D46AW_QVY.R; _1 M$I1SZ#H1\*%N3ZP5P/BORC21A>I2T[3;;O*6U1TE#*1T#ZW22%YA&L2[K(O0 M1;EEKFI:_I3HB2Q6((RO@V<;:!ENM ,V!';4+S.*%=O*,*L8LV"K+0MG&3[@KP).N MBI3)SKY[+!YX'Y8!BA%Y=IV/V'@1W'YT^G+X]Z'K!\]N\$\0S('AKAWK3VP* ME=J^EU77E=:_Z.C=,%XV-XMH:@!5PY;4-X#XI/+1]9)?H7*X=4RSG3B;2GLP MI_93;ZKV__KE4(T0IM^CWQ[_,H$HITA#1V[/-]=&BS+_9\/=Q!_=NYBC;$TY MZ.80-\]"2[OH[R\0"/\!!+IE[Q)3Q$0"GP%PS/TD$5@!ZD+_\NJBW_O2VW\' M_K!83H=__W(_6(P>>L/ITVSTO!@LQ]-G^*?]]WK1!WO1%WO_GGSS/V#S&]OQ M"5BBKZ/UZD^-CCE9S&RT%$&LHL4[TJLUO#T4]5XM;G=7RWNX:"5WU^ZA#ZO^ M,[NO6L&0[FEPGJU2)!K\ 'K?'K9IT6)IOGAY H0D=L0ZLC&G,1;D M"9-';@"ATNR>$Z D$X01]!2..G0T(-Z5C4\.3("XV@$Q^9B$.<\XAU M9",/KS*9Z:#HG+0 -FQN_0TXP--M./H.S(WE6&A7$E@?(/&,^\0YBJN-CA"& M:_*I#D"G*539F2VFI"L(:#5Q$QFFDRU=$?(;HKY >Z;4=0 M%D5C8@M+QYEZ='@4=\D'AX*A8F40COX'133L7C8@AJT(^D16(WU-Z_?5)FAC M(*H5R]5X0,D)4;$"/((F3_6/T]N-)SDA,C>+J*!K=NKSOROA)&=+:1+F6B_+ MM7.#NXSFX#X%]AAM5+PPVJ=,@S?@+=]T)XD]WFEA7M_#M:4Z<;+&(P',YPQL MG(#6\\ 6[_>5,1EQ3&[%O C:..>MXD$T^PQ X^:5_?S9NEJU+@9EJ.67J@_* M^+Y9:V:5_7Q6D]=P5=31F/MNFA6#,L[/"K.""96Z E:;MI7KP=F\6C4O-GU4 M]?6=CH5)O>,Z6Y=,.ZZL;55U!,J6SK%>/(_R#41K[P/;V W1;U%Z M"\X<:=K%Y7&.M$Q>M,'S0^]A]#A^CA*F/2_GX_N7Z ^SR>!YT:WL:!"T.0@L M+^+C7F2.1&F4%GYK?&S'D" ))O=0%ST0,=[;'A8:;-S0P4E.J MU?&44W_YH:T&.*2ZY-K@E><.LZ&$F%)Y?3!:'NK^6S0G3UQGC?*ACQT#"F1] M ,3QS,76(KUS5%>+"54%ERK!?"ENT"_\EFODE'C"*KY4&U(:6T:?P B1A(?2 M19G7DM$SOKP6K=]S5W&K-*4H$UL@#96$,VW$$ZTU((E@6-8P)^ MM6[//-< (*K.MPGJ%VZ"GL;+I]'S9_S\;?0\'(\6\._1!WL'7^S$ M5@@''\]FB+V-WQH/\YJXOK_OU/9!W^AKX$?V 4R2(XI>4<+!A4\3^8U-2:$; MV;S4/IC$R=F6^B= &/BN;9EZ=!B$?OT(H8Z1"6']Z3OPHB_Z]V#E>@!:_8?E MPY\?7>^@&;XQYSH_YHR?X:@SZBT'_Q,-,8?=ZEG1=WJ( SUCU[.>N^M:[S7J M&X0RZ5P/_IA6"U#_Y!^A=F F:Z%[X,"]=U"HB>W_%WJ6;UI&9'/D44M NPV[ M[%'.0&C6*&6@S=%[G)N]9'-9\_^J:5?MCGG"^)'Q7(L$1RK'3F4:PO$-6&NG M.@'Y&SH)Z@F"12H_DZ!) *U-R+/PP-GRC?&(\4"--%"M>7D%64YF7RDR\M"YFTJH09D MU.WMM79Q"S]S<7G=O[F[;7J$&X8>LM-'8**I.NVIY M)\NKK/P ) P%M99O65AR2#!1*E=+-O8(TSV-5FQ(*,D@,JID'I'KGAZ;2N"A MUOH^A3C>^_".2IA:I\^$8NMLFQD$D<%*LU*#&&*K,M3(%C.+BCL M8FGB%#E6&A=%1S#B405M!"-6SJ!X=:%I%S?*LZL$(FJMX5,@RA'JS*124*BU MCN>C3DMOC)>,C'.7AWO2@$# 7:ZLYV<1B!]6@Y.FPYL>(H[H[WA$ZCG-!E.]]S5[W@#?3\ M5(3>*I;AX/2NY\&^] (W*@A28>+?>HDXL'CTYT2H?_-1_-@^L&R5RA5]*!9, M_B/!G>(R"BTZ>D[^E,66LJL7UGK#SP45=ONH;X<^I8A6F<)<@'"U+-M *YA! MF:=\:D)+K3TL"TK%FS" "S.KTN29G^5A4FO+RP+/\ WE-1@[Z2H<%AKX/@A\ M%#8?*\"VW1]P9JTRI')\Y4Q?H38!89*/%BP(E*EA80O34-:TUD=7&K:Y>4ID[,47(U<*96*L,\NVM>'L-BK M#P(DK16JA*1?528IQXU$ M]@9.GGC,H"04NU/F-"EWQLI_*ZM/.?-)/]$;=^I*%CI,>03!=Y3U)C+&BK,UD;>Q*TRZNV\XX4E;G18$+ ME6!0ZR@D!TDRT#KK*$6+[GG;59R-%S>=<;0@&ZV$\(&!9IR(*,XP%&&2_"[9 M6"<['V3) \/P0MWVH_^"0\-FI5_)YD^5FR+A4NLPKAQ4Z:^$TC7]U9FD94$2 M=*KV ;Q75TIRSCR4D"O8HNR, 40%);=_W^"=(NP-G"KI^ "1*D]J#)Z6>PT[>IKNR]TB7>$ MHL ME7B>.T"IPNZ>I973HAP?#%5'O6X0C&"&Z9]$C7?IGTZ+=&4!4>V1YV)T&-U+ MQS5.BT)XD54+XL]%O["? Q9549TFS#)7]4!F>;*4>?/'-9C(1I!:MWD-3#-D M9K29E>'%\>!OUH[U9P1+DJ&".[;NFCN?PN&'>_#+:5+T#D3<,6(X^C3L$.DD M?GT6A02C&';XBZ4[^M0WZ"5;%-<)@M!S_/G^G6^,J=;_V6;'*4S_,=)C2F>- MMZ]=W?5;':F:XL;AL,8#C:!8JO@-]D6@>T'[$QY&?CCJ>0 .#B@0(K11N%GT M)D:<:UHJD6IY8+J"2&Z,Q7L9VZ>F.;T=:%4%H?.MG1M<+ MI5II#[#+S#HIS=OZF=+U0JF:5Z:N!6R[E]HD8ETQ-H+"QN(E[,B1ETB[;?L, M0/DBYT;D+(^>8R-G/:C0XGD4% ^?5$D16J%K8;(,1@SX9QI$R0M=P9[.946,2;7,6 MQALP0QM,5SN#+CILXAL];BXNCT>/R6BPB,:-](/H:,3=C2%Z],V>[I@]>_]5 M^<>1&$3*T)$M]-M5T^/%!$!T8WT_ -_PK(BC2_W5Q@T*A!JR67X>W+RY\XHC MR*;M W.NIFS?"PX4#7_:*QG^\-L<)1X=?%K'._+,W^13')]2]FJEB]5)!3Z! MS6LN%NKHKUEI;^"FZZX5)=)54* N@@A=4]B3_FEMP@U699F_2ZR:J.+ M(9WB*L^+<%4%HLQF7'/CKI8LRJX^S%81N(9SRF:YL=](([GGUOHMF*Y>_#AP M%\,,8IUN\(*LU3PW^$56*\=-5OYTP[0]?'<;W2^8KG9/^:3G^R.T>?)1+/C$ M\MD85;[Y4R"?8'0$C6"VY!0M1;Q3I!.))(K$+F >'8=HPQ9]O5.BB\4L=5* M%X/!@(\H)T4/$BDJ)XB1XUY&C-_1TA!LXE._Z*V)UA3VQVG\!G5G9Z!L] M$']$S0,J3.=TR2N+6I. ^%7\1/,@4DF5&UM M%>&8HC8!%LA.S4]C!+C66!D?9'G[E7P QM9E&UO6[OR82B52RU_WI[-;K:AI MS4W:CB=11/1#&/*QB=N/'A%76G2TFW9^>=+VCRS08=-D[ M]8(8I9K+[\N>Z^&"_@"7J!CEV,.+L9:E0TTSSCCPT<^OJ-,<@D/XJ[EQPHX8 M[PW-(6Y:7\*1A9G'C<[S3=2N=H@:CN>8][AI+(42VWN)!* MK&,5HP\6HSQ[2!C5>F"%5R7]+?K@BBB4DI76<4_7'QZ5X1$;J/JN]#R]E.2/ MRI2AL:2T#UW>D)VS*MZO\)GHJ+17?XBE"')4HX_0D#+/LHB6\*@.X0% MMH,2(E J>KJ>]3)E71?)@_=W.XRW-^R!X>W'-OR8.%OH'L(F%L".\@,7._7- MI-V]W">_:EF-3=J6_.ATJ>^WYKMYV6O2GR_Y@-9E-E_+W49)2&+V65:W^_!"7'""D;WL^I?Y"R1Q12)9LHP"/ MB;+C0G70VWRIF@][3K(*<0&RT:8Z F3)55(KJC!J"'$T#@=SHH*R,:2D%>FT MH$"6SOR,]!K/T' WL^W0E,+AJ;Z)+L1IX8>18855+Z^FKWGEJ-I=5 M S,_71=-YU\A=/]I@%F.!S&TD+;6 ?ZJ'TB[>QAX8=+61;CG6R)YF8>\Q 7( MQI)"EKP9.,HK0*H8,0)/")I:( 7GIP/GK*4B(PJBEBK>BX,&,9:^^2NPHB0N MQ#MH'-54)X((;+4"MY+SV-D6C8'FWQ//"PS'S+VPR%-%,:(4AEQ1?!;K)/L^ M\\88 &]N6)LQ=)? /5HF?MXE]D=-'-0]#'L>K&W+G&T1%LO9"QRQ3+>!GC/IZ2\8"?/9,6YZ>3ANPVI8!MX?N3YD5?\-\9 M$433Z%3HQ[_]IBMVG*G Y\7GEM2:,20W'TA5@*5SM(G0)TF8^QQX:,WE>0R M@(X';6L3VB \X2 \X91?4#KS5CZ["F)OO_US9U1:45DX(&@IEHDIX-J\;GI% MJP[7,NSSR[FH:V"XN8,[7R6Y"4"Q8W9!50!HF\EP/J-)UIY4%A!**V1^$832 MC?0E3I>N)L<71E0<3U59&%'#GKNH-NX0[U!W4.41. $8(T6C3A>>:OVP_/T@ M\'QX .[EQ77/PS>4\0O'Q#A+84G2$:PH#;*,JDH;4D78E68;C@F9;;]#N,'A MA?-7;BU2$Z2JQ(*DX"%4HV\XLM@ M[8%? 8XO/>*%FIA/L9<3./#VO!S]^8;=BJ._T/\MN/M[JP.6CY!0O/Y,K3=? M0G4"YA1-T[JKZTU?N:0H-F?)R(NHS1O+Q*=Q%?M+<> 12DMN9[+ELD870:B: MW?&/+@!43QVSGFQ<$#$H'QW8<.7S$DU,Z*Z N7>@#7?X!N$GLH^(5+8-EF7; MYL9K) 3V#ENU*HS;M]_WQM+8 A\!P,^D@(UE^.#%IMR79=51TMB%0#=].;+\ MECP,4AX;9IA<5E?6[8%AN<:]<5!*F1V MID.?4%QVXQD0[_ (2#/)!U8PWLHFFUS@38$_V^+$R/%?2-Y3$1&2\X1N M["Q72D.O*=UN[4>Z WA86XYQ/B*)3DOB&\RTS!;\ A2C4DG@4KGG"1M+?H@+ MX/EN8/H!3K'0=S97%^.).72JDYY6\*/>>6PEL^K02D5;GAJ3K-PS*U.[J5(4 MKF2)=DK/84.P]B<.[@QX;A\8KGO"/8+V@ RMBB(4*0RUHF0X]AVBA\)F/&!^ MVL'C9V!NHI80.@M],AK_PM!)%XV#.Y!*4T$-&.KU'KK=S.L?L5 MEJK=B.4- M&<*0?_L<43#^W>__ E!+ P04 " #\@VQ8] ]>X%/3 P V_2D %0 &-D MR]>7/J2-(O_/_]%(HSSSS3'7'D(XG=W=,W M6,2^"X'Q&V\H"JD H0VT .+3WRI);#9@;(,M^S#1TVVD4BV9OUPJ*ZOJ[_^[ MU%1B#DU+-O3__H>^H_Y#0%TT)%D?_?<_:2Y;*OWG__[S?_X>VZ@8*JI;]XY% MC@"8_O?'V+:G][]^#8$UN#/,T:_@Q2^&8B(_@L*JK"N;DHO%XFXY,%6O-$-1 MD5_X]0!8<%U<-!S=-MW-%UYI"XIW(V/^*WBY5__2DO>J7T36E=._'FI53AQ# M#9"R;ME %[?-2";<^TP$Z DY-E0\;NM.-#2O%1K]LVD)=46R]WL6-!7[Y;]< M%Y67-HDZO=?">A"RCL8,'S+MZB_;!+HU-$P-V(CXJ"(Z1E)) M[E% 7AZC+QW9:6U=W(3#H_R(_T)O=\/7NPCYADD]^K$;[?@>@.V$/,/#^TESC,D M$]\#FWP0;'$?;/*/?_X>0R#]\[<&;4"(AFY#';5LPZ7]RR<,_IB$,T>>__=' M\)ZTW2G\\>N?OVW95N$_?_]:_]>O:F!([C]_2_**R/)UE0%[KUNZ! 7D)?WN#9H^G_*D@1U[T]4(&\"$0^9<'39 M;F,H\N@/@4,4E( I"3R7$\;)HN9P&:&C9&/9OC*0>REFFD:4L>YU644C-!U$ M;&] 2[^.M"4TA@+-"!%:P*P6K$*EG&"Z5)%MT(WQH,N7NXW2Z >A PUU.-!3 M]UE#TV1;0V2QTKJ4114BX4?*3X;6#T)&<"IZ?1=* S4W(T4ZI3#S>KMCZ-2D M*8\P*?8']: (3D4LRV9G0C2L&TF)\^6D,G(Z7?.DANEFU5R8F95F!\UDY. MBP_Q1[OUR8,\EY,=J$T-$Y@NB]!NNUE@FBX:9EK#%B-MVZ8\<&PP4&'': (3 MT6)OZ+7J8ZXZC&<6E"9-*L:C,TK+\\47X>_[AL[12JV5+*VB+&B7HZZENOT' M]L30ZXX&35F\1,<;4V@"#,8J1 Y 508#6<4#<$S<2T1,&V+4-H9Y64?Z509J MT[!DW!EVB529):,Q565K?SQT>45.^>(@Q3H4ZQ:A2,[S*D+Q*5?E7VE11-R0 MUEU DA%T8DV%8-2O(,*YP+T*$@#B)!S3,^@ M";004*%C[-)DDK9(;M(69WPVUI'H::U#+^G%FB;(3[A/H]%*>,1Y%8S\0=41 MHH4A&)?I%#T;LEHQW"']C!GB([70=D2$3=0"X:41\^L MG=Y6>JZD@:4(%3!VZH_Q>3Y.0B15^?XG=K4/@?FTHU 6FOQL)0I4=C7L"TQU M&6IGC_D0!HZ9QNBPGEMERP+&8H]B]/+\STC ODGA62?168WDH@E M$]%(_%WN1- 1(0-4/,_BQA#:54/TN)9>RM:F0,,>0S,0S+1E0=NJ06T S4V! M'&ILCKZ;PQ*:M)D>Q-JRI>S54D)=0:.TVTB:N068!G78_>%#F=%6$I^U^$7' M*I<[U=+B*;&V+7@=.,^ LSHF@S>>?3M>T <#E4EP5*/N@%).R+0RW.(%.^X1 MP1_]!;R8<-#>20]258$U=3X[-^J5I9WL+*.MJ])^UF>:74LLQ-A*)AE-IW*1 M@B.\Y$A>DO:OQ?W%B1ZO%'NY>C6G**"5M$6'SSY$BL\.GHBLHTJV21;RSD9(Z/#^8I^03Q-C.N M]Q'0ENMMN5KLCWD7+EJJW>=2+>4L;;$SWWJ1BM=S#8[/V5_G&C0<&P=#<1!] MCSYMC8T7>X_) 2^78+(OE-4NI2RP?Q"),$R"?FNDY?-'?, 98B*UU61BI'H\ M -#NQ7IT3HV,7A[L6[Q3R[2%-M!'T!,._*LFZ[+F:$\44GJ!R-5QIW!/B%AM MJAHNA-YX&E/<4/ =F*1CE46ELF*=.:EE'Z*NE6L]L[@>"3+ @A*BRQ3)B*\C M31/W" M3QMT6:0(7/_)ZXOVKB\07 <7W[NE]SZ?NKIA\<5AEM09B;7\6*?3J MB(1-^FVN/8WF,8A>M$>]S8_#Q,%K0T(-F JTLP:",JZAC;J*:K>AY',]H!*) MT#ADL\492S8L,B87BR-I&^C"%=VC?J&2C2&JRH*B@W5.QP180'+ M?) -OVF MND!U8,?(P!J0=1O]_PFHX@TMKT5G7(H"B1@CC^N]BM/'%&&HW%M($O'QY%$D M$L")%AX7I1;HZ%2$G97B7*O%@52>VQ]0%EACCY]50Q]UH*F5D(W4\;B:R%SN M\71O &E72PHCR>*57DU(%N7"K)[N(170C!QC:>B$_TFH]:@"L!_-MAO)PII2 ML3O5O)[H529XO8#Z>#7WQCG?N2--:)&'02*7$Q1&&W67T5+5B786)T;Z%AWW M5AT&I<="M]N2FM0L8QGU6E/J%J;/? %O;(.7==C@J0YCEU/9[_@!M%>MR$J= MS:PVY:3K[0:9)CO9:@LK,.HYW'_M+Y.9<(A<&R15UC]_X]7(>\M;:$2T(KS5 MR7N\AO??'Y:,1HY7';UG8V]=%TLHN5ZXOEM:$E[J^_6D3N^G93BF]\M;YKT/ M^.$-X5Q^;%RF8.4!D<_0O76F7?[L6,R +XOEJL;1B0>&!WT0J7256KTS0MYF MT!7HA0+7OV0)_Q[*T"0\,L"#B^K94F4_$OCTXW5U%ASA'OL_)=38GJ'OX./4*'_\<\ Q\.OZ^]?!)OY9]VW3DU^'ACWU(+7IM0U,&T<7 MO4@<2='HGTT]FW<;^DG;HD&<ZD5][&#@'$LP>))AW0\)JSY+#B1W3 M^,9JR)>08-C:9'2#Q)F08,Z'!'-Y2-#(@=AQKB+[SA7G#"Q9DI$MX8 *&T./ M'OO3Z#F:1ZJJX2U2[VGPG%+N1>AD*9V=5V+AU13'1KJ%Q-&A7@T: M-$DC:$3.@<:3HI?3%O2>MJ#?K2U(NI/O1M*5+#OK.S#24NK-6*P56EB$35O0 MYVL+^E+:XFBPYSP,M*$_)6*!J>,$O0 (Q>6JD9U2QI+G(G9EE!L^D!W[JP/A M\%@OB08_8\T^X"&LWWPX@].2/]$&:A/(4DG/@JEL S7@\\/H(=MT^GE.<6+- MOA M=?M"J-:9D##XM%I/NNVL,%>D&>_RJ4)\.C4B:O.KS_H^0ZV'AMUGJ_6A7"OT MFK5(BP6%3MD!U++/?OD8T&>K]6O!X+4SMB-J76H6^HM$:RKS/2$YA1;%B^:7 MG[9]J%JG0\+@TVH]RU%#@ZMQ([;'#">9E&EE&J4O+]N?H-9#P^ZSU?JHN>J/ M'K/"0IE9.6E>G-9&@/[RK/]DM7XM&%"74>NF*K9+YJ-+\IQ::BPZ8RT]__*3 M\P]5ZU1(&'Q:K;>SPP@7;PN\(C<&:IE,*.E\_.:M?V%VGZW6R:92C=%P(BN% M:P,6["]=*HIB<6,NNE>4KR?&,XRC: MJ11#Z^,?(]"/?[Q4IQ,4.HJ)\U%ZB+1;=#ZG[9>-!7X"#&M-,K^".4929K3Z M(&4FY0P/0NN3W&!X\=A%0J"C3R)8[\A#4"IU^8'7"DW>J3IN008:LR1#"Z>P MY"'L<9=*D'3T4MR-"ZESF>OI& ZB.B3TMC$T#)L0\O-F_-" M.OZ0NKKR?&U2S!,WZ$.R*H\Z[CB3O@ZTG?T('D3V,NTQ$P/TZW1,?B 7S33E M%!8@NDRF&\)#:,W3[N#6FNO$Z,+N]IZ;+?V?^HEHWGQS'3XGFR[N0T:5&GW'1HV?Q$D#T^GS7.L#/V MW-U-K]V 6#?5Y"3_X *V4NBGTHO$H%KJAM82']'31X=W-:?LLW&__YUB-!HGS!LKST#?&!Y ?#%K*YB)-,VJ0R570HF?H2 MX-L=_@U\%P7?4^_G6IION2H-9;-/3118BBF=6,5).Y70V<;?2/-]KM]U-O@N MHOF6[%SOIAW%I9C1'&0U4Z4E_4N [YMJOC" [W4'SP3A#&^BZT6OFAR_GMCK M*08DE(0YH$@V7^WSY,+*AG=C\A$0G!C@MS: QV"0<2Q9AY:5%F>.[)\,N)T& MMH$$S"H$.),P)\]E3&'NSKQ;9\\V08-LP7)U3O782D]ZR"05N1K:4,^1H0:3 MPA?&^JW <72UI@WG4'=@&VI UOTCS[P+7=!)V*[R0#UX-1$EL#ZKHM;01BAX!A79GZ0(!'/8"7D\QB M)90KE"([G8YAY2L-*?M)IO+; 3QZ _A9P97-EH$"-$8FF(YE$:A[WE[=T#?> M77>1K)-@F@*4,XXF2=O@F=4P='%]/%LX.JZME[9QT+S6J@ MB7,OK2R:X^A0W5HH_LZZLS =T[J$#WU7T\%E:>MXO8J557B+<.$^^GVW5*232^ M"V .#OD&E9-0\38;KA- DHW"LEVP.Q2W&-9R1FRZ(N.AC0J\ AP[@[S!X20< MO(LL=.!O0@Y@D:OHHYP@#?,*,'A[RO1@O]#Y#CKCP&!O\#@)#WPL*#3Q;20! M-A)#>EF>C]--K3>.]KZ#RG@ZTF\-C$/K7*^;A(ZB\8>%#+0FQ=0F M56,68RB-O4U"P[W"]#JV[TQ"8TVFG\>7Q+(5JC)=5.NTJJQ")_6?/PD-(Y,O M/PEM14@S,7:Z?<49=C1WL-(MLQ':Y<4O, G]/K Y/ F=6QU4<%Y@V-G"AG8M M4K0[Y';EGSD)/0S[EYY M']MW)J$RKT=FZ48BSU:A'X?V!R>A):!UG.GG.DJA5)RZ3SJ3BXK?Q? ?.PD]'M M97<22DOUE0L K2MNAZ*B4V;>6%S_E*AO,@G]'G X- EU!TP[]S!N=7@RTFS5 M6GU@/\+OH#,^#Q;!):[.8?VTQLU6$;MM%LI?E982!_AP#%ATU"0W$3 MY+G[2YNF@5JQ77P(@8U<,WRZ]Q2/.^,^VYM5 ^)8UJ'I[I9;9_#5^HF'89Q+ M4AQ5J'*V*G#E9.B2*ZZ_[_0,>F[GQB<(>DET?L@&AVL +N^8NFP[)IXSY.4E M_FOM]@H*;)5'/+E29(O*MV/27*J.0J>F0H:WX_2\PXLTGX'$!X\L.%2WAPO+_1$$W:ZO%LJ M5Q; )KD.\R4TWF4/W+OA=LR;J\_=>$DVEU&JEV\N0*PY3$["=PILR+#VC;VY=P/M/&]N,CO*W8.H)1YA=)L>4!,H5 M%G8SC?KLH5ML:-^#R=_(77V;.XK:-QWON)>2CKXOU1TA,9;V!XD\B5ANI?7'26IR)EYW5Y1FMDV M<:F$?P_3=*#LSL1T233,#A3'NJ$:(\0K\>XB6*[DR\UN+%_L4FXZKY?*4KF; M:(76_SF-Y6,D^HX8/G=O@E?THIM68OZ]C][)"9N_SX)PU@6JH\&==P$(*:'B M%-I<2J)Z%7;PD$TO&3[S117JL4%>#0P,2<7.O!'R2='+*+2=/;Y=5BG!DDY-#.R,-Y+8QWE 9]YE$:>T4O (ZXD-I@8_/W M&AIMJ*+JI2;JD-LQ@6[Y=RA8&7?WS18M%:!+T+3P! ?H6+D?,'\R\EU,%^\< M:PR]Z[FVGW,0=1'QP&T,AV@D^BCXW$HR\ZP=JS59N3VM5";3)7*UPO@H:;(J^ACNU5;+2.CT"K1+X'O=9$-D:\&:O\&Y\@YH'Y2] .. M:3;13-'. U%6Y0"\6[S/#76.9'Z_S!,4Y^# +GD12DR<+?KK<.%_EQZ9T(M< MI)V18]G,]NKP2*&2J$V&"T&9P2$DP;!GMY:A!?5S2FTQ=))4[T?Q4(*LW8T9DL/82.=LSYM&.N1SMZCW:T8.9Z>@-D M&CKE1-.)823795OUJRN9-\RHSJ4=?7':I7;4?DJ(4/X/:CE.MMNZRO)Q5B25 MA-09ISM7-_!O4':ILY4=*AJAKN^UGWNHP[&99A;H $WQ]8/3U&:D JZ]%!G MW7YD),I Z=:[H?.[KG]NP]$IY"GJ?6O/_PP8'MR-^B887Y-/1F ?C="7NO F,5VC8T&T._R"4P.+!BY3@]DQML MO"-62"?%SVCF2\:!#]'F!KT3T$LBV'V0&CQC08)WVT*6(6,]JK*9DFJ8SZ($T\R7A M^,%Z\;="H9\7LT"R7I5U6#6 ;ET.@BPOEYK98CO+<]28<;H6 Z?A.RCG% 3] M-)8#Y+GA[RT[.3YGEB+,2H_-:J8A4E#.PZGH.OR#]"4UX6\T2[G6MJ*SDE>N M99/C\Y@.ILUBEB7EW(QSZ<4RT@A=(.=FD\-P?IW84!]F0T47*:Z28B-=K5#0 M*Z'#RIN#?F%ERR9[4I?@4-9E&U;E.91*.FI@) ]4F+8L:%L9MP8FAIE5@;6_ M(M\Q@03K0-OL*7]^0=JT66U&%"9E>6A!,.W;H!/BK,/[R>TM?2 -\VRXF-UV,3*JRE%+B#Z(T MC \:PUYX?LWRL-[W0R(YUGVOPB&EHS M$"(8A"$[\Q@,WK6G\>U8TO,#H;R*E"T*0--)I9+2M!E>+%UG-^0-RA\(Y:-^ MSMLQG&;:"[G2?RSQ#.PRR3A=7]4[H36+%_:0;N -D1Y6U/2*JHC9.57I)^N= M>#ME*<4OZJM_ZM[RKPB.HYI-<4N)VL@M#*A9=3RRXHRP*O\V^NDKPN%H"._U MMHGMUZ76 S^3V$9FV"O4;:[49T.K$3[71GQH-/8,5N9DRS;E@8-1SD%S+HN; M2)PZI2C9Z<8*O*Q8<6Y0&2<'M="*]#EL/3[8+\;B]\RL\VHASD3M_(1JK)BX MT1;Z31C>@Y=#(ZW7/[#Q?=):EQ_)5'&>;_%ND:Q7H;000'@73$(IK==B\8'M MJ6=+:Y?7$T5]0LW9;'*534T*:7+P\*79^B'22H>!E2>D=6XD!J.QJI7!"NS;Q-A2<0XC?"AIU Q^R,84VW"C2 M-1X:K;F=-S+)&7I M&@7TLDBWBT4MQKO#$\+\8#)C+^@5Z96ST5\MVB8_K MO;Q<:PQY4_Q>O/]JR6^79?A9?L&RXQ26\:+PR&>KY6EO,(E'07C74[Z<7Q!. M:)SP"^)4=5@AI7%/@3FF6%E$'LGXX_>:+7RX7Q!.$)SR"T0Q.^HU)SRE.*FN MEID/2,9POA<*/MXO^/ <"]UN2VI2 MLXQEU&M-J5N8AI;K>Z/;\O7H\*X6,OK$DV;.Y7D;XJ"I:$/)(PN/Y,5JT7G1NA]8'.,+WDT/\8I[^VT68H0=S)B,+/871F]%, MO&ZWI/":[\\4X4]DHQ?-KP%3@7;6T"4O\V<'OF.PO?*T#Y9.DI,S@L*-8DXG MDH$/=C*T89HG_/1B^6>-,^R,O>SAY&UH UF'$@M,7=9'F[6Z?B/&# 4=4MFZ MD!^5IYU!+!_:"?F99P ?'NNWLL67/7;\"#@FJSF;;(/$4 &Q40&6'\:#1#NT MBB"OE\;9L[=R5Y5T$BDQI&S7,+<"TLS "+*P6?*%:,+)%UG67.=;I M)XM-&%HKD-]&+YDRED^NQLW:Z1W9F+2U.AM;, MAU)ZP\?>AKZ^YJ.6K8$H.=,7BA:S23G/#@0US/E9KV;O9JA?EKT9H )=A-P8 M0KMJB&"S+VE=P+_*Q#%-U.6]I;1+J'S6=K*SC(;6>A^C MU5:U'R/647C<3,O[P7EQ5 YGQLR,BVF%J@P7PF+":P]3-[1JZTQ4WN#X_G0D M()M=H#HPXV[^+"+> 5,NC9E2OK4L2VO /,$ICM5UB"P'-.;*>9- M[^9VT3U[L:(BI=HQCFK$FJFTO2@:S6)H->IY%-T"Z@1) MWX_I,WAQH"WP[^+=WC]+*!/\@[CE6(O5Z_F% 6TDK;H\-F' M2'A3R6_>X8^]JS?O,.Q OPPJ;:/> M696:8YGE^!(+4]J<5!]#FY#UNP-A-S3\YIV[S7A8JQD(S$QIF>HVK@6 M6B,:DIV['^KZOX.YS-*E*'(T&2N-A3XHL(/V--D-K=\>/N9>/G,ZL9/'E7@F MQ_@VF?7E"<_OXTD/1<-_ES7,J>'7^,11X<:&:7>@J6%B/LO?]&ZJ:0(7#-3U MRI!< ,5,[D$?*'&Y$'-7Y&-AY896_H\1* #*"0J]W^\X2-J=JR^>T?9J*2,1 MDDJ*:L/@'!I?RP4Z>E6ITE]059$:K#)FN$5LG=$!QD MQ)V+8.;B"'XAE_8]:12PSL5G6KQI4; ?'YNR4XZ4!Z&=UH4EC2)TF;27@\8V M!4/KE;G<@^&TV8*;SG%RI%E2Y-#.K<*2@A$>:&SO3438./\21:QNL6)]%O=\ MLU._<@L355TV6]3,HC4X[3X6%G)H/;:CEFZ?,)<(=89B]O TMW?WZL33N;U[ M1:^P0Z]JZ"/[J5]U"*,Q^D&JBG6;Y6GEF\V**X964QT:UNL@%JH 0"@F MA9";N(L\WQFP3L_.1,G)O*B$]^BNW]:EWD\>3UP!A9\ZL:L5F61O)A=8UC4X MS2Y6%JK:OJ$PQ"AD+HO""#9CJ-KHBUY621?]D#Y0CSALF-7&=3TW8378;_$\I:6=\-X%<11\1\ES >@=INL6? <)>R7\14D* MF^,KKK1<[:KJ,QQ_,MG-E]VJO5(J.3O=!W*N'3-#ZY>%\<+J;[=*=!*85YI_ MUA_XW+BDCEQ6:^3R69);=4GU-O_\?4#'A$(;-BR'?(SQO*W,VC/>B*A"(AH/ M;:CUI@T_-#/FX[1A;5&NQ/,@3BF]. G5V6.F6YQ\*:/\FVC#"X/N,R/ Q6JF M_+C@*@Y;8(Q,=YA)E'KCFP4.'^:>!'4OD#^R/;-A?X7*,FVA#?21/ZG%OVJR M+FN.=CG4K:OH E/&D02\[K,_A<;9=%!JS*&IRZ.QG9=UH(O(KGDK1,;0W+S! MM\HO\9H1?A-4/V]+L%:P5TV66>0BM(\K>;^C\XQ_\W.-/X]S+WFBN#NF1D?NR(89EG$)P[O"-<@J3J9D2M5*:_A%GYIO+B M-?H2VWYW\7F5,W91^\+'VLM(E]/F?*&\*J5-^F'^,/\2T;D/;O8E7.*3-73+4&7)*UBRH;9_['L#M89> MZ:/U?>A/A..,.^*;IB$YXN9+NQ$;3AB#7O"RXDA61RDM9JE0SE,.DV;GM)[# MM'D_=L^YC'Z?JC?87ARV.1E?%S-P< ,<-.>RN+D:!\JK9$Q5HSP/!Q$P,/*/ MC! -Y5I*J"%\G,(W.._#N89:1N9,;4-4,;:3^L@K%."1$KN125'H&PJ9LB9V MHU)39N$[V_LZ+>&Q=.[>S[%.+/CB 6Z'3"@8()\(%/SO-@LW(QS2(US M&&X5^AS8GC#.6K=9*I;,9(>2TTQ_'M5&XI(-95POU!#^!./\1>'\@G%.6DIK M8&8R-=Z!F2ZHV:7:R+H9YZ\%BZ=WIWV*<6[&RXXE9H0\SS#UY>/T<:J0X;NA M)_2:[8.,\V?7=7OOD.9/180V*#;_@.4#".2@]" MIZMF*?DQFI;2LQ'3#U_ZYC,%5''LC36$],C^.SYDT)G\=6ZN+'5".N1OR3=[#/M?GQ MOL-T5OVV_&!&P ,_$QO*G"))O1H/KT;^](-M]ERM*':UF,T(3[E:3XI>P@.G M\3\;'WS[:ZHVY,BC5+&H2FJ>5VI1L56__N[WU[NI-/[G3#=UM^C%W%1*B/!3 M@QR2P2R@Z^"#?W==-]=EY!"5=-#2XL6P'[_'BH(JGE@6H0Q.H M:5U*2YJLXW"$=U0PN\0-P*=!(]Q8'6B[!XXNC,[8<"R@2YT%:LQMZ+ Y1L0V MM#;$P0W1AI(WX)V.YIN)CL6Y,\B#56I2;PWTQ_8P=-&C;>+;57D;A()>8.[[ MXU$G4+&[P^X5L'A_GW;QM#Y*X@V ^M;Y!,=43GH!3.F9O[9#(^RL\KIL6VV. MO[J&F-GN*&JDG))22!GS&%=_+*@PM"*]1[O=XYM.$.]+2>#O!WQ6FZJ&"Z'' MN<;TP*FUEP<]/1N"$MGC9NX8EE7.-3UQT:* UAS(-%NI6M+-J=RB2TT_0G^/2\@;/&^3U!$1%2 MFT26S=^AG&]<:%; /68C$0=VEHHVC4U#B]9O,BL(NP?.X'.@J=1Y M24-[1:^72Q9*(0S]I#^:[::=>:R[I!R;[:M=]7%BL3?QODWZ0ZAR/CU/\9C* M"=>DO_O@ '+() 0EKI>20GW>:/32H17IVZ3_VP'_,R;]EI'ON_%Z94&1/#G) MD$HG921#N[Y]F_1_"\"_8M(?S<-V#=;;=35..LV?Y/(_'NA$(9D^C$)K54(-E3 ;F$M 927#!,#SQ>_^"?URMDFOIHA>SGRL6% M".53RDT6EK54.=53*FIEX8I2%E:N/U5\7:H<,EQQ,G*!BTW6%WTF_01C]:&G M.'):D5EN5JT96F1.QE-7UP*O&[MWR225O-38:5J(GO+77S&)2R5*43:_Z"05 MN5RL+Z(#T$UW0JM#0S&)VT__1&HS^GZ^GFLVVU!%&D-J(AWC=DR@6T#$GUD9 M=_?-YG##C('HU1CF9!.*MF%:V3&036VS4H(T!ZFITXK*:A%F,)ZOG%H]O&'5 M\\?N'TMX>O#?U)2>GLN] CZ>#JD 78*(=TEX),KT'9O99,/;+Q\C+>9-V>5FZ%-CH4>LA\ MZMPN(=#1#6:V/W:WG.L0_'AGI-:"1(.GH>-/:*7@ :\9UDLOC39++C MP/!4!X=/(I#06^^075D?!9AXK/++L6D7184I<;-:DIW;,RFTUN8$)CQ-<624 MUX1#_/S$IOB%$YMH(;*["3#R) KTHJ8H-1OKA=9&EVK+@LGQH)Q]@%RG7)L/ MPQL8?%DS;(9V15<43T_.V@#ZI.B[-S%>:/]O99$IS%)0X"A=!I&H5!SRH7,#ON;ED^^# MU;5.;_F0F^0ZUQK M+"IQ9B(!:'H!,[.NXDJ7!\M+D,@# W+4+#>)QY)*==:Y M_L$8;X5=2&\AO5WQ^YKK)C;)"YP(=4138R=J$SQI>@UVQHB7EW/8M/%BIE1K MXXA"3NJ0D>=6-^*$#NK80SM(H77(YQB)OHTG%R);_R80LT L?\G1IB+^1 M@#O[A'FICT_.H'F'0BTA0AI#JWQ@LTF(-&*]+D_DX368;P&F:I,DH)'#(W&S0Z44'H<71;ZW)PK !XUVS^89^ MP;G\[,&>-A9SAV$U.2TN9X5R?A /7?3\=7/Y#8&^)X _^5RJ;2IT9),)_;@H MM4!'IR+LK!3G6BT.I/)<&+8Z/$T"CIR=!(R*?L36*YA3AHEQ'@ %2@)K1!>L MTYJ%8:/$IZ=/'YT[A^K@I0L=CY1,LQTG,7#[K#8K3M(9IF8-PA=2_6;'(X7P M**+/G/=_1[EZG,N5E;W*:<%5+Z0[K33R]!&QV]B]%%BM-T+\EXQB@E/-HFM+ZM-BS-'MN1]^&==H#J( M,MMW 5!-M]I-\K/EA)^Y7#=')3DR50JMOC\RQO4"WY%!7H^AL8OL55_O\*#I M5W"T#21@5B&PQ]#,(='$A.+NS+OU62Y-:BER"M.W*68\*+>792HVCW^[EY#=LG$_$*EG&"Z5)%MT(WQH,N7NXWK"]TG36&?72J;7(K9UHQN M1"DDJOGIHS5T,M=/\GTM[S]H C])6R0W:8LS/AOK2/2TUJ&7=.ABB&%<*'3C ML<)(FT1HI0*,42K1S#_RUT] ".N*E:/+/MGP]@.\'H5WQ$H"S^6$<;*H.5Q& MZ"C96+:O#.1>BMG)'-(@L!P3_B-;1I2A$_?HDW4;ZU?KW[B1PPUBK2Q!KSG+ M2W07=,UI99ODJLYF"YJJYEA2G(#MXI3G3<+=RNK(="..&^8;._;L>_PP!W5# MD_5#U08,\7I[JMZ]*G[M]_Y%NFP8$5 E!HW)J+TH2Y2L,(E8G2D-.W3K&2_. M[=L+C4Y1>2%E*P_S95'5V,HBE6[$9TI,>5P<:1)_\8X&%ZC#V-V&0G6L=@9- M.^TJ6C5+PXQFEF*+YZUZYGWSU3M:EFVH";5%61PXJ5:7[0U:,RG*QCL/JR.- MX@_>TQZV"*J*_0KT4!JUE@8H4[(\;V2BO?C@41@=:7;[W3M:SZ9S0J6H9?11 MN6[R!6;:2D&&GQS MNM5?\O(>@=QP3!%:_L\Q!)*G:I&4_?,W^A=AV:Z*-+8&EN1"ENSQ/4U1__YK M"B1)UD>D"H?V??0NFM@^,O$V@_4SP_U&J.9)VTC>D]0]_% MI_9?.VV@HM-UP2'2N.00:++JWO^G@WQ8BZC#!=$V-*#_YZ?_!/W70GIZ^)^_ MO-*6O(*H(E2GW\H]^I/ _V>B_A^X 4",33C\[X]_=1I9]-.: GVO2>_O>]TP M-:#ZU2Z@-[[@T8]_.GA'!F$,B2PV"FA&_O@712^S@#[STEONQ+"'CBXK_[[^2#!7Y:S.PZ:4ZM88, MHH5M:%[[ZT<8$OCWP# 1(#)?E/>_=0G\0>3 ZPL/''@"*HA1 M*1:/, ,!#F,1(9I(1@4P',:$!*28Q" A431(_/ Q*[O=_/$/7R]UV!S!==(=EOO[UR L_>+8+-\N M=4HL1Z3K.8)]R!;3]0)+9!NU6HGC2HUZB#K;2W/%4KW0:=1_$KF[[!W!(/RZO+!+!7*"-K<@;)YR$#O"D2(+R M?TQ19\?F\U^-P M\/VM6LGVS&U09:#Z14-5P=2"]^L_ IMP3^$^V,B=L:7U)W-HVK((U*#7W@"0 MZ?AK,49.*8G:$;&Y7YA@NG9%DENKM![6)4WRVK3M/,&F+&AI'VM#['38__TA MHTZC>3,BG*$. #Z/:V L?UP)BFE==X#:AE/#M'<@.=#'H&DV%DVE,5DN2C%N MEAH5TL\@N28.!T<&)/@2P;D:XOQ:/ < MX*G#(TK7ZWRZ2K399J/=(9I\F^/3]0[1:1#(HG20V2#H"-%H$W3L#^E/HI$G M.D66V#$V&T.3SG;P:SH5B6X4N4>.7QCLOSP9^;HB_ADV\Q3;\H9)V&-(#&4+ M*0["1=X[ ?$>P$/F8$=$[R6<>(OJ&TO Q5]!_5HRZN?OLG[4:D=(G7%B'%-6 M-9IE$KU966_ TFHP>M7HUQL=B0C]D\#=^G8FY=W]3K[3M6BTOYH[=K/"'VV% MO7-;@V--GEAB=\I$)EJRT69EE9WWV.&C;E=;E[;$T>]DB3OM=)TK>2;WN#7^ MWW_1<>JO$)KDO> ;?5C[>$]D':^>W)->F6^O1K&=[B [O145PK>+1-XT-(\K MNZ.69&NJ O=>UE59A^1 -40ET#81YBX:]QL,!GBJW8[QU=1WV#RLK*%ILH4S M"Y"3A0R+[F"/X_[ZTVW66TK,HS;K7I,[6G6E<^.DFC+[O%:I9)-+.0_CU>=3 M[E/#HBB:C%+Q5#*T+E.HHB_79W0;CKS+,G4;IZKM,#O5&]M,16NM>(X&J<:" M*R>BM>=^\A/4IG-MEB@VJKE2O<#])$KU[-WU.'V&=OR#70+1]D:-%R3,S6@) M8!'6%(IX'5TB9)V0;8L0Q]YI)G]^)2 &T?>X.* C@P0M@ 0 0C0%)6$P9 8" MH)'CF!A(D>%0"J+O_A<=43"+T4@J,M7&K*,6DG4SQICM94M@!.IIR:Y%\?VE MX=98QC!%I3;AEJLJ+DD_+:E:LF44FNV1TN/S7%Z<%NI4I25$GM?)%S/RK-3C M^SS#IFBHE S7:;6$Z/.26@'9]0>Q[5"<;JC#48<;/,1QR77KY_G>.YS!]!W[ MR,7K3:*_3K7O13!WD=B.9^&OX04/]Y?D;'/==E G[?/VN'-OK)WX&*IA!Q [ M?B*!FHJNE^>\/Y\L%.ZT9:#ZAZJQ6 -E_9O$TX7[@0F!0BX065YW?UX*?RKG 0:++;,$= EU?>[S_#C=ASAE^Z:]]Q=P2K357#1>/?QQ91 M-^[^_"+,#HE\IB7)Q'G]_G^JL@[IG3E/5EK9W>%#W^3C@MN5V:F8YNJOF^#2 MD4@R3I3PX'3@W_-*-(&I+(![4%3/K_GG1\W] ^)DT9\-LV,L]!T*P:XH1O,] M]Y'G>IGF/-D>-]7"ZRA4!J)B&?I<5M7#=B:\)/&T4<-L(I./-,_N;#F2=W/Q M17OY0J_PC['/ 5TQ)9X:B*)D*=(V\'U MODKT&%DJ:'T#.XPP@H HP:?6]K*+&.>F+W[1D/8VU/@?B["A"J=C0U]'MG]B M7TYU,*\)- $!'KGOB3^NKN"QF4NC!KA?L?%U4A;F-!*,+N;]!(GVFR4Z\@R_44PF=3X*WI M2%<4T(LX2._)=,+9"T1C2.![2@AV*8[Q:4$'TLY"+!?O(X'WI03%(!B./2+# MO%]O^7OZ%N=WW3OX2GO\U[/77B/WWJY!G,TEV_Y^3H^X6158UJM#39\A9N$E MJ F\B:Z?;OH'CI"\@9Q?2T2O2,Z&3O3&,H)F>S-9^EJ2_^EAT6#"Z=+,P!/V M33"4;Z\&LMC+SY6XW>ORL4)'9*:C()WG==F,:+;J74CZD_@?Z@Z?:H+718@N M4!U(3*%)>,>>A3)0\%$V-Y1NR#5A%^A!7PUN,!<7S527IR,+/INI%V<-*TL5 M[-<'X+.Y-OM;P^FC[<,%,FH@O(WQD\//95HM7Q3='>_%-XC4+ MHG5#A[_G1H1S.H79LKN[;&I"+W*"OL#'JXHX\V;@$N(8(C"C"A5"]OFPDT4M M6P0@%E!5244W%J@1""Q$= F]L!R\J@,L0H)#6?>3K-L.FDA$J=B:HSM 0,R] M(X@^^FM-C6>]/G.[UL[NK",5O31\@MATXOJ+T3U$O0HF'A?0KN21;G=?.2C% MS#PY3K%QKM/CQ+Z>Y6+IDWQ%RLC8H.J)ZCGUU:6('S]._#,K.LJ:*RUQ!AO# MZ.A=-*Q+L><*]>OD5S=L]&3FR%@'(]7K;3V*V8S;73B86 M/?P:[[8E)/16'WE%D42(T LVT0SAG;Q@$7^@^I#G35B..":LL8'W/!'^>9[H M&V _51(+8#W7$-['P1C^1'9>EX@_&'^, ^2_H_>#"1H!+N\511_A7@3U> >U M>YWP.@DLFTA1A 1__OC5- .J3&E M XVTHX)DA;$2"ZJZX(%4L(O+?%415R\Y_S<5%&85%#9]\RP^\RK?QH\!J.A[ M2 !11!H%20:2."QB. "@'WR*IATZ>?"%I2%5A%HQUU89R9V&!NO^Q'X0J@XY M#[BO(V)D&@M[O'Y]A]PBZ/7-"SAX"1U>:C(F&4/]=:R'WFOZKW6Q%PL<[]^Z M(/:%@L)'^KHNN0Z)T,R 9-;>W:Y+=Q=>V#T_L]A+I NJOU22WF[5P+&-]0,_ M0<][LI?'MQ/J#LH\3^-Y1P8?/I(Y=BRN'J),I;?D9=').YKYOF-+'ET/"?G8 MD+1@J?OO#^;'B^.,TG>1Q%<N3!;L7(,-UK;9?W G#9H)$=-[IMU_+= M+"4'?Q M9 C$Y11>N&/^Y:FIZ8<>P.A+FM?/]45I.Y(VIB.U:82UGP.IGU^[B#@WQ^N(1L.[>DXJ-Q MA6L5D_W&XF#@XLTJ\*R<"M_)".44ZL,CA<,3\V>\ _/,54,<0_0BATB+X^5# MVR $SQ&:Y/8S3/XMS1V9Z M4S/>G/4C(NLHV8X\L:HS'A[T4BZI.V]+?!=8XMM=W0ML-X$@B6-!P+8A/BL* M0Q2A%9\TB#H*_-N,\3CIQ%\6 2P+&5+\:(U@.!Q"+S*L!YOL\9>R?[2(ZH'3 M-%0"S]5VI&;K-GCITQO9B%+1G:VB'# ' %5+-I8J=+W%PS_H&,'? T>2[:!?=Q<, MR'ZB*)?$H9G&PS+,]):Y>16,=H19+^F+D<1$FXK[H$&&L[+Y5O<"!O CA/FK M2^Z0L+9KY B3K]U'?=08[@K_5NB\D^#\-6WC>8Z-=["!GP#G?Q:LA ]5;X$< M/1(-TX2;4ZVPC39-O#9N8)F:RX9CJ>Y:I ZU>A<:WW!].'M>UCE;LUD\CNQF M=$\D!-2MZF-+:[6H C1JJ;B[8&S^ZE.%[RDAKUW$P:Z7AU4#>6X^W+8H7,O, M#JX]#;]93L4F3C2\Q6)DR537DJW@/#8Q@K3E*W=%4CJ21=",?\)U1 MAN\)G"OF"Y]:,+3&4%772A3;O16QH?82T"U'G(H M@/>P[.B0B%#^#41>LLO_!)*0]Q)*4+WX3EL/Z&??PKUW69/N:))A2U"4-:#^ M(/!53XAZU+X,I2VA,13B0H3R9<9-%I:U5#G54RIJ9>&*4A96DJCBH!K+J^"I M #6]645>-V M&C#%,9'TP!;]B0F&P+S _SH36NRBKE3/'T@ ]>3/X[BW_=1J.+87:T*@V0%B(I:VH+UZ++.D*8Z&IC H M-1Y;"(B)G[%DXFE5PZRI^[N6ZXTBPC*?@?@(X M 89VX#-"75IWF0<_K7VMNY$P&?6AO@FYYI$T(?-?K3V\>(S\!A[D&!W8U MFP!]4RJ5[K#*AU/;#TPCT9T&V>NR[BLGK-R"&T.\9-G3U3[OV,]#E,!J KG! M.(@^P(EKZ.'^1@!DJ::XAUCA&L./3@<+W05*GR]?Y][2_GPD^_>V'[J8?>?> M]D/7NI][<-0S3?E:VJSO 4,&+Z ND.H)UHA3B/CQ?V_O M:@S&$,$<0=HT\6]B^^"?#Q <%( ; ,38Q+[7OSJ-[$%FXK\1:)"V5/= &#Q"$R8O*Q3/ MAOSTSFV6.MCE[\Z@=_CWE*J'R!6<>DF)0SH^C$ !4C00HI$!)20E,2DDX# 9 M3R8C21%&]\^=]$:$?U^&BL]$\ 7%UDEGJBR^+3';J'?8>H>[DB-X6B2UO1LE MO1O*+GK[ZSY,IO^)QA*>3B]S..9G]Z@?&QG6]G MG41W ,W[[BT]71[W7D-'C29X_6&1-YB'!.;/3-;%S]5ZE>[^8H-^S<:+#X+T M2V/?S$.:Z7:G),3C$9H^<%+7L=G(6N;1QT3)EWIPMBA\(.ZO+-DOZ:\/Q[GG MXE]HU"%$]4;_(0DI%8*OJVR ^NB*#OB'5=SP(_ M-W"'"]RQ+P37FS+]^GC[791INBU;2AZ(MF%:0BJ:2";I]VC4]!V!*R2"&F]J M->0PIR-?"+DWO?KU ?>[Z-4,KYO0,M0YE#@;#(T?LU773 MJ2&'^$VGW@!WTZF7UZE,TS2FN'O0$FB&H:+Q=ZA5YH[85G=3J2%'>.06%[@! M[J92+ZY2(U4X BI2A"+TSA.WA%@L3L7>$W.-W!%>I<1.K3?]&G*XW_3K#7 W M_7IY_1JMR3KDP!#:;DZV\'YK!^_S3282R6CR'4HV>D?@F@F_:F*G[INJ#3GR M;ZKV!KB;JOV0W->2$(_%DLD#EW$?T[)[R:^W[-<;KF]:-X3#N:$S- YNK.8= MZS0TS.TE:I9_;@P[<]" VU!]AY\;NR/\!KQC-=K/#^+PFR+\MGZB$JIWWL3. M*1NH MO&9^3ALV;]RX.)IF.*8V#Y!]#XW^[<&GESH4,N6Y'H%Q*7FS+_^H#[ M391YG N.K<^O#]'%ERX*L6@T'GE/BEC\COC_VA!U9PZE__^F74,.]LAM;\,- M<#?M>G'MFJAM;C6P<,#6L2S90'I62@='1 O1]^P>2V!7^=FU"=N&//\WO7,: M]4;)X^.&)/\N$EP&:6I']8]J;TRA?P3PS2<.NQ#A0S:_C%S[1V^H[8;<#3P#M-["[M$>F!X=CK@ C>UW;3 MRB$7DNC-E[X![J:5+ZZ5DQOG=7-6,%**:.(+X?RFA;\^X'X3+9S*>I> 6%A52LA1!2,3^IH2GQ*? M]BY!?(<63MT100/XR'BL>_?:\(^B]UNQ@7>YG+[^B0_;QQ]LM?C6C[ZIZY!+ M3Y+Z0@)Q4]=?'W"_B[I.XW/E34.UD&KT=F=(7C9R(IF(IZCW*.KT';&NVE.[ MV\IORC;DV+\IVQO@;LKV"LHVT\#7P)6VUR,)B2B3B,;>HV7INZ(30,_B4T3Q+H-+\*0 M7=\M2A3P/4\XRGL+[(9=0&Z>\ UP-XU\!8U,;[1DUM"F4+>\R,![E#!]MZ-Y M=RN]*=F08SYY.WWR!KB;DKV\DF6"'<)N8Z$C-W0L3XUA%O47R'H&ZA YI_)[ M-"YSM]Z"[!*;%KS+H/TVB'4C0 W>>X[P=L]'L'GCZ ;HF^8.N2#=-/<-<#?- M?07-'0E4J*<<\6XVI%EQJ")0EAT3"._1W)&[C8[>:V%/(:-&D B]_!LEL M?I"#*.D21/XU(ODMAA%ZF;DIZ1O@;DKZ"DHZVC1E792G0-U)ZEJ-%1?-Y[T,!NEC!NP=_7 >V,Z1?>637'#]4WKAF\X-W2&Q^^-L MR/,;>+(C;M,&P8EC*#GJS?<-O5 \\WU_V6"@PM!0^-K=V!:,HY?GLEV2Y__\ MC?ZUKD54(3 QO\=!4Z3/^_L(;M+G-DU1__X MXN)3FV"VOX?-F"8$GI%K3N%R4#$[I+)?Q/;/S$QGE%2 TMRAUZ!1) J'-KW_E?K M1QZ8U\\,RSMN[-[TPJ5SB.O>J]5C"M(O]PQ]%[\23[8H\XB_YL2>ANXTLF]3 MOATLEM[J'7I[\";DDZ#N;Q* M464=DH%IK9HEX^SC<$Z+%L$6E==Y#GT(93P[3Q=OL\PCM!4V2% M^,/&!3 9&.HOOX#W@_[K3T)$]0%9W[P>&N8"F!*I&H:"8W#6YH25X!-O:[^L M$_88$AH$.BZ$9 G_M, 0$F-@(IU%3$T#\\+0K?5;_H[SXGQSG!FZ/=&;J*+_ MC+R5&=1YO'6*2(LV_HA.I3P/282(#HLQ-*%7#^XQ(B9AX-U6"]F"A EGCHP/ MX4+M^N6V[Q#)D1]A0^FG]S$2"LWR_@K&B_.G@.X&@_NY>0PD$SY]N( _UT0( MGCC6Y@EVX(*GAF-N'B-=!4W"-M9=MPQ5EKQ5IX%C(>!;'GV\YH@BDCI\)=M/ MHJ2+=UZ-V#7<^\IR!I8LRHCXJ#T_[!*QV\3^[-^_Y!?0 M#)=3*-I@O1IG68XV#7Z,C2E$_QE 589#](?LZ>_MLAT^@-Z&(XPJ$XY03W$G M7VYQZ-@.ZCZ<;PX2VAM-T'75)< 3M)C_4Q35_#<<6# MU>^Q^.E3:VPXZK.RBT,/Q4,/IRK0GSTS(9+_9TU-#0\XX-G(+0BU \^4I\]\ MGCY]BOB/N;9Y;)@>+'0X\@\,]#4A8J#/,_3:EU +844%9J"=T&-$(*3/?/6) MQ-?&S!:AJ2.$>2]W!"3 O/N3P.-'#]#G6[GP))<(E!S"F>,]]4#GU6N?(]=( MYTQ0BQCE "F<0)^;LJ7XTN+@OF$L8GW^D] ,R]/?:+:&,8DJD&2\/\!1O2H" MEGA?:KA7>T4'T#6P] 2*WC0V[06#P%(O>L*"*\/Z<:U([SQ)OYQ?LG:/@PD( M-L=G6?9]]^6DYLD$ GV" 9YC"=<:)L"=KP&>\$;6L>U#='G"CRVCQ.V1/:)L MBHZ&VD%E XR]DE,([,@2>:#&J RX]5I3L:=(-^H5;+P&;/7\OS=VC?C#,'\2 M@0N"M:BG9(^WA_"RWI$B$9A$Z-.!ZUMFG->!ZAH2'K(.-8LZ,YTB;GG]&LHJ MJD,R$.E0U7_Z5@=3!HBB#T^O[W;%US48\1]:VUQ=NV<9_GUN:'B M0T<)W=$&2$F@WAP1N3MOT=2S=JK[\Q0I?!5+Z(:-! U#2T;#<::^$3,A5CK0 M7WO=D;B-#9_+<&$%1,*#QKX(+NZN KWOC(&Z M]O@0RIRI1^P3O4:%$+/P]0=K&XUTW#Z O0GTEG.>>"RP)Z@!"74,>86>HD5] M!Z@N?(@V'H2.=,$. '_NF^J-?L:.Y$_$/<\1154@*^J3SW,[)7]TNS"QMMZM M"A:(/UCI'&$>@09ICM#X34/#3H,OZG+@1<@V(?LD1#---+51/4(1CK4GGT@I M'ZL]L!Z8ZV/@G6%+R(@YHC=%\#3*<;H''@:4GCB6=T0/"YZ.NX5QBRBV:U " M B,<^W0,A&"/7P$_UU6?[ ;V4#"]@3C&/HWD\45$% [$3[3QQ.=9H\\PXE,! M:SC$+>S>F,@!0%Z=3_FQ@12)!"W1E ?G=,LC D:"1P6O#]A#]/OH?1O8XUTG MU=BWWJ@SWLEG?GM8BYY2FVBLF,P[,HQ:$"&&G^,+,QXGYNOIFCP7%-LV'_.[ M@H8YN)GL$($3N3O#67LJ>P;*%TW<:."9>T6-J:S[\S\]0(4*Y\A37)NL.Z)Q M>L"2X0UR7;]'TK7?M@&QKXD"N04BDD@_((.(/06F'>1J8Z\$2QG>M8AHOH[: MH%\3 _&'P)#!1R(%WM,<.< !]GP>:TAU7=J]^. @07I?]>V:%44W%GJ@._R_ MC_IVF,G[ HGI.LA:DZ.)KW--K*;*_'/Z-JJN3^,V4GA3@H_2@KYAE?%AX"/$TJ5,G*: MC,2N.'RV.D]*OB?("P47%*2*'PYP;;(SO$TGR+%&V50\/ZA@>D[.Y'>B?2(2 =IIV5-AB6F MF":D.JMZ0?)#DD27>E]F7=UP6ELBDVUR;BKR83BL6N6Q:KVAOLY._&Z@^,4: MU4E@TE>-:;LTJ;*N)S%#8#AKP<;A$_/3IF"0!OVTJ>GO'.E'0F,J.)K+K+'* M< &7"6VG:M>8]<;(X[6X/SMQ_"0.]@*Q=>!X8$XV=9:;09"G6>,M"!WO^+=\ M9UL4U!2)0Q^0LIC2 \B\UJ1-UQ23GH/^ M85[VT:V*Y]^^,W0;XP7!Z6H,GRW.$W=T+N@.:$U50%_'Y$RB[]^:56(6R[)> M&;-1?=^RFH7C7-$LX!10)_;(5?DGE*4MST OY5!Z^$4;43NIW0_?Y 5U'- M)#2 H!2#[8!P%&=G$(*0"CPC2E*>H+&$95-,;<->35P5%_2U[VJ[8P4XH6?:"T%N/T]J4[-/(6N4)A]'=2;N"? M?IW.$9>]*)J>4PQSTD$EX'L6'4%C3.=/!I"T"A=^=@ M=PX^P*&G6YUDN%RY1$2*'W6HST5%6%8TD*M^>=YD*/;[PZ>&2RSH#;3]"S4R M\- .',PZ<+!6'[,3[IUP?Y!P=[8VJ6,!)G%L3%#;Q_+? M%(93MQQ4MM5+HM@M?H9$NJ%)03BY7I+-FO6OXF(1F)A8S R8L3_B\I?@05<^ M)C"1=K*^D_6/2"1GR7_ZK.E8J>?DK>5D--P8$?I"TZ@W4X(X8%"10N1J?,"L MJQ8A@I:1@7#!! 1HV):UD=6IQQW:PLY,*GGMD[2LE4LRZ4,-5PVSQG.5W^VC M33B$\<0=JQZ7,MR)[9*)U% "NT8FRC (;+U(7= M82J4%$$,(AV%@#\]??$J>>.=-R8<^UI+__%+1Q"'2+!8T?=%5$.I8HU+][/)K3_!Z1YN[Q55Y)- MO)]?@B[EJ%#/43Q]+,?8IOWT,+UB@4T!EXB&_,.8JS*YD G:M^T:=TV:M#3& M8H;34*Y"L6B3]TM%0/+X?)WC\+&\DZFLH#6KK%RU!>MK3^U]:NL;M 69LTQ> M. 6_;U_WXDKYSM2\MOPX:V0RRP9 Q\"PF='=4IVWWHX):#CQL;-W4JH!^V91 MR$RL&YOBHLUOF8:K[1>,% "-H=GO9#.<#OW,ONSK)[=W^9 M/3S,?KES=W;PR^2!R7]Y.+E[<.?PX.[L>'9?J:?E&^C.\_27>_>.#P^//BLY M>-Q$:*QED'0,_5!?GEP?/?A];*9KXUCL\Z5=AK[B1W--6JWM5%< MM8[#<7W_K]=/?SI[_?I3CN>*M]LL\8L+],\SE]=];8Z3G@Z'\02I%AI!._@T8H.$EELUF>=&(.8]7E93\@"H%.6,UN7%GM6/4R\OK$@)%<(!'," M*75Q2L&[Q/ABOBJ733T3^MRL;(5GSG^ F%)9-RQ75 M?>S+:G=\.@^T^?X4[E%30MW(NBI3'3TJ!I M+9D%%Z:";@I" 0 Q'.R',X:TQ2QDS4[E?SDWEF6:9UAFPUHKK2/MO;XY,ZQP,6(&TE!X$L5*9";O**.3N$CH]VP>U0 MBF5=)>=&BBN3JF?=:[?:T\OH4D$GV\E+H;!="3)F*U,."0^[8(GKR\K$0I4* M64-S802]45?D(--5!\MVR=(U*YJVLX!WK*Q(%-?'.RF[#(67'W7)ZX5A%V27 M@9QP-;9)NB7[PC'X/\LOL-%2:>67H8'KP:-9U+2*5?%;YKRB,-\_7='N MM\X"]BLED.#A.2$V8AM.14G/P#F;BM&]#-3ZN%T90PJ4< M9W;I$DB;:JDFT''SNI3R9";BK&==<+1&!3,-UWO]L8-S1?Y8K[O\ ^OB:$S0 MRTJ(XAYPU6EF&:#](,O,;1FK#245#4*6RNHJ?HNCYHR.Z9SNNSW5>UX\X?57 M]867FT '.AH+)E!U%S>4E=]<(&8(OQ?S4W8K.41>>9)4"RVH^+M89%HZ M7!6^'M==/RB L6=N,$)=EOA8>(YWL.MS7*+)"N'Y#PXC'KUVW0U8$:SNDDNO M(\DSG9L&AV2L8]V*2Y@F9X%@/:)3MK"-.SB6ZE;UI=P>\N,R7J%!)G.+K.13./ONQC$V?,W/JX\HUO/ M6@5TD^6X5L/QZM9 T;J^%].Z:8QK].X/QXQN-4#M,HRA,&T43M+6)8_=H_ D MCE2X@3VN7_N!C7SZL9DAM1I\_O&5G^<8.^YZ_X6G5W[A'XA=3,,7_./*S_]( MFJ>4ULH*SW+?_/'JJ9SZ)0S>=NJ_@P6+OW)6T>8&;ZC/_*>?U6UR4F9D7"0_ M6<%[EDT07ZW1X\1]Z]G)3\_\UWX&(C)Y2CI+SM9+R)'[[,]/7[[TGZUZ$BY< M;V!<)[M=[SZ1$;OA/K@HZ6T1 J9@=]0C5G1)N=-R-RM6):+$Z+" Q%LL5*'L ML=7K?.HD"Y-4-5LGI$&1H'2?B)C729L;Z=ER>/!7JXFZ6NA%Z8;MMW5;17YV MF#F@P>]Q[N"KOT/KV,@A*[5) 1Y+3,'>(,)1Q#3RE8'A\*8^9W;V%,OY&LOY MC):0%'7"C8WLXTK\T&[%G/9!D5H+>8.LDX,NM($)#IK6,E?-M>!N1Y[>V\R: MVEHF5EN;4(7K?:LMR"6<6D][YK6FCTPE T?7S(2M&5Q5R=I5Q5AA=$FPE 8T MNZ<2I1VH69V3DHGPFV"E*;&3WL?0IT6GI43SNJH;'_F^G-?)4BBBBL:O6@X3 MO7&W*D=_3_Y]]CHY??:O[VWT@WR,.) ".;F_?W &%3#RC;AS%ZK=[2*)'1VLR2=9C \Y1$''H3F."9SGH_3P MP0%=CN#L5EY8$F\H#)(D_-_U]V7[A*JA:+D KFYLF0?]3GI@:1:$MN8YN06E M4^FG+Y[[](,TM7GQ',_)R*(D'4R7Y1YGG%(-(8 0)4&$IN'Z3O?8!3^6=1.Y MR1/X%M)-87V)(PIY M=,8IZ?Z6.WE8T'.*_!69T7)=F.H% M,4[$%(+DL#U@-#./2&U#/WJG.MF6)WA%;C>*BV3!<:FY:X:-3D>>N3H ML/Q*CZ@,(Q30$@.UC6Q)>VL]^/$"-0S0A+SL^]\OQL#>>'W+4 MHA>5;Z\7#2QDSJQ 5EL"+9VZN')AR,$2$MZ(N5*\1?7M[#TT\ Q:&T00VLK0 MF5_T95TAF2Q*!O,2#IK8I.GM*KT#GU4P[]?9Y- M%!$0+NS4G4QZ JG%0E9(((E\*0_N$TW+Z@*G%I[HG3P$$/1%QIOYSBONZNG; M95&:Z)LYQS_$%S-LUJ8V+"ENCQH9#(_1$*5[8M'Y6"'OS;8,N:M[4B&H<"+Q MNL>X/7^P@;@SY^Z]L.[>8YWWI\C*;NRI]7T0473W^P<&%]E\ LV/== S;*U# MB P/HYR(?7))8B/-RS-DO9O+3=32G<_0 G1$P@EJW 7BFI3Q06-)^[ZG5_>0 M$'9XV*7DHG&.* (-T?IJ27^4;F/.].XN9[K+F;XW9_I)UB#0>V0$5HQ_P:$< MNEW^1*LNX#,*M\XD]^ZD=P\.$FY11W8D4AT7MMV8F:*LB$M[C@Z.CO"-HX/C MHRA4/KB:1J)XI#W*EGRBWI1B$0=WSG"DDSX_-WJQ6\P]:S &\.<%=S+"?!#P M)Y^UN<'Q@B@Q$\P92R=!^B#&S?U]^'X53K>_?V[__U&VQ")D99.Z_K3MH.LZ%9 MRRD-JK-=#@#+Q5SP=5/\AA_8U-LG\%\^XCRQ ^U9"VV3WE9!C!R?DNZ9CHX^ M]#,&":.O@Q W9);/"S[#O_[&"N:2UO$=OX>6];\>W#] ;*KDM.//1I26'<@' M;C\B5MJ)D(X^>$G"H0+'%K_SZ,Y=^TZO=EM$0NDVW:.+R*,*.&(DNVM!\M;4 MMMY 49%2*%G)TL'=9^PA9[H87B<]U$>&%2@)EX:S*4F+7+@JCD<2:I@P2B2=Z:;@L)5Y+7U-MZ&[>=<6.B[IF5YH[>4K:C*LM5)>K MKA.#TR!%GH&/P:(LE62'\<=3$_/@V<\PCT[D@',548]@E )WZ:PP5-?RY5F= MNO&0[M^WXI?&^8B,^[P";?#XW]?<80V^\[(KWV#KW$=ANBB:FG4%+B&-US@MY!@D0C"0!%_( M!D'= 6NM+("8DP%4U&J)77*J4#OSM2,K.<0_2$"GABDA^0CRRLW^K8BQJ\^Q ME"H!9=(86U[H<.]LB+5-?\?:5OW2-NHTR>/Z+&2MRY+_NGOT()GH=5P66<\=BEF\V.X_?/C@(<)(;8<+*Q^=<23:\709XU97Y[6$515"P4EO M=W[3&&7&7H&KXV"[=A9_53T:&$UB,^FPT!9!TJLM7T[QEVS#:MY,^FV[0&IA M0>M6\K9RF-A^%G;!6B:6MOQ*6U8NM U6&%3*1D0@7VP3TUT"4_I?QTY0,=;_ MNN?^&98F>2NR.6MFM- M+6P7DO,%'X\* I3PI"\0'ZC6 -@X_Y.BLKP =#GWU24"A!PRL! 1AS(?@FM3 M&\#I&9S9T.&S0 ^Z_!9F/[F)6_DZ.LT.K2D[];W5J[3>&4X6*K!QR ,3PF,J M^0;D_!U('X,6>KZ:$*H;96PP30#?R*P=N>S)=,B8..]R'5-J!60XRB2;-C6Y M:"ZG:8-$4S1,$;R9:XXVW&V]L%VC\U!V=!O%N>P#5DK$2;Y?D?G#ZLD5":>N M(R!-:VHRF;F-PX ,L,EMALN"6!J4^O&JN B$*LP0^RWWYS*Y>R#A41-!(,/0 M-MUPD(_]! 4:'PC,=W!@@:\C@XJEW%LY@ WOD(V,,"BN1=AI,:$%+>0R:E%.?W?Y,X!F6J% MF!15S=<-U?H,NH7P>Z_\[%R%/_?T@[)MFFP;O8)<9\-(Y#KDI>3,5)\5NA M0&E,EBZ<\0HI@0*'GRXBZC/2_6V_X >[GFU3#%RBOE+?Y2,BR*>C;A63X&, ]R*QK;MR6>HE2H8_W M5<@J[B8K0B67OB-51BQG8BHS$X0U&W4(?+;S8H8\+D*8PNWLUT=A=9H&T0Y\ MJX%M$^2WG7M@HYT? H&[D9+$3FA92M[T/*M4A(K*_DO7!*T-%]E21..981P% M?VG=#;,*(JRK4J3]H(CJ;55?SNO+U%G\N5;4#4W_ "&X8%W%MECGD+<(MA[E+\YVW6L$.V"CB;J;'!8@NGJ>>>$L3 $N08H(N\C@[;F<*9(59(* MCCH*$#$@Z', \>?_G2V6CTX<;QGM PU@D< VJ:R@<82:H:LHLHDR$TXK!263 M7DEF^:]T.AE\<2-/8:#//>TA"VUI7%=0..YGWS]]\_@DD?=H-4MCS-XT:^=[ ML[*^U*[+XKKBK-*NZ8^,?8@]#3;V+WN5TS_9L( ,S/^/*R(K&9TEQ8! OU9H%NM7X M:,'XLUDJQI3CL.#TX.%BOJ&/M/BQM%KJ,@'E@O?2;,34" M,:Q6'$[<,"W.D$\5]7)X-^!W$97L8OS()Y',X3+6@C;R_T-(C*S/3TS7>$(O MHJ&ER5F/YA1!;6YCSEF8MY-O\2@21X+TRX_EV\.[#Q\>W[][?'#]?$T?)IL_ M(\@+C:N&3$ [,LH#XN]G7,J#_$3,UN"$,$QO[@45=CZVC@])/CNRKL+8^A\@ MA9%[TR(^][F&RP8&9KJB)H86MO M^NL)0 A\X:,#$'*J<'Z0<_=N9NNM(S6@R<"Q9GF.$8W.:#B_.Z3L S^WFHFIUAY1K2!LY[6T#$7T0DI\SVNRZQL MI%YS,"$U2A3("[A@2D00U JX<#2&.Q[]D:G8N5KSY"EYY MHDZ'HGE:T7W1]8*S&=)-_/34T4T$\4378R6#8SU5JF:7_F12*5(D@/$NR,LD MA<4Z1V ]-(@RZZOIG/%D+MFR)Y</1:&U A>GZ:;)_\(D>E)T _*I2P5-^[E911+( MB0-D3S-2)TAU<=.C-/EQ14_=^]]48!R^^$/ W:03..;,%&!WJ:^&D 330A#Z=((O8ZP7+@S0UYQKS$!SJ[1E04'"B9%GBU%)W*9 M\-+B9N15FC!W&%X/M[?%'('_4*HQJ. @J_ST#(0S7,N\_KR^V C1A#G7X0J? MO#S[WT]%@\";1F/E,NTV8O>1_.!Y(<1N- E&;&:>5\[F.9U$3U8V:RFV]HRK M#)T(T(J;TIH%6&YN#,->E3#CT7'H!K-WA>(@O^-SP2J"ZV016"C[(@]U V1^ M?R2%Q$I;B*V36TST>G^7K=QE*Z_.5M)%897!_3O[AP]EU%M!_"T;E)HM29D& M13Y#YC]'JQWJP#2DQ=(8E-X_:J$K?XM>LA=D2]OH6]F&9 2(LY^#7R>\C& _ MD:VYY-*;IM?:LZ#<87V\2@E/WEC2*\/'MV MNJ60R7!O<2.UH7OJB+7^57'VFCG59._EXI)K?6'(70E,R."2"X)EWNP,HVR: M)B3[U"]NZ" 'XZ.QG&85&2YI M0.9R4O8X<$U&KF0:K)VMI>0")N>!M_,F6U;,U/(I*/;?RYC\MV)QGK3-E-1P MWIB]HX.CXT/Z_W>'!V\/#@[W?UV>?T4+V/W/5S](UN3[-< 7>.[R^E*0(&O4%))+,_IKKR+1O9IY<&-H>9H/1 MK"7[5W4)0ML2#;=:4[7*%P^IT$29-BR*K[A/P>,DKS@X^7J=1NX\?UY IZ;; OJMK TREBEOO):Y;7(-UKC4Z' M/3YI%BME%_TIN[!_/2D:@)&1">)_/Z=[L<+J/?G^*7GF;YY(%*(LK7,JN-JI MQ&]_.GGSPB_YC;S CG[G!69]"[V([MRYN1>18XQ:NW8BBU4H_A7(/@0]VTR$ MWD8V 5IO"KUZ(+:-IN@3L(8<\C;@=BC:!>,*E.,_"HBNI\XPZ@:8\%QT:4RB M[.IR=08#(G?+KBRD>B!8'F%3OIIS^''].@4:'O]#TO_XQ]<2&7MZHK5@CHU=?N07X+*\KB+:P\NL?@YK0E3#"F MY^0"YB*W:R)ATTN3+1&77V@V"Z%_WJN2ZX$YAP;[I6,D B]QU@OO",L);3 3 MR=.. H1=,3R:;-;2V,Z7:%9;:VHCRLTRT)8NL[C;17!8?=0FB(+01#@B[BI+ M@F#(IV7Q?46^\2M:\#OA5 MWN/[/J[/T@2-+-($+2KX"?\V9,-G-Q+5*.UG7_H@U5EN^E7\%3K. K74&1 M%!?8LJP3CNGL?;03F4=.\'8VE$_8OC'LH:*] M22.\]W[/-6[01K2[#N9]B0"W@D136W\!(&G%]JZBJ+A^)QZ1S2<*RX]OWB9[ MD9@]]6]MKR3@#@ %+ KVB]%G2OJ$>;>6*#WD[-W&8)5K3!L3$T0?@D"B^$] M'$9E^( - 'P1LX0G14VC@V+C,@BIAQ%U'W*1<$$,IG#/3D? :.N?"%+#=H7V M[-Y&_0#!AX2A.Y?$53-:\B+%*S)[ETBI!:-BEO3&TE:;HA07<8X(DG$SZX^> M1GKJN1R\,U]?&<2@.;X9-4X*!+_NFP@8/:R'" FM/JC6-(S86>[9<3:J(;', M![)3H05-4,6JF'+;C: ::/ K*5%'N:Y_EC6H^&5+$N].8,X*\1^[(#QY3@ ] M=_FHJ'(D]65"$A[7-=2LG]4A4OQ:,14L/3.H5[WI!9EOAF5\+WT97_'W-W'] M:US[&MR_F^L&4Q796/,C42E465K:PU8E1*4*2VD'I86V\(JWZ? >\AY5FTU= M< (5$]9XU9H#6,C!9:^,SD".PI1M ]1O:*A'C#:KT#O@P )KG; L2A_A:XEY M3@CC2M/0L$*W,0BLM+8(6FQWSG-(J2>S.>5;DI6PDB9#ZKQ']K]8&I=9L7B&1*+BF#%_F+=EDR392;)&R5(L?D=>RW& M]<>J8"Z,[1,-?-62%N^=%%1@433ZIU62CMXK*JR\B=KGU,,&GHOA]51:CK&J M>.I+CC?7X$*5D*-X63$))->F#DM6Y12*#$:EVEJ4XNA5-]5M,]6'0J2;&K5<+]M>"[:V\S/C2FF]=Y:'+2 MZ@G3 O=J6RM@]7D:5\BS;[U(.L-A7;>J5]CCEL >$TUFYC*8K'>=:5T66'"N MG@&Z2E\LUBF^KN7'NCXAJE+81>H.>&"T4B]LU^(*'$8U8,&CNK H5#_S-9\ M.*0";G>;JN9D)*(1<8?M:0E=/%L-^ABR+<>E*M[Y_4[0/J\=8.(96X0G#L<0 M&?F*#7JBZ(F3".UPZ@_EUTK,8,,CPC.SYFYR4[9O/I=S\U[%?>5*.'>&SY'P MDHZ4A \I(9V?LK&=C)H IY:I2PF?/*X$PWR[-5:J:V3K&_^^QN,GSU_\X<[@FMG>#TAMS']]G"7?MNEW[:>?EN[ M6S)+V,V 7S)L+ EXE$&(;Z# =:E&W3=J8$>F8W2B\.R$NAUP-52(1-^V$<^I-H0K$2Y4G7'X <'*+3]&K1! E^L M]G<;VP)%BRL5W_8[WF0(<@#Q1BJ>(DXLJ>#@VT TTGQ%8ROEIA+4JWG-W7K( M=;.3F8#RS'&%W,@]'K5AW/W.EQ"WVPCBOQ^)%ZW_P:!1SVRDZ-&S ;VRX\P& MRXP[F)Z\">E]X\"LM+$"EZ#S ME)1,8%\&LL[5\C%8+\A_> (GL7A )KGA'&A^-_PVVZW;6L% <42,(.K>!&36 M>UP2$+9DQ HM3;W4IA+CVEWO"_'Q0^*"L4]%R=+H>MF@:/#:O&:WJV+*4>E+:<[GQ MC;&!Q%Z4K\ W7$@E6T&7?5O =I#VB#;@*#A7LN/*/?*8C82$W1(A(V21[4)7 M"X@!=V#QNN'>_6C?ULBCCNZLYTN&"=*)Y>*SP0:^^Y5(WNZDX^)TB\7OY:O& M;81G?=LL.3QV92L.:FA<$"/L&(7G8B'W\%;V6]V2U96% M$U9P57!9*2A((M*<6E68Q9;B,L_7(DNOR)AY;E.A6U.G6C;IH:P; GHB=D>' MMIG\"&T:STJ8T_:3,ZAG5EE,]Y3G6631G%837;I1V(QON*N MLWIR[3QL?057#V3L#9"81PJ5F=+%"M5.-&1@\J% ]K\ZIZ=Y MR-ZB.G(96=5_]=T773^2[268I.&$]+.H/1>;QP&$#7^=!F,BLF!]/2.85IGR MMV@G;0J(MS^4S9AWA@SS@IM%)N +DQ:AK20HI20% M5.H%LL:3%0QFD:W0X:N><+<.FY%A4?7Q^*B;C(I$RAO,'7Z-KP3^5%/F<2J? M;$ASM#F9"]P*LPI8<*HW MV=A;JJ)7<=W7:_J;K:FI0+OY/;0R&D4DI436&* MG=#E==WH7<>& );59487;"9:>C+RI\J2:^?6>LZ1^ ;3MJ^-7VB?*AK% 6X< M=9A'(R7_Z6$YH05=SUP2DCV%R+H6 EG0VG7&S?1"5\\^2V$DJ>N!%P)(9D4' M:Z68*JI6#(' !E@WSZRI-P$%HB7NLHNMF5S4@*_6FG;#ILM"0)2\3;FKM H. M"Z.)F=2W5AI6>,:G+$2"I9X +NC^-,O\;IM4ZN9)A:"SI&WQT=5I\K*&*?!]F55ODS-8LDR5W*8AC?')!2W M2T\&\EI)WL+/G*J5]@Q8(F%$/GO'!&'!QY*O\V\GWV;Q[[]!%4Y!8H!27] H M6\A;W(&2ACA].\\ND4F2'B+8AW]#79)KQT-%/=>6J'DO>^ M@"=$4 :*(?1)[2=M@5C4=LUU@W+0Z+"":",SZCH1A&O[N TQ.M6;?E GFLBJ ML3?":3]1>N?X;F(6R[)>&0;&SQ1_XGZ6)H?I M@^,'I*.XY_AY=BY%I9'5D29'QT?2X(3)BUSD(G5728"48L?!VN=*Q4*O>7B8 M" NV$E3,^DK1E%\_?9,F3[A#!]WO/[Y*DV?F7!%%I]J.$+\QW72?[MC#X^. M["4-XJB!Z90.[*:A547C_M5$XZ9)WM/09P*XGO&TT^(,'=X-^[GX]@MLV 7= MLR^"N<7WMUMU]4LU8R,HKPRU06)-:X=0/&E"^ZWQ2G9-^W;=3 T?[;$/_([S MNE8&ICE+J 5^UI-?Y05M(CK7P@,!.R.7:\5+B$NP+SK]>V=#?NC=70&_])M= M38="'.(P.=9&TA[(X';AE_G8>YG;,W+#T%)(2S2H(^(@K(O!;FJDY+BY MO?^N #R.+R)+Q7(\UH^U#L-&EK@CW]R<100&\%D+MP[.F83@6"R5XDR#!5>2 MHOO 01N^2FO1@?S9JV=[I+KVL@903!&N,IO4S+4$L$SR A678'4ZI7>2VU<5 MF655*Q;+;!UI'D"U2Y!*%'!VGM<[%QG3=?J(VN[:P,V!!"8-XKA^1,]%]>F-F3 [;2#AM MBD4(%Q_%$F,L]N5Q2$A9VB**+*8(YY6(C&UK,G,=%^/@%05OH:X"G1YM0.:D MU(7J]MI@PQ.XS#K)_G5N\,,[U'/S:PHH1ZZ/_"3N#>6:6<%DV0'C.]UG G2 0GK#[Y ^GHE0A;.7:5LI:' M1_*KS8],;4NK94%*7AK6HUR4TS_0$.",P0(?'=QY +D@<_=7VKP6=(+:FV*F M#6(_8B8I/>OVAC=;YJ<(*Y'^C?3 MO^(OWYORO.@7])+E*R@ M2J3^22/V]0\&UPIIA1^1_/QG#5OO*0V>DQDXI8ON)T:^].2LK#SQFR[T/^D%>;V(HG.Z%9(G)+WSKVI[O;7 U;6TD1* MQ6;0]< *&)^.@KM1,FTI@CS0>=)64G2R>H9.80E2G9L4!UU>MQCR=2,#0@VV ME*]]BC%(^N1''?U9X?0^-#8D 2KEOV' MVEVZ(W7:%4=B>FSA(IY79LO6?&?_$BX&HF"Z&P@/326L%$?<#I;=(-ZV'M#L M&OM6N[<2\NIR^_/!_DIL5)]R?+1___Y?P\H&?9^M<@@"6L'S8?FB:O"[>9'3 M5KI_,RG@=Q*>I*LU?V]D<(SB+)MP7-Y\XB#AD%\R^" .A>N*;>>(,_'@Z.#X MT7HK%/W?+O^ 90]8%*N:.11UFOMW'NPVX@9LQ-'A_O'#W4[<@)W8'8D;LA'W M]A_L+HF;L!&[$W%3-N)@_\[A;B=NPD[LCL3-V(B'^_=VE\1-V(C=B;@I&T$[ M<6>W$]>W$]]V#0(>UQ;<^'RS?C"6I_O09?BDVN /K\&#J_!P\A+!AJ[_[S5, M[[W>^J?O$7#UKN\V^8]/[WW^YVZ//],>_VT2O2149E<)P.1:YO\^EVOK"_ * MZ0&9<[0?AD@O#) MK>F=4K@ULG#SC6JO%$0@'@--MS.N=\=A9USOA&5G7%^E.E]F6H.^NT"_8*N: M+TRY.V=ULQ.&+]FR?BGE6B(-HAYV O%%F]=?%S.5AO>)QN^SLK7(14$FA\MW MH%,J\L3RUWSBI?F(HZ%5/:=:U7-;SL6- %9L>9?_R %X<0D:YGFQW&WXAQN] MMWB_?Y Z[=UN?X1U>_NW.[S6;HU#=!- %[=XZT^"VM[=EG^$N7J+]UR/^S?7 M8KHZSL7O_C*=&C.;?=Z8\??H4TK7;G5N>S^MLAFXP3,OQ[-GI M;I\VF(N??SJ!$F%.A)!!XCAB7HV"!N%$EHWA8@KZ3'+\X+JCZ7^:+;8VXE;W M>.RB.#HXNKO'!$J[3=M@W-W^<[D[EN^QY6[@L;QS?*MR]X_[;L7,][?!@?CT M-M>?PL"ZG3OPV2N&#VY[XJRS/FN29 MR;C?V6/;B^GU?K-OF^/LMO<+#F;=N_MG\YH_ORST>Y$W9R@'!VBH_!$W?JZT4]O_VQ[AE]L M].UTE97](D#*%>B\LMO5+SSHML/3WCW8<#QO00CLIWY:FJQ)7F=W2F->]G8-^HT)> MH:5T?.\+WY5;&?+Z,\#6_F2!KVM HWW;99/2T)]YQ^8%UF.L[ M;>^"8[S;:I>#OWZ&R1[=\=*J$GNH"4T>-?_O_Q,.WENC>].ZK)OO;)N%8%9S M:7)PQ'MW;O8FC[F4S>O%W67F9K5J=Y8,'^T>N@\-WKE4#UB&YN__@P5\3 M_U>LQMI2+K)W>\&"J:3LE6;6?2??LC_BHE[*-[GVA3 IV!_]JMP NR9-Z8V?]\]9F/ MOOK[&\A>4L\87"A=9%1&L[\'^[M)*N-5'5NN&Q+CNIYAA$O(K3D&>W-XY/;F MAYKT6;6@)4U>F?.^U ;PUS84/JI%11/NOCM\L"XFP5!^-DG6F*3M)[^::9=T M=3(S=(ZR,BD+.N8MB7W2F/_T16,PWC:Y++HY_:1=ZL>[.7T[$SEIZP7_6?=- MLI3FZ%1ZNXTMII>BS25;E25G3U4"#LDO9I@ED,,EI/"W?&_0D?#"; M-'66I\DY;P#F-J6+):,A9CRAUHZ^7AKIP-WR]R[KYNVR)-6]OYU=>D.+;-XM MZZ;# .V8ARL]:^H%[\>_]E_O)T4;[BH6L.Y;^56T4D4U+7NHMZ3,+F6ZP>\3 M.:_T6WI(L< 0]G0D4X$>=$U6M3/3X*X*"I^%.W0FR:;S8HI M1.*D6;2!\+?)USB81P>/GKXY><5_/7ST3SJ"[ZEK9APEN@ MC\KZ;EXWQ6\Z%OJPG!XSW)1S=_)3>F>Q '9CY7_]V"RSIF/%0 -[S0).AT>& M8-=BY).G]6)AFJE\F,:YGYR4;2U;P"NMZZ1DRE\[?'C_GENXD[/3$[MR M]LBW](2,ILCZ@9%CS^G+[68&@U$?W6.!D60('IC5JWL MTF"5:LZD94L\C>0#H[?"S8*4365!B^JB+B_P#%GPUCXK5V:##.9A:41\[0_I MV%W0N^2'>';PY47V*_W ?A*S76(QMW2^7Y (3GI2ME@\FOQI5F5Y-CC"6$O^ M14$WG.YD23OP0UWGR6/:K6E7-Y 8.A;^C-!9IE&2X,Z+Z=R>;)K'U(I,4=F3 MC(>=T\/H["Y,QNJ1Q)J6AX5 18*$P6Z@.TJA$F%1)5-WT6YI+?5&R^@ #%?O MB=Y#IW73]/2%EPT$#!*" V$/PI/3E_X@9"7)M.B!MJ"Q9R2N),UDM_(CL,*L M-NF&*'.R=XPN-$GTG&R/#CJSP6V2++.5W*"X8W4@7AVT]G@7="J@) N:0#)9 MR<'"[^2L."FA[]#M:;:URKB1^(AB_T72KKB98D$>46!OXD?]F/V6-3GNJ^ MHW]7-:*FC!R??1(BJ^OB]]$W:S$>2'@*&=*_J@+F#2MV.F5T>DJRBR]HD_A2 M(;U*/\!W:67#KT@GY&:]LWM&XP#V7UEGTS MG6>M"67%"R_5 XL!B*7[,K^LJ:_3M!D;F)$ MO>FB?D\#S7H,ZZ2\[\QOE;LPWSSQEL:;X%W.@F9[JC'\ MFI^L$62?ZR_AXSONF3\].?$2C:_]T%?KM_:]!^X+/P27MC40<).3!;" YA*M M 0$\5Y.,A@V%+VM.BJFHWOREK8/;5%@#@!8D3Y[HM-P$GJF-LT45 M9,=T,J7+23S,0%-XE>Z-0I695L64K(!"_ K,FR_";&K='!8-NYO9N:FF!8XM MS2,7F[BO"E((BV19TYU8J*5! CTU>0_K*9LV->EJ^U6G#A*3D:[B'Z](YI?+ MDKTK*Y)/8.VU267HU?D^KBTZ#1GY0R;=I U[DG=O*G[7]25'+:W=SH)30! T\+LJ2.Q$5!6^^/J5OANFG9)",! MQ JRMJ(D7TVF_M!I&DI*\.#^:K*2G MAE]^\?K'X,LDR!D4UT5&DB@KC.\%4PB=P;9O.&S'EC@-O&:3!M^CRZRZ*)K: M*F/^49>]4WTL6UNU_<*P64 >XQ;O*VB.P,/7PW]2+N>973QG9V&_YL7YO'1W MR. ^_B%PZ;P9C,VD T$"L2@Z703]2F*3QZ_\G00'KFC;4&?]].HTWN/']1FT MPJ4I2_S)@1TF N:3])14#/!_$- M^A%N4YK7=6['1X3#SB+)>6:C$('%MSVO;+!0P\1CI#F2?5.WO/%O0V%KKC@4S?\3?G(NV8JTNQY"> M#%M\/R&O;IY=X(Z@JW!*1P!ZQX7E[,=QM;REMR* PX^9F+(P%^K!#@-[#3N_ M=O!CJK@UH_O'PZ'UZ3FD('$>=J,1LK2G?["Q41!5U&%/1I4\!0K&P/QH)02% MU9GUN#5PTC.L8U_R/;_@B%;7T%NP M%3>9*+#,8MO9SVQN3QP_8_(&I_\W)) M1[MC=)<-UTL#\Y[%JT2;0W_(@< MVI '-S@@P]^69/!\1^?(-/C;VJ]ECUOR=-!U_O+R; MROIQD9$IG+E%FC5&W'Z^LQ)<"(US3:"9+\V$MM7PW[.JZEEG:KRV@@^T2 X/ M]OZ9)O_IR>^A0:[&?O]_TH04:B.Z,?[M WR9LT"D+G,7BY.[53_L,PYT$;]; MR77.-BZ;^=DNM&(Q1I\?7;*GB'YX<=I M][JY+58&\GAO:^S;S =?KC_U-D[VC&Z M;,)P1,L(6;\D_N/] ]R,282?"G\(:1W] B81H-(VCDMZ>=&J(-GH'V^K1 IRCL-$ M:^N7]#A>4MKRT2]\P&; =G(S90_NLB#Y]G,6$9''L[C!PI$UQ#+S3BXR&C_] M%[:'73^V+N"^\\_=>9%S@M>&.^#62T^4N)+A)T@*R.3$TI#?T^/H\ OX% Q. MAG.,>7QD]I'N(3G>)WMXD$A>U3T;0#"+R/1$XJI>KFRR*#I'Q\8-[ M@_SGRZQY2]9&FOR#C!;2#1=%B9#.DV?),?EY#V03IGI!V@.CZT_:'5>!Q(.S M27TAH03LBJ5Z)0(8Z]#K]O#^,OLAH8O_SU2^3HWQZ]V@V^26_ M_/#B8WO]E=N?.73,YOON _O.5F ORC:)+#D_T$0TIT3)_2H;X*?38OM M.--_*T8L1O(FRV(:!]'XPEI3%ZIXK$=SI7BG>M&497W)^!5LR$R#CNV<_2[2 MAU,Z/[,>"@:1*3I=C3S=7&1E+^J]#O*RI!_,-.M;O:3M\Z!NQ#--6MH*3I)7 MG/;+IIV]@_PSU/]D5 U\NA8Q0[J:\T(C=K.B(A=4_-%*5H3NS]@)9-:+JVXN24/O ME77]%N/U*IW&HWN%5] XQ*'M*TWI\%4%Q;2D]],7Z$5OJ_J2=[9O4S'\H,>- MM=6"/<"')HACVV&FO,1\+=E%O885?2I7@C-*0EDAU3NE@:77\*+0GBRFQN<9 M%@N^)]PODP/[V[43&ROA5YZNS7PTWI,R6K?G._N71-=Q -F:!03\*'&:> M*@:Q5V9D'G3?S8IW)A^;?>!AV@" S#TN1=*/0=M]]6WXBS\TB0' F8='P[\" MXOQ@#=7\WW]Y>._^PT=#[/0 ^KSFO/^A"^D#/']QIB3?> E4#N+7''M#.)H/ M/T[=*HB*G2.JV!2",=$OTV'+Q)Q(W8](00%;P#'E(AC4U M?11YT4M$D4G22:V/ZO*=*.Y$<8/"=-P3R!^1\" EH> -P)%8]6E&I:*76^4J M HJ?Y :FJ$WD:@*:\T9X= %O5A7M4#2'.9*^*A%85)&W I_EV=*!ZL088BRU MQ"8$4"CVST[I[B1]LZ1SE!@Q2?,6TM1DN/$S[UO,^@I@5+&KZ3<>K,(8Z]R0 MJJUA#2/T0<=%\ZKTZWFQ9/0D8DLLFMD2OJ98W.I]J$]4]J2Z5RSWEQ4=!OKJ M3FAW0OL^H9W FC[*:GF=M:7T'J,G-.L;8"K0F0VNZB!_RG8Z[1851\ZJ*PB M5AMB&#=XQ$ZY"W/:R@6H7_L1(UIZ*B!M/%I2RV%0 C:Q+4GP2GXG[3MIO](N M]E@H,BC.F_JR$]EM>XXGC9G$6<T24OY$MI\G.&8%'R_7[RSPSIBS8-\5!<6@*G#S&6L?<]C M(ZN<9^/J3^@:X7A[WR$"%6%!ZW)W.G:GXZJ[0.1^4/B@@0I(&[TM.Y>LMAR= MG4#M!.HJ@6*+(+RUM7#(EL>J7V:SPYT!!$#E#L5*>_@)V<:3+DW^Z_#.X?YQ M0D,NU6$4R^,R$W4'=#'G.EO!D$_-8D+//3Y,$_1[OTFB>K"3U!LEJ9JJ1N;1 M SSYWHQ<+>=321:_D"1/*[$QH.7+E<14NN^W@H)OE > W $@WPN W&GD+UPC:V!B!CP\4OW%M"^[E2UH/=?<=;=6 M^[(>19"@A(02<@TCKUQL80@I_R.J^+.C=%YQ?O^5*2W/B !I; ME"#=5C66F[\%A@2%I(5T8J__Y*<(:82D\I(2L6(6 M=P;.T)]T!EJ.,A?5KWVSVD?978G7,4K%#*A5&+."XGR<)4 M4ACAB]G@ MBPU#B^QW%HD0 " IZ)Y")W9&7J.$\^H&(1")ZK$M1$^?%LVT7\! Y]P/0A2P M@T#R("^)*^PMB$0Q0GB:$<*729V#8D0F*5'SC)S0Y(<"CV0DU;+&A50HF >/ MED^G.G*!@QH)PH^4]D^!3J7-V>?#%%"I(*ICOI."ZZQ9U(W4QPH!A22IY!!J MU5.2G0-46S]HL83IV3<^>T-)41JW.1[Z(GB:7RQA=:9,=RR.I MT*7?]!U O5DC!4=3[IVID1[WZ2V=@U,^HJ)\)\:@,BG7K#/$B28MOIJNT2#D MT/83,JT+E*1Q1,T2IM#^T3AYU>:KEE.**@M"E9*AX*HLS;G)D>_.^'A-5O$F M8^=(-O \QVF9CJ/.6P5923"5:B*>3FRGSQ]CI*"F#1A(% MP2U0,*@UP&0O7>!=JYY$=#@0.<%)81&V-6:LZ'J)0.#X*G2(09H5Y @X;E>R%^X@S1#1M$N+F$,(&I7WE1937VA4Q,5,!.;G-1Q+X#K] MV(;7LWIDM;5RF-3UP<"5E8M4 LR3L.Z%E?O,_R!U5YR#AVC,7"FE4#K?L2!J M^8A(+HE)M?(BV%<\$DB'W..?04ZC11,T0N"OZ_#7C)'AKCEFG%XS49."S6:I ML&DX.L _MPHN(OF8DJ%&]R1]1M&X*59+@::IU*W3 _41T5G MBM:6"?BI75[7TJ;CZRJUPA9(NJ43^*1O(-ZH+F755P[L'^AD=C#GU9=\G&E P0*+SO"8B$US@@JY8;KJ.GX.,NNC8TD?O0L8R=)$3,U3X&^ MLVBE-#@ S[#\FX*UP#1KY4(*BWA#Q2MW#3 -9@DV!YK^MS6X%*1<608-F\6M MF$1TK;WN"YZQ&G2GD\;)+?!<)Z-^V#)KNU2/[<)RTK5R.49?X FPD8GAM]Y) M("W"TV_],%%9/7;;6A,TTREHP1%>PYAI+H1:!Q:7:43JB-F2D3"WE4)K\ M ^$__.0-3!OV+U^[Z;X9T%5T(;G3A?!6#.@_@Y?'#"(O'8=&D8!=-999KS504"DBA]/5 M[XII^B$\>HJ6IM=QK2]N;*:X&RB<2-(T%OE^>D FCLJF;[-S.UDRK4W)EW1( M_QC?7/[% _+,]GWLF0$EI]*(OC?B$-9(65*\($ZDQG+ ;A69JHX157@ :6NR MX%Z]HDQHB#X(W1*E0Q5.UG5&KE8<;"G\W5?&V'8CK3,>KA)51$6ND*^BTBVU MQ;@PM\>X M<.+P!!%!D@]3,)$,+LF1I[YO4QJ$\'H-3,!TZYOK\AED$>-=8&5/,XCL>C4I M \:;B.YNW%NR\:?@^FQZODG"L\N?4JEM0[FFCX_3O\5'-7RZ$,E92D*@R<0M MU\JY$9*>\/:^G20W=W8YWEV.]S.1W'R,ZZF@JOK 3?KS+(- M_7OZZH+$#U:_QL/\NUT (I,0/=UTLSVE/>%\EWI,TYHPLK8'7E&-4\H0RLM)Y7NQMPC0MS/_EW40>6Z]@!^%IDZUM]WC>N98*-W3AR;U.V1C9;+":?Q;O M#Z=-L0#AJI6?:7%1!'[UM6)C_?EHW7$>9%9:4:>M4SR5@H\,8F@^0!1L(L1* M(M_VDZRMKXB+3K O9Z5[42;050'AC3'.^N>'CO59#YU& M,O*ORJ8"[.K$*1B1E<#@S- -C?$' 6ENTB4J-(+ MPE%@_Q& AL9$EKT-^!:57*PB07$ZM1D:XSG(ZW1>%T"E?@=G^X]V.Y(IYK%A*95&YO(9E(C3<3L M.-F= '/:5/\1OIW7C,TEP8Q!AX@%Y\;E$1:L7;5EBRW.M /]!L [)7Q@&W56 M]E.+OWP$+!*T,>>DBXZ]V2BVRK ]NFR:PMF&(N"/D&M-U<'IEP(ZTTNDJ/'[ MP'ED1UFTB_"-5P9WM6WHP;<$!A[ZFRY&"1^1,VI@S-#^! AQ\$R=L A.4-1A MNVK1UTI"!221T*ZB>KOLG1EJ8%[J)8I?_2&F38!;21+2QI>.H!D0I$N$DDZY M#70+0V9O>F*CZ99R)<@\+P1\*5POD?_'$.97@4_NTH["S@ N!O5:;%(Z\DDD MD&"4M#P\V4K+0\8-=AH-=F"3]1+N334CH]U1YFB,@(24]?_H)SE:EC'I\$!C MD$:1L(-=3'G3FG(2LRA-?F*&/4XPU#VZ:M I(EVAG@YU-R(IHM!-8MBD;X4Z M^VG5MTN3G9C0QCRJ''FEBH3<4 M I/?<,8V5*44,'PG5:URQQF)&5,'PUH9G5>VDW@4!WI1:$668]^LHBW0H,K MLL_;SH49[(GR"L<,BN&]LQWBO'L?5,ZSJ]WY)+4[5WN'_LZ_@/J;K%1B5ZF_ M&11B-:\O0X891&V()TS2(/@P56U7:#+E [ M&=O)F,B81]Q;MYUL9+Z30:;.=W0QP\\8P>.Q'@P9Y'JMYT6;G:"C! M!H&[@9VU'<::\5Z;#L,G 0QN%@ZADKEV1*!1UX((U]4'-@\P5-92<]Y=-+(X MBNSC(6Q(9MP1*+COU5G@$1N-DKB ].X [0X0'Z N8H$,;5N^\JTA(!:I C@U M^R(>AG:Z<)+;,_IP)U\[^6+Y E6,3U\FTY5KG^YN?H'SK^+0SF;YN6V0J[L[ MR-4.QKNS$X]-ZSI)A:/M6 M$]&*[K;LF &5)&>)*^9T8%CZ'R6OVD;*SC5@B5%R?85P\;18:N,I=I_4NS'O MIH!H"((NM6DL]TO_KPV !F2#VM8C(STH)?OOOQS>.WC$&7:-4<_"FN]6$LW6 M_QK-)0C0=(;F7O0Q*;52AK0&"SUT M :0X_@W$>:5%[#QS=3D6UIH'-:1[R=GFF\?O#1XE20>./L&^"P;__03 M-YP!+B4,\ 1)@R0]=PX&L6OP9IX4.]"\',,5\[DI2?$)Q$:Y3*1RW2VB MLJVN80<<>:N+0CG)"*HR.6(U]+?SGM.+<@0EESDKNM^'(KAEF"XZG5HO@62@ MQPMF2)@K0$=V*TB"6G!(T(3/&OU1V0?$2[Z,((I/A$I55'B*G&($\J1N&-XB MM7K&4DCQ'DM](W"\9?^.DV]R,"), PIT-$ 9 L-MAV5?_9&&8'&%S=@JQ;+T MJ*5!)V[1.\B\HL,C\^ LZX+SR8F6F/-AX4A5%P>,W(B @EZO++OZE9\999@@ M'PLD=]T8?_YLS[ K&D!HG?95>)34Q_(ZH&P_\=0^\5G;U ;K?9VO3AD P7?- M>5E/6"=*-E(06&P%(FF7V/3(L-F/!5 'KE]9@@_V3Z.?<(8_.P[[KN/69 MEN5W='J\D8#7]>)P:0&GG5^9%JBMIP7;.'S&UW(E$>!\/TE>!_62 ]B1YN7D M?HS8-=J:X3E!+EJ4M_-(U+0$PJ$MZTMM$QM]R"A[E!"S [.D7T;+ L%0W[; MR68(H<'CYBM@RJM9J:9!;'JIC+LAA>:P^,P =6J]_&QFB\]G13M5&)I_\13L M=>W@AQQ[=RY8T2[[#O:B[>A<.]6D?8&ES.(21I9M"#SU1](B !"U9^ZL=#VV MM1G$%)Q@FB@LFU3>!,KEIJ;A=T".",+P6RZ847A*B#[\&+WXD8I^FK5S&G%] M&;@4-T,M*C?PK 15Q,1TEV S>]6W;2%P['^];> V?=3BA(NZ >DYNGYQBT9O M6_8=&EM^.6K3Q@=#YO>K6\R_8=52M,XGR=/ XW72_B$;'<#K##,3:)6*A5'# MH,2_6J6$CCJ>I@ZAI\Y%"+WT;'D6_SA9.61VJE7[:>B%_Y-6(:\7Z0CB/02: MQTC4NCG/*E?O;3GK7$4/HZP!>>SY'S(=QX' ^&O-;?VVDZ&C_1_]Y<9_]\F5:>)@*.[^,\ZVONKO[_,I! +,8YE(7_U M;BS)O:*8.\X4B-M\S(E"ARME?&B=RN6>>]=_UNHJDX M'%>\M5_]_20!T* E0S'+W88Q4D8W<>J;-GGG*2)7=H3X%E!M312/18P#&27> MQ05$[DSE9EI"@3)ORT*SV&!]E:8463YFK6 M+> ;+S-7;L@N)"*#,;&$E>F@#?;HTI#KG=?!()E&BB',8ZLEYJ%;Z2**6NE MF7[JJEDU'"BIE!QE#20G!JD^:T-]=QTO,99D3%@4[V\U>QD6) K>9&9<(T?\ MX)3+65?_;QO45@J3#X=2YD-R%QONB7UJ2_,2C=&[&T8G,RC"8!8BU-2YBVBP MAV[>;J5D?N/JRVLJJX(TGM28R( M#U@..ZV &YH/+D36'S?U]5S2Q^X06$6ZE0L:AR-8GS:^@,[Q9K"=[HX'C;%I MPTOBO34DHLI5065I7Y=-ZHMXHE?>TOYDJM[]=)?U ME8IV/_F>C(JJ4D#VT<'1@:"E3=E98X4'JHOZXM]/'^\=/O1*2-"R4M?9SNE; MIB&=OR=$B\HG:@&T 9$=)#!7(F.G6!?:$WY4A6Y0*2H4/ABV+AOK+]JLP1WA M)\4_5V _R6D28@Z\"S[SJN:H2D)!)-# M,.,1'U(,W&JVP19<%$T?6Z5A-1LK\A7\<4ZQG#.?=\L=.1U)AF5?E)@7$@.U M$E-;NJ2X3.^V04SN[2 F.XC)9V+U^< PZ%#__NS(?KVQP'<&=,S"Y&.>B*]; M:^DB+K-&##"SQZHA<#K#U"?]'GA91"S9&])('F"ZF25QLYK%N4Q6[9&KQ#7Q M3/E,7^6:)XZ#XLZ6>A\:HS,NA]6@DM6-^-W7!A9<-L+UX=Z=O2U8);KQR6!X MF08Y#;' UXR:#3U3ME%Y/-H!Y7L=_G:&]'SLVI7E=1%9#KGGY\9G?YE.FN5A M0V;;80 VN<%;Z?+@RVN'=H VS' 4KQH^"E-!LZ)I.XT1L65C6P(,B6/+[-)6 M 6N9)"@8Y69MI[U)KV2QE#[Q9.5QX3^-EFE4$[!K3X>_GI%G8FDX+XLR+XN9 M"5^M7%L16Z/23*U%M2POKV6%XN]6B.'7XK%NIH_ZP?\0R>J(;E$$1X.5J,DK M K(:*S!FW?1*Q5D0C],_A"S(VC:>42^:P2'.'V1YCG;QBJ$KMYUT4]0Y>./E;[%JT/8!/B_N5\9FR&7C,2B[5E>M9P1?LGN!V ;TO9B M0DM[V^R@%9I2/K"@QZT82U6.'HA1&0I/RH?&9,=I!VS MW(6F3PS,XOIG6%H:C1]I5BT?LHO$CEL:->A8HXO?8JZD.='.U=>!LU@W677N.OFT"X00@A@;VC'0'A?NRK'=-ST3R>CR[G/0PK[C M$[(L.=C-;$QY6K M%3;Z-'#FN<;<=15WBY3&O,"8N89[!_IW\#WM"Q'4T8ORI/V9%^3!"T$[@K4D MLQ>"L%2NW*+)F>6JD(T.XT]Q--62$[E5J(S)AR8TTG+AN,!%45I&2AZ%$G[; M#V"*8DUHJN)#]MFE(3GRD0T8@M\HR($(C9DS%^, K#5LC#TA MPB4H'\<>JX0.]81O626!.+;!E+!#68YO*YO<1VA\GC1BW2HJY] M5F._!KRUR5[/"U/F?VO[>$H\R/O[=^GE4 ][&A3BB((M AB"[NLE9]8.[]]! M8JU?_CW-$@"U*^R4[?Q"&_0C#7D%UOO1V!ZO2!DMLL\[N'_655&]+8M?WYKD\>OGR4_[ M_]Z7A-4;TCEU]7E'\\84OY(2>R8'+W7*UG;E<):!DN#&Y\=W5P05"MO+R7G6 M*-C^9V,YGR3X^T%"_E'OH!L3WE^YSJ!7@+B,VB4HL*K440B9$3(W$9?WP=6IK)=< MY/Z;7=?@O3/&G^4V7\%!\EQ[0N'#VD0%K4VL,W$BHG#X\.Y!\C4^@Q<>'3QZ M_/*$_W;XZ)L 8!V&WZKUHI30,66S%PTDW\I Z8&NFX?S46U^&*0VR+N@-\>Y MM7C8!M++@%L/;M@)-Q9Z!0,;!0D[;=0H0DK6% &;CN0,5$W6X6; M7H@D$JB6Q1JP^"M3G0-WGTG7F2M/.=O;DTC0\XA#P1%2)CWSR[E?7+VSEB\M MG"%'R03)R3.=6FV#U??S"^0_9=&J6G>T@+%Q] MET'WNXY2Z%R7\LWXU-<0C7C5FPS'3Y_/' 5G&-FA:\I M5)=>^=KT2F,Y<>WP1OK?.> 0,P*Y %YZC9$A__XK>N78V,IMR_3>WV5Z=YG> MSY3I_VIB*[W6=NCK$)I,@L,_-QK54;I7$E["%W'%2DNT*N6>[U5(T&S3 6<[9NE$XF?25L640,JLXOB6.AYU6,,0-_:M)9[,U),U:)+4S M+[AY//C4*U-*OUX&B3/YK;M@Z@OFI.6OR CY]AC)$R@-KB1F-(L?5*+9=9@5 MKK"(;UAQW[C>FH/3PK9?#5%\RC*JJ4KIDN>YL_S.!IF7MV;E)_AH^$ '=HV=9&K%U^3FBGC_ZV8%!7/3@I ;:1X95?BD;LDHPAJMNPT]JN?8[/9 M6JW"!Z])-?Z"%_(B#@UNM]^L=[NY7D,#KE'(>5LZ(W#%U[I5KYNY:X"^F?0" M\1T;:=.Y&KJ4S4&8UU9K>GO1YQ)(ZTALH%.#,QH$"[U%$CM"7<0[@AQ),"88Q"U,_PW?M:77 M*]M$@32U?EKYB,<;$ ZJ_?Z&XL;HT^QD*?^PE1 T4UUN7OF^GX@24(V4,YQ\ >WB4 MR#$NI!.&!6)+FR\; QO"8^1>=HVL9X/5_5U+^F5D:GX>H1Q7M@2[3DLTK $8 MQ-]NVR.T4$NA7S+U=M!,9V'H/LVUEH Q2/]Q6&(N[0";A5;'^1EQC7 +F$P7 MM)G;^!+^/+1^4$O!_]3 !^RS5I=P08N83!I&*64+$R4!Q8#A)GA22_VS+S[) MH$XGEE+"OE0'B:+AY8I=KU2C_ZD?58H&+%GA,\+6:!-;"($P;JC3BYB3)-*T MA(H MG9B-4"',SP:9G-V1AZ>@LY;0ENA3[ANNCHP$M>WU*FUU@MXY9",S 0[Y82WS M\CAE-@!=@\--DBOAD4E:2U),'^-@!\V!W6HR(0@DK8640]?I!.X'QW7^F[ N* M1=%R:XVPH\?F8=]>M?L1FFS8>WE#VU,8,1:Y)Z?=MG:RL4IW]J-?< =,#E6* MR 142I5-(.GSI!&H)>,)5 G;25G'44Z;:<2AD:^GD.K(C*4#B'@V/*B@2Y7% M0PRP(/Z?$;IF<"C$[)HT:DMJFB. ])72A[20FCT&-N;^E656+%B$9WB"L0WC M _55-S;B;'\PTSRI-M6R_#Y:ZT+*5WS8"W*4<]M+YKTGD!54,-8AOU6(3)0@ MJY3V,0#2GQ?GXV^I,V'R+[I=+LB&@LH,T.OCTPN*D6PD05B\9/?I@BP\]"E4 M*7[59)][N6:"T(?M&U9(8QUI(:\?0ULH0$29HEMSR"&TJ:[XDK33P/:*CEPR MVHI?QU\;A,H;KHL>)=8U MFD",ZH48EU>=9UZ5!]$_ ZRF,8T-RXG)J]4(@OB6(* \Q\%8^"D7@CP5N4RM MQ%H;K@,3/V:K.4T;MPT"A=+W:X-4QVU"O8Q'4=+UNJ P,KI)$M9CI.&6VJMY MX\@\&%5#-4&ON4PN;9PKJRY7MEA_DK6%I!RU(B(\]VGB&CR&H5_V_&]E_N[! M+G^WR]]MO5)3JL0W'&10(5B3R +>U'6=77WE.A4@FH8-)-L>903#)F ,WYA1 M;W^V\-P%A"]4]85 -$)MKH-IZ[+W)5(!FMX:"L:E(.7R:+L]AP%W(TY9^VBE M06F[(6"35!W@YL!&%=D+[W7> &^!EHHXV@#SL- MBULX#@O)7 #=."JET' O3+1X1 [Z#4AM^LC?@%V&!^Z#M"%IGL@K;/YOJHFAJ MK0A+D[G)2NU3J:FBL:YRVPOO#N@VM<0MC_;C:XN+A=!T)E9ZDJFU;^ >9RU9CTV0LD/4E:M<(7*IS>(%INIEUG;6B-6. MO7R@Z\+6%^:L:JUQR8?/5%8S93QD2=KS-%:!Q1C,.4\&@,S](92!(R&HL0NCN'%+J*G)-&/\1UI59Y*;$/!ZO\EK/'570<\K9, MU^SS7$*@WJ\ ^R'QP!INA"4#09Q@SR)U(H?/CU@" ' P;22(5Y3,J&JO7T** MXZ_C&&26/%N?25+]E M)9GJ=8744 /B$4C/*7Y;9U-#OL?<5-BYZ1S,&UK?W%DVWTH#SB[!O(P"4;S7 M37V9.^4;AZ6T3E\?K77"V6]9DT.[>,T@!F LQWFV $:NF''>BK7WXLWSZ\>WQX=/_@\"OQ^CX9K>][N"7?1X\+7VXH(K6?1^Q\ZR;S+8+^EEJ*.S>V@("=,PWBATAG$;PZ>#=O' M'2HQ"*?LT]-BXLY"42'?J%_C;"Q4(LNZSMMOHGO!GTWZ&Y"V8KP'I-;J+@PB MS#E R.@E&]Q6$:[6$\H&Y(R.PU[) _FX67*1+^< ?)AS^50U&]:1[*(I VK[ M)32@]I/!+88Z+,DG.$V8!DD3R6JDEB5'0B%\>8.=A:MLF,D3R QCO;D6M(GZ M$RTC@^(V3I6S"V%#ZP.'W?=F4"W/%I;S6U__X/Q6<8*5ZS+6W-YL"\D,'*VK M&A_"Z5MRB5L@R-R=2]S0RO*@6:"!+3NRPYSZEEA%$R:;.$@$J:81!\/):S:9 M&(IH%]S;K\'")=+D*;CD78&@3X;[Q(>YJ$L&]$-G 8+%2L5>$/Q]ZQ\#2 XW ME%$3;(&/4'2. X:BC0W:ZH)JKF48O3-&XVDK!)7.JLG]4)!#I[U MBL>GNCQ$P.:^@U]&:36%6?'D:1>MBSOB/H?C0X^SMI;54TRE9,C15HT6)O<_ M]14B?GE! C8GZ=$Q\N9&VZ?=D%#2*<1,5YL(LMVQ1$L^<1%T"QOG&IZBLME> M(.M;[L,M\)_I'%8:,H\CD3( 6X..Z&;MKT*>3;]%(#XDKX0AM@!= S9*.(L[ M\("UK3"FN"9IMO^9ZRORSN1[?/$Z9-AG3HI+Q7^($G<#T59Z9+1P)6\X6,XL MV[)@6)\&?&#_LE7Q;3 =B69P3WB$G20GZ;\\55P/W&&0XK)WPRD$8#'UHF./LX G4NZITIT>CQ^\F3T4?'&!GYK< =[2( LP.ILTY%/GI[6"Z=8[R,ZB W^Y4)[%29"6C22L@;NH_",: M,V.LO ^Q.D:%7_O\W%8GVP9V/%6;(5NY$*+I_#M\RHF&?"NSU ]W6>I=EGKK M66H]T]RGYT4("6E$ @X&"#U2FQTOG_GKM:NTWR26. MI1A.+E L7U0[DR]G_\GXGMX2Q'-+:.@-EY8VT44D /CQ=[8HZ/#PKSSN>P=_ MQ6R.#HZ.+?L-__QQZ$ZWAN\#,A [(;A,K>W)UN)^LCU22A].B9KQ6J-\-+?) M6"R;;>%6PMYP M]423@L2@UOP,MF3*0M*9/CY7RBGS6B9F[0%')&OQ[WA^HIBM"<7F#LRG M,ENVYCO[ET?7<)5:4_*>_XDE@N,Q[-$%6/?==WP3A6:-M<'$ $'#^"YW74WE M8UC1K[X-?_&'!CPDIL/F@9TN[*%:U=Q!-1B VG,ZT/_^R\-[]Q\^DC;W?ESQ MA];MIS^DEM]O?''92LLFPG2.+!MBV:BBJ0)V@ F"FHW4]3OC#-/X%HO_+>_6 M%@3G8"#V.Z3I5@\U<35\+IH19$G+?%(SG;P'@:H_Y. *=IU3GAX/:@&H#7U9>- MC89& &RK),+\8K,9*+>J!Y%L-@A]<9==WEC\VQ[9J-8A!B;"&R<06/L5QQK! MYM2:A40N7'%1E H*\SE?C8$U"!])R1W:% 26ET+'OL0"+6SNZ;PPL^3L'2\* MS?8%PENTG6#2Y&ZTT@%4PNV*=Y)3UW(:(ZSNRM2(!3-_*EJ: MC]!*5\P\37[. /5*OM]/_IE5DIZSS.&0/?^-TWE6P&KG.$R9-3UXAAW1O;74 M"P>@\UV0;!$0]Q./&NW,@ M?#*C45J*I[=%63K<:]Z+Y+28MHC+O%A([3$]J>?W(W,&Q=!IA&39-Z#!U#9. MT8MH!O!'0C1*4)VN^<*+HBXMHR87<')[NZ(=7:00L!*X S8HAO$ +A-0)NRO M+:DK!QC;A+PVT9GA!1@]-M.14]/YEHX#2&DQDG)"A&IBJW)!2L[R:D U/!R>; MO@W@S5=Q?VF]:\=9)52A9VW7]%/![%I:A]+U/%^CMAM%-XEQ*AWPXXV MI[8'\';TBNA(/ >)13?J MNRV8O&+K%;. 4>;T_.4(JXX/:$?5YN.OR[,N@\ZT),'#OL*A4N,<-]K?-0HZ M-1/[SR$;B6I<+H7EX(^R 18\R.#3 :;_*3<90_#4U5UY0QT=E!P,23\07)!( MFM/%$6!/+ZMH*UW_$P9*[PEV5#L_\_5\T9<(5 5=-GH@OKB]*(;B1G=9!1LM!QV2OGNVY5LG6$+9'G^] M;6T8: NQ:L?(;+A E^+K=DQP9D,,?VS[9R*R8@C?4+?/E M$$ 2*-41]LG@$/[^>]3C_B_M$,<*ZC?5RR^$;4/N>K_DOE6;UHQKJQZ+"]/: MIEM)HWQTL$MP[Q+Q-=IM'']*LC]^JPV6);S[I+F#,UP@--SG^GW9KUE6W#N7[O1N9P M *VC,\K"]-$YO554;V&BZCHD7YD78'FS)@VN'Y!% MJDU 0SR] M2,.-7F_._*"%[1O+1G0%K?Q-"%SX$LU97W))NQ0I<6GI-(#:AE1&:*3GZK#\ M!1XY': MM\8__?_9^_+F-HXLS__W4U1XW+MV! @3 $]INB/8E-Q6MRUI1'D<$QL;B@20 M(,HJ5,%U$$)_^GU77H4"#QD4 *H<,VJ)!*HR7[Y\]_N]*4_J<2LG"Y%T\T(/ MX6[;"1L":>BWH@:^/]?+@X4^6O*$4,:+,;\F1G3VK]>6YN5?U]GMMUOJ5-]1 M<< 4._* )?F6NR:;T'*R0^'X@ACC(:8HMN<84,V!">*N;BZEY;;^ MF7S?<.:>DL_;.G\S)MQ MFC/PL=S=(5J!G94DA4.@HV[:B?3GH,_/"_"X442NWWY9:[-#SZB4+(T9K8;N M\2;9?S^6W-C&^0I%$ M%ADMNYI?$X1MT$$6@F+=80XA5\^Q5/C?.HR2&30(2TR_Y,9DRF8T"(M&VS<> MCVX3@ZY5S"X0,-J@3 M''^%H[4M#O$:TL?>&1(2!=?%?,8Y=*/WN4K95'>E4P5/>4+MR>PQKK&$.7N; MS?"=85/7Z6<(I.)*9EGX S$,,6SO/#G>,J9X$51;&;<-ZC!"!+L*:C$PT)"8>G/C[;V(Q'?!T8RR-""&V)Y M5W W7;DA/K;.- T");O+O?*BIYRC0L/;3*I%FPZ>Z&+(.?]3 *G\V'HPCH4/ MW=@@'?.#K)*A !2HXX8ZGQM]/T:^$K:]-H4"@_:\VM-^R,)[*:@8#GO5R#)C M/+BE(43_C.NGL3";9!\:HZBO651XDK"6ZW$PFZCK4"3R-'E9D9./JTF@LZ-! M?Z-)H,]46QX(^[WY)S!$P?JOQ@<,U&"1KCK2P+OT+QI?QR9V1+,,>(;941+. M4A0OK&1(2BZX]^'F\RQAZVNH04]1#9EOS]HP'AT#WUP> M)K?/G987?+/I M[YFXJ%EZ (XH H:+3^@Q4>V&V)1^0NT,^& BFB@A,<248!!D5J6V(]Y9 "5]/<:#;\@=4IBGP$K! FQ9 M;5OK/6WNAU-L2LNT'0U!EFBN7Z$H">Z!.XZ&Z\C&W0.WDHY88UB7!%-8/9%E M-1#,H%_@LB>)7?0,DRG&&&Y(E4H"SESU XO-GOLVME,W3J_).1(K2S$0<316 MVJ:(/L701>*(^QE(LW\3=*;Y*P03BE<]9<0U;N&7 6_V2712.!J/J[$8[M+ M[)E95W?)6\?7ONV[(C.-3'>N'".3$6H8J(04D9\$^M(!)0B-#4)/X&C;0!HJ M0G!CDB5U\C!"E8,XHS-,;7K?:3(/V,"&1"UX=HAYZEFJGD@1^,[F_"H9B?6I M4@%A[R F-V_DF,G'^&NN#9N6 V=*^<%Y7/]K*IN-]KK&EI(A 1$MTHF:&-$AUM![P M;+U 5YR:W)C$A6R(QB+'C&T&I'0M H&7_$"W=!6_4)39NM'D7S[;%"C..\+H MID 9S8]LC..&O9XDH($$U80:X*D@&!0Q6] \6"OHKI8N-_=D)YR"9SGT/A:3C QTU]-O6X'$+[O4V\$ZH[RL/Y8,*V;4? M,^9(28$C,\#D9_\FO'#\!KTRXM2KWS.6!"<! 2\5JVNNZ3-+G-A[BULYF#Y*[M="S"P&O]L0WLY*2/;]S7!A37 MZL$[!B;5QW>H]8_!V9CZ-IO&>UC$R<$=P69RB_863HFA6>5)XNINN/4:G69%-;F*_&-[2X?9>(G] M1OCO$BL?,?*T&6K(/1ZFCGPQ028Q%4"K#]A-(/W5Z2TC:%V[2C M9L?OB??67%NN>7LMBS)8T78#!#:<2D,%%V?@ M:C/L:" T5>P\H&BOC^\8QB*LB6]L7PZX>(#'DML(*RT_@G/OA: (N\?@_OWI MB]<12+)$>@7-> "&!Q+ []ST59>Z&UUY#&&N&9:>)62%2,K;*Q9!8 Q4UT7D MQE72U!BAM*5OA^;#6%A>\EJ<(4 Q4=^@3L.CZD;V[&PG(=%JE(,AGUHL4P-D M8V57@1-KI<10A!&N@]PY:73SHWVKZ^Y& 0((!Q-P'E8HV M8-EY9BSH"U447;D%ZO@0)-;FH!UU\&&U5VY^K\@P1'S\I:;4*"Y@'2%O1] MV6AKWE==&WBXK9\A'R@'2.-FK92J5ZK)"2- =H3AX ,,9IH$EAG^XDW2\F=5 MJ)7EQCA"6:8^NQ M,CD^[G369%PTR:82L28W8R8T>_"/ZKT_9)1JO8@9W4\S@\,_W6%IJPB"M*"- M^4RX"P&+*.'#>LQ>4,Y50)QFKCT^^&0P"N;S7"[FRX8#V2(60)#85-RXG0&; M&3R-RL#%AJ<04KX3?=L[ZG4'Z$$D(E2E]%05 4E5P6 ?X)0,=AP#J ML/3VFO4]ST=!6>NB&<%I!#"$X=%\YRD&NWAX?B^ZY#;0"]N7_AWB&F(M"!6" MC;__WEB#=W0//_"J.=RW4#?+^*> &VN;EC=QZJU%W/KZ@)-H/C$P+>$CNSCW MA'HJ*-.HEJ$40WXBSYWR<-*!,*[T\QW"XFI9:HLL%4)=HVV.H['R:\KMVM*6 MD2JF6-"Q(%XC_6J[U\FX(E!J&F$MU9C2?2)9XBK'%IOB%J[;MTQOO\WTMIG> M.S.]K2S]FF0IQ2CK, @"WN2E6KPNQ(Z=LBZ+,1A]E %#+GRU_$G_:H#HRF2FC=;T#)H@"DBV;Q:..DW6" M!T0@=#?:U*93G*=EKI:YB+F:D8FR(?>A-$166LYI.8YF_H^4[AIOBG@ MPWZ(5IK4<'U4HNFBCZ[^G5N!6DSVEM\=O\<%Z%I@5$Q)506/O11T-:-F,X)" MVRO<]0N7U,8"I^N,,2<3&FDO%2.SH87@_B(U.5X&X,*!T74,P(F;VAB"CW2D MV_Y&X[ G6SA(>9*/@Q];E( MF9(I>$BT!Z%+)*+4)B7N"4QWE% U!O:P9WF>+1 70MJMXAG59%"MXE@0..9J MR?U7/JK@ER*]AQYBFL2I[=#@$?%[6&9OJP;<3V19E,=4FXR_GZCT$T=>%=ZZ MW)'M ["N(%98()"TH#S!<>5$5<[S23\/9J1*/&!,;",\J&!7$4:V1"-6Z9V2_N@-Y*06C3O1AT3PGB M",T'6\FJV4ID)57:N/IN)*AT,W^L6;V+*\]&R!O^2@PY/! C A_"UE1J8>^Y6EK^[M4G2D [Q0H0M!WV&.^/$C0TW8?[UB*9"3"\ M42)?27<>.WE@U5002].CL9RQPW^/TTEBS!<,#E/H3<^R:[!"83D(P:150B44 MYICC%+0<*0]!.S&SM+GZ<<%.S4V,5>8^AC]6"M'2FA',7*W6G#'FL+4Y/9@1 MF%6^BF/IHHUP2*G"P0#829[GR/ZFK4:*=&4/8,'DMF3=/]7+-__]ZL5![QR8 M$>[B+!ZY]GT/=*%CZULEFIYY0]#MQQ";M)@B1 &79_&>_0/RL#[YR%%Y.909 MQZRNZZ=A3/JJ;\FU[03QSN0>5PZ0W6&U.T@4?HO1O:XDM3:VQV(RR84(D2]6 M[\1:YC>\OL!B&>E1X\B= 4O%>VEKY$W_#_ZT@?E)3/"3"_ML'*B!4)<9\HJD M.];< (^E'9B#=Q\VP=9^"9$[8>REFE4S68M78O8]#11WXY;@>.$B8EN'%-7* MSDT!6ZVEKE;]Z.@3G/26+-+ *?5=7CB< W)ZO_G;.ST2$\]EM,0*LL6K-P&R M%@G\0NN//E)3,-XH(+:0X]>4U-A5R9+0ZTTA-JU]0WF"'>=DW<1CQ$>D-AD* MC CO@257V-=BA3;UT82'K1AGE=>Y8I?;#:"RS=*$!V)YWY2##YX9*F]2UV;, MSH(Z,^(KU/X:Q*J?4,$:\UV4(JAL;C0=N9)$&[GAWL*&(53:B!$M??Y MNN:I=0S3PZQ>E#$=X$V!;>/0]?WV&6L-TU S= SJH :V8CP<#?8S78,I]2#A M5'5$;D/@3 >22C*_4(D2%"[F 6[C0!F.#3G]P^?Z$\XVH'_TGC>:3RM^@?\QWY_Q582SY],U=KSKU!2%W6#.KZ\H78%X5NG] M 9ZCR(9\ME(RGF#_#[A(*85LF'"VY83'BMA.<4(HP4D25.HIV$8H;H;P?!D- M8N,@/#E!8*2O*P4&4:EE;I![ 44[\!,Z$5U*Z#%NU/)P*>=8I3Z0$\L\J@ G MO!"#?P+,D_LVI&F%D](\>@A#)I.!>^L.Q#NG1]2<(NMKVSY]T]9*MSTMI+H^ MSU&_"WTA4 M=\4W7X4#1]#T^O BWTD&$Q*L'PTFK737>OM>:U&E:^TCGXI("N8]-X;=,_AO M>0JY4VIA%1=NUP%S8G<%P7O(RAE?I0;XX'R^@/^;6X0G.=VZ,!HE\>A)A5$S MXA.TT-DELEW-A6D"#>^E01:S;JPCLVWO$WK?2^L3 M3.28MH!T/L-*G5@T&98O"LW&SWB8-2'Q)1R9<6F9R8/C]L%W:]-,S "J=>E$[]CK(S[/M'"?YMR?/_1;BV&&+ M^GW2"*Z!N%%\N:TX\MB7MLM GQ*-=2#6Y&8TW D3$I9#[EA>,+BO8"HI I]L M.FDLY-LFU:J4P"[U.*QQ]X MUG9D:(0S0U=B]YR^I39C UZ.Q2-%X0V48)_!QUB,T0U S*KHG:0E@GEMDC$( MJ 2Z;E8EA/4EE/)W9>!K"%6:8M=-&'%.O@1B[<_ $JV).X8H@=8FW(&B@D8& MMMEXG5ZK:SM.[=Z&CECBC:KLX5809BI]X[$Y/45QPMK4UXF,EP.2NKDL=6U. MR3"^AV:&+>SW]RHW&"7^+";S9 /'Q,@\5#:E:"XBYN6ODQ@943\Q\W6SI[H? MMNVVU JR)(>4'G *=@P8=2\;VU3F_Y#!*N&L> 9'YJ8QLZJMH]$A#IF5U M) M9=%X80/3E"75S%9_F 5;2W>.F4":F9;G$KQGV&N"P$Y1:ILJAJ5+M7GE-!Z+ MR$@"J6)91BSE/&*N3A&"O&ZT86$_G@!M0Q?,)BZJ*CLBW2S/0A6 M,E/U;[CRJ,6]:(KC. 1M,W:E0%9;5.G@2CJ2A4@FQIBV92EFW1'%P[+;I8.C*F>'K.? MN%%)M=D!/6;E/_MT7@)Q%MA%=+\[I@SK;2&C&B)7FVDD R85 _7D/WD\E MC&H-MQ=O7G:CM]CU2H#*G,9^BW&O@PNJ((9SN\!Q,,:,DV0N8SR_O;B@@LU9 M:H4@/AA>G>7S3"+,>$5?RS)_(K8L@"WH2[!K!^E"F*YV9BE<8STS67I6 XK% MA+=KJ^I,S)(N6&P?+O*X8(@S-]4,B[\P><;I0QP]F12AI8]OZD8B?(R=3[%- M>U/0Q$=C/\QC(HUJ).D$U\1:6,"C?K)VW_)H1VT>KEV@S^^G'7)/Q@D6 M. 8_J'N31T'%LR$\BH7]Q)9;RLBD,$B ?R?D16PQ(,Q !FF7X@QL6Y%B3:F4 M-D^GDW;@8;6]K,Y^;MC-"@&PU-5)>CMLT)HESL;@^5UD>ZHUJGEIQS39#QC6 M,T/+!"V5J6G*PK%8U#0BT.PZ9F0BBR&"T42BVU>W9C$.D;[&DJ[1> U1QO&8 MFQII@IB,F7+@MO[R,):2$_2Y3!CVS1Q2AE[[D.!@T5"CG#)?!F/1WM4%F SX MM((,1C)+LTD(+"ML0YE$Z7]QQBX9IM%$9INN!8E[X/W=W:K.]XTG:!WLE?OM MYD[;(5'VD),P3FHPT6U KB)/P W]HXX?"T^,)^;L+IEP'MYTA^ MAN75S+CWV'9HGTTUMIFMJ(PZOK%TWMU?/3RH"'#;Z@'$9&-PQIKG5&Z&=<"% M"$"TL]'4U\F$1;H+0X$\0*AGE B,#BF^O%3/BNX P@U1C.'')1BVGX8>[L)M1N]DI5+6 JD+)Y%QZ8'/4B2'-;3&\&0?O$B/T=-8 ^$QR0[V; M$9>D17'Q,X\E::BY(1HW#'@3,R82AC:"4K% 6YN.".[#>@_>E)7<1X+**S MY$',=[R9/6& *[?O!B6*=T#*T#H;>:81 84_T\>;LM3 (2R/X\)/L7J]WC:# M&8QL6R%.QIMG%!-_%=;#\+C30[Q'$:42*EP=2,7Q653H_N"OK@(HB]I +Q M;?#Q&6@R#@A(!V2P<^G4D)U1SY:H2D[#2!U-$\TG*U3#GC9G/9V(-Y4F#/<_:A\4H8B\@..5P_0T_>0>DN]^KNYLW[ M%46X7NB_H_%M[\1>D%:U"P=E&5V)\;.E.41> R ++[)>TMCTRH+?82NZ:%"M M ^%<;5YWHY;IP]2B[VW5VGDUG&[IZ4Z+^,;,!2ZJ;8V8_$U+XY\TZ[-I&9*& M]8QI>N:,VHRE[G6ND3W#&9",*\7(&PN:.$WEQ;A-4_+'0F[&>9R RH)T:B8S MF%GS)'QD?I^<"P6D1#A19;X'3XFKO&;P&8NN0=4XWOG 1]S7^6XQ.%>NN?5A M!77!KKK&&13KGLQ_"!I9RQU+V-^7@$XA*X5CG)VJ%);^K;1S7$AX!D/FHM M-W_ A\>Z3B@Y'TF]NCLVU"SZ"(9^-,U8=O&.Y#LYK,7TFY&N#WJ!R2EPP2*X MB!3DD_B/_ZYN])+GI=L,,/B\V%QG5)0@HN+*^30Z/'%Z93R'D[A>B?_=7+&? M36S';?*M3;Y]H>3; Q2W#P@33C>62JDE(T+%'#OP9=8(Q\R,!2G%:NSFQAT? M2=9LW (RB,PV*F9[>&!^W4N67X.X&UD11@%A#J?(>DWP=6H&@!4ZL55) M@4KT'$BG1#H!=2S 1V;0H=&UJ*MB>;W1OB&>.6I, L;!T";-SRQ*KI?JG338 M PNTAD'_E5RCV@P09#C!N*6&&7@>*YO_)M+D[]FJGL <*#TD-!.*\B'JFAFH MSB-FH37?2G\"]Z3435^Q!#,G"[8B3CDVX5>'!-JP<^Y$,=<#/0;9F>_("=:# M.SDVTXMUB&<-Y@P5@Z9B,EHHYC+7&QXJ]P )@0%P#*:.8RD_):0V"LN(M4"1 M\Y)FYZRV% 0\9XB KAU61R8,(>6A2PRYX@^1,AN?A@DFY%E$*W"J6#R*9L,L@+Y7$ MO/B&?FIJJ@3IJ3Y1T!'[;:@.+RP0IYY*2DW'18&EB='ZRT%Q/X8_+ A#L;)$ M)D[&FDN#'J47R?* Q=*_Q5%@L]Z5;1+4C0&7\P=WQM[$ :Q$!9<'*9HL??@- M>+_Q,FW%0+ALIKX )UH.-%Q;7[$BY)4UY^7Q@F3XY+HCL QBTG'HE'XN-WU5 M"+C(&GY+)W.Q2N14+4QE(PO6Y[)B>D9"_YCJ5-78/^4HSKG@/Y>\C;W$8TV# MB]%F$I18,\F\3V M+-SH864EA"@J5D("8 M]MD'82&[(=<.^C&DA*_RF]O.)!SJJ?R%I;J_+49NG1)&;Y =((IR5EPMT)3B M&=!VM3Y\:9:'[W8=7%Z$V#6K>,BTJUOSY1**!'-T@G/G7L/6D 6@$"54WY)KPG22F##*3NQ#,1T'&(FK:<*%!$'H:SZT MK,TF!;NK4H9+U&/_$*18*>C8'_0&Q\>G&^W8?[BC")+:$WX$9V:BA^8.^Y#X MDX;;$@@J[\YT&H?1O[I\\XXX,BQ)LZDUL<-#6*@M%33XIB#M0:"2+,%,Q47' M5P7XX*'&^*31R=89K#.G37Y:%G6M>FLDN.GW&65D1S%7NYBP(&T7F/6DR=%D MLYEV3/\FU/*B^!U%AV1#H"[F9[W^(1?>.G@QTY6AS5SKHAE+FQ1RG*Z.E;)% M*Z%"M7TY:W[ONZNN.(NSZI3MYP0=I]06?IZ,0]N^KG90=Q8WT; P>WM+E^8M MUJ\(![5C5W]NMM8([Z'Q0DD=HT#;BM$$9\N&JP$21YNB@0EM=3!!]P$OWK$N M*?J=(=X DYQ?RTN!Q78Q5V_NP&W<9XENT?^M*&7#P?7/&NABJV--XMY<77O7 M#4,\Z$)M)]( M[AI:EHJ#@/(G#L8"5: MH4:N"CLD*[%:A9O>*;="'_.EX?;2BP;3M2'(1ES!U1M@3M-0@IH49KZI:R4@ M4D#?B+(+=8N-Y&T&OTE]0MZF6!V5V,%;+E09VF>#HLG<= MEUIJS$=:S,J%SS"&'-1T[,,/6T!*IP\L-'NS#*#*C5S/J!X1;&[JC+2>644'"I*F8&]8/T8 MSP E&!G%A=V>=@^+/T5V[V:IE55BCY_5[PL&4HF[98-?MJ-9E PI%+35=<(*L84(HV5K/X M<6?"&J83YM-D#!OO;.UWW D'L)ZD#&E@%O;GW//,7<,_ J(9+E\2$+XN];!V+(7Q]C>%Q3.<7 M<*,HJ"[(Z)0/0))]BF<\]^UDT.TUOO\FXW0)W1H TO'@2$55WNOXP:K9)HX(D1LP=D.SIDA<3R9(-1?+>R!],1(U@2UC (&;-IB.6@&@([3*U,942@V?J2+ MUH,12Y9&>7HC\MB1@*>@<>P"69D5/F;E(-H9"K,=I_M5C1?%]GW&PLRETY!B M%DHF_$@M!;)(.X*YY1GB&90D(-*F33*5PA(90M#Y(NXYL-8.<<]ARSW;XQZI M3U?-*JY#KBXEF*T'8X.*WDA@K[JA$M]&B@Q]:X!Q18J8,GO;GX_\ %/\BLTV MVX[@68(V0>B2F6&"L$/U XCJ@+#&8[_(-G2A@(*JC 7?MNZP2]$2D-WZ;=RO M14[Y8T 1,JO_7A68AK\#<@WKIW![;*<:W+\&6A6$<6LF#-K"*O%DT=_$D7\Y MC_8I0LIUH__]'[V3P^>>Z6L]4Y[_)BL0%]0-L9HDF;(SK"8-7FBG>:VW'ZMW M&JZ"('@&P1N:(C"*50SS3&'*5I)+UO S>WO50+6XJ'-0Z9&;2FI,O SCYS,T M.V\Y!#O\2]GN)!<8\)_,?-?T".Y<,IX#;9O&*?!'B=KL?208/\@;#JZS^J;F MZR6<02"C'Y&WD-*^(XCC4*CJA^O+.)&]S;L8 MJ! $6F%W_MDT'L,W!)#[+#91@2,ZT#+(O^J%1>4O+:30RRR_0680*?WD!QD^V$ M'V6S96W09N'U8R=J$>F4@I[68IPALRCLWC2UD]2WQP1A9!+1\JLKIU?)>IS2 M$E%DQOGX2Q1!3360LTSJCF:Q1.CQ)H"VZ@=P,F$!'%@S*7F0&/:RCU\7I6IJVQ!G0>MR]8,M M)[:<2)SH54$*I O7-JID63!,BLP0UP$6C$5+BBFU"7!:MO ??CMS!^]@@5J(,,(A M307UD /-7Y.Q6.BPQ=P2W5HA+<\2S_I1L:80A:NZ,3$ Z?\5W)-F:E:?FGY M9479T1A>LN.]*;P!BI6/)-IR4,M!-K6B/\UC5QT?C* !'750S;UNX)9Q6L9I MLK--N,KVZ3E0$ &Y1&0A"R+,)CJG)LSPN9FS(<_6=H/E1TIY>]QSY<8?X\+#EP^W:[\R+IH9WK(M1 M'@\)\)9D66&KG1@XYR)-T;9_QZ #8/3_B$/;>H<'_XK*N,1(@_1Q8-=^]",_ MUK1SH"B47U_QH*WH=59J[CAX9U%)X9$XB_'@YRPCO&<2I(PE*D_:A9:DS\.Y M[P0Y"\$L=-.YQH@8B[,3[RC*=FA37.KGAM_SVVT!,#&,PL^ >O3&+.)HK+A =#>>@Z=*6VC7G'TD/LO"Z2>O MF!?GJB@[89L:+0(#6W%9E6Y4%JZ/QM=%@AKJ@?MRL9.\-L[&LC?.=-JV+L(\ M1Y_8H%_KGU\]CX@GSFJ:!:OZCADFW>%;^-5:% MC,"=C;?>:$13SM94+K/+PW#V,@8 'N[XF@\B0XPM;^H\89VY'DG; M,&AUF9A437!I]5VA6 Q9NB[[]ZTZ^:RM3FZKDW=RUAEUC"(\K,XI#"NP?[:+ M@=N[2;C$!4DD-E=)4A/(U6Q.B+>)H(N;L2H\]'#LP?#1$/JX&(&H0",Q&$1? M&\K3N!IR&TALV"&H@2ZA]DZOA9PZ-K;;JND(+([U.CI;'YSFGL2I<_'_^>;O M5]'%B 'D.XP#AD.8N8Z.AYG40/37'J:T5#G(+X+?!'\$3%E1!/J3G@G8(/DS M"#*1!6B*MYP;1RL"E'$:?@1:6$8OKSW9MIWTJXYU,;*^QUYC"Z0H5_-V$S^5AD/R;W^OLVN= R.C&Z48N> M(O0''+GA3Z[DD#R3M##P4*Q^*3AFARI('HNCOWD0_65>QA!PFUQH^=!AW=7T M/'OQC*7< Q.7@;>]DU&':;I.D:MH<.N (%>XX_)XU>C M*>)VS=62WRPX-3=H=V"XE+ZHQSN!=/;0>?<&$G:M41:AXDJB%WJD,8S(MW70 MZX!RZ9^82?.JK'B"R_K'4"!%$Q9W5&1(_R(2% _RPVU8'4V^(IHGR+JMH?75 MW7MDAD05942#1X0Y0!>IA%EOJ6G>H1E +,/)'*+SM[WNX6DT!&X3;625SHT& M)Z2U70PUMV;-DQ9,>L+MIH*B8CS/.HZ5SK M Y*";&-W:L+/EWTT+R)+B6S(353ZZA6\MNC +0,^1.\*H*";,3:))S2H*L5: M!![^/#%PG?-$EUZ*B,%I$HO0B0,3>88HL7MR2 M>NOCPS(+V@9#S>@VSVSVO"10*G@=QNM#F)1X*Z0.199SOY4,-2?"%KIA$86_ M#$)[S2W>H9)'C4RU])T)5S>%]!X @G6XV"U%T7^EV%P8#+\E10 76R4%9@P3 M)1,KR8N%I5$R'AQ8+,AR04,:#*+R<2'.&(^JAM4S<#)-<;(?P8CWD@L=L$H] MJ(3Z370*CH4M"O0'I])C MR_MNEU.A&*+('K#OL"S[ME ](V6_R,;C@Q]SE7Z,?D.0BJLR1^BT=\C3,WK% M)4UFASOR-L]*F6M#,@>9\.5^G9J1$47^4)C!NP'QC9 M%LR+.8+"V"G-4CVJL"1]7)D:T#B'=S L)4+3S532[YM-UO]C/:J'SMEJHK1;:O6JA"[B.!W:* MC35@79_PE(#VHW$VJL0H@WO,B?47L/ %"1.U\(MXT%9WP'KU2D1R/L8Q0JZ0 MH$MBD*4D&< =LN L0)Q)>N:HX?]!$=+H/N@ MIV"3-+%;QK#=/H -#Q*>.8V'L1F)0#)?I]?J6K#X5?.T) X3IVS3@,^MPZ0C M54M)((\=+3#V7,#%'^?.T<&)F:9BVHY=+D0J]0OX&?KK,[W^O1UJY\, @]VM M05^ W=IQ+T/096A3J<1@>.A/H#!C,YM2>)HZ;%R'$A7PS[ 89BRET06;*VCS M$ 01;P2T5FSY:<,3Q0NJFUD?=W7=70*+?IQS;E^/6% M/N'2H EL>&$5MJUC)RV'@W>Q7K# <\+"<_RJ:[4)P;1L4<6-? 616MO$4,N88P_9L? 2*BHQC*LM(6]9L65-*!<%YCD>E M4Z)Y->,PD=38>WVS#D$.VB)R2 M2@ 3_VVG>QNDN4;@U0D9^1GZJI2#X@@;1_152MDJ2HI4<[2@EZ';AKD'+B3R MI2(.M< )&2T;MVPL\-/D1-8])"EA51^YS6AI< 7T)^RK)N:*",(@,2Q%,>T6 MIK7EL%6EB\*0T@6B9,EK9N$H\N_AWK>T9DDE,TH_5.B&>[$BVE2ZG9Q$_1\& M?S'N-7PL/8!#ISB])#%LY(@*^G]H:XQ:WJWS+B?S<::4 /EX8F\E9$KU!=3 MB3PJR7G,UJLD869%^)+?P4LJE^8!34X\A4*G*LXE2G;+1_'GE]-83Z*7MGO@ M#2-K=TRW_ENX6H2?M6\52N_-B#D)I'4BE4@_?IE=:RR_Z%!<[3OU/<7M MEQS -+(T^F[DOP2/\1.#/^B"YQJ[R:@=26X833&*\U$U0U$]PC2U "/8!$,V MQ[ZL*C4#YYL/=*1C @R"+7J;CP;Q0:F(-NM2:],.6Y_C>%I:V MTQ\%%P>.J\JIH@/+2H#PME2/8,B"? 3)-9FJ#I9@4A5(6>=%!^.,(ZP%02RL M"MN:AKI<:(T0%Q8?) Q-^B4(?,+USV"HJ'?ZW,?:R89L4$03=9-Q&=3OU9@3 M &Y9=A&4VW#H);[XE"$$!+,[FR?94F^MO.DPE#>.8HS&\"',MHQ?FQ[5UI)F_ MYO4+F*HB>.WW*#_7<2P#,5AT7&47"D0>:4T&XI 0G!RLF)ZJ9/+<]XI446A! M9(BP, !!BB;1)!Y7P(E K'%5+M=^892H>.9'FQ2LG>KQJAPCIZ7!C[,[_(?4 MA%QZ]O#/:B'E@[=9S0:VAQCI>20$N,^BB-F D%Q(XRQNVP\. A(,%03C&<'Q ML7)N?KB%;O!ZR4V=#KW7@VY@'M?Y#-_MX3@$;>6]WK'AX+MHQ/U_#[A=\-K1 M-!-)SWQC.=P6KAJ@P 2KD4(Z,AS/Q)"ALH6W7MG;!=L%^%-;_49UJS_&JZA(:+YC]J*'B+WPPXL97(*1"B1\D25<.-1T<01/*DLJD[N\/Q$,@S^,&!=) M.24HM07F>9-84ZU 4/C+Z5_89E5(!ARHPNEN4T^%E04(=I".K SS*^WJV7?Y M2+F<:YEW8V:.9,8X8SZ@,CHELHER]AK9%B^"XR2WTA@KHW4*E!QI5%ML;\A% M!U6!IE=,%R[X$&.[F8=8U#5!$RVC_5\@\.VGJ^MY_M"]7SK#760?^**F(H(,8J"6VN4 MY;T$X$HE^%V")[!#[G7A[[UJ M$*8:(6"0[<9 NG]45%*)X(XQ2GB HLXF_%/'HBY#T/O[3?]D77>*+7LB+ M# @4LBF\:;#ZGI0*82D!"D0$'E=@]F&Y/E:22L*+J@W9,,2%#:(1X[0('JF% M3/&?8[?*>QST(_O2;O3;-$ZHYQ ]&[;GYLJT7^31FLT4UJ#&)K!"DZTG_-H1 M13[D#5X%JAHIT@IE:MF(#Y23["_@R8.I>=(G=JF5T M8<9M6?!C=^DMM3I1HJ^EC<+KA@D>?^O7W3 =,SI@#=7&L!CJO-*( 1AT]RVS M"CB%(EP,;)R#P"T:CLSF:P38EDF^E0*8&S@]Q><.^SXPK*VRZY M?1E;9G$KM7)7*A= X)L;LTT]41BVOH.^U#K)F+)<68S]B?@Z9C5*AI#(-3GC MVR4L?-9.S3:A=!E71$[KL"I->U#='=F21O'QASSE<#<&_Y8T03A&X.Y) 5-J M^03)!1O$/\2.,)ZCLJ7)#OM(&11AXRG7@^.H77QT462=%H7DJ]A\#:,OR^CO<#C#.0)C;7 MS'SD)F/(6ODGQKCH-4 %050(1C['*_=1]W".4\>:4CXS?,N5NR MV%#2RG@(C.G10!2C>(3RF/KQB&R"E/S;;G1%\Q/6GJ:1$3-WS)U>;WD#4V$TPFN5DB3M&#]W5Q\0[*LJ5CA= M1']#"OQ.J@B(!6/\\+8#EG ]+C*4!+>&3!<%J,<1\P*1Z!^+C<)RZS6TD-8MJ2V27XUO9,#(\K O4'AG?%]EK3 M+!0X\%1J2CD>RY:BUU\DA/ 'D0@2A[E%E.RNGYKE$+Z?6](:%X5,LN#=^VU3 M7.=QS6#<2*M1/$<=@C3DVEQ[MQQ;AP@N+$+BL;@MDLM&N "/?&#*!^%Y8G2Q MB$W4%\$](C/RQ?\RD9Y/]9:9-O6%=.[F^/I>>%6B"'427]N2$3IT,T3"3)GU M6M&M*QQD\;O16ZH]*J20(GSU?3A1)F7XQ/"1<-P"@.N2B%'L_L"\IQW4Q<4: MZSI'XW22<*?D$C<9-C>01+7"BT%!+N0,!MV[L$JZ_<_\Y#%[@"[!O M_O9>CZ8IJ#5,1W"]!,E8&40+)RG%%$T#:$G:DR;+"4DF6S3[#DTTPX*B CQG MWV]Q@]P)X<($'8>;K,"Y/9UT9;=-V<9"6%$@.]!2D5]Y7AA7% JM7%(9B8'P M_B !D'+HDPVS'.2*\;85AEW ]$5YN+17C$-.1K4-*\8EP>5B9:;_7LR.< $W M3JS+N4V7"J5 )J0FVIEHCD=?!08RDBJ;Q*593\T%!+.YLI$^_\52 A1J M(.VV5X1(,$1#&R.92,J9:ND_=C[R)A_!AKO^.&P)4IME*+,JQL,2R!TMUC-SHTWMJ"0T4G3#B]F4 M02>>RV'YZ+T<$MM_['_3,8)#GU[35#KZC@W+XJU@I]U=#<,6=@-#!E4!Z\L? MA23C:WUTVN,V,Z9':LE"/L#0I2U2:QN]%*P1QK9!P>6XRS:9!ER$C-W0M,1@^^X MHDJ9FZMAA?AUG"=ZSQIS6T1MI9&WWLW7GZ^_QBNN@9M8^&P:C^$@J;GGK'\X M>.ZO2X%Q^M=O/IP=GNO1>#S^,%9GAQ^.>F>]#ZJO3C^<#'J'/=T?'YX?'GW# MNHJ_\:K4L][??TVI]A LMJM2328(%8BJ[-NOWY*K[/'&U5Z.TN$IBRU#CV,*<8G9V?'1V>3#WJL1A^. M!NKPPUE?G7R8#(:]H3H\Z1_UU2I37%XNL0=&5.5V>>"R&P6KV4XPD4;2_Q*B M D$->2Q?P;!?'7%E)TLKW4F@2U\\S0&/ M,P7&L T[R74VC%C^?7+YE<+&N]$FZ=#@)?:(D+/.M4)W-W8$03OH!WW;MNM!T6 M_-'-CFID(]HWIRX[#N#(R#U&O'5LI7VZ([G!O9W!LC@LR&2)<6XL4N.YSXYJ M/*:Y]W13W0>OU9P.T&'GV><_CZHY!0P;?L^%EF%R2]FH[9RTFZ3*24(')# MT'^CF6W;HW%QKSS!1;'N+,FNE];L]G]]95XG_=:&WQL+'8/UUELL@X8HB(]4$4D06,N(UO^,.80VK53-QY^C3(I**VB;I"'[&HKA.]%,% M2\8G"%'Q3>_5)Y)RKFP4'X9W3Q(?!>/NI^1C[_BL M?S8X/^D'1IS]S='Q\6"CYMN#;F;N)X!"]65AKV]G,J/VDR9^\U5]X+^Y-.:: M2LK,'[-JZR5!.B>4M;-Q K9 +SJFA):LP!^Y:-$.@R+_/RZB"]: [X(!EQ'. MMHSJU2)L7DGQ(\J*$N-+\I+?;)3!*XP;QT5>F2D;$[ ;JIRK,HB !R9R)6"W M/JU+=^-\>RO5Y2++D<$FN0*"@0ZG1WK:3M[))IQ'/=&+7*DZKTH/P[,IXVV. MI1,\A)$1W:A;.BS5GPX\S M+OQH\SE0"BKLY7=Q,^4LX=#HM"VU]Z=V5ZA]:RSQ$+$-H@;/$D7,"3B0I_WS MS8J8!WAE_[!0]-OJ#[ 9JDF5NK(Q/(B_FZ*Z%[:HCM)?R,+H@% U&/5"WV&W M.:Z^VP9[L_;%==0+47SL)HV=>VB$)T[OQ16!;2B3+(R^=B-5;:<_QN[J+Z"J M.!<#]'8F%*NY=%+*NG8/!K$?WX=Q_@9EZ6AJ3D,J&A,9[[>8FCYP5U(-,+$$>H. >=T^Z86F'4W=B*P5W%!0[TOS8-NX0&PY)<%)8RQ."// MN)!D[6G@4^S%]2OO[>UV[@V705#VM;"CE^W\7'^, 9HU3@=G^;5*XW_[3_/- M)[=7/&WD(A$>I%]%'78U_-@=K0@L5Z4I"IHSP>2*/Z6OF.#2IK"@'M:9:I=ZY.!_WC_H?CT=G9AZ/>X.2#.AH?\ MJ!<5^#9L<]?L[9!RB(BH="W.CSO]LT']8T"*"F,D%;5#TJ?IXI=9B:8POG/. MI3_](W0=Q)V.OCO#/>OQ]W"5\TR"F;]VK[J=Z!*DYAA\ZU_TIWB4T;M?5GB$ M'7Q^2J//W$#EGNM39JJ04G>%U:,(OKKG+E#KN'7,18AS:XR9DC4.AJ:E8VS)WJGJ2@@F;B'"# M5FV4&6,/(Y)Y7A_QEA)([_WQ*Q$#PMKHN54IW*YF@ R; XGD*%DF>/ D%UX] MVJ%B6:.!-F+#+K1Y#QW>JEB\JRY%F9NWRM-Z@B!KP5AK.*\L>N4I1T?=X_._ M^/*Z!MWJF93>\]'^TY M[, YM!=B5PZBU^VU5V(G3J*]$KMQ$*?=P]9JVN!!T'B'< S(/1PY\3Q->&W^ M"$2>_3R5CQL:/]LM^XQ/[S! M<^^KMN2E39[] M]%^4E?C%3TYMC-^WO[9\T<[:\[5^O M+MHC_-.VR98W3@9&>XQ_UIKX\OOV+ C*E?NE (.@)C8@RIJJFZ@WZ'?Z_:,5 MPGR>4?%%#STP&,B$>/>_U6S^_,4^&,NKVS'&[J8,@.UI^VC3BGX_S^&.=.*. M:^;]I/F=&:N=5Z7[2?>[TB([J?M.!EB*N"'5MVT3Z#>5ZVF&HPQ1$_HED$_& MRMNTAMSV?AY7:6Y[=YO5H]O>S5-R>C>M;;>]'Q,F;X_G:?JH_=/.T>%QZZ(^ M'7-Q&R[JF[14>9QARTH23[(\C5L'M750OP8'=ZE&ON1[E/B?QNNZV/IXWT5(JW;^C6XK7N<5]U6/=*>J='>8>?XR21@ MV_KE)U6_W/K K0^\IR?3^L!/0A ^%6>YWWL2SO)^6J)[G;)]H9(2X4A_446A M1M.JT*5,J?MZSZ'U?K\.[[=-VNZK5SL8=,Y.^JU7N\/&W%-+V+Y 0*%.]%ZG M.*A&Z_:@6F]U7TYF1[S5MHCX:7NA9Z>=D^--:>4GH(+WDQNW4CA\/=9I,:SR MZPX]XG^R_.-7?@RM$]HZH5\-X??2">T/.OW^DTRM/LD*XJ\VS?J;+LKH:HX' M.XEU,GZL8.^V]]EB1;5'N*^N<9O(;5UHLBEX=M?>^]"=Z/%:D9XX*V_#__Y' MEL!N.M$E3NY5XZP]J]9)W_O#:;WY73^A_73[3Y\0I-73S#U_M:[^IW]?;5._C_RC%JV+K,T MU2/80%6VA]KZ^%_O$;8^_M,XQZ?BXY]WSL[/]][%WT]+=Z_+X-_'OU,-ORE(M0&6^ MX=D3[3GMI(-["69-.WBK=5WW['B>BDM2[K?=N$V7-*W>C;,LX]Z M\PIV/\_@R_NB&U:=^TGVUA=M?='[J[O^2:=W_%1/YZDXHD=GG;/C_7=$V_;FO7)B'RM&_,2/JO5U6U]W#PC? M%C??MV^YG03UE9B+.^(4_Z9R/!^N5I[J8AKG+6[V;OK%O_ZK/9C6)]ZKXWDJ M/G&_USD_/MM[GW@_C<>]3L[^2U6IVM,.[#W.R/XXM/P@G]H@;); MIYDJF@\[@]/CO7>:6QRM??"S+^)/!SH]>)MG-SH=;2Z$_<2/ZLM[YC_FJCV? MG?;?-ZN_G_@![:6?WP?-?';:K)E_*-4PT1M=>)P"\W M(SRDHGC\UV\^'&EU-CP<]#\H->Y].#H\._YP?G9\_F%RKL:#_JD^.YSTX 4_ M*/.-5Z6>#7[6URH!Q05&'G).\>'X^.3PV'QP,SND?RXT\@ZP=#+V&0C_O]>W M'(1KB@;=B)85>>O:(,%]MN@?=_NWGH%O"4_H/_C$.SW1>21G4&;1ZZS44>\H MNON;V20JIYJ^4$3PSJKR,7KWJ1$2FLXB>%A?119I6\*UW>I[!![(T^C'+9U'O\.!?G0BNX6@: MQ?2@+(4?=H@]RNCB:'_=[X[,/XN#?Z M<#0^ 6X?G.H//74TUL/1^5GO^&2%VX]^B5-]I2:Z7+Z(BU&2%56NBP]GIZ=G M1V=;9?FC;H1KBWAQD;>Z+\CXP)61FL\3T$ @A9D1?AC'-W_[3_C#K&"4:)6C M9IK*EP]82ST;X$-$^1X>_N51],\(EJYSL^K^D=,^0LS!P%LU_?F__,6[.WDP MPE$VS_[CD/Y[[NUJRJ?6)W5ZK0^&N58?#]0$7OQ,)0NU+&279V?=_A'XRED^ MAE\=FE4A':+C[MG97R+W5Z3&"BEGZM.!1S!1W@>)GI3/^%OF1Z1WS<^R(B[C M#)2Q3E09WVA\=O!4.I4RFS_K][HGCW0H-7XV1X$O4-$4A,I?O_F/]V\N&]4L M_AT,F7RFDN"BR(^^^=M[Y#^4;B >2Y2"5@"HO]V#*T.J-I'KL37WRO5_F' [ M'NN^4KW##^/)Z/C#T;#?_S \.SOYT!N (AB!<'M[\>[]JU0K;V-#:(-EP7ZRML:"KOC7U3^49>3+'^GK^.B!)^L+"ZSV2Q+7_Y1 M 8G>Z62KPO@8A#$M,8(U1FZ1_Z>(>)D1K[,#OTM(G5Z5V>CC%(=DY?#5$JC" MV9Y715'!C]Y6^6BJ"E@T\#1_-[K2HRH'SMRHA'_ 3F6'K]()WCJ\(5]0T[RI M\FC$I"R0=!%0)QIJG48)T!H("K\@.TGSK&\FI?[A\\L7[U[27WO/HP(,'K2T;O1L"!\^ZH#G 0(1C,H83A5LKW*JR@@M MKPX^*=?1 A:19M&\&H(*C.#(4?9&,\<*66W9CV4KW6F5?E$'Y0%,]1-= 6+S M=QK,S?%C&9-GJRK(6\8%K0 X'"S?,SKW(WO&^$>O'TW=2G-:*?YMY7RC]\!B M&(L%ZSJMB(_@8X6[[05:UM=@(93$CRIE@]Q]5AYN/HU"02SZ(GS.8II%"M8V MU*F>Q.0%9(L4?S.L2OQM T[[QL]\>]@]/#L]YBJ/.1P-'6&!0(,XZ&JHB+#G#='!@%*,,I!&2Y'/-C^+)!-"+'$G;"(A0^ M>A-G5>$_QRZ?USWH1_:E7= 92$(@)-Z7,BN!5=?LON#[]FVOWSV,X)@3(%4_D@K^%^@JR;[=%*5%3Z0[J<&/;&,="*+S'6IX':J)#%RA3\= M@9F:8CRC$\7 -2G8$/#I"3G^FMX [LFBG-(%'NL;G61SC .8IPPK4&NZ*+K@ M\R_A [!MN-[,AD(/1_N8E:B\>0'D!^D2 7_C3\?@8L(JA7_IV0T<#ZLPWQOK MN:;;1H3S1!PFJ^##'1%LR'+X EQ:89Z-JC>ZS/4X+J,+D)<4W& &^).ED(W^$U.X+O%3$)7/ '] U8=?=A MQVZ#D?Y3\A%X]/AX,-A>[."MSLE\0^;Y1Z[FT^W(U[OC7N^)LV&!P$E)ML#+ M-2==AIPRJF85^V8B33S%B#>IRM/&2[F(X:(T/L!]"7]]1357;Z/CPT.076/] MB7C&_\T5^)W)I9I')^8CK/IYR0JL^!G5;XG43^!_;W11FIOY+7B:>-M65BAW M34Q(#.F0S*X;I29*AP8H/L.\Q9B@8P5RPJP9 W?^R^U][T8O5*FLJ/)W'=]S MU[+5.W8*NZKOZ W<+MS0H,<[NL=J-V^H;I1C?P)'),LQ&2-G.8=_:%0D]L85 MTZP"*RS-2I2/($]B]EP4BMXQ?)4X$B4D2^ USPDHL6_QMJ,VWM;&VVZ/MX&! MAXDYG)/Q6<^L]X=AT5^0@V,\[U 5JT/?B_3[W#CX>'1]W?Y]??@/U6 M_O4;4JSQZ!NS9+"UF,*W*\(JG?4 M/;NU#,#C"^_Y:+--0->;"(7Y-R6"G_$M7P 1[KQ@(N_HQ>:C:EAD257J+W'7 MP(4X;E8RG7,Y[)[WVW/9O7,YN:.:YM')L-\^EE6.[>2ZM'-O-2RO'=O-<6CFVF^?2RK'=/)=6 MCNWFN;1R;#?/I95CNWDNK1S;S7-IY=ANGDLKQW;S7%HYMIOGTLJQW3R75H[M MYKFT78;IY+*\=V\UQ:.;:;Y]+*L=T\EU:./>JY MW!]C=JU NZOC8AMT,6^YA#T,\QB>^I-.;C3N"]^@TN)@]34/H>-NXSUB/^&= M[44A"8?FG=+[UA_T)OW#U:XET^Z^^N=__C ,B0-/0HK]]9O^-Y])* %XYNXC MN8J]^:>(8.@BL\9])62O]\/1#]B ND*YEJU:MOI\MNK_,.@]<;Y:SRPMH]R; M40;")_V63UH^N85/3GX8'#YQ/FGUU)V9_ZT;-6RU6.8/S6^>N P.8GJ;W6FX!V!_I 4W_SM4HUS M'2&J,R-TODI'W4W'[/>''E\DD<%)T_TARC=_^W9SFS_9UBC1.V=GO3KMU;GCZIR<=,_.G\#5N8U0M[J9[=5HK\::J]'KG@W:J]%> MC?9JU*_& )[0?P)7HS6XVJOSA:_.\7GW>'5 ;WMUVJO37IV[M,Z@>W[T!*Y. M:Y"U5V/#5^-HT#UMKT9[-=JKL7HU3N )3^!JM 97>W6^\-4Y/>_V3MJKTUZ= M]NH\\.KT^[WNZ6KP^/.*&G:6$[PIB'O4;+@G(F%'*? (]W_?+_OCU!_LZ/FW M-Z"] 0TW8- ]W;BE^/2##2V'[PN'GY]USS=>)],R>,O@N\+@9X-'")/MZ/&W M-DQ[ 58NP.D^2OCV K078&,:X*A[OO'*E-;$:1E\5QC\O-<=;#Q)WC)XR^ [ MP^#GW<'&RW)W]/A;$Z:] *L7X*1[N'S-6LB[][NE3N!FMN=7>G"^>L#\Z:V].>W/:F_-0G7/U MQMJ;L>&;<=H]?PK!K_9FM#=CPQ[\8?>L[05NK:WVYCQ8ISR1V%=[<]J;\\7K MV8Y6>U*HF.&'4@T3O=&-Q"DP9_FL=[9ZK+U^\S;NR=N;623]TQ^>L'Z1[S0. M:8BN5 )OR";1KVFNK^.BU+D>1U=Z5.5Q&>MB@XM[ 5?9ZGN;H3P632'_;5A]%D?/3A:*!& M'X:#?N_#^9$^/%)'AQ,]/H87_*"V<:"EGD4GW>C_OM/PK!L]_G_>RO&7)U>[N:\AGW23]=ZP.> M 03 M;7B0Z$GYC+]E?D2*S/PL*T >9*#==*+*^$;CLX.GTJF4V?Q9O]<]>:1#J7&_ M.0I\@8JFN9[\]9O_>/_FLL9T_!#\.Q@+^4PEP;62'WWSM_>H1E$(7L)OX<@+ MRY'J/EP94G6%7#.@CAQRK]<]-HLFL7(XZ9V=G Y0H@Q&\(<>?CB?'!]].#D> M**W/1[U);R 7U%WGTU]4"IPRPY6^B(M1513P0I6.+U*5+(NX^'!TM%59=-J- MW!+_3Q&Y14:PRL@L$REN)1+2?DR4H\^ **N2DC[R9JYSA;_8I$I:V=*=LYV\ M3?YR\?KB'R]_>?GZ/4JPWNGSJ^C%JZO+7Z^N7KUY'5V\?@'_?_'S_UR]NHK> M_!C]^.KUQ>O+5Q<_1Y=O7K]X]=Y\YMW+JU]_?D\?>?/VY;L+_,75=K3N?\8- M-R8N@1PCO!Y3'4VR),D6(!NB<7B8RCO,$C]H#W04'&CN#C2S!TIW+IP Q1$X M' ,5???BA[__X$_A1_!KH/%%FE;P1##=LKR,@+(_@@B+>H<'_^I&%_[) %W!M$NOX;GP M75SDNG-!4C6?S23/9O3K)XI!=@4\^&L(%!KQ/AN%;8TLH/>]$(1/ 0 MF08T'R[@K8+EOGK5B5@\=#SQ(#=H=*(^+C_SD"IZ4XXK1WN>5S=023RZKRB(>:WL_[2GA%O,LZ49OD/%' M)9+8L ]^=QQ/)D#% N1H/ 'W/2V3I>&DK("MYMGOO!OB:;>':'43W>A'>$.6 MFZ6AL ;6JN Q0CCS9F!">3'2+P=.^?RWFOL'AU"51$>XGU$2S^B.XP7E9\JY MNV<6\ 9B0'A*7"+OB#!Y!P0W6VF0-9>JPN^I'+POLPI@VVM8'Z[L1UGJS[)2 M^QG[K,\4&)=\]K E$/21FL%EE4/$#4\R^&-<::0M6;#P;G#,XBTY\V]NP+.) MX,*X1>"N,H^'Q!EX"PLUT>">:_#2YWCX? 'M/Y'#;^#"P@5%[WT$ M;X"?E,R1>(0*Q544PP'#] M5[1!_-0,MS!5_P8.S2J0O3GL]H$CH6% MF@46%;P[AN__ 0P+7F(G6FB4B&":Q\44"#>.)\P(5$2P/F!P(R!R$6W)+7?BL28]:$%F0W#'(I#GH M]64352J0_D!VT#;9'-@1-1K(DP*5*C &_()MQ]D,/HCK97TV4[]G.4:A1(6# MPP4K SVBQ^8E\"L0\_@*N$W7P LY;GVX!*UVG>7(@G)3@'/2,7!E(=;G=948 M)GRA9_@SI$+ ,/#$<0ZO3/%YP.W3%'SV:[I,:GR#Q\GGYZB0X[VAU\OW"$GN+W M=Y.!QAB!E9O$^!OQ63<9/-NH#/R-&3*&/1 -X.@.R$9%\N'%LY:;N]1P#G%Z M@W81'GB*[*K)&*,[!(](,J8C4C:%?1DNB=,TNW%G08=9/TB1&6C1Q*@E0?SE M*BYX>8Y]\-'-TK<$:NC2+C<:JD(;90RLE,UPX2.YS6"6I+0@6,3*W2LJW%/! M5@A](CG\K)B!$OD*@Q"MZ&7_ZS0N(W?_$G.!KR)27:O6S\U*7;'NT^ MK8"$*&& *&"SI")^F#INJQ'^%#O(@#Y@4>442G_^-,AD0;2&Q*\NW[QSE%HR%0W[X2\#PJ@YZ(=/Y&,#!84$ER]>W[V:;X_[W4-#TNB[ M\$'?#LZZ9^:7WZ\A>+0/%.=(QRWTODCF4X71.%2')']1FY#P_OGG2TMY_V-W MG\"WO<.3[O'="[R=I0,A*^'UH\'Y^>%F8^$/(GH8*:)L/1A!):F0$IV:HIK- MD,7%\G%!NJGU::W52/[1N"#/8(2!PV>T57FJT(V20YAL2M2\T,_,7_Q=8(I& M\A&8NQAQSL-DUR@;I*HR,S_@7!#]),@8>045\IG5A%R9FX69! CSXOT0&$Z/ MNH-;H4>\A(SW?-2_$R"YR3.:?U-%Q3-.KRV 3G=FMB312"\V'U7#(DNJ4C]R MDJM^8;T/PB\?E$N5/_]4<4V?,H_M06S]('K=P4E[$#MP$.?=6R&!VG-H)=/7 M=1"M9-J1@V@ETT;/X8&H87?:K(^]Z["HV'WM[ $T>%2)_,A%>H]+$G@4_O"O MWQQ_\[GD&70'IZ:*S]0R]N:?(BH=B4R!X"/2[^P>Y!O>0CL_8?O-W_YGM8:" M WB#7L=$\H:?C\(G]VG+Y/IL%LO6/]S+UCOL'M\ MLG6.V=P%PV*'EG-:SODLSNEO1/ANLZ/LKA:RU[J,"FSQV;0%L].[]KO5P\[U MS758HC^WTT388/<@.4V[V#SX9SH'C\[ZG>--8N&W%Z.]&$_B8AR?=LX&JQCY M^^WKLRZ,TU$VT_OFSM]WCU\D@G%7*'/?K_->W]W!6>?DJ-?R=\O?3Y._CSMP MVAO23#MMI%R,?Z\*;*EY^?=7[U]AM$CVTO1GLQGL3%.#WN MG Y6C

G_^1KKNW$S V?N)T6@^@D2W=ZYG#6GX,+=^'PP2F_[_U/ X M>G7W1!N+HG_D!K1@J+$AW?3@CC40,Y9F]PXW!TNK M,Y W3JG]E=LYA\#TG:AV,OP5ZC#!IMP,CB6);6]Y:N.BW-9"O=[<7IUP"ZW* MZ5I3%^":L[6"Y#9+P+NHV ;B9/=V&W+7)DV1+*"D"NZA_K9_U#VU74[2=\+Y MDP:H%%OFPW@,JA!*$DI&\Z=,+JH3W;J\>1[/$.YGRYJ%<+V M&8UL93N]J46?N&249XNQ 3*QW=^=6E\W=75B:Q'K /@]]H8RLD@VF11 0:"8 M@E

:$BX G8'N<'F[2/G;_ MV1VPCO8&UCANT'>M<[?A\MS.;/?Y4K\3K>4K(*99%A(]M=<#^068JR!XA$F, M^#BX16"6$7RLK4O A4)#_>OD_T=N7[WY\\^Z7B]>7+Z-?7KY_]^IR MDS".M]OZ=\%FL>V!;)ED.RNR?T.3',Q_<0:R8-$=D<8+S:AX-P*D50>_D[9H M?,8$[A Z_X2^B'J<\5K"YY*U48,N0@Y,K,5&\#!3=8,OUBFI=Y ZK 00,DJ6 M0S(.T0[C?-:-7C!D&@(;C>(Y+,!#"<%[ ZX$_3VO$D2#@!LE&'S8S8Y,S^^V MF&[P"[-@?&=1#7\G'"YX935&^!EJJ8=[S*8$;I^ .4B:HF$R0C,S8?"C:)0@ M?![0XQ+NG/ZCTHC/UVF@N@_F1UI'L/X$>,]0-?R.P#Y.=3('(Q;7R.@]&6TH MTCPQP(Z:&!C1 M2ABPMZF3?XYP1(2%LTH^90%1O[ZV_5[W[+AM07-!RRTVQ_;:<]B!<^AU!X/V M(';A( Z[)^U)[,))M*)I-\ZA%4V[M@OG+MXANNRFTUSU_2OWZ:YKT-]IEO&,U@IZFPT3):,?^>6B%MKW_2.3D;M%>CO1KMU:A=C=YIY^QT M]6H\PF3?]*J$,4S'5NHS&-%\A MUU&YG",+)C1@(HM'G&DKJJ%DQ4S:IGDPB4T;XJ.N=8KC#I(EY\6+PM2)3./Y M7(]I4 V.!4@UY\MSK:.%UA\+J3PB2S ::MP#C0P9TX@I'.Y"HZJX'(S'A0!] M*6]IHW+RQ16MMQS$$V'#,ICS()TNO==Z8.AW11#Q, MU.CL^H9E(#0#4NF/[J$G,8VU3+W"WV.F,J61 M*AD.-$K'=AVIQD/%$J%P3%-"TP ?)QGY@*M2R\&&Y74>,+W5Z&O[4P4^/AA^/'15,._JQEFLJD@<*Z62:;&Q:T4[*X& ML_:G=>:T;9UI6V?N;)W9@7*M%R^O+M^]>DLS>-_\&%V^?/?^XM7KZ/+-+V_? MO'[Y^GUM8.^+B_<7NU+*Y0&=;4/-_*:IL>(ZA2_#WT!95C)"3[E:(_T)Q&3! MH_F4T^]42 7J?(2CW&C2;72=93*:38:"%5)%)8,,QU0V"P^_SM$*H &F7)+- M)8LTITH&^(651$/@!"YVBG$87!D7-#\.#8)%C:HG$2L$4D\&^(QW/0V-+@?,T+W$W'9D0B^3(F)*X'ENY M9(ZU&UV4_%LT/ZG0G8]?&(+(L8 S28K,G!_K4W,=E-?9:G\X;O4)1VCRG"4F\4E3X(-!H!58++CZ$W-+\AI MXBK/#U;TBJ'":<:F=E!_D@70*^3UV#WV.BO%$N^93K(K-TPWNAA1_2QN\&V6 MX*S PL"?1.SF;=^YL3,L5K/AAXZH_;[#LUN037ZQ2.T$A%JD_*W." M?^#,1?F4&:_YC)N_ZA/XS&"W3FAARL"X^J2[CBUKQG)NE6R2%G]*>5QFA9C. M+Z6Z>A<'S>,J4;ZP7,8^"VQ8Q&+5^L]=O6ZN%G;HLZV'+SJAKW9@1JTG:H@^ M 5*C8^6;^7G'2A*L>8]GPRHOR"9:.W92'H2U^53:6?,043Q,P4L$[UR-V#N6 M;X#@!>$9NPF5X(B"8\+C0SMFXBZ-LERH')2(^>JVFAQN/;DT)$\NK/VI.]U8AA\B'-F#%9/N.O=.ZYWH)?SRI\V M36:*XF'1S&9T7.$'Z1=L\Q2E)UW16B SAFDSA*.=Q*71EG0SI)U%S\"_7VH\ M"_\;&.*9H^26J$HA0:"PD!UM 3YEU.96=]$]@T]AX "U/E^TF+1Y?5=V\?#& M1%]C.;MI.L'?2),+?]1[&0Y/)M/'(]/.'BVOF@Q^1C>BJJD(<3(DF,]!"M\NRV\MY/F#=U5*T?!X&75O?KS M-2QW#299(897@1* #&,S:A?';-/PXMV_@F_1 2I,.[,T/9?H6#!%+MA%*J1; M1\1E[_Q(LUCSYTC M6A7&.U8%QD?I1&+%22)N-I*%*.>*U)_9C7[%IC]V%B]XVBA%Z<:^F@ MD3P'A>IQ\R/3G(1A >2=D9'$(V $Y_=;)XO#^)Q0*6C IK]LYY.-,G:CL?,+ M! ]3R1"&V\'6G)U;;!'^G 08/6])MJ+I86>.+3WTA'E2<>R#IIZ3*U4CR+@R MH0GWM2Z-P ZH1OD3NA[WGUZ\\<[GSS]N6["XR(;K)K=:.YWEGC=;EE)!I M^5,^Z$UL35?\#857I]E"A,EM>^]X]-&V;S[COOF.I4RX<_QF(:V;QD, J0-/ MPL!K8BUZ\ZH:9=U://H&.=)]2V^=M>FM-KUU>WK+AVCL=8\W7H5T/U%Z:Y#J@E?7X M^\TV/7_ACN:3H^YIV]&\$UU2W?-VNNEN'$2OO1&["/ M(X/W%5CA^',;X?N][F!_^N ;.M__!Y-Z+YM#9&;H[$8 %7:==59H\T4NU%VZ M=-M4^2)$^-)8&_4VV,V18+]5R':NP*X+AB\.KG+>[>VW3MD@#$_+'*LX BZU MNJ_<\A?HLOI]9[B>.V:;;%M?)6PX7,3UWW;._H]O-R>:]@8$9QWLS=%9OW,\Z&_:"-[V$;>L_6?S1$^ M8]/.V>(A=&R=BOK MD"&.NT?[CWQW?YK\9:^B.4W-QGOB5NV&YMF>E[1*!!-OWW\/\#'D4/^LUSD[ M/-FWP&/+YH_&YF)R/34V[W=ZQ^ES8DC6Z+?YU=_+Y?I"")& ;"%A+<;XU[]S,B4A5F-;@,!Y)Z;:@);, MLV]YCEA4$K>QUHUG3M\\N,7:E1?S8J%8XO3-!5Y $+GL%LQUV-;HUCKD]B=P MEEX[6[05FUR-1[AV3')RW8Y-OG;,;"LV^2G(]5,(GG7'G3ZRZ4[=VRCL%C:Z M^MK=MG=YZ&*NS _B?1XBW3$J;A>0?JKFU/,V.CUH:53?QPW3+<\'4?E5YQ$&K=VTT\ M?9<3%8EWYN'\D5 8:]W;33QO6!++!1[&_=R!KG)6Y7&NU,:YYIJ#PQ)W-IQ\ MH[H$IT.G;:4"V\IV5OD"K\7B5+[MW:SD@EB4>:CX$T3A%+64E7D<+K5QN#7( MZL_I/:6C".83>8UKQS>G\\^T;WZV\'/M^[/*M12&OCX"APT(CIUY'>+PXJ_4 MU]5LJT>X=DQR-8=:UJ]6;-N:_8 )T(2UTOD.G*:W@J;3>(YP89HNB(I4X#3]N06;4LQ*O*HJY8$C M5C0E? MLJN^B8!&/.SJ\LF0KZZ?**B\KX22^,<53"ZM:6935)$_J?PK27GO% MU.+H+2G)%ZBG1W1O?IW4 N<5XVFZP,CBYQ7Y>:QM/J^XL'Q3Q7PYS\,%G">V M_XSBPCQ1%-5!9=X3K,U9GT41B@[1LAP@]Q\8MVY8 '\,DHZ<]\P&$O,(ES9[9NYHR M*&)9R7%/G9-WZ@NXWI4S%]6BRJF;2[M@+@#8&PD64?"05+*$?;Y\PVO+&76; M*UY27]2U>$E$3E1*R>='.&UO+&UO3S67*N;SG+13&=9*V)A2)24K;4_4:^OJ MNM84@?Z,^TZ#[_^)O,*UXYO3^6?:-^]_];GV_5GE6@K#6:M/1::G]OZ4>+PM M?")1 A4\Z:;M-TRRGC#!UR5%O]:PKZ1]R))8R"781)F3^ :3^+0@V.:3>%X$ M]',*W_YX6+Z@9A,<;Y'R>-C?G@9,F1IZ2Q 2WZ$?\1W M5("%=IA)V=6>X5K+@T6%A)0Q2%%*G"\I \OQ:S*T9(^M,BO1'(X7K@8XWCA8BSE:.%B+*UXD8H<+ZO' M2Q>>8I*Y8FQNR&3)>)E$AF?W?N0!$YZC66[+=KH_Z%]P-_DFB1GXZ?M6(XR[ MFYN*%R[@TH@7$'"<7Y:'E\4+!MX=V%P;7$IO@,M29?J'(5 :35OH!"=KS 4) M"[)/_CNR6]TV$03__2++7]ZY=;7$"J;65\7_=MC,K4"Y(YHCU*8G+-@?F+48 MK4[A3+0)3#2>_%N$4M8.D_G!HVV$R0(>SP:!9$+"K(AN5E'6M_% XLS%F8LS MURM BHQ$99:-^!I1E;+JU&;(&F6'8KXB)8I;E,@8A;8SAV[Z>O>;*@FI+&6;.1P.EH1'>T: MKN<8#1]#UYPX$C%EMX16F:7:PCDDFS+A@!@03O_C& M,8C"U_">;W1@KM_C*NYCU)?;JEC[++#%_Z73F!:Y<$DA^;4>B9Z$)QZ0=34S MH>YPI?7T-E@"U]X7C8G2FJ"4PPY[\R/]J^=A%;DTZ5PYTOP\^1R:1N29)QW4L,[TPE@[3M? M@N*1)+&HS'#PDNT'_89&S.^A]NUJI;S.IE?;WA.&][;:.KQ('"\IQ$LQJY0Y M7M*'%R['THH7+L?2B!EH:79(I^5C !D3(''NXMRUA!CEE@$IJ?Z$FV,$\F[*ZQ+(O+O] M&^,?*8/)APB'^U&;(&E2W&IRS0?VMJR;,J>C[: CWDV9M]I^13&'XTLW_C @)WM. M]@N3?;DHRE.ZM&S>\?$-:)N\F3W$%RH-31DOS,?WS-/@2DXLE)5M.!">)AVP MF62_6,5@RNC^G5V3\T6Q-*4GZE8$RGG7Y$3K&-+.%3=EG>M+[CO'%_@LY942[SELR<@U; M0>O-?RVM);,BROGR\OR\U+CYO"7STJW8%/:X6UO8?^T[7T)/YGQ>E(N)]F3F MW,.Y)Y4[7T9O3#%73-S9X\S#&YJG;>-+X)U$A[-QI?/9^69ZEF[M.U_&&(V\ M6)ABLHTT9(XU'7G_\K-#U(40C'W#VA]GB_@-? QK=[-RF72G=$(9;6\2;XH2 M80V[,=O.CQ UL0XLDX^CY<'9 KR*/5C)9Z70F0?:L$@$:$'S/5N0! G?&V]9 M\H9^T!^C^RG "ZN;Z1HRIC:P?>]'RW@FS3B@@NT$Q#'JNG]H7>-%U4BD6%D] M6[24)AB$UF"/EJYD@U>?#5R+%+P<"* M= $^NX;K"3W' #3 NS%A; A&YW8:T#@9@&T+*&I.8*FM4,;K1L3V@:#M$] MN$?SV/D'2CU 67:/.' 'O,4E[2ZQ/#<;\>8\OHQ1 C8V'U)G,H(G!B7# S3K MDS7W8U(YUEZ]BO!P#->V $2L2&1>*Q,PA!458+'8E0J56:MO&6^,'D6(@R96 M"9T5_O.W\6]P*BI$J6"%/P.]Z [17-A<8R!\!;&3$V#IIH&@(9F M4H9NN8 J0(T&E^*#*&):PE=9S19''V4"J1#&_XSE-5.@ M>E2R+//1/4SA/! M+RW-T@G( !I6@\EDU3D] M01$]E8M9>82<9$F)@V<]Y#12'E NCG(QGJ M5>1L84E(&=,S(2KP!9K0<4CKOU_^]_JL.O4$]ZNFRS6U+8 'JC8=.>)&!H7V M[P)4.0K5:>!*F?*=+-Z;KH7UB>O&I&=,QHLH/N68.E9 8"@C\E-1U6PY0?GY M,?'Y9)M^ES"KDWV)(A&W[.*C "%^2],]WR&A^A&^P0M!F/:HZNMJP*&@!>D3 M3 W8\OMTS3A441'T7 8C5& :*'[/>-%"Q6E83P!ZVQG -D@OX_<$K7GONQZU M= 5*5#$(C.GE8)U=XYFN*OAL/!G>(-((XTANQ])Y"&6- 1ZL;)1^()%P53/4 MIU*2A 8 #NZW#8L!+J=FY;]0/5.TT7WFI*P:?@4DH1D6HLP!YK#P*:]CK:4] MV0YE4@"F#GB:O]?I>#"LELG S*XGKHO(I2O4X/6.;;7!2CHAS^"J64*/N/9\ MF^)5]I#'V$/)*A%[%,%T'>&.8BEFBJ2#.:;#,6(12GQ#]G#G0^M#=):;I#-% MS>;'Z STCYP8G0W)JV]XG<#<#&PNO:-9%C&78V7EEV]EI4P?71'3I$P-T 7G MGHE4K0FP04*B6I0IJ*O]_].ZO7\J8/2.\)DRY"7*:"7&:&MA(@U0IL3T7+A4 MI$O7L_6'3(,N'-]%+)=))'!^X.\9# M MEJ$31T22@*LMPMY%J8'JER%%X-8.JF>7\P GC$A[#2T.2?C 9A9<5G6@4=MY M@94ID8Z\A<>8KHT1)?1@45H!50PIQF1!75A@,VX^]($,.K:/-C,3<9YFF"A( M0:O!RS4/%*=@4MD8!*R&!&FP\&+Z&.H K0"0:Z.\-/[MN)8;MR:+62D9+8?6 M&%H)ODGMV45T7%RKV;[G>H <1!^X08[=A[^&UF :$7#F84 4!+0-9/PM@#?X M;V!_,ES$+Z!? R&ZPE?I_0YL'.KLZ9'2Q\?3F&DLX+@(;[TK@(BV:YL:V/@. M8K2!Y5%-H5U+GMFO AA=)(J"O"I=O_P[8FEH@M'\[Y?Z3_-!SI?S1:E85K^P M6$K*J !<82P4"* =4(.G/1.TG(R%-BXL#*2IR)B]@G%74AKU A;0").,GA6N MX2[2:C%O %]$,4UIFXJ3Q94-WA+D%4 *,^\(I(#GT]@%?6I DOAMN"F\DT3: M,&[ 3C=]02C!0O0.O;%)P(.Q>]2;Q*4#?)IHY0I["_&*-WOO:C%;_NO]VQ)G M[(E9JQWV,@-PH5,^1\,@9#U8L872\@/;3][(G\AGF?U*Y5PX MJ56N;BYK5^N1_]<=PQ4JEN6#.WE)>K8#H+>04KJ"+&6.!.-U26GIIM^$]=5V M#JYW*Q0'%1J+ _IBWXE"OV,@>L!UMVR+[;ME8/8*(X-=X%\_;J> &4-)Q^_U M3$(1B;3 -*]+0U((7>HP:#J:230-1LVPF^Q55L#G9\/U&.CWM*B9#42+.B20 M'PV"U 4_P@/1W0@I<234&"D?8]SJ"*)I4^52=AP"L/A@V1&O^AUF7??F,?OX^H2W$!5WKF%3UM@%8Z9:+H:M.VVAF 1!=?#]M! M7NZ90"'?L&Y,D?XYOCXXIW_*_WP',\?RW4F@3H_?(OX)FDHT,M2T:7U#!#=* M CHB;%C9 '_@]#7$_IK]PE>99#9S4*Z([622'1K$-$"HT0N!-5J^B=R!$$3[ M/H"OI9D#]*8;1-'7(2NBE&;8""M3B-6AFV Z56/%A; HKT\(!HL=PVZZD^QA M!*% 6-_0*VS8F*B%=[ BEW"K "6MS<0"6N06J@P@+@V=9PTO0[G0)$BDAC5& M)E/H?+64DP2Q,+[0[;8%;VP.Z86B=R@!&5T$UZ/XHAH?,-H@&,CW&ZYG@,)F M_BGZY<,[)V0S/DNDMI)FZCYU'45 Q( ^NS%$=U![1"62:P#T-*"W#+S'C"\4 M4!HG>*0B>@<+$%!W]""B;A?<6I.:0XYN &$#>5,A0GUP6@\$*$9RB33+D(%L MNJ]H(<+X0OS ;F2OGQPBMC$)]IS$$^P\P3X_P1XOAY6S^2464K]),\:8_IKJ M_WD68F O"3H!@0\2@-D*#J$9-LK*H^(O$!Z1E(I4#&H.,RBQ>F*BPK"H1*+" MQ:&F\"LF9MIMCFOJ4B%)@05A]X7( D5I.4?'.$&:CFD+-!RZF,*-R?A9Z G= MXD#/ _2:AH[*(@#5#PJJ-U0X,\@@,P>4BU2N,^X8J?C&:NKP"R8UZ#%@_'KAD2@DBN&1*"2(X1R2+B,4[&RWD/"Q[ MTU/.0JYVJMMK1OO2)[O\\]89-_GWCI17U'5WXUP %A^<(9_8&*XE#X= MT[,LQMEK1O;;&'_N"=TO_WZCA=ZV[VI6TTVP*^)*1,#B1+[P^,'7IUZ]2N92 M-J>LG4@^(A&PYB4AGG_%1^)4D&HJ4+CD'Y/\ZVP!-%_:LQ8#K'8D:3&>JFVO MJ-71FL9RC.P[B=9%S"E/XX"1M[4E4DMB(2G5Q$.8_W3^!N9=K-S.VQ^M\CBG)B7DTZ@KN% M*I13Y,HHLB J4F&C)0IW7*?KQMF-1KC7NC03<-VS+E?L":Q[NTE["CE1*24X M;>QS>[WK)@[."Q^J-A#S^40'[W&G>;E;:TPW!*;4M;&ST8G5-WX:1WGMH\Z6 M53"R[GTE++J*JBB7%>YF#GI695%1$Z^'V@R1O<%.^CKKH3;6T-IP W.K MDV]+*J3:]DURRN1(VPBUF=) ]@+C0**6W'YO^E.&*RG2=G&F89&H@QR>Q _' M!8_/[;71 J.#>.'9W%].KX7YN=-XW./E%)DNBLR+:CZ_T1+E,_JLB^CCLRFM MVY>M@)6D%?#&6G:?U:+=-G]E(2'ZK:PDVI$DC=XVYP3."0MP@IPO)\@*&TX" MV^3>G\V>^;)LJT+E;GW:C?#M<:(6U_EJ(6FESUUY3H4?*(L4Y23/ G)7/C6Z M]^J5D6K+5L Y[M9_;8S@!M(+^/WEJW]B]S+__#QX#7W[UA;)'6[NGH@E&0ET4&'GS92L&[2 MX/R1/'_D1(6?6MB46,,_;^IZ4VG>^V!O-(4EM+]9.QC2$PU8>_.-$< L=:K2 MVK>:="@A+Y;DK:]%6$_[.\X(&\0(19Q^P#O&CU@&?WL:8'1DROW[EY8=+BZD MFM@WH3/?A;]#)Q_4+.G^T[-= Z,(/QQB:I[Q1*)9L])?N,/8XH;0S@2F04"+ MX1-[SU,>1U^=+9#0RE'R62DT<@&G%HE *FB^9PN2@ &.__P-+P[_I7"*5L$X M U9@:CV7_ C_^"/K0XME'?"RLT>EJYHA)&7R%O2E: M)M$]5_ ZA#K7\-X%^E70*^5_!(QC"0"-KH"1,=^!7RWJ/VEHJ+H>_*=++'B\ MW1+L'G%H",VES\3*&8=TB.4"W0:G<,4HD+9&H,3%7(O^#T5J&E;VY5\@/;TC M]!P#^ 7>@V S_2:\:0)#%+XVEB@!Z$W2ULP ZI;KFQXBMD6(FQ4.+ 'I$6\4 M@0@,-X93)R2.:9M?_G9-XGD@>Y#1*+]D%;AS*G:^REE)@)68N/TX*'"/0D\# M?QYDW1$ @#BN\']:M_>/4 7X:-9 ! CH6=IB');Z9.AP Y6FA-Z#;*'IC[[! M!"T"\Z!Z=DEA61UHIM\E]%Z\;D T>#J!ES2%7:*3;H,XV/M.P&GL] X@!7(WAQ,I?A54!*S'QD] =(#0FK"']'V>YKC#<)"-OP!-QF C<;ABO^X M'V3X]>Q^*@UE([-APF3@&C%)C:ALB$9L:P90;LNQNX)I6^V,"63;%#37)9[@ M:B8(3TXQJZ$8-T$5$W->8\X732)P)Y"BPDE.:/P0"5T>Z8]P/"!U]$\RAM@=@%(X;-#"'.? MJ36QBHL M4#HXA$J,QD#X*DM9.0HRQF-^8R$_)AJ&<3]F?FH.@S$+ 0Z=LL#U&J&:J5B$ MG\/UH&]FA5$(41C[!>YT0=4[=LOP!+99:MG.15 O*7!/%*[$4IOX?N+,0<#Q MP<7-P>[!]9U0.=T5JI7S@^O*L7!9NSJ[N:S6KA)!3NB# MG/E:5+-*)*(H^"A")I(1 :!IW C_0-IZ F&"D/9L( YXU==2,5L,'Y85;A&1 MID$ H=0@HM&I(;W&%Q:%I&+(%-ER(BR"QG?L?D"= "$@EB%BR;/ATOV!4 ,Z M$EIP@#W15^199@ASP42*U4*!JICE-!L[2ALNR M0!GEH%@U]$F;] WHV 6 I<3NK(PH\W$WPYIM1_0)Z�Z'(N[L+@'?!5>:CE MF9KP7$]C!(7$PJP0>"^EG*;AZH%!!G?3KPS7]8&:6*C%':MNB#DZ8WXF#;^@ MW1930TF:;LE2P7^,D46-2R$ LRQ4F;%2:3N$ZO#__&TD2=;+]5C.+*'BM\'[ M9;2C2)1V9.%;+(%9-4% EGL AZ#C.5W,5X4@MX.%2U81P(T,L>.HP8':FA: M<@(TH0&=]<,+M1"&0A_<#@+NPI760C*BEN3Q<55$RY;9D-A[.;;(G>#+Z0ND M9BEQ/ THO6D#N#T0E*[?<,%"A.@Y5I[!=>##S!&BH*;!I3<+JLJ@/X0$34!F! M_V452.AZ$OCJFV>W"?5#PS6-;..8/29:>!Q$K,XICEB ^'<&U8",0!@JDA2K M(PMQ-914<>1?X[?'\&ULP["O;T;X6%2?[-&"W\,U?)6G/G[HQ8YRR8"V% ]L M_/ )^=@#T(-A:I52;4A2L(CH?6-7N]2?H44&U&/^/K*CRV@A\6UEA9H&H O8 M(MIUA,31N\!HH,[(-+(M9)$-@;9T*D2FZ2J9(12%XO!-@0/B"J[>(4T??5/P M\AS8-S!+3QM$'DX8*T GT$0(R%DE_Y< 3FEX0[@-&ZQD XE8:P.]M]%$&D8R MV&,F=BPRJL/O&II)-1[&[C2/[1D0EA6NX<>IW(0E=H$4(>A*W=O W2:31P$; M(%,V*+$+0\$B4($' NH>.!>W% HO\HSF%XOXN$3W'195T<"V U&0@=W8N"3V M&_YA4*D"4@)N1H$'.CZ0-_!/N%E:W#0A R-> H3:)[9UZ M_N'-[)HK6+ W<#M&;WB=*!"D-%;KHD6KB&N=-8=XWJY6KU%T@?T%_UAV1*!Q M&XN)@2F<1"$0GO*AVYY=4YH5YMF&(I.@;!E?E6QAEKTW79I\+1>SN>@6S*4Q M;X *J;E]$[)"\M;]TO$U)'N4X#34@41.0YG3T 00&LJJ(3:GBX$&!OTB5D1W M2<"4)*VG0O?L^&#G[!*#.XP7= T'2?1,'P6!H/5Z8,=2EXOM,2O\#+TW \N^ M+8NPLN=(4L%U#QA%QI)H(TSB#YBFC3V.OI85=>%>K\[V8!%P\0E<.T)%PZKI MN(!P(PD1Z.!1&X::^QW#P6ANS$*9#:41/4MOC$R;5[3[].=A;)2^FKD?1K=G MLA_P%MPLVWI$KD@%,>A$^&( "E(_;BR("8]W,&KN32V1MGNLNIX8;%*(]GT$ M[3/1"]3B]3%X+F7STE\4QC+]"Q;PK8$/H807;2"D%/9-+&T7*41P_Z2_YA!4 M7'7BBS!?A7]LE,"=002:Z=K((QXM?M0!-K!TR#LC]D6@8LDB/Y49!&(\6,7+A- "#43ZXMP@R$#LUR8 MT]:L(!$-BVS:NA\L1M-I?(&:P[34%.T;S61@QV ]0;2/O P!Z8:QNP"60(A@ M1V#V&I ;MQ''A61H3PVS!.2)I;=F4]*0B(*;(P@"1="82(PLF&P*;%A %FS_ MQ]#WZ,+M]!&:@)Y2U^\*M#@"-^^T&7TY&BNX-6Q$ ]JTC$$E\-%!=3L46)'$ M#RW=.9DE.5R509'1P$6CDP,$U:32C>J>V(,H%2/, 9V8-\!40O@SR#'#G7!] MHET-+?6N]DSW-U+23)---,)DDO&=JMEBM-/ -UQP?P)2D#GE\BNPF>/72V&$ M+-!?#J'!>WAU7AH".79(9JB6)R'W&I#^&:;Q: :-V0HA#>F& TR II@>A$>F M6/TQR2*&!W(HO;(2)Y!0('+1A1GF@FCT#RT9V'C/=J)*<%8NP$JD%D$(.!?, MK91BL*'40G?:,EP=;@PV'$^?N3Y ++:@Q3@K$L^,'5D LJ5AO0D%7E#+CH+% MAI=0V0DPL6PK$[ [WA(Y=>)0B>.*"8J5)\,VHY9>(X(R!"]'9+9/%VNNA (@:Q4;A8C'#*Q'Z$NE$5T="L!\?O>?H@2.D! MIIY8*?X3$YC1C?=^L\W$' URL3I]NC-0(;;)B,^E51_"32\0[[8>U/;32T&# M1-04+#S4?UY@UH(^,9P(:C2D-C0BV@ T@OZV88/7&L,#7C?B:&#TX55CF490 M",TTF+16HCEA9[)\))Y3H(&W0&L9SJ3?ZX;\,DNC33JYH5=UHCE PB4J*W(C MSM0;?;KENZ_J6ZRI@^D^0SR"2NW7L?./%;/7T3 @2S"E9 7@D6/@F1LY&(WZ M6GC\DN6\@8;WPM!792%'08S"PW&:Z&I-$M5$!0\>QO""YT4K#*AB6OCG:TF: MJ/<"MZ-G,XMKF':;."(:!Q%0$0981KFH5WV+,W,QN9)I= MX6EVGF9?5YK]#=(0K1)4)&V;I3ZQQJ@7,O0<$32,+8 C8L-R,6=.Q83C!48B MUG^:8"@R'>ZBE62R@T4@?6BB#(P)#(BBE?6ZCTMK"JG.QCKUYX[1,&)G]+7P MW@SHP SL'Y2R]R.X;*0$^?\>?=O[YU4@L\O^^1(04NZ/O__N]_M9>$.V M;3_]70$- (AT_R;-MN;\#::D]K=<*DCYG/HW,+,L2[E"OJS(4KD@*X6_O:XB MRWFU6&B6Z^19EC**DNUXW6FD^49*>$]Y--;UYN/T_"H"Q(T MBSGBF4U!FRE M$$ [MV9H%]X$; M?!O$@W+EJ86.S'7&:L=Y1?#"L/HD0,YFH%!6R_DA"E6IH$H!"M>,P3>RC.=I MF"T-,7D1A6$FJU8O(CR.!DL.?8L(08A$I7JN3\"2U=R-P&@@!7.2*N<*.92" MN6*Q)#=E)@,W&YU5ZK1[X\@L(4\:)HM%,;>L$+IEU(UW6&< M$VH.XW>$^89 M@G,*U*;0\,0;K2-L^9@>QG870"#@'+*KE^#$KK16JZI96M, B >F7.AS;EJY MUIGNV5$D4\Z%D=T3TLS4P(#]"5"CF:F;XRI+R\,^6X8>.N[GCMWT=>SDA?=C M#Z21!%_D_$?@BE=)C91?C19%1=='D971 IEIA5Q1?=7T)T7!@ZEE5JR>99BR M'JU,H%G9Z9G%Z/FCUT091E:V$(O@!.\)Z.;4]H)3H/&'LF^GE4XQ2&K"#NP% M&#-6,A7\,E(YQ6JB9F0Y)V$L3%0;57=/1PN )NN-Q@ W66ZDOE9M-*N : 2T MPTJBZY&(V"C\6>&0.ZMRZ#J^[3&DCM36A#4TD]0S1AFOUJ.LN8QY^7G2&60T M6O(0RW$'^6M0&#>6@>KCRJ,)\28>(68YP>B1X7?#4.@,[(7IE> ,S_SR"%:8 ML&!U1)0AH>D:S)D.MS)K#S1F3]\;+??(D8 MJW$(2P_FO(66.8R_ 9^VZ^X* E 5%YX0S)"@OI:8-ARI96^?BTC0#*SQ8) MLP[AUVB2Q<)&-.H<.SA)$186*U+HHC U_UW2BUS#A! M.2R]2\E>WRCRIW'"*HICQA.VB];*O%X'$[LBL@:&!?8T4TI/0P?I2):"1!'= M?&(Y=TS*VL[8L4F1Y2ZIX@-6=#&M^X:"F2GRA):G$*=-MT_K6%J!317<2F$: M/Z0_7X;!U4-3-(Y'GD3_7$GT610RF49/-+$]\MJ4*8#%A.+SZ6K"+DPKD0'*][H YQ>K9N(=1.++M4: MH+Q];WQNQK*GC<0NQ#YB"\X>B0W5^/ @HKECV#@B5H0(.:L6.")2@(CR_+&= M' ]<,GTN1'#)E!)$<,F4*![>.M7U-9MUV;N>-?>]] 88+%4B?Q@ I7D5X.PE M\1&5,\=5 J1PS__]DO_RWJVJ6;6XUA'."\!B..%WPIG^\N\=A@IJTX^RA2"+ MC_E]'S>L&4#O'7C\C>;[;-_5K*;[/;%YQRM@C\4)8#:GC.TVXA;EO=PB2]E\ M8>W$\!%NP<0;)P-.!I*B)"(6TS3/=KQWRNE$[]\939.3MAQ2!955C8(OK'_? MR0RX3MW \G>-KU9%12IO 6&O>I [)^,TD7&N(.:FD/%F>[0QS42KW3"M32MF MEJN5/H4*6NDF$Y,[KP2\5B%)%V+';P4QKTC?-XTRUZ!#.!TNE0[S9;&@%"8) M<9N]F&^!LO@^XL]$C>BY/[-U_DRR?)TN:W!A5E=R8E%1$MB< M6M(Q#+6T:12^#DW%Z7E#Z%DN):7 UFV=S-5I5::^C!4JKE3!@_M9G]9*S2EB M3LIO 75SC^O3T[(LBSEE^S)(U5DZ210:!)YA!>>TV8FK3;,_TZ&5N$6Z(3R> MRXM*J;!I1,Z=+$[2,TE:5<52OO@I_*S9FHS.35F6#DL54-;K;(WRC@J\T[1] M/)*]%KFPS/*GM>\T83%1*HJ%LKP%K)$.3VWMY,$9(5D3D.K+OVE_B56>UBOW MWGA:;W-FD:A\%@G#"I]%,FL621>@$Q[,E;/Y)*5&;']!>YTQ. V;U;SA]$=B MO746;Z6SZSO!X".FU:8T/!J?0&PMNB$Z>*FH9I6H\[!#7-^D(RL=H\OFU]%N MI/A([*+4I<3P52T-!QN+@D:'I1>CAP"K"&QRI!V_L46[RX$L#B?9TT9M7>S@ MR:93TB>58_./YSS(]6S](<.Z=&(?,&*YL8?2>>SRJ\_!G063+^EXYB&(AMT! M38--7S9P9FUU\8M9;[#0!OWTMQ$9' MTSU9PTF"\=MZVH#>,YQJ&E\$/DG.#5M+8Y,[)YA%;K=:V.<*5S3Z;*PQQR;. MT0.D(87@W-XU<,'KCRB?*6_DD5XA1YH)\ GIBA$U4.5O^"'4GS&O@]"_R MH/A]N*V0/@:P3M++^+V(Z>+SS@&>/IMVEPZNF\$_8VR'>BB&LM&;Z'Q;H\D& M_;IQGAMV(OU:C&/G0XR;'RYE)0WH7M>0\T^A;(9V[!.V#9"P$7AIVU'GB2-_^GN\ <;L,A2!8@&"#OO<8L>JQON#;(T,C:.;+,=Y_ M/SCEN/X/NP&.37R\U)J:(X(T+<0LEQG75@>:Z7<9EX&\R[\55REAO+>4]&\8 M&RJY& ?%"&?:YF80SK!->C1^'-5..(*$(B)?&)HMT^W91>E!3HH>"G%#:CX]R,M7ZO$.#C/) AUZ M[%^,77;/&J;19NW"UT*BT]K%LAZQ\#"7]HAUC;:%(Y6T8')YN'1[N/2Q\0&C M H>2!4T/)=M)=L5M8O-JMLA;GHT%4=?4 S#/>P"F 1%2MLPY(@V(*&8EE2,B M!8C@HBDEB."B*26(*&0Y0Z0!#UPRI0017#*E!!'<:$H)(KAH2@DB0#1QCD@# M(@K9?)DC(@6(X*(I)8C@HBDEB #1Q!&1("+>>%KHU2S$ZG:]LE$?KPGA+=SR M:T[B%F[Y-7=L"[>\T83]\1$-Q6Q^N43^T0D,Q\3%Z;0X[[GQZ?'-!1D79)RP M%W9(MG#+KT4EMG#+&TW826CH7#'5&OK$=L@4#?T^IXK/CULAX;\)\Z_"8(6# MQ8K9\KPN+<$:-P9RU[:GF5M$-&^;R?E!WV5KJ$ >EI]S6OCD$D'.J Q,.+75 MY>3PR46#FLESIQ==XW[-C>G38CI_186Z6Z_?F0(R^ MJDB[:IB&1:)&&YB8PI8D^.8QT,#7:,K+.$/%[R7'8BD&[PKCCRF& FTAE6SH M,5VMP>9UBAH%Q:R^406Q7$IP/,/:&&.E_=,^%^'3*O-TH?3C=*^*B8XEX72_ M?72_G0)?%24IQPG_/0FIST+X+!>5+IQ^G/#S,XWR4-;]G! B7I8$%:P/B230J%D_#G M)N%-E\3H"N&R%*Y)R>6RCPARIF'ZY[WU8^5BHE[?9^ >])) M*NL.?Z00)&MQ-SG_\CCZZFR!A,$6)9^50N0#65@D KN@ M^9XM2 +&QT::>;]AJNG'6"*$7'D2(4W?),UP]O>T,=LXK1G+ MY$2!/.-]2%M&4$(G"C8H$,."6PS7]9$,<4*V#J+28X.SX<;A3[KM>JFBPBF* M8GNH4-T0*L31\*35(KJ'X[Z1W$+R$D"4 3WTM1XE)@WH")?R3?L.A$DR77AL M1[@ZV[MD%QI6^)S1R>%".#3\'^%;X[N@]7HF !=)C>$>96I78V/B74^S/+A. MQU>8 [C":FJ>[0P8*3LD8@T-1;36)/_0M7UK?@=1#+^W@!N BW"VO:[[#ESG ML5N[&DAUPQMDA=D,$+,Y8F199NB*&P:Q"W40[@Y:GITQXE81&2 M&QJ/@0&9RXU/*/F?A2RKV*X"(TNA%-XF&3;816O!BW]H9E\;N,$N2Z6LDAOR M:+@JA(.0SY9*?PG#/X< '8'YO3)>)85*1LX4E(25F MPN/_AZC %VA"!^CROU_^]_JL.L;V"_+J-;,M6D(5?D7JCTA8^S>&WUE4.0K5 M:>!*!@837LD84,H13,Y:K@4"QFC!)6!+'/K-8*OTIYKK&2!/R;(P)9?FHFJ$A4SB@22B M2IGJUJS"* ST&.H3K#F E39#S,&&0<=XP68ZVA,1&H188'R!:G$8^C2 B-.D M6.\;H.)NLE=9H4TL,.U-T$GP,^GA([4AY +;S20NVF3LCOU*Y7RH;>)KCI=+ MM.C_8,7G= 6,*H!&4"U/77/@@+B"#[K;!KWV0(1[P$] B23$S5!G]VC"'ENJ M@S'8!4!Y].GP/MNA^^A2@Q%>:@&)NYH9W$R>>\1R"25OEP2X-PV-)L1#,L$G MHEQ5N"46.@1Z49L4!&>YDN!&$YW ;N.4&W!U2 M;[]#+&;"3+_<<.%-74#,,V+6TJAK!Y=$4 3I#-P"W-MV"%U^N *ZZNCQODM_ M;!I@X3CXZT(@AVV9349E&EH@0/EHJS,<,.-^&GW,H.G7"1H@VS%050#UNS'^ MC5-JQ., "+#_ )(-1O9=FW[C:8:)'T]M *8"",U2L'@ M-=A]*B]G+,'KV #:+K@F0Z0"CO'F",2,&B,H R[H@O&:WBC7X%*G B9>K;$: M43M+8,5T/@8'#!TNV/%=T!VN"PJ^VX#EC_0E7;^,G2JO@(=!'-HZ\AS%A._H M'1HJ<0R=B("@T%V-"820Z^D.Q1!CF@[,R,P2-T3^+)&CL_!+_/D&;@A(G5I) MX+R 7C;P3_8(46AH2# V)1@#Z$.#?YXTTR?4.Z "C J.5GPA6>$:Z3=^K4/W M!C #X,BQ'3<.OX;O4Y0(C[?OP96#3PXP MM.6C%ACJ ]UWP<5!X>UY#@47=0'A%\<>:"9 (OA(92CE$=0SX%>C985Q"*HH M6'A,1 6$L ),.,$V7[L'98!+9:KS #H+H6]@[,3R:&E>\1\WN@,A# NBHAF= MEHRG/4<_4M<0?P(+W83],G?8,=P' *'58:(^$#4T2(,#+H,U3@,K"D%4%4@K M#/Y^#X 3QWL@(YN!)@-ORK4M?(9($8%W:J9KP^-UXGCH%^/Z? LD7=/0/7:E MAIL']>6;E(#=H?X+@!Y_8U<;1(2F->\!=]W8MH)PIX'43XO\V&/=0-<)+4F+RDFEV@=Z"%7@:2('_?JD#[ANRKC7K^69!KN<*>1F^4M0Z:>3U4K.9 M:TFD^87Y3<$=A7(A5RJ-?(?F>[%RX0,U :VACP00A8]F\&DW,'>"FU:D3N1( M-N/ZA&(E*\272+$>6Z2P&QEEKE!IV$!:)XQ9+H&Z5ZA4RF_3*=18"I6[YC+N M1 H>)5?@'!!'MLOX*.240!Q0_AW1$/&(E@A6B0. MD",.<#@^@!#JQWTYL*7 M@/D/6M@9H 'G,,L/.: 1J.EL"$I\$=K1\&PJL$/A@3< [ ,A3UX0:T)=H%#F@TA"1;+U.0 'X7.J8159S;.LQ-#,JH$0^(^JX7M/O M8"26ZJ27]:I#\(YP"\"5!76I419YBM$U@5& B@])+$J/ 6WU@&Z"# :H3986 MHV! K9L5*M/Q11V)CM84OLIJ*5L0 #0F]>3P21X&B"G53#X1;NP8>@?(1G/< MX0(U;SQ:_2V?50M_S:*7[T+/!-=:SA:DOY9 .PF+2QH INY08#=?8;B^@LXL M8SR4CK:%&0VP&-#AC\471@/](2?-QAFS!9[ *8V#SR:9FB"5!-*%F:*=D _ M 70C@TGHD&8;&?R&YDSQU?#BKANN8VS-E (

;(+Y!$(RA.LXL8LT4$)M ML(%!0/C%K"HM1GKP,&+0=_4TH\F$/-U5M \*F&; $*,.1ZATQA$:6?;4LCP& M4](4%'AGS_=89(7*S]#1PE?!0^P^:#LT( .I&49NXM\%L*-N.G&H20V432,@ M38+X,BRD!F^15<:R+&GE'-!TH)2Z2+Z"BT0 >HDY"IHY< TW1-$P+3N4?LQM MF"6_-'0#3!/_.YE+@_S0K28HYPYNUHU1CFQY]OP3#3*PG!*^)G6C/Y@HN')LI0M3QQ.W2@*.+61;363@:="@U6<#MY!!Q-M+3:*#/8P^<% M1I3>HR 1\V'43PM<$=L*I222SF$YR2PBE_GHNT^?0B M94MRLKUI4Z 9_OJH:EOI:D^T091#6+(&6^F^%C+-EA,[3;62V3 )D2N)LI+@ M#,3MHL370F6I1*F:+4O)3K5@E)(M!0\)74Q+!LXN>/QZY2F8? M84XWUDAC3AY\H=SWKN^$)2M8F2,0"VO6IN3"/5H?VR>TE'?J,?U8W1]6'I/G M'A9C+J&,<0' QS@&<8,3,T)PTCD@'78\T+*[!BOJ M-*(U8E4@JZ"$"UGE%CWORA8DLMI1W])9C"S:6;QBG'WGP;9H 22[91P2L84' MY>*6&YR:#DM515KU :9=/RA[;-H6L((]]0 !O'OX2UC%'C_E'+VY9?IX%"9^ MAC-V;A;K1C6''4D;A-5ETZOW&\3KT]/%0(=VT\5*55GZ"\O4'-I5R,;>+L'? MP<*BJLIIR YJ?&/@CM?%T2W3S!M*9M!16[B^]+RBIOVE>\Y8YOP5--$"%-H:UASQ*X'T]X8+\H M+(IV0.QJ2)(H?=\,D#@#KPX:Q15!8[FEP/-S7*/5FZB35FLNO,$VX$M=W7'! M32OX+?""7U[PNVC!KZ3G6[I>5.LM59;JN:92J&ME2:]+N4*YE=.*#35')@Z\ MEO;"Y:#[R6LD*T1.%JV ^%]JJ)+Q/3\MI:>@C- M]7,.X G/J)^K\58:T[84N3M;5;M,&^B%$D9=9PG.9-U-V'UP$^MO%@"X# )S MG<5GVP7PU],?;R#UM-A#;Z.D% WW>G/5QCE8/V\MU5@S0B/3XY)Z?'8+=4F/ M4)5T2=J&2\\ G_L-T]#?9YJP!Z-M$GNT,'RVP!X>;Q:W9SC=F $C?#NO5LYV MA(-=X3_&,S;8/O6[L#>=MO\!?%WB#G9]%AJIR_!_Z%76K^VZK-35X--]Q_SR^^_"N7\O_Y>V1!_W[_ ,FCX$H=O>=*FTC,<3LH M: 9)>T&Z[R/A$;-JI+GDS-80U':$/Y0)0SPIQ;H:])XF0 TQ;P'(X"P6K@?\5T?: !RP,%H\(.;.CH@A[81$)&\V$6&!T_80455S M.WO8JBMQZL$G"_31GY%(Y&TBDAKM#)IZ]EQ)$>!FG>*%/K(,+>S0 AHHY&N+K64Y,/>[J?+EVS04I-#;M-P>Z8V M8+.>WK8FT[!(.*]JT9"2]-:0TN9DGXH\^\2S3PMGGS15EYH*J><:C6(]5U35 M>D,MY.NZ4E+45DXN%+71[--B0:TE)I[F:;/Q%,]E[?SL\EHXVQ,.3G=KYS7X MY_1:N*SM'UQ=URYKN\+YS<[Q056H5*MG-Z?7!Z?[PM[!YP]((%=?ET8]*HC3[ICDFK$D:QDE9,T;:>[\+O#X(NK$/ M]S@RW23P;T=0A &1+,,3TE&\;E#XQD!&G_Q]+,86C#^1 QR/1-O$8/P$*U,< M68\[XDG9HY&::0T;15CZI+O%>GZ+P1"^L&TW=;^(IG?"LJM!T"F4=:0$ 4LR MM **E>N-^6=3=B1&?13#S5C4RO^&N5EV1MPF.6R>"S_WL+VY.#97)!3D464>P^:;D#F$050":>!_1I&' M7RT5%6R &+9T1$_[[8-;$A_#LZ (VJ$M%A$>@3!:BC$]_E;6&OIUPF(C.BAR M>]A2=%CU&B.7J.?^<-1!5CAC5;'QNPSJ )-GI%:DBI#* _&[T(*B-K!T< 0* M.=;UE/;-%WHL315#<,MPL!XQ2F11PL"U!QFMD.)CF:TS+-A&\R!0F]]N+",* M\[C?@TS7=]9G?ZSG,>V3/']L>T&K5P8Y?!6M MC6_0EO'#^0NTA:I#7ZW1?OG]#@G*W!?EE%8P0RB2NPCD\!(Q>F#0U)TX#G"] MC2,68%6L_V]$'"XME(^3%JIU$;YUV F0/@DFE;%>VVR+(FWI2K<8B&%Z2L1B MS>8]QS8%K.*([8 5$0/9TX;]Q2@!68,='F,PBQ6&OY]>G.LVC M63'.7N/K8?-M4 $TF>BSPV$$6>$* 1N[.-H;>=98GVD1T:T)&(<-FQ.3)YST MHR,IMC4G:O/+F@4S =>,#;T(Q[:\/C0K!F0Z>F6XFF"@3_BF:78#&T=%C>/8 M69+AM"H<4HKE]T/=.-(A>NP52*9HN04&W<@XN$7&?XW-X(H)5X VPH_.C8E$ M7B,R/F)&9^*4/N);+T[[?[M_KZ26Y!2^B%62=([.C\_'RTG6-:Z2NGDX@ C)SYTJ!36V0:!,9!M%DG.KD6(8#EH! MXHYQ]A4\*(:\_3/[Z6;_MF4\['=/#-\G3^YU^>++OX>:_@!$_V28.#YIS[0= MX*.U8))V)W! _,D*S?3E4C#@+241_HG(W :$_-^[YDW+ 91X#H#G !;- 31; M3;U0*+7J2D[2ZSE9ENI:4R^"D"]I>E&6&N5B;GTQ?0Q$5W8O:\+/L^/=@]/] MJS 0?5K-Q@*\\^H3$X[L+F@@O5;:/*<$,N$C]),!K@]E5;X=Q/KWTX.FI,<< M0QK=#;V,\!,S^+_'@_'%DJ1J35FO$RVOU',M6:V7BP4"-H4*_\N5\H7RZ."_ M:[WN-G2G73FQ_-JC73'S/^VKN\?3/MHDXU>>U[QFYB+3N*\-?C_WCURW0(HG ME;HR>>7]H/%2N[M\/+T97/[R_)Y4K>7HE?GQ*\VKGG&]^RN<%XR M:J1?5\?R"G#EC9VK5PO%7Z6:IC3N;\LOOWY7O7X]-WGE_9_S/X_R<<>]42YW M])RV=W0^^-VNYR>O+%5_EZ[4>[]P0TP0@O6+_F_)OX K)W8DWSX[)\\=O2E= M>8VBJ;1?%/,>GSFQH]V&I_2:-[_K-_M>IT:NJGNF3MKUPN3;'T_J)W]RYH%; M.VJ:AGO_=/HR:%;JQFGRRE[;:&EW M+?OH8?\R(_^I%V?A9;^QFZD93ZMKVP>U%KWQL[ES404A-7/IG M\%A]N"OL73\H_6?G/F>Z-_L67"I/7FK^?+ZY;-W5'J7NKT/KS^V3N>]U^VC7 M3ERJG]3OZJ>_*ZU:IIB_^)7Y52S^V8>G3L']1?%/OEWP&^6'S%G_?.#Z#X=] M'YXZ!?D[_9,]Z ML1_;=7D*JHK]EG91*;M/DJ]=G).]18NG8*K?M_X>>[^JCX\')UEC*?R MC5%\_D,OG2"JBZ?"[8';V^O5,MVCN[Q<-&M2Y0(OG:"JH\.><7E\W7H\>KVGVIG=/:E7+\RV70+FFX)8XZE_4SK_Z=S?5)U? M-_'+HW M1[(^.,WD[=QQIH*73FSKX#QW=71#Y=SW_K#6*>2BWPT*!X6CZZ?:D2<_FT21]L\>X:E3R,7_ M[9JJ7/VE,__Z3^V_U@F7#J%7,K:;J?Q.'S,$#Z9<.M-/S*Q"K M4VC@Y?B@\<7)W*?_3RP5'>*\*E4U!PG)=^WY/C(^7&L!MG1\0XL-V? M%W5U"EP[3OY.,MMEIU;X8ZBUVWSG^DF&IX[#M5[.2SE9D[1Z2VKFZKD&:=4; M4A&@G<^5%*65)\5\\>UWC!'E8O>HXYMX_G-WUY%>G)W:8^91\R]N?A=:N-\I M:-0J![?MUM7#CI39R_S4;N]VK.8S['<*&MW^U7[WL%Y[K)'+E\OG'?7).[*CG5L/]K5S4WAO^Z#$K4:] M#5;GY*7-G-*LY\J_6A(IUW<.E9?G?;4 3YV"\?V&UZU7B/LB&<6VY;5/#YH. MK#4WA>F*)'-]9%:>3FJ#O:N&GG%OY>.#"EXZ(2"*VMV];[5_[SQTKZ6[*^^N M:E0 6'!I*""VZLSO:!](.5M2/F?G?>9(9Z5\@NW,DIP1(G_2T13IQHN<53F_ MI!$O4C;/&2:%B.&"+)UXX8(LI7B1UML79-L1\]9&Z:\9R&L#PLI& +PFP9<^ M\V4*2.9%W&=WP6Z,@B,:EY-_[[@6H3;VJ#0)!JT?YO-DE,V@@,4K@9/X)R;RPJ62> M.O_A-5*NLM$8]"Q'<-YX TRX%3+G)^?$^9F'M+ =IU9.K:^'E]-"K9OMYQ28 MWL"S]5&_ SRK^:29420S43*53HX[O-#P8N.<$$\)\ MRV"GR_"P?OTJ.!1>O[G:K7=*/[O^U4[]^J&:K]X]-(S;LM*K?!DYDU9QZV>M M^"$T=__HL*C\DG[6SN2S3N/7S>&OLX/V%YRH9'0UT_WOEXSZ!4O4NYKWWR_& ML_?#\KM-VPM^#T^K^6ZFK6F]'\B>^/^U(6-6K.95QW:\:^)T#ZPGXGKT$.<7 MP05DP:WJE[!JK-T]\W9SWLWM37=7.CS?W?EYN./UZWFLVRL5Q4)9#D^RA>#8 MU'@&Y_KU<7WZ?+Q5<[U2+SWKU8M'^2PGD8J^U_OCMOR=9F4]7)]_;C^VS,.S MJYIB7>^TM%KEX%I"KB]\^3>7%Y5280[7;Y#?R^R7H/\*=O'0"0"K@>=T<;#= M)C@5&R*VML*M6KL+O/&V2,AJEQ&GG1(OB#M-D4-7-X7'?N7T4KXY._V3RZCU M*_=GX:)>0.LC7Q+5@K0\ZX/S[);P[)H# 1MO2;R19UL%KZ3?OUP^29EJA=X%!-LAT).S.>+B=L.:;&)F3F!II7EV=BGDKM"G\<52MK,^-S^4.*6 M1\B5 Q!>4Z16QLJ5KH_JU?[#[5[=?RHQ?B8+1%P6(TQV&Q7R#_Y61F<'=@_I8)$CF_5H^.; MZG&_7D*C0I;%LLK#%YQ9>?ABN;;!HLQJ_3E\U.T[0Y>Z^D/=ZOYZ+.S]:@.S M@I$@2Z(T-].Y#7&+,]IL65].$2#W<1;S<=9\IF/- 8[TG&A9NQQ,W&BA[,U. MG)>$28GF6 MTD(2PKV_4/JEWNEE[?'A^JSUDGG9*36PUV6!2@@Y>2MI+01-6YB_8P;09AU\W1/YMB3#C 9%C;UPMGNQ>_E>KY?1O; MZH+=HN3R8BDW+\3+V92S*0^U)% I\@J;UJ_JQ\7SO=O'A_V*T_'=E\-2O4O9 M%&,LY:(HR:6M#;)(07(&AU-Z WI>!H_*]-A8ID3+3;DKM?:$FV[N/I'+]\^679%PVCEWS_/Y(\2O8XQ_LEEQ.+.3F M%G=5ELPB>:2#6I'D7YVYHT!>##FPXFDD#^/D3TO<7]GK1N74.]OBOAZ MV"&*FOE]1VK&1;-^8%Q7_K3/VG2!&#+.YW,\-,.9?8G6RR=B]N1S0F]D]G+Y M^J7SN%^M2D>N\Z>4_U.Y/]^CS ZV2DG,E2:8D;,"&+'EBZW277VC.+6T]WOLI/=BUWNG>EU!Z=4_*D6K]: MG9L*#DS$$(TH24NT7CBK?RI6YY&6Q,V7-[%ZP=K_V3>LYD^IJ[;RQ#XJ9 Z: ME-7!=E%$);]5898#"Y#5-G#DWS+,%"ZHMD0J\7#)1P\>AWP6R9[:LV[Z",5] MVV[V#=.T.G+:'>H8JZH\+ )9UX>_ECR MP>+W,>\O_^FY_O/2EHZ:QOGMW?'+%M%*I<'#[T/U=M!]Z1[>WN2.05ZS-JRP6"KP.A7,VCW*D MU$J9P]GES.!POW=Y>",-M,'U7:%Z\Y!3*\C9!C)N">W6W=UW([UT_7M3E LNY ME,L\],&9/1$[A#/[*DX3SV5VK7-R\W1R7Y<>M)RGG]A[#T6'])'9Z8GB@CHO MP;K9H9+%#QDOX7 Q=[O>TV]!!1G1M'W,FJ5 'BYWZ,ZZ=YXF\;BD(\W3LM"_ M?C7T7N/XKG:KOO1?RDJG4+?!8RNRQ(\LRL5Y-71<*G"IL,(.+)];*BSI!/6T M_M0GAV;/OLEEI(Q_>7?VZZ1^_:1?H%0 *TDMRV(Y/\\I2ET@)_6,@YXC M5QW-(1VXFCCN_PM^X'$%GL[=GD*-&=M->$X\)_-/1>;IJUI8D,Q3Y_F]AK6@ M?9A@#E49MV,WP8[]1(<25J-B.+5N";6NN0I_J9HB+2I_;)1W3QO@I%)N[GT> MU7, M25M2D!X9)(Y/FMR;Y?Y!:KW9;; OD,EBR8_9\N>W?M1SN[VV\;!_>W-4;!PH M^Y8/\D<)6B[G%=Z.D'-LRCWZ;3 7%N;8';?9\BZMWI.4.?KC6JIRXIWO5)!C ML?2I)!:5>6-TMR&JP;H7T8Z"/*[QZ9R>[<[6;HOQ$748FR?*;B_*%_N>Z?% M_G[[N.^1A XOG^=N&@_(I,6R622HK*N[YP]_=HY]Z>BN=GRBUWN7F1TP;&C' MPW)>5.:FH3F/8W)ZJ(><_G5T8K2P?U%X492]K3*K^/?-S5=;B._8N!# M+8JY)31)3I>Y.[0=[+'IV\LH7.7^S]K]G_0#A<=&ECZ[._2B!G/%XTV[:I!N MY_I4.KO67S2UU]TYOP5SAC8D5$6YQ",E7%*L5U+P",N2!W\O)BGVJ^;>K\'I MY?W#D;5_(+>O=GY>YOLH*6C12[FP50,T1R9]\_,]W)/CD9>$K1:]Z9!HA.^U M]AR+^DZ?X%NM5MJZZTE7-\:%VWDYR#]UCN\K=:7$!D>4&4]^&WS9ZWQ4'TH_AX.O7A4XN*Y4S*6E14/$O&]5%./[RX(:7[TF7N]\6C5:>B I-5 MHCQW-MX&Q5@6K\A=5B4NEX*?1.3QHT8K*\B=(M!\J=_Y\\>JR[6KG;XBY9OG M9:-Q45E($J%Y.T6[MEP=X]GU#>E]B;U4.'\P_DGQ14IZ9ZAM48KNKF-B;X(P@EX^ M()*3](85/\S8VR:.*DD]W7)[EMNSW!_D_,/YA_N#G\D?'(Y%)L'T8VX$8I+E?MWRLL5[(YTYX+LSU;/U!^/9U?B9WUW@RFH3F<=V.YA"W;G7] MB^IYYN6T5MWOFN9N+:/?:QG.Z](9][3;H]V]&<08TJR7/-.7.N/,TC MS5^:Z9-SXESA:J-:X]2]O.Z7 #PEP^( M18I75@>(IV/]]FK04,HWW?I.K7@L']W)I?:7?X%@)&E:\ZFQ+X2>Y@A/^!IQ MT7J '1Y8M^W+_N'3-Y[4]?DHXR!R_YG?TC +^,2'4'8MYVF2ZR%X'?F>RZN%D3Z5 ^ M7_VI/%U[I=Y-]W[?R[0O]8*> P!:]DPX&:Z+(_HP_6,/GRYH+O:QWR4ZZ3:( MPU25*HOL#]PQO6/V[\IW'F38GB!#"H[K+!OE;ZI/&Z$!9.2,\9QA*/_QD_ZG M?G+\9_>X5=CI2]WF_9']QV]7C*?^5/IY)T+8)WP.P!#$BOE//,4;? 7^$U*@ MK PID(< .7=N6B@O:>Z\DA].+DH'+[F:=GF8&[CFX.YW+8W;9TF6'4A>_89I,X[O]+.OW&S?!/98:G MKSMHBO)VG!<^%2^DK__E4A-^ZR'EPFNDS$X3V%:8^ OI=]X=FYD<9/N\PFV^ M*1_6>]);][^>[(?:X#BC'I/=TNYAJ;*AB<'W J$O]?VB7+TE#T=]MWK9OR\7 MSGIO2 HN0E8CB<,%KM_ Y&(,_ MEUIS20>;\5C9.'PK/UMWU6:-UY-Z\FI1. M96+QK5MO%?V'W;U.V96NSMP+^?K^5_5Z'RA.+K\AJ[@0V4W+/*:!_%: @]<2 MDQ=W/>]I4/ZY_W!V:%^JN9_=!P>1H!;%?*DHYM1I;=07 #DF(:==.#WJJZ@G M+_?W=OGV1M.(=YN_E7=-M;V&J"]L6U4542G*8W'?1>AK\?W>[MW?MGU+CQC@@I;OZH?E+>EA'.#^6 M0G_3;C^:;1<%H(P> 8XJ.V[I1N+W\*SQU= MVNW6:H9ZWSGH'6A=J]JOJZP--V_FQ'DTW=7*&]^,:0$>/57V\CM*X?Y!VJ]> M[CR?W,F_6]4*\FAA/H]N=AZ"!7$J\#K/3 JC(.G2++2C__6#OY5MV_*3S)9YEBNUK-V2#+6/ML61$+ M*F^@S3E]6W,M&V^N+,[I3>O8N#_.7S[=7)W_?L[MW;7O?AU<(*=C'TFI(.9S M\S@]=>FF5PT57?>[OHF)!<&FTT)TN]MS2(=8KO%$!,."SX0[4-R!XD&.1&V/ M(=_1[OS5.-<=4*8[MEV<:W36NM:>ITBJ<_OV_K[U)'NUHXL36..@E;_^TZ[G M:%OK@LJC()R)>11DR6;%AYGXU)9:S5:G^OLFL].V;G;J9;^N4R9&[9/P$.X=N&F3F7Q-,,BS1KFF,!Y-P8 MN^\R;@>A"'N'QTZ1CK_+5_[OG7NS_V ,!KI@_\6YS^0X5'YB!4L1B;K(8 M\OM&QG(6GV7FQ@[(T&.QQ7^B8S*\ SF?>L1'FZ7+@*(I]H!?69>:*8+N,G,G M>R=WSP^US/&?IIE[OMQ[:5W4UN]Z!VWD=1S/6LB+I7+R":JTQ(S>-;-5%+IC#7EII:\[ M]:AP@C80]Q_?XS^J(%*:MM\P21K$Y]<5AIY6O_,T2=-E#H6M6,V%9*NJ[CR1 M%W_WY>8QLS=HW;5O7V2W7\^IM*Q8E46Y6.9E/EQ>+%U>+!1K^MSR8IGS91>5 M%^U3M5P^(>2BIC1OGS(_GW)>[K&-\@)L,;4LB^7\JT-G__8TP&"B/=P,"UC2 M^R&/$NMLEI:CZR*[7EFA[@$Q0KU6FG6 MN658FJ4;&!O%\_5T4F,6N#9)#,[ &."Z5LDHN=.I_1/H#J4#(9TNEOX3A MGXB8"4+J:L^9&+D$2B=CDI;W@]T5?D451OB=[=)RS!\.,34\3HG/'GDJI4G/ M[OU0Y&QA220YIL=#0L07:$+'09WSO]=GU:GBZ-5#JMMEK:36B=9LJ,UF MHT0*C2]L'6*G]D;H[R ^G^V&Q"7P%.V_NW CEK^X@B5Q3(LT[@:6"'L9 +W32 M(/S4!5GFN2/'J0-*EI5B2\\I>3"HU$8]5Y*D>BE?!DK.-X&(%35?UI2 +30 M),MENF?%W."<2(7&U1]9.5'-SJ=_=']7[MUK JQ\INU7HZ M;M>5R2M_-9Q&YL_QOBP-M%^&>WC]=%.M7,"5^?$K'_?TLYO*I:Y(Q@UY_I,O MZ;]?3+RR-'[EX6/_M.64"\KNV;';M?5NC1^I7(P^--S;G_N/9"+ M=N'EV9'K+T=XY<0Z[UODZ?JGSNZ,_/_3ARHEUVM:O1ZECG*@/ M1R1S-NB>E(XSY_C,B76>/9Z>*\?'OG=3N/ZU^^=J]R17&H!+/+G.XYILU'X? MG9W?9(R=?JE;-(H_,Y5Z?O)*X[$S*!8.ZIKT:.]W!U?VSJ7?NZ@7)J]\*15] M*Z]G_M2T1DE1)7E@U_'I9-*O31YY<]? M/ZO/C_=W3LUH/9]4=87T?*]=+T^Y\JD\N/@U^/_L?6F3HLJV]O?W5QC[OC?B M[ CMRSSTN>^)0,19<<+I"P&8((* #"K^^I?$JM[5C5T]E55:E3O.Z<%:C3FL MYR&?E2M7DCHV;B_V"W;N=EJU@XIC1=/Q>@C((&I5%)FL:VQ_4B<,VE)QO&C: M]GM:B*>U)2;C1]^;6YVC=AA"85,PW?/ZOC=TZE4E/:[C1B3W)]@L<^8+7F)X MONF%&$BD9#6WEM546;EF9GIAHGR^VL(-2VE(LZHF[V+0&G63(30EOS7%1*>_ MTTJ54 MWS\YE6H$_?T'B_L,M,+'K!BN%.'\^H8 M-J/,_=H9+19K.YN""R[ K(^'+MM:CQSY* ?K&6/'IT-F>L$'[&624CMV,\;L M@4>M^'JM:\,1X(OP8[D=3B4FIT@[83#J]O@9X2_SIQ;Q5Y-&H('W<*=28:U@ ML-X$ R9_:@& E">UJP"T$Z=3Z,O;I- M&_0F8Y\+GD4&5)V9A"+C$%MB8[+R6$S! 9H6NC4''&,T<'KC,"*3-@C-6!Q= M"YH6NK71Q>GVJ H6)M9WS(EGZS,'RQM0Z!;?XP<[_-#>*L"HS2E@\@URE#7@ M@FL+P8FV&[[$**DA5(Y"940>.D-H6FBK/37#])"]N*1*92 ?)C1=M7$+FA;: MNFU:8+A)VXHTJ\\[G"[-'':2FQ;:ZB>&V998Q\28NE!I4MC0(V-!)2Y@2VNW M([%+,Y(RYFK:;KIB;%@8+V%5'C6+&PT1M M0P1.O(N5?F9Z 5NAFG+X7K+JF+UONYW)Z<29&1.2%_CUQ.P(H3(,!2R9!ZOI MFC.;X[H%0T$%TY'7HY91W-CAI3C//U[*D74.!;KCF3FGUQX657,89VRH&EAMIBC%V%;1K8S(B(;D9E84ZR1 MFQ9FZS@ZB/-UH 5.:HC8-@EV%5S*&_ X6WG,Z8NB/$<5,S7I:D$$/C_^X>DJ M$FJP!\$!Q8EQ%C5?Z[TG4<<'M5<,)L3AX[<^RI?S(O/G=B,9ZA/#/)=P\$1. M/7F^GSW3=/W#8XSD\>\5&'3]?!;'\(:@'^K2AR!)_L6/IIJ>K?.3&+R&1/V9 M^/PO!,F>A!C^.%9/DVA>;F]>L$_\LRF):%[>9E[X3^2SB5-H7MZ*QR@.SN^J\_&+2\0]E_D=(?GM>4%\Y+>'* M8V+X+OSP__W%_?6;XT.2GUC^EDXC_,SX/;=?O !:6)*\%?AN">JO<]/?%:0* MX_$^,/:C9-%G'>+I=39?7VVC?P=,Q.^""<<^$>Q[ A-,)W^AHQP_6DDC)[EC M)R&0DR G^9&3X"_QXKVQLQU]$)=HJKCZ<#QMXC\]K+81HLIX,S)VBDA/5GC0F^!'_/ 'A4[V MP$M /?2W,&$8=F)FQVLQB;*Y :%T--P$CK 012#[W^H[U>1.MBST(CS$TL&* MP0G)M=M-03T?7^.(,DU>I0S ^?5W8ZZ/& QP(LR /$5 Q!JRM -:[LA<:>C M^1;/#NI+9?W6#-"CG.D.=*RYHU$A3[+ZQEKV80HPK'A$LV6.?*Z@)&( Q "( M ;[+ /A7#("KH.:8[+JN:0Y8J9)/':1DN'MK!JBIUHEHCRQ;L?GV8K-F>W-- M@@S PYIG;)G@N)Y*K M7"0:!'H/]8H+^RBODET%-8W9].6]5( KO4TC;'FBM0 M\$V?B16"9LHT__)BY6;D>5YDYP?[3XW0CZ)2$/HFO!?CA38KT7[-K<9J7IKW M/GC YLJB)@?G(,?FI>)@=GTS5_:MH6(K5972/+TZEH8JG:L8#"NSQ!55S(WY M-8(W@O?=R9?GX:TK\H 8)R:#R4=+U+8U=\W-8+D36(:9I/,0WEB9>PC?)0E,RS2N 8 M "]ZP=2PC\A,[XB&WI)SOM.WE[O4XL-&_Y"#(@=%#HH<]'V$4L]W"8^!ZV9? M6"Y9P .PZC.L-*JMMK9G1W&8'[Q%\5.DP) "NY'XZ0->&V>T"MY*^ JKTEF( M7,IQBS?^A$Q"UMD&4WS"#8:8F)>%A=?=45B9QJ^X5WQC+H^0CY!_=Z'5WT9^ MT-_)6#AD>$5.M46C8@P-Y7#(D ^CKC19Q@F$?(1\A/R;C;K^-O)/*VD@Q4P: M..+(W39G8;MC&1#Y,""+4V7^V2MN[RD@>Q8S(Y"-26+$20B#LE#)9$/D10^3 M;OA1C"*T*+[PYO&%]Z9)OH(=S&6++G 1-FR'_>EI1DJ ZPH;%9NO%>Z@H'KU$[,_ 561\:QDWU)9)^W4J_KX<# WK)5!%1Z(+9,T MC:"*H(J@>O6CK3\!U>P[3[-QK2(XP-$UC- G\WD,KW#*5OADF2)?/N'B9I3L MXY+?S:^+@Y=5IH]Y&&C'XNK1B[<^'O*VT8VW[OU-\>"5U(6Q"L'G!W@/(+J_ M'^=PV\08S([3F3)V5$L\]LR.U2G*@YQL)YNEJ8BAB0O0/#^R)A"_!:[CS]BRH3V!6+'"*P([!_%+!? M>0/G9\ >@C#T>B?.5;:[33*/JI5%JW: 8,\SOK@?Y'T@L".P([#?PA;03[W9 MF6;4.(;5C:-%?I_L!7M,;0PAV/,DKPSL+/Y^-X%^1L_\03L_21,NJ)L>YA76=+1.'%8?93"TFIPDHGI@RBZ/=9$03B";>O^AZ?C6A M\)%I'[=M!TASIQ?TI>K $"!-P/TB/*.)][)E=/X*.5Z#\,7SZSXBN;TCIKJ# M(ATHF(D<%#DHZ^OD&ANZ5_W7< ]Q&=W\_. M&Y!M8[80&QU%QINQO5M7E0'(>U]\H*H,PCC!^*]'7'V,\=JA: MOQ&NEE('#X=>TYON"9!CG/GK/TR9N'"#'<(XPCC"^,V$3G^,\8JS;%;&NU9- MZ2C[%N:H]6TS$2#&^7QWA2**Q07^OL^XZ5EXP/!Q*9O(;$:R[TWL:+T%7G[Y M[@KH,0JDWFD8X/7[_/;Q@N)&#^PD3J!@%O)BY,7(BS].G]_>B]_=TK&AV5X$ M%TL@DCWIJ\62;-:RI5*VF,Q&(GOJI=/=[92-1P++*I5PE-+:9"JT_6Q5F=^) MBM-E_$+)JC]>5=Z,5&*>;-"?,YQ+_WH(<_]=+GG@Y5:9-]/EFQ/);YV@@]*3 M;B8]Z=K)SA#G?=_SOTY3^K[DCCHV=PH:$H7M3#E=,1S%-H&EXOFEJCR)LAD1 M72"Z>+]Q]Q_RQ7=751.:K^-ZKP$PNV$NA(."'YU.3AQYT1R<+)X81_%XQ!V( M.]Z-*/M][B#; &<.S72",9O)VF4K;H.EAI [,D7&4\\RQST%^7^AGL[3!.H' M68;JZ?P9.7X@)D2T]WH2Z[<8;Z!68J TXJ$STY9M:<8/L.GPH.(,E%EDF>:? M#4&AD#-"/T+_30BFWT(_#_;K>'?4<4P..^-M1))L5L?G>-I/^.>)>#_VM MF#7$]I)L1!_.P/M>5,WQ?+:;0/Q*QSC4LC>2[6EAVHK!-LHH$W8A]/-;*A]S M0"_0Y$IQ]2ZNKRUE5IVLJYNNXE>Q;)&4WT%-$V6>H-!F%*(+1!>W*HU>ERXV MH2>.1\)$QW9C>2I$(CD<[@5(%YFFXLLD6]14B"T06R"VN!$I];IL<5*JPU4/ M+-;2+$Z&X9R8+Q4J9PN8 \C_X(;9>]IS.G_%X/H*ZT,R'HHK? !T[Y$9%2"5>C!:;>3[,%J-,6[)%:#6^?<^:J&,L&A6#+"/,+\O2;?/*81Y!'D$>3O1?/\#.2;=,IK(HU; MCFCTTYF83$XG+X<\#ZM=_*"BS9UO&?U,VEP?Q.C"AK=++"8SHECYB>Z"FR#% M__MZ2<5OT/.;"@M=.[L.Q,]65F:-[I#?[15'VM5G7INX^&Q3W1>R V.%^-=./V&&A5]BZ7NV8DFTK0_?8WX5$>(#LD"DENIRA 9$# M(@=$#N]R1^E'Y+!)CAZ^&%I';+L@%*43US;=G@#) >X!$66&>?FK\#X6 WS< MC:&/U>?7J7!S6WW^N-'0C]5GY-L?H\_(M^^JSW<>TL9^):)="D!8BM9:"#ZC MX#9*6[SKM,7O=/>%[SFZL2E%GHT\&WDV\NSW[=GW%!%[2"FH:I%MH$#7G0JF MEPO5WU/8O6;O[17(@^ZY)HA4;YL,Q4'EU)?$QM9U:U+%V&C#E]ZV)WXA]"YI MH9<-8C0 X1BV, MV4)@16"]%[#^^B[Z-<#JU[=SR6'Y$S8C%^/]F*LW_9D PH*\J876GM'9B,:9RFD\I)1:)4;;6 M(!^$P7.GLU&$#>$/+"FX%WL/.'HGO(09&#(@=%#OJZN1,WLW:_ M2CK%S?0.";0/D^KTVV<@'S0:#?R--3JT5YCM$"S=)UKF!'_QF"OV"QKM46X( M9[713[8Z"&4SUVN1_(_F^-Y&4M7'&JWMA.XZXYG1BZ1&I%LP12._$)9DRS1) MECF<0W$:1 .(!OZ$!GX])/N:-#!=D@5'H:RKM""+&]*===N-H..8?( WP?_V' MX,HTSY69=U,[^TJ9)!^1M]X127TT1GH3??* N0(Q7> DTFWCTT%OV568YHE/ M-6H?#85,H3 /"H4GL#+%75&A(#PC/-\1GM]$:/P"GKO[6AB?N,Y22OJL%38P MZM2?#2&>'Z0&091)]HI2 ^$9X?F.\/PFBN$7\.SJPDQ7&X.:HC6G6T[1<2$Y MY'B^KF:X,:G\5N77/OPPW&3@Y*V*_7SX84#11 0*! H$"@2*#P**>PHXG[_B MZ5TF*.1\EY+V8QZ@OO?+1#;[N*GOPWCFV .ORIL=/'&VF5+E7N,R$011!-$[ M@.@;W^C1VWCT:+OD9I@L+48XM0C3(2= B%[_1@^$4(30.T#H&U^K80U<51>2 MG:^(W66[(77:%'8\0(1>[UJ-&],JC3S[?CW[GJ*D3/X5BA>"K&4GL"JM?1=^=\G2;"\J M92MJ.UL=AR"*2]G*&)2B@Q9$Y9('XI)OEF+M^+]1\G7[\F]D/V4/_[=K>Z"R M/E=LP#'LO_\=^T'>J6^&(_LX:\2_\+\S="0!JM9PKR+SO=ZZ N\.(+S5/I7KL[^+KG9 MZ&;?:GN&FZPR\69[N3([Q\>OI-*(EU9I-S/X-Q?)^?J*>SPXEB+?M5>O=L/] M;0W3=T-";SU,OQ0R*OWK@^G#7^!]?+&6^-E0L9S*NE6I)R-BF X/L">)X5L^8"2V:9UL;N@D N"VC4/4[GSK&@VW01'2 ZN%_=]&MTL/>< MB39K.UUGNV -;)*JBY4\A'20*28>)]_[[F'=#T'6U)*1A"'PC+04AYH7N86= MQ"OM#Y)H?Q#%Q%XC$_RM>W]3E/U&TNZ!:\0'JIE ICEW$-+S/[PC?*&=/HAE M,R/N@1_F/XCCT-:36--=,/$'6O:8^ *GCT6O9\BA32F)M^CUZ%DB&%3&Z?D= MQCS!HUKYB'T0^WRXW;YKT<]W0T_;FCTB:H8T5Y+CNFF9U'PO'P3(0YG4Q#.I M>16P:*]*"!)2)6_*Y M@BWWM!MX_HI+I1\>]@-12;<_I]$;YLPW2ZBX82;]4-N%?[A,ZR]KDC/D3PTG MC;J[5672WV,@6Z914"[B98HN!@'1#B$BDX]#)A]IA_'W%EK$.$VEBJPPTO8X M64[LZ50^BCF%9$J/*F,8.I6(& 0QR+L7=K_/(//EEI0B.DRE\7&?MG&IHJ3@ M !D$[D-2[W@?\B&9\W_UK[[C<-Y"U'UWE?U0O%#1[^M43AUM(;YVY(S,*&;E M)YE?WP3OOES1TEOL^4VQZY6UW@5B?2352SGOWG[?JSJ"+FET;WQ:V_S.IK.U M%_UP"R5^S1LH$5<@KKBYGM\45UQ9R_T:5QPG\MZT^WU?T=1Q.AZ[" MI2/+S+,QG5R3_4\N^EYTJFPO V?\^6NG_1;-3_[A%[LO<0&HMGX2[BM[_^;( '[Z.&4_?-+_O6]9\$*E MI"[ O:^%H;JGUVM.[7L[3.O)](F,)X/=1/CK/P1]23_\Y)"7;V=V;NW8SJ_- MSGK>)DZRO7>57>50&>UCM;K?6_ $'T[]P?R4LD&]G2FZM:,4OS9%PFZ5-%R7 M62D:GX9;@CPF,I\#Z-*1JI^=(%C!+&MW*05:&)6 !RN7U8 !X&W8)1(OER#5 MY+\2^63"@2N70A %P("T[Z:?GK[3WH3!B;]+PC;[,(ZRACT.9M:/["7S3P6V M4OZB O##;RJV73[*GO=6"\%7!=U:CW:/[P=-]_?@TY>OA_9>X66B P^8=HQ> M)K]0CN&Y8\H,5%X MKVZ::Z51$7RQR]4M@H8O%>Q/& N]4EYRCIC$7.'5L: K%0GK51NCJJ#)V5N% MNG2,XYHOE;=_C9!("/QR6NVWB;2_MC&;>^"P/A):*QS8RJ[&8J/MMG^(R2%< MUURJ+8MH_&UGJQX:8<8YO84#1(^OK*Q>76QG?$%S?S!;B-.O-V%KC$ZL0:6+ M28S.Q/7.D@A:(837I?C:O:H&_"''L2H#/<;-QA M6'S]3>B/A%_R=5SOQ0/9!H BZ+%7!/48U?]GZ\/^TLYS]) @<9/ 'AX)?_+9 MCK-G&9GM)',BS8#'"C0OA5<=>7X,SCI*.\LR*]3<4J"%YUR4-Q1EX\]RK M3*NM2J;M:9YA9T91G'V0GZ;/G,M^R1G\;N]QK-![&GLR9_FO_^>G8JM/YO0A MS$KDNQ(6J.@AT)R*!@LO?-;<@Y9&#W/,<9\(ZDN,]IP(7Q29 M2WW!H_8SF/QZ5"\-EY8SM*JO2,-D5IQJDK2N4AK!J#Q/FRI'K5B.XR@,,XV_ MSM_Z,J-6H,+O^O;CP.+_^+8HU$92J2EW:ZU^8UP^GZ9K]<5/^9"?X M"R)]\U&N1"_:G6+KG]_'>3X+[@FM_-/TW NRQI?RUG])A7O]]I]G@[B\Q5PD MUPL]_%?+RRC43Z+LG1S]_?05\^"./+XB>8P"*FV0F$IA#*[R)"!5 ^ F0[$< M "OZ8?ZTQYT\26:=:C^[ J] MZCZN'U2B:$E6C;G;Y",.JP3AD)>'?'>+6YEEX=L#,31J03,RL09'#(U K^UP M&EIRWUHN!(+V0+9^+\T$C\:!:R%'QF MH4=[<9"F)-?N.F,N.;#F*%Y7NO"9A1ZQ^&9A56?$0IF)TJ:QMW'N1 HJ76PG M+\@UR>NOEDIZ6'-6PPW4L66I3-$R;6G=B5%E,C5&5KTU(_>. M#=>259>V>\M7?%)UR*J@5A9DE^:REW;%98 M];NX(TL=L'?&V.RHPV?RWUIB27_<#">Z*.WH1B-J5IV$(H8J7_QVU5H/]UJE M)6 5@.\KO:CB&C,ALRQ\>Z_;K]$G>B,YXV.W11W%H:5R\)G,MY:)QP 18]=3 M94=OQHXI!GI:&:HX5OQZ3YE5[1:FJ,[6IW%&G6]29F^I.%XT]==[UZNZE*#( M!T+OU((S#-DNNVB3K7XR11 MKCAC,@UES>L&=]PF*03>V@M++B._"Q (=P^.XT;44IFI(J3R:,\Y84(D+ M$SNN".UX64L><$' M&G4RX:;*"VT!FA8:L AX M(#1QK>YT1DUCLJX%M;Z;M?6"N_1)39=55^(Q8EM3@]Y8XP=^-JX7W*5I&993 ME^(EEB:XTHOWU4%UG9E>*RL8AW?#?KUB5FZ_7;5,><]#!;Z;1.M;BY!?H0FA:>6A.QQ<+O#FVE M@:W4=".V)[569GK!">=N.G/K,Y:4MIRUL'EZX)F8!4T+3XWFK"$<3=!1["$G M9+UI#,,P?VJ!LX*Y.L:/>$^7F).2JBUIN F;^=5NA09,U^JJ&8_J;U:5.3&6=DFPQ[N5_5H8 M/1Y:_=JT.CQ)231BITJE9K++Y:!5F8:'A\-IWTQL&W3V=FU5D\:CQ&JW(Y'N MT4.8]%1H0"WLX(M4$3K*3AY,:EY]DG;@8-%%;&WQQ$Z&XDAS.GU!-9QVJZ[ MMEX S&!F!'$P6S-8RM3(U0H1Z,4)CYU2?;0Q-=1UM8+B*TW[(T; MBB/%88+^A%)[FQ:1O3C)"XAEZJDQ73)-1IH)VU7*CD6"A@>7+R"6U$Q9KI&U M)%LQMFO#@W*:[YEL=76MA6'4Q8U=VFZF>D%;-5/6"_J=W4" M$T<10])C3COAV4KP K;:=G4T2C!6GM/ M#E:;YU;[;#V0F1:6PBNNNZ4Z#@:6$Q'/K'4:LVU8_.N")SVT%,+.ALZ4A=0 %GLERG1ZX/4F73 M]Q-MWVQ[^ZQ;%_QUD;)AO&EW-$>;:@&Q'LC-J6E!TT*WYJG.<+3"-QP[FHCJ MMK,'"TZ IH5NS5G3WG RP3HB27OKZBCU RU_:J%;_+P7M^A$7V!R.W9ZTNBE4B9 MZ07 <%3;71R9=(SMZ@>B9K4[@T5]J-(7 "-7ABLQJ&I="1 'S?4I0^Z$%C0M M=*O%S9R@Y[!-!?C#/KW9A>L@\X',M-"M/FNK4EJW "9V:_M%362$V2A_ZF.W M\M#ZE[#=.9/8\%U7"R+P^?$/3_4\#'0]A.Y@!,@X1XX>([1Y3 TF/CY^<(ZH MY9]\%7=[DHS\8%,,ZL;A8\.>I&3^]=-'%.E///O8G8:TGS_>S9YJN?WB, M53_^O0)3L3^?@Y2';)Q^&!]\DJ?ZQ533(]]-XF^S4E]E9^!++N\OQ>,??OW# MHPO\LT?,T42\VD00SQ;31A/Q2A/!?<*?K0&%)@)1TT>;"$1--S$1B)IN9"(0 M-=W,1"!JNHF)0-3TLA/QJS5_?B2H7Z_7["_T^JHD?.7,JQ\.PN_F_#V.BN&[ M\,/_]Q?WUV^.$$E\PJ@W+1S&_L0(/I<1LP!:6)*^RNX\Y_R0>/FQE+;^GV^. M9=\M;/[48VX41^PO)4&=I[7X:Z$$V!=\$+^+#_X3R=PU/&"2\XN51D-><+]> M0" O0%Y X"_Q,GS=,D;%8W+/)LA^R8(MU4-_6Y(# $_.>%9)@*>#1>[+J0LU!^TQ)5WU_[\*\E&]N>#!U\[YY9C?^6+?_I?",O>P[K\]S_S1UL'+4\M+5)K\49S]VN Y%XU\ M+X6H!Z%OVC$L6W*A0.1NMISYE9U,*]M9JUTUG0FYABFU>=EIKLQ0^'5JR2(D M(B3>'A*O7$3D620F"YHPP99-'::!"<=#LZ%6:'@@D?GK/W0Y\T8$1 3$CP+$ M*Q>'>1:('7S 6I(;\8Y,]IH5?C9L3V,(1%@RF2@SS'.OQ/L+1WZSXOZG"DX$ MBSB&()LFPW;!TQJ/#Q4?#1BH#$)_;\.M2STM^5\BE=K32.5=:N9;):[W$CFX M)\V,'!:F0*@(J NK[!>J5HYN_"515;$1N<\.RBDW%B7;P]DVO"X'*Y$!E M:+0#@8#ZL8!ZY>CG;P*5V@[ T'*EJC*S=_2(\")N)4"@GJ^28_'G;JB]X[CH MPQK_Z>C 8J5^YB2VI[DE.XH24%K9D0%OI\F7_RN@QP^?&WX$R]HB18X4^3TH M\O>E'9YB5C;KYQKFGB5"3&:$5WO [*5=(&D]&B]<7V<<$5#UB1CW;?,HJ'D% M-8J]=&T+@CB".(+X:ZN./X#XXN!8^E;=[J6MO^*;:U&-: M"/%,>+'7%? L$ M<03Q]P3Q*^N5/X"XRO&K3KM5TZ1.ER+BSB9N;?>PSGJF6<@RSI,O+EEN1I_8 MWAYXL1^FV=>"H)($*&IRDU&3V^ORK45;8 =QXN6VM3_49"+_?7/_O<\%MK$* MP3>OWM;C*^7"F[;'JIW0609S3!YQ;;%M8!5E;:D<7$Q398*F410?X?E]X+GP M/KK_X#9,A88WM&>#D'UI8D=KF $,EY$PE(V$[QT+W]L;A3L0S"^]Y/SH4XX< M'SG^AYQRY/AWXOCW'2)M:+87P44\.H5?/Q_Y]A*Y3[[B6^9F$=7B'; JR MX(68 !$*L[++&%<\/8$PBC"*EO!7A>NW*!V(^S7O*S2%[7HTKV^XN-94\_O1 M>;CIPK+$N\[('L>^X51T+0*P-O(V %[TL@J)GN@&'NH$OD\QS)U 0%R N0%QPZZ+E MI[E@OC%;27((1*7"[,%^Z71V_98 N2!3*"1>YFA$!H@,$!GK&' M*<9Q[! ZN3K%!NC2LYP,8)[W>]J_&,!R>Q&TUW40UM%*%YUW1T_4+:9^S5_;#F)WIL)JY@?/?L M26->F]6EW2Y;FF#V(!C%> T,#GG[_OH/PZ!\6(3.#X7.ZQ?7_A5TQK:RG('E MJ:V(31TH5D)Z@B? ]L&$=1Q5AT+P_ !;D->OL_T<)K^[_=CO'_! W_N8H^U; M)B\M[84RSL$)4Y*XHK+_^SWM:V2#!;)VEL#16&N>!4K_LC3;.Z_M40CCCD,8 M'^H,^CO(<7H HIB$(?",=!)J7G3N",RWA.F659 ]#&[67B"Q5JN]K#9G^QC3 M^EBRXCNC=6V;D1B9K_^QXM[LRV50(' C<"/I<"6.>#DQPNUA"_W:8E:M*Z[ M_B%K?PS@^:[G^*EY/*159J=QCL8V*6[@$=54L53\X7K/8F5ME,2-((X@_DJR MXT4@+M17V"%=S?<2V,;I8KB**P$^A!"'HH-%9ZD0Q.\5XA^@[HZ8!_BCDNT] MO3PSBD 8\8&WV!V'-!D>J &>$>$2VPK5U)1S6R2E*DI>+Y[9],^5+R!4(L M0BP*8%X%IM^B4_-;>^K K%>2W53T:DH=XQ5U@.B$(4N\3)/%PQ$H:HGP^?[P M>>4LA]_$IQ%,^2XQT&8. XZ#NN1M'<[(\9F7E6&H9_<-[SDH>U[//UYS8+]@ M94@DOY'\OGNZ>O55_Q,D7N I,[!CTN?V0V4\'=?#03A.P2);Y>=W=.)8F2"* MUWNA'&N$Z#M!]/O*L?X1N+^KY?UDN:EM F/CB#$]U1;$9LV*&^7]4=@ES&%3:H+S@KHR(N3X^^Z@E-!%<$UUN!ZZNO_'\3 MKILT7+2:C>G(T1);4[M.39KN#A"NF1)@RRR.SC,@P'X$P+[ZBOXW =M<<$*R M.3;74L-'^%"D+]?\XT$FJ'>]T;"E\2@0$OA7LN3U?^3Q&X4K;AVM$+W MPQ4(*^=__QD/CJ7(=S-5]E]8_M\]$]WM]?9V(IIOEJ0T.,/]D1^_'/'J_@/Z M"VS9/:J$P%6.!ZSATCNID0@;&P8Z^7P[@RIC9)$N$7<@[D#<\1XTT9]QQY)2 MI W!*X[4:!]411BM?%,Z0.[(I!%=IOCB3BBB#D0=B#K>@SK[,^H0.2:>B-5H MHHASC]VT=X?#PLFI(Q-I1)DEBD?([V\[ACP_OP_BDJ%%ZU( "Y.NP*JDIT\/ MWGXY@H_"1G_ A.^8]A#'O8JTRG *BV ,'E!:394(7HQXH5;&I5V=';W9D?O) M1$JG=O>P%]RF+UA9.Z&.8LDR@15WF!'>$=X1WM],#OT1WH/YOK./.:PNV4>1 M28;BWDIF!XAW6,F?*5,([PCO".^WI&'^"._<21E+"SU<*[-^1Y()K1MP^QSO M<%<)*V/\^ML23+^+6W;ENJ<3Y&M0R2Q1O14%9NPBD M[P^DU[[_]$] R@N4[K<&75.Q0_4XIJ+.L18>($AA#+5,70BI() BD+X_D%[[ M0M0_ :G<:4D*4V%P!]#6[C /S*&D"1"D>:8&1SY[8.W^ I_?KNU#/VO *BJ9 M,,JYLJ/ /]<^?X7%/M+?KZ^_;V\4;E"WOZ^\CT>(PWV,<<9^LODK_'AD@B];F=+(+UPE,'3[(J('1 ]W+7'^B!Y\S\(K"Z5-.&.B:D:X M>>R%[@'2 ]0X%PX/(WI ]/"QZ.&%;EAZ*X5032+; U'TU<5(7^Y-RA._M;/L M6J'@!4H N^L$L )4D1\C/[X#/WZ/D?;']PZ(^B"639B0]_"3U:7S"5+'E"?U MJB8!16Z'RF+LU[E,IN8W=M)TF::N6;86X1SA_";>5W<AMK8:#E+5;U MCK 26$$EZ'/&"WWA1#4J2X]H M'$O0B EZ$)?;K;]WH5O^%4#)R48V//U.LY M34 =P)<9XIK78"&>0#SQ]KU]W]D^+\,3_704FQLUG3G;K0&\W8G1&](0\L3U MTGYN]G!CW?8TS[CFX<8/R()W3&DW>&(&^1_R/^1_R/\^JO_=<6#W4J)Q"/:^ MNX>^WL >3 R(%1(NMO);)V8>J ;(KYR^6" M_-]32M1NMM*^!"1L.U4P4B).@DKD]U]29!G#GBO0BG"-<(UP_6K'^WX!UZ"R M:(GDXD@I6W90:_:;G9FV&D)S99Y[CU47GY<4MN>80>:"Z_"R9.G2MGD MOL;2^@/2U1UST^T0$]KKRZ'8%'DI?-'[T%!_8@LE7'63@[H .^ M39NA8&:K6^Z9U2U*AD6@?'^@O/+2]%= :2UGE1"OT@?,QNO./E@.3^89E/G2 ME"LS^$'/AN!BJ1'[U'ZMIQ&=84H+/69%!1_2TN0"PR.1;Q"Z][A$6$ MQ?>'Q5<,-G\'B[[#UN:8X9N*S> .H[67VF8XA%B$,6:&^=&+\9W%F&TORJ8H M$RNE( 1;.]F6S,>33B@$@4(0* 1Q^Z+ 6(7@Z_C#(Z8'9TA_.;MX@0ZG3N+T MV@0?2(2@AZRS=Q4M%6 3,YE EGGJBG?8?G1$(%Y O'!%@?)'O#!8]"8]TR(P M1W8X3=1Q8ABT+=A$)N<%#O$"X@7$"_# MS-<+F7RBRQC^WG/'7T,P?2B)!M+"HD"T"YT< YS65P^^"DR3)5H>5F,B9'?<1N1L$CH[GX,RO M=.3I9U-X$3@1.-\).*^Y?/]=<+:-\:SB-, .(XXM5K>)CE"7+ A.'KXY,:9X M&]&[VOMX7,AGHYR-NQZ7[(=N;E-:WU^6WEN2H$ KR7^2_R'^1 M_Z)UXF]E-'Q9)$I?+82^FPE>&6O,,&I.=&E&S^*A[4Q%S;)4DH+K1*I,X.R[ MCH5.M&/VG$"S\RL$LUGSP'G.#W:\+H%MX/HI %D3?,,IQ:'F1>=!0$%2))F1 M9+[5O(IO)?,(N%H,5A,_@_LL _;:=^%(UOUPO-9"4-4BL!+];0 R>,/F7>!) M83D?>;M!;8N-VXUM,AJIJN9D/)E?*TB468)&UX4ACD <<3?I'5?@B+$KQ X7 M/4H>=7#YA\='8@C;I0CKG07^:V<'+5C&R9')[IK M&R7?-+.'>5:YY($\^)Q- 0@/839;86EE1T8V)R^88/&A7!M%0VX/NLA_D?\B M__T8DXG\]\W]]SX#T\]5!VR=UT^#?/DD/ZR>+MW7LI^&JCS';:D3 <,/]N*\ M4[%4DH%A:HXL4T0Q9_<=A:F_7G3"$8 SG;[V>O.CJRND,>]58R+'1X[_$1S_ MSF.Q%^L'B_YVZWMCN 5[866@,([5VWN2KS2&[9$E3%UPBK*507Y#(\V420(5 MZ4"\\-%YXGL)2"T93Y<"&0B"2N97(Q)EGD;551"<$9S?.LOY9^&\ M:77K!]K51YCFNWJT,=>507* <,[3G#GJ?9=\J-E[._/E502#PG%HZTD,5D@% MW[$*OG95FIM2L^\H%3FCK$S@]QX#.! L=U,* SVD"[HM< M\Q#TAP(%X@G$$V^;H?^'/,$HV-9QJ[:C))6TL3[Q W;$()Y //'VO;V= ,V5)=@O4<:W3&'WI]V)?*RQ"M/B&+"83O84 M;D&F8'*FH)@KQF<042"B>/O>OF_A]3(+BJJ\6:\%N8-)&LDVET:P7 T4 =($ M#^M/T?RSR2,WOEF5/5(R36#DQYRS@059BTK@:*PUSP*E;+9 7O\]EUW99)__ M ':)O<]&"17=N=Y#TX/^E?W Z C!! MU8C!"OY \%9??_#$LN49;@)GI&9'@1]I;B-[8P79OZC!P@=>;'L)6,D!./?S MTKK*/$2UPSX$4&(A%$(HA$WDQ$W22)>)-1 MB*N203@-P(EK;":T:4Z ) )S_3BT#(?[ MJ3ZU(%E "8:5>8YZ<17VJI+K>T*K7-)!9N;!A$3?+ 7Y6-YAD.I.I!:*8+T[ MJA0B53:?+J2XHR$.=[A,84 PZL$R,I/J2G@;;KQ ==-4%TV!'@R==)1I1%KO M)WTN6Q=1N8BBRP17S!2X0T*XG440POQ[QSRNBIH1*&9_5%?&8;W=2?OCQ#A: M-X-YLZ&$;46/ZTHB6Q5WZT3X[#"$F&?@^Y)CG81%+CGUN<_H^ M]Y6^+W* M[J"O$&;2W^>.DUF#++R$]T%;\*.__?UTJ9?OZNP:L]AM"Y I^)\(NMS^GM+_ZE\]\@"@.V2MTJ4O*I@?;=Z])5/7[1R$$X@!@<9,/O@4AYCK[:9 M)& [/3J)D\X/.AVF=1C'9O,X=IE%.<\(R@C*;WTVXJ>@?"2K+H<-^BU'WL;6 MGIIP$RLX0"C#\PMEDD=GG1"4$93?^.3"3T&9[@3JZ 0JJ6-CUO:$V>L:4\W? MRO FF3).O_P1[UL1#C$(012C&,!-Q@"N2#D?AE^NONH_(^C[Y++J5AVS0F\% M1_:;%8<=A+I:&ZH4EU\;B94Q'D.YO0B/'P6/5U^Z_PB/Z2B=KIODG';&7"VM MC*APTAT($(\,+,2)7[C]$<$1P?&=PO'JR^\?P;%Z&,PKTFX>20U-Z(UW&+69 MA3D\O;9V.:WU'BK4I?"A&7_JE$_++9 M&BC<\/KAAML;A;>(5=S-YO='=PX$$001!!$$D0\.D?L*!@N&$2;9HCY?1FJ& MDO'XB>/!V;A5SZ@',/^^RKRSP!P5^*Q MCP3U1!<]=-C^TD[?],^' MM]UI8?:QER?86&$FH (MS"_'B]<@ A W>54F+0:KQQO',Z,HSC[(+W;_E/G@ M2\[G=WN/8X7>T_B3.94 M-#/[XL^:>]#2Z)$3N4\$]5BTZO.7P]'0"TKT)X[[[](_?X034W"DK7:L/'&7 M!TH]E](Y_ZO'CW(Z?/S,C^S\4&L(W(RT]@ ^^ZNGYCX9^\%G O_$7,DEO]'E MCXX(OT KK4-(JO\UD<6+ ,R=T(-DZ?[[Z2[2PT>97^8:'A[GA1R=7]GQ@$?M M9S#Y]:A>&BXMIU.5T D>PUA"!8 G5,K@&94W&: 2)D_R.+:B#%;_Z_RM+S-J MA3VS[_KVX\#B__BV*-1&4JDI=VNM?F-:_7%3_F0G+LD/@'G^ LB?1.> M)H_3%^U+L>GY)[:7,>FY%-3/;QP^;7;IGW9#%QBO,SI:9V8@C" [X^R_2^?> M?-DF?/W^G*>&^,?GO^/D#TQ[H; M![3^?OHF>O!:@V Y4J=(E>)83J4TTE1UCM54DP(ZQY@&3C+XPTQKC\N&I;L- MV-:>.SB58$@MYO:F6SE9<+F#?6L**EV;GYE+#@.Z >RY:.ODZ: 2*ENPG#6% MQ-AZ+);P?E=R>QO![EF99?&A\;JY(JH52L(JBT%K:]3'0[UIJ:1*?&O9WX > MMP=8Y"3KE<+@7*M560PSR\+7<[8NSV.?6K<5.EP.Y$F"R M[>^ XLFD'EN99:'[.[4O]D&[AF/V),S>:O7T%&R'F66Q^ZN>/+6JIMMVQOO: M6N#(ADXI\.N+W0\GU#(^+1-/L0_F]&3:X6"%Y::%[A] K'3JV]U>$KN3NK&D MA@Q!""JM%KZ_:6[V\FDYGDF=#4-L6D Y)MF8TL7N;X6IZ[FT9RH-VVQ.NV+@ M+&/XS$+W4X[O,MOM-G6V?9Q<>-)&KK:@9;'[0:2WC/KB0T+FA:ZOZ_A]JG+>$T%C"9I_:C-HQHU5)EB M]WU]%X<^-NHJLF=V"5/C?%;!^I;*%KMD#7R#Y[8&)VE85[-6D]FQFCD?6VRH7&N> M(HSP4ZG1[S%I=VX:D7K(+(M?[QG\L";MVY:D-1(I%;#EQ-S#A^(%/]DUM!%I M*7L'(TY5I^%Q$X?0ARI7;&FU;4?)V-OUE7&SNB>FBZEOS*W,LL@\4\/PJCO[ M)#7X>+2;A$%,84)F6>A3-/6.8MOBPVQ(MT8XP>-HLX.6A<'?]'LC@V_QKC3K MC;':9,9(LPYL9['W$R7IM+7-M.HD_6K,#=S&=I"!E"]VB=IQ6#?$IXJT'1RF MUC$RIG-UF%D6NL1MCVXWZ8PEB9C$35]SQ4:O#9]9Z%*CQP862,==:=L?+*># M9:,NBM"RV-"5*-B#Y5B<*]L@�(461;H@!-"].4]F:SK9IHHM+ICD=+1;(; MK;V00;38*=5TIKK="AE)9G1>F]/;-NQ ;+[O;9 MH&:FA6[%H-(7S8K:5HAA,&QU''H^V>=/+4Q5U]A4>D9WK"B-Z=$&AV2$9W(= MFA;[->>KS(GSS1FF,4HR&32"OZ"#.N[OXY+*MG_B;?F85$<@-RWVJTV,TTGC1+8QK=;55Z;3$V;9>PHGBOV2VH2J M+1)V(6WG+>=(NZ$794R=F1;!6MFQ'%?!UU@E)48:[Z_7['H(30NL/M[-ZOM: M;8,I.^M8UYOSQCP0\Z<6:;U%>*ML>.NIM!ON*:K'R^%LE3>VR.M8G5[/CI;O M* S=6DTVP_4D)O,F%(D=%T9@*2?R7MHNK(ZH>@,QKF6.0!8'P:VUNP>/;4?* MS%5&N$M&HU-7@*:%R1U(5LT.C< YS11M-'3%9'Z:'UBZ"JZ7,M(A;-V4T8BR8]]T>U0%,J/5="YH6'QOTYY,U+PL1QJP3*=ES M\V&DGVV+GK#:S;N$4(L=NT^WFM7M:"(L,]L+:X9N7)U,>W1O@251TAWVA_VC M-16@:6%H7?YT7*=;]J2,:U:H4@LUJ&3/2#+5XW6EO&F)O MG3^U,+3US9 60BE[>>U,<6(/%17TI+RM%]Y<[4H]UA1SXNP\VZ),94'/LC<\ M?F$Q,*9ZD[%#;'''UN;F:-VO>4,J-RWT2U[:"U[GC52J>,>&.NGVQE5_"$T+ M_2)F6\Z4%&&-I7:7V9!S(W!G C0M-K:[;$_MEM1PI8[?TM@%.\<$]FQ;F+#% M="C1UJ)+2\"?5GNZM.U8D#\O+ GJ5&M;,62]*XU[%&-;B3G:X[EIH;6CN;,X MROT>ZZ0-)ZV#J.,&[A":7AA:9\&NDVG%<3J8@]-11*U@:<%I0BL1.[&ZH)VD:HX' MXRFYZ[!#:%I MAJ/SME[HE\';W9YA>Y@XKILX[FE[+UO$$A=>^I/=\L#,JXL)5C&B<7?2CH4Q MF9L6^C7=F@$S.]4E9=9=,<-J]D+-) @T+?2KMN^$[<6XX4B-KF.?[$$RV>GY M4PO] @-MTS(6A"G9@_Y$\?>MPXRVH&FQ7V%UB?7&&[HF,9.EUQZ ;EJS!)6X M\-)/\"!F%W-PE&:&UFMI'#DX1@=H6GAJK]O"-[MVCU5DN8X9MLPW#MLTLDJUMGU,5O,0]O"RW%*B_.45Z,Y)AH*D-+Y..YP6<\NK!"6 M[BGJ<61\=$2_F@R\(]6EYKEI87)QU:A/AI5E[#!SI;'J5-O\+%.]F6EQH>H+ M(U<;'1N8/)=%<99,*5/(30N3RU!NLTLL*,<95^N5[/V\G:?9,CTS+0*WQM+0 M4NQ:FZ72Y?80F0=H6NR7-)FSSGJ,S3#&7(V=1F(=:"+KUX67?G7:IUP[&M)2 MPHY5=V#/]DS&7<2%>(9OUHYM<:G$#K /W.YX3'O-;FY:[%>5TLE,)J\P>>_P MEQZ57Z ME1&6YJ:%62"6HFS8]"+$F.U:GJ\.7&TVR1M0[)A?XZ4C4]OY3D)$XR4V.?7" M>O[88L?V!P7;#46P@'&+\[/+3#"UMCJ@_VBP3K@T%;9GCG*9$CV MW OK#JKK5*O:"6]AVRVH#@=C!MMY%C0M#$)KH.";.B92&;SQ*!D9^$+!@W<,J4W*JJR1#'-6S;:&U+N;CJ]8$C+%TPRS:*_$H5CM9:R\L)I@H44Z' M@\A@8WHPF55 ZBWDW+3(=*=9PM7MI*<0"WDIC#%7F^ "-"UJU_'09VEW,U J MZ^4 :XTG;7)[@*8%7SQ4#1[0QS"0$E/V)AW5DRI'6UN[K=9 HW+30K\4G:04Q>!6THP;'.C: ?.& MF<@D+BT[3FO%F;+FT'!D<<3(E>Q%YL\ME;RP[$@KLQ&-*_6>TO!9/L*/7+N2 MK5 RT^)BYJ@GV&'M4TH%FP_'[:6B)G[^U (8#R<]J&@=;83)?=6C2+51#[/& M9J;%U[.I'NH+\5B;8;M$\2VRM4GT*'_LA==S0YOWYNO%#I/#Q7J(R?\Q_^2K7-S9?_Q[!>:T?#YOZ1ZRS=5"$_%*$\%_(FDT$3Q$-!&O-!'4)_K9 MY%8T$8B:/M9$9-2$$'$+$\%^PM [XA8F E'3S4P$@93U+4P$]XG!T43KWF?J'75R7A=]CE'VTV7?F([P\'H7"T[@,ZPMN,P8\V73["&/QHOP.AXZ-Z MQH_B_A]A#'X4_!1="T2D#^5 M,CZ*,OV$/?@HP'/2W!%%6TY,#D31ED@A1-&6*-H2NEWY7MSQ]_YD]CQ_6$WY MU_XDG@Y<%XEJY$[^S(A"PQHA(SK\*)80Q1(BY?@S8@G.L$4\Y[ZAX&$ND3I# ML X84M3,^/JXN\ 93B#4$(8MBN(.)R8S_M1Z2OVI]21DSA-YIZRY4]I>F"XX M4J&9B6_M!,GR/M1T), AM:101)(3)^CT_TN=45TSXFZ__N M[3KMA"U90M'FJ>NJ$S3 M#U)AE'EM%OQ=H&OURBYMH+TW4$>O85LF+!2?@]OZF7=;/X_->G$XRM]?=JNU MI\NWXO,D7GF +GJ)L]^);"R52\:2:?XP;=I_)M]0T.6QU[V/_NT4.ODM),!G M>[H?@?UW:@)/AF;12M:>=[W=^T+%F].8WR[&U>?JXJ8@)>*S"^ARF3[[G8Q8 M?=_YNL=>]SY8G6;=1JS^>5;W +EP:US36."%L?U=<9!L9^YZW;'2Z*M7\>RX M4,D,#\OVG6;BI5N8H9[50RJH]8/O]4+I;)1FI^KW<>B1#X0/O@ M?5I),ER\#_S^KY QO'=73*#8 ;0 C;8QYH\WQS=I ;THX^I5,VL]W%5NE^D] M,S_>-#S,!BDPTJO#T6C9O2Z+1K<]D;*YR\H%:48M8(L_ELNL2X%_(C'PERCR M8Z][/R9 ,A(#'XN!.V2)BH9DS%X:W@J3\;RA2G&4T*L_'\ MBWA>>%1FS0&O3,;+VW:J)ZG90EDE/)_"%G\FEL\D(J;?.SC^V.O>#]-GC[.2 M$-G]R>Y4CP_B2HY_&-=E32W;#6%Q8!?]7I$,2[A]&';C:?ZA.DCJN7$*;'5H MUYB+Y=+".[9ZV!%)SN%Q&3)^'5F<0F\C3^'J:9W1]@PM"A%K$=]4V-LY?4W>_/N+^7JM]N69\A%U_D74\:=1YY?7!8RH\R_B8C^-.C_JQA)1 M9UBH\RN2_L-&G5^>YO_%+EW)-D08IR?TB$\G]#JZY^$)^XGPH&*RD:XNKFU^ M>3>0!55 ?$?]\P@/]HIHT!@ FIL\Q.=L<_#\FBV6T6UN/+BY5'++3*&7(3$= M(1'+9-YS$2-N_[HB!N'C]B\N@1@R;D>E\2 [JHCB&,F]LIZ:E^W6Z^$8M95[ MO.KQK^8]GRA:VFC(QZ5+<0Z,FOT$HYX@]'(EO%,S31MPF)P^P,=$DNA-"(%Q MBH;_3[$44>6F=E]5)/S$ (^M#6.K9M^'5,[: MT^>[F\[TB5_&;SHOO9$YC^M_B;!8U[CWHFJC=87KF?O*538_E-X6I?*K^'J? MJ5ZWEXN+ E:XN;/?V5PLG3N@6QXNVOI9L,NP;40849N1MOV^>,.P;408X8H1 M_7]?Z%W8-N('(O>^./#[IQ;B3351'5T9CYURNY$?MV>&/K9?YMA"A(#PAR;B MB8'[2LI,P10NF[#+JFA (;T3N80*16 V1-SZO2 #QPH$_K151ZC!;W:@$;PP M(N-O<* 1#C$BXV]PH!%@\5BKWGOBZ2FB%%WW;B/PZ29>-"X[//^ 9-22>5N+ ME^:]G(-0S&Y(8MM?UNE/8XD(R_AC!,&>XUCO\7#E4BQ+BMB7Q\O'"W[Y*N<[ MKY,6\'#V,SQ\^NA%$N2+]T430770R11I)CF;4X[9AR*P%>[(='0S$^'@(AQ< M1/\1#B["P87.M?M2'%Q!?K%-"^9D=O0M;R8P=&(C%7TFTAW"BS Q$;21,5,D M1*]'[Y"D#S4R"KDIW6!TRJ7[2:-R7[#Y1"T1;UP_%6HWPV$O#Q"Z9#H=X>:<<%!Q7VO0-6Q=50EG8D_/E1&];&=FG<>6JEE?&)0'97]0$>= M/@"O.!*U(8)B@0-1,;@91/:@-*",AYGA[9W!WTS+L/<;SHI@>>ZZC]C,_-A: M\.=103BZ$X<(E!=1_P^B@G T[ T1)"^B_A]$!>%H61LBJ-<)47\47=S%O'9FB=;3\[ G""2FF!>2WPK!>G2A%88&NR'"YYV0T(I4]LG"]8Y._5O0 M>2=$_=\S*'I8USY*34LU?^B;8GO#;152<.V3%@H/H<-S4JDJF*H_1OYF5\N+9OOV_<] M:S&'!2;.?B=3L60N&4NF3_A._OCAK2] ; 46N8\F]*ZVX_Q7L/'^.]87 M:OE>I?W4:HR5FMPIJE?)4?IU"*M*8]Z-6#;4T-*]LVSHL*'A8MGW,[B+;7Z@ MMV_;P_)#8O!RD3?,BT:M<%CV7=K6[>TBJ8C=AI$6[K(%X4)J%V"%.2CTDXUE M^$S$Q*%&X.Z=B8\.H?W/ 8IK_2WG?CJ4/6R^/0V?B[WY^-4LR;/+Z>U0%/;, MQ7C3\# ;V/EM<'TQ5M79;3=^K70GU>1XWG\BVAA"T$(L+V1/N/;>T=GY*R"O M!]#)W[!HYE^R\Y8JF7*S^C3/MJ9*]Z&7FR*3[TI&>L\&]%;>3>5G=T^7VJ V M5A:+;-N,%Z6N2GDWA4WI;(Q/)R+F#3J7YI1'KKUA0CY&I'U:9)UZ$XS7)#6B*Q/D*RC MLH116<*0K':_9!U5&SR9:H,'QFLE GBMQ'X"62]OLW+N3LP.QF)Z6$57CZ-^ M]N[/O6CL'WHHKPT.M%XMI/(]Z=;BV_%XUJY4>Z-Q<=@3DB1TE8YAJOE6V.S%"O>8&+U9ZTFV\#;HU>X*LRO-S#^)9F!?; MR4JQ^L:C]+4XJA?$JJIC"R$%$,]$+)WF8SQ_P@C/L&G,J'#F*4F,X_@.?R(N M=K]\6Y<6I$KSNK#PC(U&Z[*3J]YF;\:9F]GUX,:<]NI&"X1%^NSW>N.Y2$B$ M&F0:ME5_=XSJ?H7$^Y#5DH&ZJ4(ZT>LJX^0-2M;M^\?A7X+=_D!@F/>]45X4 MI"&_5$J-6?4E7^KUB761P\Y),I;,GC"(-6S\$]65#874^%Z5'[\KFC-LJSXZ M�BXU/$-89MU=\=%OG%T=\_M;OLV^>WM^SX85%>"E+-GJM\]J4Z![N+1(7! M\%K/-_A.P$FWASKLO"H:2#[E:ZU0Q'O#?/OMHCQI.BC8@PGD=?[1$#4=%&A!(,^I\#Y"Z?(@+4=70WE0"R6S6K MG;I:EMN7K41&'ZJ#=J'5$]($_2D(L32?/V#B5 PW;1H01*'H,$;+G M^.![W)_O/&2FC;PHE*OVS'S@A[F)<3TGW)_]#/>?&#:4A$KCI#4Y8$/=WN0G M3'#WQ!8I M^DR1.X078>(3;R-CIDB(7N;>(4D?:F04K(J@JN&O_.!E;M<6\1HO6UJ-STCE M9;O./U7&KW,L7B!S.YWC8_G\3RKN$N$C(WQDA(^)\)$1/C(,!GR(X[?OY=1\ M1@-[-OYHWGL0LNI@658>]/)+9= L/%T,00-#CYZ8L*$M0"1_(GQJA$^-Z#_" MIWYS?&I$_Q&X\B>#*[]7 'E_-J/5S3;XRT(WWLU9R+)4XBE Q4XS G.>-IAS%VQU M%.[U"X[U3G1>R+=2F+^:\^?A6U>\?>H61MJMO;QO]808I6*;B \3TZR#0-ITI*S#%$S50IG M%3W(\2G?^03H/^K9$9X!VQPNG$%3>YX%KF7 UA'5F/0$1=-W2!_L"Q#Z=N6V%=11V]B-TBS MWO-[A/+3RW4RSG]"+IP9M'(G: M$$'C\8&H&-P,8JB 7)3Q,#.\L3/XFVD9]GY#@#\"M]C7#;R-$( M\9T.$4>AOUU2*HM4_P"F3U^R$"BB4J(_K;DI-HK/K_G'\2MO%Z[OIQ?UWNT0;QR)\Z6Q/W/"15>/+GV^ HIW M=!6:/"WI$ZG0$ +QCD[$)&IW.D3\/:-YAU5UK>OA[/:QR&?+\:(]4%M2\>7U MID547?9C57>"2#X\YH6HBIJ$8AS>,V*UT(A_4HC1'^!T3_EZX^XW!/O.,F_5:Y[%D9FKE1/>R975R?;/8GO]YGK'O#32WN&%;)BP4G\.&/.)[ M4Y#YT:BYX*]'I?+->-)\N+G&IJT ><3);"R93,026>%;5:_Z9MC'P'+^^X> M%_>LVX_ UKOC]4>ZBDTOD\YD@^Y.3C2]^Z3<= SL73J>U5U_F8HU[TS=1AAJB%GZD_' MJ0?*;?6A>9MLE<5JY\H6^<53^6]+''S$X-+KJW%K7JG7Y8ETUXVWD[P]4UO MX!!63L3X7#;B[_""10^@M,.']CP$+.XOF7I+-W4]OWRNR>W)G)_HS2Q_D6OD M%_4]<_#V#-CV4W'\4K2D\?)Y:N3B5_6L=$E,;^BOGDK$LJEU'_JDH>#?#")[ M &8.'\;UJY5U;B$56Z]"(\6C@E29/IL#^T(^L%*]OR@-VG>/MY=\PQ[?W8_G MQ?[=%;&:"?8TDX[EWFV&1)UAILZHJEX(J// L*=D /:4W$_P9O;42"<& M/0WQQ7JO,KR:=OKI2NN//47L%7E@J0U.8MO.=(L96Q&[5;/Q)#Q=7X\>;^8] M[+)"N":9BV4VA&LB=H^J#X:@^N"1V?VE8,;;+W?2:[>8[LC"]+8C+(0_!S9\ MR*D5X=(^:H?F%$_U%[X)]1Z#"B_Z@]\-?& MZD*W$0"40KQ,2,9Y? M3TL\:7A5V#@GJET88ES7,43(GN. [W%_7BCK=^W%;,*_/IJ:-LW.B],GROW9 MSW#_B4&ZVE''XP@(%M[[H^]:*C!LJXX08]_L0"-H62C(.-2NUOM9J/>ULG+] MVB[(?#&=N%]V]7NQTOESC\M7%::C;WDSJ2'17VT&=X?P(DQ\XFUDS!0)T>YQ M=TC2AQH9A322VU1)3;H1^;M&3>PNG_+R,&%,'YMHWDND(* M%UM@L4'P[2.3[?3Q=[2T$WZ'+HTYA71,QD0C(X-#DZFJ+Q$*!.FXJ2IJWZ?/ M;P31^PLALD-9P?UZD>OER.:+M]NVD'U,=,4G,7E]/[ZM=X+E37:K,KBE?SBM M.+BY@7C5\"-\O0J$'50>5@>M_",?S[VUKRJ/V8$RQP(F32H0YM.Q7/)[E4$) MFXZ.T)$1.C(DJXW0D<5:O+_.NR5)OSC5)74MZ:JI!;S'N)#$3/A%0BQF?7HV?[ M0\;_-!4101'#J04C,HZ@B.&'(H8_U>M+\8=;5"&YB?ZL)O0NJKOC^5M!F!FU M*R?%_E%YFQ>=$"$PRP@A_:8*1-_&K=+A8O'K%+,+.06:-[]D,E*[$?XRPE]&:C?"7T;XRXC^(_SES\5? M?N-P[R=-Q<94>GA3ER_Q<4.[S=TH5]<=Y;X IB+IR/*>K7AB6-6*;B \*4ZR M#0-ITI*S#%$S59KG+7JI^"=S;Q7@[ZCQ;EB.)6J\&V$7(^J,((D1=8:6.B.\ M6RBH,]Q!7TFR)S9)9&I8(V3 8P8:()@9WM\9_,VT#'N_ :T(K>BNNZ\;>+/C M]/N_A.F",W55D;G_XLG_PB1HOL$=S_&11)L!-,>F@E $XT*X+Q%WA %G=VPJ M.+K%N05V=^Q]B;@C#'"P8U-!*(*1(=R7D&6(G7C0\D8WS9+KE907DFK+- .- MS!X_9"#11"5$_UL86,CPE<4'IQ&[AHX7N#55;=E)%1MR01?&HE*(U^:9ETJ^ MU>HE\B1FF8@E-Y2U/^F&LD>7:EM ?L?FWJ/K_"V8OV/O2Z3SPP !/#85')T[ MMB "C[TO(=/Y7Q2K_2+=G*VEA[W2Q4NS:XO:T_@JH>7;V2'1S=E/Z.:PHPSQ MF!>B*FH2BG%XJXAU1>]JDD*,_@"'>C*W4(=$%0;Y/(GY7-;MOHK"P.B'3P(O MF+W&8)]9WZ.4_-CKW*M%7GE.%>3"ZS#Q]/ 76=^^-]!,[X9MF;!0? X;\KNU M=%M/U)O9TABA?ORI]-1Y7ES->TF>M'K)QM*Y;"R57._E_L-9@463C\T*@<7] M]_ZBP<=>U_&N8(_ W[NG"XQT%9^/26>R05NWD8[D>'/^5DXDXYUGN9B7JZ4A M,'7Z[']CT_S>>9G%KH^]KI/EY?V/L_MA< ML'?N9K'W8Z_K=+G[TU'VA:;W^,>77F^1+9C#)+-4J,##F;'R*X]I>\?8V:,S3J89]2)CST:G_ %R=#<.Z0J2\S>KU539Q MSU^6&T)CU+_O7MTW:L/#*EE];KX-C8=.;OQZ_3;K"!?/B8\0<,NO MSQX8_)'\-J??ZV.Z_.P)_EM69K__%__C#"NI2#1 P(S8NUWY :]A8I/G_^<@ M4D+"JA89SJ(3*1^HG>V XLY35W7CUW\EDL(@P;,AX2^_P(=6)/QL9X0X48+& M8:*VQ+*-TW0+3PSZC.%=5/";AH:HI<7)J._Y<[3[@ZY)>K*X *N/1Y+O<_G/**H+!([@7C1_$S/!G< MU4W;)1(%U!.%E)C-#I(]D9?2O52*3_7$M#SH28(L]H5!BL\F!V?TK?O9M349 MM)6VG8T5O(TM%DIW9>ZR<5.JU:MM=BE:JQ?/R9;0)=6!@2V]Z./1BL.BYEZ7 MLCYS\HFB84&Z23#W V_U[\'9;S)KNAY+Y_R3Y]S9/00D+XB]B"8KT:N?4[0F>I[07 MK,.*38;7J RPE:Q9!2SV\:TE!9@>_ZT+%1ANSSOJ]5JTC)XUA3>RB M(EK<-,>W_' YIV:DHME(+ECO/->#QX0S#F&K;XHG81DVPAM&C#57'E/[&\MB M59R:Z)?SPXXFP4;9Y.)@0)*3M\:QQ:';UJ^!LD"R7RHZ(IP>:1 EL5]^7_%2 M"*%A2?V._Y5;]O[EME-2/Q=JU:KU5JQ4*]PQ6*Q4:WWL'" MB6LV;FK%6KE-*7O-4C\TG5^(IF(V!BLTOJ3_KM.YFFUEZL6,U2Z+K_5I3Q;R M_%2;KU'N'E5 P Y;V];MXJ8N6K9!-&-CBNA.87--DSFR8OB\:6 ;3;.\+K![ ME)%,(A*2W#['HBCC*5[BA4#@QU%3FG0>XTK_OOAW@0.KLRT.1$-18>I5;(]- MN7]AXY)@)K&I6J0&*?E-^$_,_1@&7OUPOO:);;J?P/#L4]TVV,?_X,^Y$C8& MYB"#)=V8ZG0G8UP?#;&MHGM;B]WLPA3/DRY"2,2X!"\DSLD2V"QCW B)\JN- M;61D8(6E:-P5MC)-79LIJHIB7 7;F5B9Q3A\0"(W5/4^5F;87,$2!Q[&NV\/ ML&-+*L^1&6/?B";OP@>F.$#6DD/8@YZ2KK_PA [AY50YTWE\F^\;QO(Z$J><7ECE]9#0&M_Y=;V(ZM,Q5:$Y=-(Q>[SD]&UN*8O*VF&]/.[VAW8P7 MX*IO+2JQ'SW\.>ZH]8B'FJ;A#?BG6JR_H+&_(37.N/'BJVTNZTP M2O@F)AY)F<)Q4?_'6]QQQ/E:C.!#_Y\;B3,L0!#"1&0@3"14*L(@ADPH&IB" ML ,W1)C&1%5=PI^Q=8P?%5VMC;_N;L:_F!RO%@I-)L@Y+.[8IV0LWY_^(52* MOPQ87,)B;%2ZJ]LT%/T6,-,(&Z++N#[7\(1,NV\JLH+U%<+"L:"J)#)BL"WA M^A2V2O6PY55J\.\#4I4)WBF+[H3D/]6OY1HB!,MX5'S:0ZQYY]:(Z;%MK/,D M6:+947A[_(H485AIWR@7KX4PLHZS+(ZNRU'0QV&;!^2$T1B)(F=V0SH[1CXQ MAYA%+*S1 .[,.*8OKNS)%'.587$-V^ N'(7'%S#-FIB(I5&,F]-987(<*N"&@<6 %FA""]QR T.?<#-,Z-AGQ7)]"K5$ M\(P-L#X,QMSB=(K/A3AQV%>GELC4[JN$3&%)"K$51(N\2=,M;O/*%= EE$/Q MW[#M95OD:> 4X!,+ZTCXO8]\4X"/R?>QP"!"A+ V'@'K)DZT(/9!"]$&IHPW MJ8T(3U)63_$I%L[$=JC1%_&VQAL+%2V]+>6QJ8=?9TN(J$5)U4UB>.-U#IEM M:&!CT8"YPPY*-BD7(OEZPA%Y@,_?W5^ZO?#6P.Q@%_MP6XJM0\SS\;Y"D,*< M*,\44\;#&)0^+>D'VS$'X3DZD*-4I(969"MI0*8$!""!I>@PXV M\0PJ-/N5B,DL4F+8*L1B@L@_')"JZG/SO #%2(_)O)].M=ME9GN<^B&!XQ$WC EN2/(XXMS#DL/HCR0BNF64KTX M$_&@V(W!UM:,6@=6<#F,I!WV)VPO@GEFJQ9A_3EV2!A/@5)[ )EV$@?)+8(L6K^H19,<'GP&9/AC$<(41W&DXE. F_ MH-B^2+R!&OY97?#72Z$SEJK3&H%!AD]!=^DIN4LXGD%+[5+1\MCF,Q=;CMP&4M1$*EZ! M_B8@OI"S*BKW3=-VM"IE"$)!3/J#8@4BG+@F*7X>6?2KJB*26TF%#>57/P,6 M>QV22,"6[]"WP#(\0[B$2^1P$ MCHW'I]+&Q-,$82-6&J_=,WRX=AX4JHF*0NOZW2(0=A9UX/S9H=N:)H3R1 MI;&2,+*7-]/>0[U06(^!;WYN2PP\!+P(.\&1K>!\>W%$EF36.M;M5"L#F0UM MA3J,F"2]8"[7=M5249?)?09A9,=%++2+KAO8T:>8D'()/L9Y%^.;KL*W[ ?A M@)++@=ADA8(&!$3/J:^N6Z,B<4R(>/" GSE MYAB'P0V1C]/QE_LZ-HA]#TY\LV*6C+L]HFKJ@5<3IB<;23G60"BN8IY6N9&" M_6U#&H'?"HK0GNK4VR!6%CCKT-,![[>B36UJG<)?80ZNN,0&$Y$]H% =R;/D MV#B^>1(9].M )+7M7HZ0VMGO&[):X1?7Z..Q9L14<)8$\AB;'F!;85N-]JS M6_%JZS2(=>"$4+]ZS=GS5-JW[,0O MKD;72FTTO&)M97DL-B([ 4JV7Y[UIGO[YL25UP\=$[Q"WD#CC-C8@EW3G-]B M]++3[H,A:2DDSD-(T\:&J(6,B:.@UD?>K!_6?C\M;$XZ&:%3(G3*A^@43.3, MO* B]]WK>,?$V.%2/K']'>^:,<<4:ME$8@C@EL.,CA1F"1"POR;( M@/PO:%R1FC39_Y@^A\!7X)8X0 I>'PN[$W$-+H=HCF)> !V+=J200XA1/TKQ M?(084SBT.93CHOB^/!67])OX$VP+!SP7$@[4(< @+IP'J0>$^A:]E91$PR Q M'Y^OXH1B7#]NX^)\L<8O6Y!S";&VING4T!?$#X(I*][P/GM/MI%C?#FR 1^' M.<)^5YRH3LW% M!E.U-BTLA3H'X^_X+[.+RY!4V&_P#L&R\&MG^;>Z79A9YH MO5S,N\I$'UP^W*5'QC24%W.P('*@Y ??THX57F7V&]PG.5,C/R!O:L20DQ%1 M,O0J&DLS;8SIESR)Q=>(DJAWN? M+V\&\59CW- KUTFIUJC=)T(9:W.6PGEK.9)O#QN\2=@ZZH;&OQQY/J?1;LL7 M$2 D:M+0EIX>$L&Q8$.I7<9K!- M9!NAK)A8JT72$#0V\Y@E> MJX2WQS$J% ATSR#20]! V)(FEH[A&#O>]Q5HB\IXR&=S48MCZT09I?>7_D!Y MX)"=V6^P2!V7B$*CV'W@QN]X_.J/9L/!4Z$ PL-9'EN"PZ3D[Y#K9PULU=M" MQ71O??M+\OVY ;2M#P8P"UMSMH;(K]43. ^D#7VQ(JMI^$ QC6Z-9.<:BJE= M5S-OW6I%+&G-YB!U.0NEJ>4L13G6%9%O H2DF>IA-RN8A/"AD[L8T\(,A, < M)\ -@&@,V8V+8<+;&/8R#LZH$Y^NU"H--T -9#I#!I Y#,=-D#729A#GJ>/( @"4,.##(^>)U![0NNR0"$:XNR14LFE/THG]:Q!R MUBL$]"I "+-2)1VL"0)%B88MUA/(-ARLHLF/J_X1)_!N !* M9::K.$:^RW,B/34$WP=8++F5!^0KF2^-+CAS73J1^PW4L/74CB(2FF0)UI+@ M6[&-6W9 Q-M$Q#*MZ^EL,O'0;==F5]FF*0A/\G ]MK3YN?!>=CD;04[>W87C MR); 7%Q8MS\\0>$,HL003S9 MK&[1$H? 7 <_C@T$'+B&J9//A$B5 $F)GK5 M5< %Q)RD^&!)$[B^?6.P=U]BDG.G[+[.&,MHL; .44_5SFX!KE+9G4#D_*ONJ:UV0)O\/INR?)< MUAL\M^_RSW.]T[7%J[XR>.UDZ' LKX^ M5QZ\/JG>0E#BRH'?;7Q]XO]+3-C@C\8'N^:]7M M_%'J_ =D:/8\L6+0Q.E'&]HH)G+GN8_3H"]LA69:T$C>!(SNE43N':3!L?L@ M4 BY_]\=JA$=\Y3?*S7 ;IVW6$[KI8(,JW<' '-2\PM^N\4&X,2>L#)?3A6P MK0[(Q;*SG*) Q3"'2O!CSH\U'ZDXM7R[13$5C]\(O%WE)ZWL\U/GZFD8R/Z+ MFTCZ)=O&$HG&ISTBQV0;(%_RWV/Q5^?VWJ2KQ3.?J=7/3GP M%_]R_\3%E^S?_+5XW[F5AT:W71&JB?K+K#49M#;N'TAL$VE_MX5WXN/=?'EM M+;J)3.9RV+IYG'7-X=GO9)Z#\S'7$3U_VK#@7;UU$G*R8AO8B[(-&K(>X*, M)."?R,AOT@#ERPXVY*+1)0S\7(61!1NN-T:MJV$W_C963+YREY9G\LUP,S__ MO3SLYHRK]$)LJ?RK>7N7?US4T65]?O8[$49Y^,ZF2:V'0GOQ5+CO/@A7;\46 MJMT\WL\/)P0'K=3;_34^G#%JR'>+VTHCJ0AXWP3^ $+P^]F/11HI,KB1:,AS MDQS]J8[45O8'@JC"-VV8_79,E-3C$6*?Z@TYV*Z.RYG7=+S?D+KMBR8V(M.1#;DJ*V]%::1HR%BY7HB,R!]O M1+J4X7^.C2?>/F4?!YEVCF_SU9NVI?;:5[G"@43@]?5K_M6E>9:]DFZMQWE[6KZ[EHQ=N=Q %]Z4:F+)KWF7F6?WBJ]=L2 M:KW<\UAWY#XE!K^J2O)GF7=ELE]^#WL#%ZE0GSH0D>1874:X'46^RT>X4J77 M_-8(;;J '+@P)=]PG%.0R_=GI-D MI6^Y.R:%S.@%,9DV!'R&L!W\I'0B!VR- F6Z68C,LQ8,&%@^R:2ZFR 1X05 MS4=0LV=&438&J9$U)#ESG*08DCT!7"9-H@-0"T'Q,S3(AO?YLR7I#T-2\F!JQV1"=I"B,U\A#9PA>"D@9^M9.%3IL9,O_^&=%U.8'H49 M;,\3#*8]G%JF8"K*%(PR!0^0*9C8*5,PN?T=[V+ CI%X= .R&Q&UOC7=J)T5 M>NG;Y&6\:X]>%JA^T7BH5T.)@:7K.(XZO:$8,U]Y$?)!(+/-H%IKJ%&#@VDG M?3)!K)*.HYJ\2E2@5@$JMJK<1,!6 @)-(>!PR#]G;T0+R \YI]>L7&!:!I@W M)BG LH?MA2T#F1TBAK%S-'J4%1ON*51R1CPZMB6E04']@I^N85>Z%>FXM(Q M&!73S>+P&7ATTAV:FK>E4LL:<(YM9P J[TS'58LK$_#9J,[:L*I5)8;]H_ Z M2+U2H!,Y? 6#$W(40B[6EA;#%@5WM))Y!*04HT$'"R3%,1'!\$ -C>H]@P M-< P=0:W+5\JK6E[Y6-=F]<2%_[B#PPZ3DG63P0L6Y!T 2$$ZI9K$!*0]F>- M:)XT09JR6E\N\M/)E:8Y5)PY0LB*N1D:;",=EH0\$B^I5:4O)Q>@D(]"2S%C M,F5_8)8?XQ/8R!74:)\6PE[G"7!LU@^&>3)L.[P"?61 ?1 '>>+@]N\:7:^\ M*)$JZQ)DN<*N%.5**P9NSD1;!?1RLDYV$Q0DJ3"G+5UL/B3:*#(8V'3TH2WB M,[80(H?A?XKF79)2@3.@,.M(!9>JNBX#GQ>_EQ4IL/4VX:*2YN?"R\(W=D*0C7>9G!T-XY?>$E2,5$K X7(!W=V M3'7A3W1:1X@#AW=(4C9^<RYLGT(6$)@$&"+ M+0-120R##=DV!S-07'/#W!A8(;DH-(U$8>4E5J=$'*= D@J!K#LI<) 10^56 M,$3@%&D']2E*H[6!S[D*2RWTI[PZKS&I5G5F'PCT^.?BNM8TR\Z76X,E+@E@LK);*P^N22\=>W7D;2"&,6$LB=SV,/WLNS 1 M59R;7I(AYGDBJH9@IU![@(2_:.4X""NPBF<;(\S4"U!RB6:BDN ME;A'QO+6OW@,9"-S9Y#*1I_XSGBDCMH\ VW:&>_30L[^_;T-V%[.CR$Z<\Y5P]@>D T M?YRE]/KWRU\JDK"]!AG34 K'B1,K7L%HD12Q]8PE$PV=\#,V<^C7\'ZI^GSC M0+.+1)+\FR $@7\0 F( DX!\P'X0/#,V!&)Z>+\9I0>M(5XT--Y. M%;*#9.F^W*JWWNL(0>YA-'NRY1[&Z0IQYVPW3'US0XA;Z_KE=7)_\=H5S3?S M9G@W*JF3N7N]=\!=2 1V(=%[*]R7!?VZ]<;;/55(6*E717XL?,TN7%[/"OGD M0[O:O>;G+70M-F49KJ(.OPO)P"XD>YGR_3RC"SFU;!?2 Z$J%-']^(MVH9WF MI91D/6?&J/HXZ=\_\7I9+YS])G;2AJZE'WVPPN[8OO+:Y$#C$#E>AJP[5I+2 M;=5QO +?3'R1^LZ.5 L*LA@']P&*12*67A4% [DF#M4EKF8!@X>H=!I)(*I" M5<:(5 X4-6(#NKL"<55<*B9U4,D7P<1;N8$XY]I0FLFM9[!IJG!+XUA9 M$U$R] T5(V)>10=Z7>;8%62!(GM&9/=(X'3[JAUXYA;1C6"#6LNX:Z10Q0BW M0C&WL0NI^^V?++VXHOO-3$$\8Y-E6DY$F>G/C_9T=0>]Z@S>1G^TJ;$50Q8* M=3L52=\_+DCE]H_'$D>/;QO18G%>*,@CUO55K;"P%\H382_Z$#3SU6IGQ<%( M03#P#GSDXWP&E=O!Y%@-"P;LI'.N2[*$-XQ)S\-WQ^=>[F%"D+%=X'.-?$MY M/P2)AWYAM5Q\5X5@W(J>?\M7M)ZG'JT$,GU>R?OW81TN=Q8W6ACOG+K#U M3T=AI:Z\5;+$91+>#%0)-#?Z,:2NG[]8#3SD;GR@0@.IB$>3L0D5KY<7="H6 M!:K3D/.8&G A3PO!, FSQ7;%^PWW/3,(*5%[E?C$T,.+N;^LHK[AUAQW5L\^ MLDTOP+="$WYR62,WKZ31! H4D>X[U $RL*R1_11M(E^](E]-?J\./SEQ7_;X M6@DQTDZ$GKY'5)Z%*HN62.LG 7NL"PPL*X@ M&BH4G9J0>/Y^)+/CR-"*G#J MJLJHU72X",E!$&-F(N[:4JRF2SLL2JPJ+##SM70 M0!!0?$=[=KP.#OX%K<\-IA(LKD'7[*P8=!Y=LKO(%7?MB$?H>;AQE3# NE_L MJ[+L+"#F8('\JPB6/&,/EC'/ZR^C(7&-AU';3/, D 82%[5P*O@#7J5 ML!)?)^%G=QP/V2%:#-KQ7=$7Z0A]$:$O/MM%_%(="^E,GL\EA31KL;T[+B.Y M$RXCM1V7\>ZU2"B"C!^*TP%!1@;@?"0,_AD<'EKQ'[;"[,HTXD@U).:,(3%> MB93>\'[F O[:M;S)'EM8^SB2',$?=[3V-98^^[?_#TR8)9+"(,'_W?SWT>?Z M__^O?":;_\\'S:[]@F&/"_BDC''O7$49+QFNECT:]>Q9UD['#/33\>#0:QCM MB, B F,$9N+5D18WFD513?[[.4<9D=L8[PJ/(3X8\3&GVO.I6(^FB/XB^MN- M_C0TI.3FACMUW]4K+6;['Z"^6(A(BX\H*YR4)7)^V@KJ3R=N-8'FY."".Z4& MM=4\ !+E(EXZ;8<^6II$!KK1^?/MM+C9W2&RR'6TOC[D0,7U!GN"7E*X H; MNI#@3Q"M:LWN*RA\@HIXYK^O>_FL.R8\Z1@P< U/,1=,7SB=_* 2^=2YQ6"5 M259+-3O'M=H6T,74' W;^0!^@^@8^*1XY(S$TZ <-KF4V6KQF[[(7-^YR6 - M0U\^E3O#<#8K#DD@L870L1NZV3H79QNAJ1S>=)-X2_Y;MI41MUS^CVXAE8F])9':_P:%5E$7V><7XW=[8!)?3/FKV[V0>JA.DXDF M;6RS#=%9?\XFLL6TFN51O?N:4\JY1?LYE"WDW:X9;$7'$5J%E>9"7DZ"&6R4 M@1G,9F)&,61Z!>5U@"58?FA6W(C=VHR\-MQ),!V 9 -F3=8G]_CPPO='T,37H:F%=E0QSX MT!M)'WJC=--3M.FMIP\I(4QM>B/LQGFY7G[NA+-^DFEVL*J-_+E>W+>GMXWQ$:UT^P2;G<^A9A M8NOC85ES(7=@L Z\3%#R1[>]"K0>(LD+OB86^*$2DDB.?1"*YH#0$C'G'I0T MQ2(R-X"$=6W(;=/QG&&?NF9&3* -M*]?LC-W\O!QT/1W-(Y4,?1)D:%]'Q1K M5&2-*+;*W]=I06K.;PV^:"1K-X.'IF+:&\JZ;WXNO(AZMAW0X@AT/^SO\<$B M])K<=%MH>R:6FUT"W0T(BL)Q5K!%*=N2M8(%<$T:EN#C-N6VL VH:#"Y.+:2 M6.:5Z + 6=H $EE @C !DNAIY.0G:/NSL!C@/^Y9S&K3UQTB93JF+*2.PQ@P/0._N;-]V MW*D^X"14<4F< TM1F5LD(65*D2.^GC%H:E'8%S8P$>WSY/1B)AEX3MH\.]9S MKBTZ6 P"Z=+ACI_4:B!I!V1DN%_WI5.QQD-L/(,>(%L'1>H32H)7$:+TPS-" M $HG][0L^<2?WN!+*C5]#$8(WNO!Q.0Y 1J0AM;8H:? (_<42*C'R3R@K+'T M:#+F8!.6,:='*$5?8GM<=QP"@P!I8(./M&$%:NT124 :%1*&)Y0#,(S2+-P MQM_F2F\RRML&PIZLT^(/NX1(Q=H:Z=C4E%11P904;$$&.IMT37(319W[#LJY MSO"4=%WXD"]@30%+%%<&XP1F0-\9%(VTV:;)VDM#T11W">M?=5,9O8?(]QGC M^ [3785O(['1S#IST?P%:T5"0QMZKS6, [.DY34<:4KG1('Z8*13.?^;&VX]2UR1 !8E^3$:#[05OMN M)= %7S+0")!X,P=#1XQ-1^/0CI:Z:07RO#9/V\T?(QJ)824=>A^)IJ<7Z2A^ MQ4V(2'07.+#5 =Y>1W_B03"74K7)QG ^)X.OJM/CT U57I#^K)BTXQ)IM MY M<9.IJB^!:&A^-!PO2^K;4F:(-L!C"H'QMV,\.&@[#Z0L^K-O*A]_,P!\\WTY MQB*P],!)<,>385C]]!$DP$^\*V$0+ALJ,VTJ+^5+;O/T?='=+/9.I^J"P2C> M1(0*8HXQ0X>7(5.0I.,!V;KLLJ5-V%^RPS<%@&4B %@$ /LL SE>8E/R_U> M/Y$6>JD^2O9R*#7HI08)/IL3I+[$YQDPC'ZC(_5RF5G[LOADY,?%ZVJQI^=+ M9?ER",&!U2?S=<'*Y.I7"A^_C"WM\UEMHY5ZGSF:OWMQ7[Q)?NDETI=VY)Z+P7#TI>S0B^]_F39;E[RV46^ MQ(OYJ^9#I=U04D^M7F;]R8<[7BS=+06K+"*K===MH8"?7%_1BSQY[21? M;OE)O9>5-/[RYDJ#)_\:7W@[S>S=6W]!I]NT()<:&J* M0I^SV?L[79+6MVA _!-L%-", YJZ-M>-,1X6+%CL]WC?9@U^229E&WTO12NQ$S6S]DKE.FDU_@MH>VV_R'LG:,$1;S^ MAPQ#PZX$K9$OZ+W5S*,>LTL0U.MT8F'^G70>]!>JVA09#U3W.7#S15?&^/LO M^J7,C5-^AZC\]0CX@K^MI>Y3D]?R,G_+ZYWVTI%;'-\MLFMK?B]$UYO9+WI7/WLD/A3=A#X\W3FI-D!@E2?;*+VMQ9L1 :A M)H/$/N3>L1N07B#\,\E=68D+NW7N]R;OCKW4PW46?-\S.O:Z_WL/*R&NQ7$[ MR9) L_]F)!D :GRV^NQG,S)6F@HF>KF%5&R]"HT4CPI29?IL#NP+N;!S"H:O MXY__WJ) <8BKJ1<=J?FXW;I\B)UF[Z=3]MPFYZ$#)5$,K6AG.B> M5-.Q*3?BV(AC_YACA5Y1E*;=0?VNTFT;E:OK9;UM2XOAX3EV@L\IG9@UWLIQ MJW!U41T56TL=.#9#.!8@95LY-NS>DPN/RY#QBX#"U"PGRYO"K$_!0PJ/L/G2 M13H6_7[$RQ%E"-&#-BS&-F1^^#,8?=ZCSY?'_1+]L]?KQH MJ2\+P1YBQL0&0"*[GB_]STE'$59,@J:#+Z2Y&4$#@23Y1!&%_?LG1PRE'5J8 MA7"UQW-ROLA&>=_G>7"AHS73M)&\*6I1*+S%T6/IM=ON7HJH8UWDD_> UZ=1 MBTPBBEI$4B&2"J=E(/VU5$BCXNTK+_>FXT1:?[IU^%-&UOX#LL9<5FO!LLF=6KZ^RB7O^LMP0 M&J/^???JOE'[@O#L\O&U<)58S&O\ZSPYOWE*39/W.4@0)*9)1N /9YI$K!NQ M[NFS[O'N0@5]/&],E$2N.RD7&L)<68BESA"S;N;CN]! P=]-=0K\OX>$'0^= M1E?43:LQ( 4YMI6,F[83R>S3)2_QB8O1XJW^R NEPC",>;I%EOE9)9F?;?SP MD>KB;,I 9<4U#7'N%EKFIK8AC403$C"]#%Z24\=*R*AB7V=E96)N-1#G\YA7 M7H8]82!ETK<-DU4*-9%HL$Z",O3]U:>T7B]]6%2A[S:,%G@WJ40R0J(<@T+2 MM.@P^X9;_=;IGQWLW\YZ#9!4:=?V)5\]3HG$-BV)4J4%40J:7 B40RFS:BA; M2R6.I\5!ME6QRDLKC]#EP$XW[D)9JK;MU'YA2V78/7$R_0\77#/G+/I(*>R? M+U+C<\%;!,B?K63=6^:TU\%3\:[;>!@\/R:O MLXMV8QY&LO:MZ,ATZY^)5W[)+4>EN$4O2:%[5ID*JL6MT96_1B'K B:PJ5' M0K$3G?4)QN)95'5*I)@_9$BQU^>^LF=0IP'AJ9QHR>8-M,L.>F,%XMJT.BHE MI+<M^Q43VSF MKZS6V>]4+"L(QRE>+00V1NBATGB0'55$<8SD7EE/S:LW/?B=C0F+=Q=]44G]+T@NI0$W^33AUJ(75.M0;>7^U3&%8 MB[8=OG@UU:W8)BMYFI6=Y4J9H.:U7+FGI[/E22CUU9W?8O"M MZS@ZZVZ;_1*@QHTE%4E1'8=,H2YB.$B5Z^C0:?M]O^9;Z,-W^6.CK-.;C5JK MV4RUQ@^S=%F^TX7'V\805&,^O1X3.7G5N/L&/>8,Z>9V,'TKVQ4C/QE4'F]R M-]AVR,;X#4"Y[Z E=]\CLR]?/B^EI%BNCB_J\4:Y5W\9$/LJE3FTPORFQ4.S M4?'0J'CH9XN'=G0IE\LWIV5DJ6>'%1BI^67O4K&K]4);E=D/MH]Z+[YNC M9[]AB1P +D@-/A+[\=\@'*- 86!)*K*PK"*W:G C%N?/=E3=8^D?/!Q_?=8L51AZ[?4L?O/<\?\X' M'Y[V M+%>,>=VG7IGSL\KR;J)\_O;S:JT"[NMH:VWW=.B2>)MNB\)/E!$%CQ3:4.(1+3R6T__"[9RTL5NC:*V]%AH:V7T3 MO=KXS>K27W(?.B6!\PK2-(Z]6\0:7#H=9J>8*A:L7PGIHC<84'L5VM#03:-? M>/=EU,2 MA]P).W:^OUO/.5?PW9G L_*&I2BF%XD@! &1 5UCO3'=8_ NC;Y- MC*P]PH=U 5=:1=^-5F,*_V*7KJ:!\X$GV<3G9:[$S+J924*XO1Q(W8Q9>[2, MG/5PESO4E?WA+)LVN=8C>\#Y-^&HYDU@47X,\H#\[S_!ME5.6Z! +Q.'6DEW M6E4-7%^*<]$@C4=$C;*CKU*VKX.OTS,7GEZMO4V:5L'WSQT1TEG[,A*Q@-.G M]/Z2#*+X.^VR%P+#$" #C,;9IM-FYD+%ZXZWI9$.C5S8,*PM%C?19:1266R3 M,"/FZ,G48S&O!Q1YQM]$J8]4!D4"$-G#?/%(M2Z!T-4IK- MR6U4;L8VG#,KZ^5VS5NTRF*W"U(K'A1-%0]>'1;.P]276%: MSK@;R':#2L5_QV?B*@8#:P]L:%EHI=?."D63.N_NFS&C#) "U>W-E/OW&P586FV??2YOU8SQ6L^/CUI9I;Y"]M7N%; MG],3!4_17BR]1YKB$CZB,X$-: S(S[X@H)#2%]6JF!'&C9%@WXMOV^JU+M"6GUSC!-2UI0T+2'2SP&6?.Q2G38:"N6-MB MM^D\-F=-9:@163Q",@P[M0T@3B+RL0_(=<"GXW)".N;LW3N>VL9%<;[])[QP MB=^$>0Q\M8^WA/O7&4P#3^#LGW.._4@EM.&H9^B52/I>>O*8V"RR_\78=,#[ M VWL:'=ZO '^GA%,@P98Y5V0?289"\)[^UK30?YIT#:6-6-PI#!0-;Q5 1/W[0IO_22K> M985\G=S!KM*=N#I1/)//;II+S9J.G2H5263&=8/;Z\J>&[EU>V7 M?:_#]$B8F:A&@D6.<71^0-,Q^!PMD"$I)OR&QW(&H^OI(_" ;6F]\DMB+LD M3!4(SXO$&;Q6P?@+,'\VP?YR=3IS!C<3F),(>ST(AUP0%M]TMM(XO+Q2K8904$PLP42T 61+QW3#NP%JS M&3Y\JT7S4!I*V=O4_5NW&K\19E6E>WDMG9Y%$UAL"*Y3@O.A43$'.>IA28%V M&5=3+M0P>UA.PRP"]&0*CDDKN$V@C=)J/I? MX,WC0X>A\:#D-^$__Y!%>:_+"HF/7E?7-0-96(@2YF_B=]$M)+]>.!N]^DH\ ML/M*)L6IDF0>D(FP1^P%.L^Y=O"#%;U.;DHXMA97Y;)(.Y'[F.Q$ZO!18Y5M M,CY3?)Q82Q$I21TGDI8!@M)T@O9^$INJHN;$0B>VIDC,4":>E]?8V]>JUR43 M-;V >A[\3.UW1"\+[#W;%/?@WV=8>+*&'72YR5+V"*V'$]QD=; MMO(%CR1V^Q[0STZ'HWQTSR>L7C]^\GG7S'#O/L0=7^62Y8'WFCA%K*UY0-J2 M(!:]DI*('=GWA3*77H#NG&L0GD$@S;RD@G?9GG619LX6-&XD>$UBPVW <0;B MGUC.@[=%C9S=+A+9X,>Y!ZF1.YB.N-AF=SQ-"PFE>I/J=97<3>NF9&:$>+>P MCD39_!QKDWIJ5@K=%0YO2Y@"+\&%!)TJ1MBTYRB]6.,LF#XC\O>,@FP*C(+5 M&,E'V[:Z2\K[DX6[5,90>%Y.* -XSA_+ /[S.1$NB\D*=N4,A-4<1.*M.6*N MF.?)N_>.JU?73&[@=_:)V06*>LO+G3;ROA .".:4V3MXQO==^.BIX^WS$5X MRPAO^2'>U4)'D-^?E7GNI2J]/T0:342';]$(.1@)DH,# MPG[ $G[ ?R9GR>0]$T\4*XY_H3@;ZEJ 5Z4;HK$,B%(G1\49N4\='^Q14+L' M F8J&%,=%Y_#?83&6L$#TE#;!Q91:L6@_3@5!:^)BI^?)CN[T#7VW"3FF MXT%70:EIMZ]HNTW)1Z4[?>]#AV3E/#[K6/T=F5 NV?$KNQWAAZ9_\'EZ8[+C M*SYTV=9631/]"<0.Y HQDC[ED(*%XU[\^V\YL%CZU "J.#=]Q,=D&77*4]G$M%)R#_H93=F2#AON5(/>@W*@T2DY)MB<;]Q8^VC_G3< W% MRBA 3WMBJ?K"$C%'9V _0&-Q2B_2%6-1_8F.7_ZY]ZG*&*G+SX$QDZN$_1&S M!;^@Z1\QPMH+=ON"^;&T"'YA"H#+#U5%\#OZ1W&QX..?.P5\UG]R!!]I]NRN M6/'@\)_4BBNG]J%6##[_*:T8_ ITL8N''9: M)5';;78N8'"W?<8BP?95Y_@<82)/'KDT1\-G"'VH$=@8OKCR'J2@5^7& TX: M:"C2FX2!3:)Z03M[MV,I?LH 7J& #Q-65I\'&W^WKWSVV%>^1G3W;E^ANGJW M[WA*R$&-[CI-.%>:<;(C[[&SW_4 =MQ^(/C=OO%I[OC<\\[H:QSIL@A!%H$2 M!$_PTXIGA;$WF&:K"%AV'4JP8F[@DGF;)H70^,9@\38&IOD3(_*O90;!2HJ2 M9$]L>EOKW.*N)S?@+900NYZ$2PJ*)/Z+KD!?@8K/"X%]M0 M3%FA%Z?G7"WPDL^-3*<2\[&RNYR! @A\,1CQ]1&I@;!^T!A\$9^F#&@>2Y%( M(H\B*Z)!;ND?"'+(?9Y:\S"V[)C8(V4X@II5#--&:)NPGA-@,S_G<%GB&+F< M/'ZZ-DW-75]'5[5U]GQ_7##<6.9O-'WD+^+S6D M0_G[](]\3+*;EORLM[:S6;#"5[YD2X_WJ3APN=E6J>6&Y87+V%2GLIMRBM@# M>>..H)A^1,O[82WLZ*TN(B@ -URZK8* 90IV(1'HF'>-M[,5\:GS%&>BHOIQ M#6BFR!#@_N, AC\H0?"4+B[3W5$"M7Q7MOI+:+)$35VU74CE=(K=/ ;FMABV M:K?XY]30L2%D?BR#5R*"'S!N9A>.HD-C77G^V2.C:^A@O_YS+]@L%78+Z.U; M+*1V53?!Z7P<0%AY <4N[W9E\9&H6EW#< B^S\?XKN!KP/39<2V@SW<+DSMG M_I'GG=K)8]J9$C=/BLH&0$X3+@=9$V=2!,1'G(H/S/PCJ%0=N.P3J=>C8M,: M\EY\TA\<'2;,/Q&W7%&URHJQN K%(.*0B+8T_S\H98_+"8U1Q]@*+3^1*@ MC;<&-V&)E.9&FJA:BN.8NMIZ*B[I3NF.[^??,'A^56\<-Y>C8AO$FU4T6@H- MSM$+B&U*YPV>HK^D -[=NFZQ$F9"^GT@<(Q;Q1-YB+@@:N;PZ'V?(T\G1=%Q MVS!RQJA\.16OGJ[+\6G!R@ORL'3-A[*&?\$7M: R,'-'V"*0G-R'N8[>I9 MLPZ6-!C@^9>JF^8_WCP'V$L%+C=@&!L""D[!SA@WQ!:B24OXP[<<(4&A>=5" MH;E6NW9C,*EO$]%('R*KTY!UU#(:%1J&H6U;,6OX=KB@R>17E68-;,67EE4S M^W;_^,!?/]U)?6TY'KQ:PPWXTHW/'11?^E>]X^YTJZJ@(& M"IC*8EM ];4>?,"KN8'9BB:M4H@"R!<*=V)^7\ HX"@PXHZ(F;4Z-\&7>J\0 M(8 Y7'D5U L"]Y4^9.CV<(2W("!\/.P5+:B@N19:<*2!"DDF;!80-7 .'RZR MZ6[8%B^9MD>S;0W^LF]FL[ ,03I9'9)PHOV!_F.;Q^:39)X/EG\+7'HN- MJ%@[4HC=K[GP%W268 H[MGZT_HQA1KY!2EFIN4)*G_B4(U VHS"BN/QZ2]_P MPJ!>75%D.K,FR0'_BZG$?V),6N>24O7%NC!P\ MI&(_0BQ_\D*R1VIU[MLRX-Z12V.'Z;=Y]+% M,ONP',_!0PB4,\9/9@W[_KXGW5MCY>7JPA27=;EHM'J)]2=?GOAK6:Y=] M4]W)HE*\5>=6^_%JV$OV^-4GQ2?U*7=Q+W3&RKS7O9Y>%,QG#9Y<7]';HSJ^ M;['10S$Q[EI\7>2]]*%[4"?C*_^N18 MKLK)2BTUX!OR8_GEHG>3;/1:O=SZF*5!JG O+5%U;*O:9)BHMRY1KM7+KS]I M])6F:E0JH^XD_3AJW$_FZDUNV!/X]4?OU-93XRY=-_A)*=EZR4['1OZZ!8^N MG=)CXG8JB(^),E]LU%+ZS)3G=S,RZMHQ/5F%Q=OMO-;NMM-:!55N4"I7G,.C M:^[>>EF"G*UJJ:EW/,23T!8G^MEN5VN/L27U[Q2J[P4[/MQ.2D7 MX-&UN8K+9N&F67U.\M<6YI.J?)%)7 SAT;6YCE\'P\;\M7[31:EN=O!D7"8K MCW-XU)GK[EDUV9VR:G+O9-6\YWL?(T)79F5OFL@@U=>V!1<*8QF)(Q0?=-'; M[+Z<[QEZ\C:4@;DZ-G58_!-J"I!5'';A\PS%KPS?0J MZIZSPBY^#;JQ $Q)46T?4F?S(D158N8ZX.F)WTJNK%=GO6&2K#4'7CS3_(4T84&WFKR]I@]N61DBV5=08K#(N(39HH4)/C!@ZZVP<+];- M6TE6XMW7Y6MRFA@EALJ@=:BL"W:?>>H;'I(-H?:6LV?.[W'H#_Z+ M.AMSO$L?VOG,[2(O=AX5^P1R@0YL\F^G"^'S=.'ST?ZZ37PN'1U$* Y"B XB M% >!'?]<=!)A.(E(-H7E("+9%(Z#B&136$XBDDUA.8A(-H7C("+9M-^3^+=E M@)N]+Y?ZZQ:=VV'1!Q7"?[WDW'M7J/0E-/*V_F]@>9*NPIK_[RQW]H=+325\ M%Z;.M;$P77#DIIMS[F*/NQ?_VP^\)%@G\0F)QK:NQ,Z6]7U4$9%_*,C_\P>\ MG1/ZOS=S0^)/N4%(G.=.FQL@(KZV,1$9_$ R2$1D$)$!GQ#VH/W\%YR2A-!@ M\+4*L>Y>(NZ-GH^]I("._R*M+FQ>=Y"^DYB^9=V&^\$O(/#UC?GO?2R5NHQA M7*N/F\D%J!\$D0S )IU^A16#]=VQ-85>B$-.0J\-M^RB(?>Z[5)OE+N?QGWE(9^8L@+I?WN-+B-)F8BJ^7]G\>091Q/R_N],65B_-'LBZQ;[ M^^I].^99BB6YT4VSX&3'=_0B@2205HB0C(H,D]R_8QF-SQ=_/WGFP)&06C/F MR$[5RM6Z/LR_#,>#V\R\E^PESWXG<[%,2G"PLLX6[4_=1>(A/"P3B8=CB(=$ M0#PD>LM,NCJA,1'01T45$%Q'=3R*ZDPRO/GPBER,.!105*7*A]N]"G303 M'F$]^_>"*+WWTDA_&=[-KV1>&2>RZ7JB-N@(K7U'4?D=_""',PN4,>LD>:TQ M(&E+9L-CSZ 7Q+M>T.UU:=ZORNUV5WE]O%4*6?7^I0FIOQ!"S<;2R60L)^2B M0$G$Y1&7[S<8^I5XR4Q1ZTSGF\@SF\DQ,X/.Q7"H5 M<7G$Y1&7[S>H^95*.02/$Z[VHAS;/F:D3]W:'C+EV*_0[$OG\3"?/W&A,IQW#T(7*M7 M=G =:YI$J]Z**D/ D+D6+,M0^K9%L3%.+2LD-\4E/%PP#*BS2VK4;O G+UZ5 M6TEM-E)=N]3/MJ1Q6U<3\UZ6PFLSL4PV0M!%(B82,>$0,;M'H$,@8M)W5:2] M-(LW9<50C(NI="W>Q(=8Q&0(""^=C"1,)&$B"?,9"4,Z727^%FD20EB)3*MN M1J&%G9C\V$CTP]Y#'7MUH=+\1T&8L%JX:Y=3&Y1\H_\23]O]<6'\\/+R.DF) M#XWQX[R78QB3?(*/I7('Q)A$#!\Q_+=B^*. 379@^*5T<_E4R:*K\;642_S@1FWL&K;!61H_+DL7+^8RSRN=N+"XO[;40K\ M#1^39[^%80[']O5^JH][V J#/TPN?:W%SEAP@V1:Z"^3+C(*G>Y#:VJ- M+A3=$IJD\SJUV=^[VXCX..+CG\['7VOL;^=CK9LS.];K[4L975UGE#[?2.K+ M(?#QPPK]) MPL)OY[&Z/<';+X6&\?8S#?HK#/1+L3 12?03?P<80E^*AB=B_1*"?78(;0D) ME\ V-!TC0VMPO&I@:/;1V>_."!F(F^-_G#L1NL8_&"J,L+K5#)JXB20@<6@; M:2)ME;X+FJ4X=4O:;MF2\D)2;1G)%4.?%/7)U+;(K!J#578H3+#HL5:YH2X: M1F^2-LKB0T$5QA.CE'IYN/]_[+U[DZK*DC[\_^]3&'MF(LZ)T#Z B+KV>7<$ M*MYOJ'C[AT!N(@C*1=1/_U8!VMK:E]5+6^VNB9D]O;2$JJS,IS*SJO*9ZD[) M_^L?TSIC")^>@G .]Y57---Q;2^XVG-T9!\().9.Y=CFE'*#XWG(6R8D2@H?U=$$,!.^TFY+Q>)B6L%*R140 MY[J@%LO@23*0_@(\"XQ), M"N.@*T>"A55Z0L'&8!>OU*%W0*NHF8(I:H)QI*WN5'!C"\L%_P!?&9N8XTUF ML+ 05%MH@X*YB;D65+WC\8CA>&PHXT M^-357 ^.RXG'!,.=6IX*.A(J$!R'Y=EAOR0Y8+5U8O(:^#Q2T,&3Q\<,#73& M>8K1#OSQ"<\F-/ID,!((K?$C04\%Z?DEX,?_>V%J MKA6\HA2CBE6C5-]+$R MT\);TTF?J_9;%?737 2%J.\O208"9-9RBZ566RTQ+C'JS*A!H=LC"/JO?[+Q M="I] LZ!A*X\?H+/K,4\N\1;)";38G$Q=A0O)]'7&3\YW>0T99YC.$)F*WR^ M8"W&63!^'(OCY&G:) ZLQ5D 4P0+C+$!FNGN55\Y,N6=\C[=!E?H4^,.+%)Y M'6^ 8"U@0T!6\N_@S%.LZXG3\(? TF*:$]I::/3P00;HI1PS@V.[P8\]!T0S MLNV Y\X!.CD0%0[>&-P43/_M[!O"RLURH'J@E6;') U,@>W O@BB;3D.^$11 M@!-GNC%5ME00&$W!P@S&*P"+KX!6(/*!73^V:Q IN9H)IA'BG0S_-\2.O8B M@&13!6@%.@UM_[GCL"]SN)*!_X/_ L(S+!_\3 Z\"W@6W%4\XQEC PF#.1;" MN\:QB6QH\@J\T=<,T$R2EQ[ 2="5A6W!0"AX3"1EPX)] ] %'F9##P8JWN% M@#"@,0!P,E4+"C/ZH;P2#"^8,^?=(>SZ[P1O!G,)X@"@,^&[@8#"Y02@*IA7 M$^B4XPCV!L[P\Z">;N(L ?.)E!V,O&U;)OA3#"]TMRW@JFS"__; 6W.&)3Y[ M4-ZDP='%18'5$]MZ=60DJN1T&KG@FNG)$NV^T8Z'S?"[]+=D:*NQ9Z'$CJ5R M$\\K[!30;UJR%A ;OKI[[^ E (FJ9\I@]<>IT+B*=#<'P,SQ8&>[7/!- D_& M8__5SH0ET30=.G25 X"-+C_O_,UZ:%7_ZED+8!-)@OKWKU@#@)475C X\$RC ME@#ISCX86-MQI'28(EK8,QTPPL:JG21"&XK!OT/UU-W )LU03S&J 0T=@&[A]8+$% MCH ,I7:NFS)P((%8P!JUG]9C] 4KNF? JQ)@0& ! T^#0!R]=;?B.7"1V_6Y M!Q[D.<$;X>H/W%#X3LT,71+X"R . *UA< D64'@-PUY8-NSFX4N.?A+ZUN\- M)UC0FM8JC%?!E&9/]76WW@%EV0DT$@&P"-"I<&[EH%@IC)2EZ'V'2@*7 :"- MTF&I;/HP#@@4'>O=@3!,9? 5[K6C0KPK":2?\%*8%8H+B@@[N(VL\%3C9 M1"B]W=(E1' 0@LGYD2>(]2AJF!Z<(6)7//P5T'K:$*"7\ .2QI8D2P7N.E@ M)$(,RLX.'!SP!EB+U0Q#!;!\P=((031RN,2##T(;A0LB\"Q$(_!C@)QCL?T+X@N!_0UU(/@3__O?>^PZ M]S-N$4SY[G= C/N?P5<9DV-A@=S '3G_A".DZP#/W0ZZ#B?'EHU@]L#R;TI[^(.:$6E"Y#L![93G MT-B ^H3Z AX%34G2]A,-8\5%Z!FYT.L%@7*@YSMKL578IC!G*"/#CG$MH@A87C M"GH=_/?_'7;^>8\E(5J&9?_:7?@\&-4T]-.(8--%E1,3$(CHB0 /?PF&+VR< M:)29S!.QYV?_M;\T"N402SUE,O\7>_X32N-$E'-AG3@06+3%DS!DQ?T5_FKW M4; [L_O,"E7R5V!18 & SSYZ:C KKK7X1>!/U)4FY84SEGR>@O\*L:D-(X3_ MZ;7RGTSL!Q$O]*-@P!% 103EPC\'\_N:5AY+]9RX7JCY+JA@*STI::L5@9/S M\KK>UAN8NO"'S^J_>##&N)._7=DY>\2!WF--M%?>0\Q1KP05KL\N: ^?8 MET-X#F#'#C!GY[P(JBV'[BV$4.@=@576#9 GYOC"XKE!@,E"6$H=(M%+$ UP M#[:!G0G\(2 I4PZ344%Z$?S*D0\6BN-X>>=TA.Y.L-SMO"\'>'V@=R :M]TP M6Q%Z'^ =4A!:.];QLV0C]-!@C^%CPZ=X6NA0G5M^_*D,7%CPX6:[2WSL.PH? M$[C=YT2V6__VHH-2@WX*[03 '3]^EK-[V,NTRNN3\F(:XKNQ >0*,\"6=_WR5,)K!T/-HC?=,O M[,IJH$[/KEOD$Q(9#/B$E3ETTIZM/&P6@/7NEX5G58#^W2YXL^6EI\'J6T)L MX4W RW;A(7A*I#W \, 2'_AJX#E.]#QH>J83[5-8022Z^PI8:9 U"X)*$TR9 M\8Q-VCP@C M_MLO*!0%/^.4"_->2@LS9H?;&A GTMP30W_W(HM?M#1 \30&V M!P*L((P.-F- 8+E/Q-K[N#N(0X-Q2U$'C4T4"CV;.>A4A&1PEH*?/X=V,(R# M73R4F19E^7XK<$O&CV2S&WZT*_1;CR*?8HQ@&YMG6 %B!@^<:RZPK., 47,. M9+%+:$:PN0,:Y3Q&'8:3GT6B&^6B]A)[Q8#WTYW]D%&&5-2QGK!^SCJER7/V M^-SRC^P0VHGKA&L[3*28,#8*79[0) XR%""PDE4KV#.$2>J#C$AH2M%>7CR< MJ*/=QJBZA1N,Z]!.@QR+)+N"9NPL$LIPWQ6@0*'M@XXZ\!$'G="4Z+NY+$-# M!KX '&#@^8&G@*%#YNY02Y^S*V$B*1!-8&][0SL6RT%_%X(FQ6.F'"@P<'=! M2 %67-!64,$*O-\VC88?^Y[LBKH*,AQ(I36%=U[X,\6]5.2H'*/<7H0UD) MSU^''M5B881[2/MW@1D^W'_;>7N1I_7\([@[);N'C5]T&@#$,4I&VCSQ',V4 M 2Q_'BHOA6^R.85=E5Z37CPVM7PH]<#OEJS &X/S!;?[W2.?+)P.*)X_0,)K M;^7D(M$#V4RT4-V?0>AT \?V^7"U-B2::P]9D-G//M7MG B5;L M*-@/JSR!0-\ GK;\:_?'WQ<(Q/9%6V&:('AKPA V *E^*=I:E@Y#[EU^( S6 MCB\1_?D^T^&NTHMSI\&BY5J+-TZ>9DY.EA)/+T^SOCAY.KGT'MF91$ P&N#. MYUFNTJWT*JUF][__F9P[8?G5$<8[:54!>"S 00=&'D:\P0[/3=R0UD$2/HSO MB7BL*RB"K1D 'N*Q>CT/?$+@%@"KV"0LWP1@XG@31Y.T(/6J'$:?\6#SP)#= MZ(2.\#Q$T#)T8L+!U^5PNPB>" [V^+M/]I/Q%#;9A2=!TUV GNQ )BHP<.< MH62B[D@><$Q4>,YO#^OAX@;6_0J0^2;TN.$B 0 PV&**$@%@G9$\<>=/3H%2 M)<[LDL;8J[%__X-EXDDJ=G"<*M1IT;^?& M?V@&%F ]Y+.N/ERMR\:K;JLR-O86NSJQ,C%B.FDVEE7 ML=1R0W_V4/V9KK1E&Z;I!55N*7T+ND.5*.7EG,@^01P(OSFVDM-B:H9S5+5N M>3U^7!Z+*CS,=5JG__]V 4=*G>SSZH%"!"(X"GV91M_1QG8PVL<2O _X4EU M(%.X\1UXAZ&7XLW!4P+4VAU<@H&^+<)]'WCN$[BY1];_G,^;[T^'A5OKTOY4 M=)2)V$%#\!,0NP67 @(?'82@\P R@G P2/Y-9-G<;UQ+\%!<>%!+$9REH9MPTK33Q-LMH=F7 M,6*NR\-1DS?= 0N#^Y.FU)(5:T.OTL TH>:RDM/QF#YXZID994VAFBR/@8)X MS8)"^2S&;.9 G\Y,E*?UM8G;H#&NV\SS&K8N2]4F>.J9F3)39;:,V?R:::4T MVJ\+#0930%_/3%6#J4_[WFK#,5313?&+7GG4)(*F.YUZ9:_V[6S";^0>B*_> MV3WK5S@;$Y[QBO*G!VE90U8%<;,[^14E5Q40J(;7 Y_/I@5;LD'"_7!M=:=V M<&,#-(.;M\'Y-M<*SOB%1V/"%^[/(Q_M^GT^T709!U=H)5BY6E]A Z8VD(:Y MC*[53[)577$J2YX!?-3.WHNJ0/].4S0P_X'_LG-7:5.J/SLO=.B[!.A]FM8J MFT6ZL4SII$ZE:P6\6ZO1#KP:>)63QG.P D8+.?;T]M70YU_"+S]X4?0WTFEA MI^ Z''4(+E!BN+#M7*A@R1<\U]I]$"[XP2=';L'!A>>HS:G7Y=J[CD4OQ*,$ MVX#WS7?2O\*3 >J2>NON;?"[CRO*@2?ZAY?AB:<4FI<[G!< \+95^\Q/LKX[TYI\Q; KE( MF9H0:>YQZ._6L3F4Q4<9==!&R?F-$LC(,[8UEU"Z(D?]%BO-[BUY,(:)K8&GEF5C)<-QP3> ,#IQ^IK?69FNZE8C MB?VNPXLD]MNNZ+<5V;=P$L\4G?BN_N$MJA7>H1BNZQ5^:Z?O1DX!Q6_5&!3['MAJZQ>BJ3M(VY5Z+Y)'0. MB7B2/*U+]*= >DL;JI@K()?@G!ARTY";]@@2^QHW#<'S%\+S#H4V9_"8SB;4 MF9XL;75YLJ5R*\?/;#CSS)E7VMW!LV[8,;^OLKQ+^"*_V$8 ("1'Y MWPC@?]__C@"-"?$,M&_!$87?G5D I.VX0RJMA,G51I6NW&)=SF^I? HN %3F M@L3I=^".M\+KBU'=L_ 8,O++D5_^"!)#?OGWANT F\[@\R2_M4:\[?.<9Z7P M>M4LF\&J]K**/*7C9!(!^,HZEWN+I?CRW MO&("W5&#FN3()T<^^>-(#/GDWPZEG['HP"WO305S=^?X#%J7$BE+:0EVA^DV M5YBET+Y7%N&%OV3 -4*CN,8_DU<;VKQ M?/?C14$.Y'[?#K(1/E\@W[;M==9*2UU.V"['@\V0:Y38H"!2<,81)RZ?GKFEY18@\5-09%M8'Y;5 M0UX]2JH_@L104OW;H?8.DGK"^N#+,U"=3%:E4_* (& MKP>E,Y>_'G1G?A=8SFQ/EJX"W'AOI)@ M9E,MT\QB0HW;\KD:W1?Z*BPH&D ]CE'?RBNO6Z::<&5[#F9GS7\.6;EBF>)&$@NO4 N!4 MIW!^F:AEMMV>#+!+.UT1A<*B6RI M1,.*T #K4^0WOF-ZN,MZAN( N?9W F3HO PZ+X,6D"]90-X."Q;97F/#IK0A M-JCAZ6K!%;;LB(6, /"^4SR5^EX%8IJRBT[?W ,VG8D-OG&5UEN/$P'N=0!W M=Z[QO.$TG^I,EHY,SR!=#/7Q?#FCXP=YXCS#B"C>(#G4CA-MS[.Y&\*[#[LT(^0C6=4A M'V'$5=>&C'JT85AB8&P[0V(B)IR>L"[( 6DHM+E _&UXI-Y!AX6$+:]RNDPQ/6D(!O83F0F.]* M&AU"]\QS QM7NHT]:S2;_#AGAUG?B,8 #VN39)[W/TC&\6>SECI\XA:9JPA M;&+DEW#FOJ\7.WGU9'%J6H8%R9[BL8HIQF/Y7JQ+=V-ERX#+=_CI4W"+_MR/ M@K;_@J0].TKU6,3&&[7>\?%&"O6T?XKF?+2SLJD*ZC,=HR0[D-T>]@A,G*< MFX DZ) _TK86MB:[4&KB5)Y#!R<&C-&;1TMA+&"0 '^$!.Y"3 )=MATY9@=, MZ.$CH%6 88!NBA)NK!YXHMP&,RSTT=09'=3J=/-2B ^9";#/+TFN!Q[.T[@(56RW7Y9T["\E]RVM%&CU,_Y?_V3 MI.)X.G,;3N +B=K>U/L9;KF>< Q=P 3?2 WN^972"USTL MGRDPLRW]"2[@:.R79P/^#>/]N.OWT!3! !1@UQ4-3BA_O3C8W]GDK$X-14FA M)BUE(/E_?-]MY^U&AV;!A- 25-( X&M :4%3SX+=+P]F^K%],KCJ*S>MO#Y MJ,9YP.:2V7/%*'[+KX6Z![H%EN[ * ,56X3+N^>$ONZS*@7> :RC$7\N!Q0_ MXIN,A614X.=3;>&$WTF[0[' '0!MH)P\Z*%K:<./3H0JV^/4_VSFD[ M[-M+YNM#8M1_'H[[FD#()9=HH3H;/UZ=)$/<=]76LH MI>+4[Y%8?EQN6GE?;==P]1SW==X9E.9-M<)CI88AUT4IS7?H[[VN_G!W8N,[:9 MQ$@IEFJ$.)Y.V7/TBU6&NF4SER,QHVJ'6OZI_COFYF:[C#,>NM/@"K M7:VS+ X[3?4<]_6,;/NI;M$?<%2Z7JQEELOEI'6>^WI9)9N,LB[D]9I:KI4F ME-0:8>Q9[NM:>ET1+6IFZ7EV+7GU8KJN<>>YKR=F-\/))9GAYFD)X[WZME2S MV+/I'UC)^-[')S=9\!^+!GUA<\UW>%8WSWJ=+5S3C]D&PX$O:/Z9,7J MC7J3H29\>\.;?H/1_9!Q^I6-N(=FG'[ Y9??23U 47TU;4B'E%$7TTB?3L9 M/::_]FUIHE\JPD^I.'!U!^W[^E]??!CGUC6Y/L+^G)IR5E-L3A1.[LTGZ56: M9YB&'[(_)^-)[)'IYOY^=+KG1_0'D(CNQ&5",'M+%N>-3*RZ':NRY$H+-H&/ MY4U>+]$1BS,6SV*7"8#OR=/\GKS-CP@P2&K((49(?2$ZYE%WD$NF,7*JSZ5. MQY_7ADRK$-$Q$ZG+TWU^J9%^$_[E1X0;)"+D*/]$^'V-5CGG#E(&;NH-75YI M/->IV36JK8:TRO@WXVO[^WO3*#\BUB"I(9\9@?8GV9%9>SIJXY64;N])J3 MOM)2FY(?TAQGXN?NWC^ZU_R]:(T?$6_NOR[K(TKU<0NQ_DC@?P.376K"+;&E MW\)*18?')ND$A7ETR%:OL._WU24P%]^-JO@1 >/.F!,>480/0I7P(P'V M2QB(FXJTZ/>%:I;Q9I72E%Z+9KE*1PS$9#*>3E]^=^_6_N;WI!Q^1/A!4D,) M9X33?\@DW"8Y61\7AQ[7FGB3GD@E&W-5W3,)8YE'9A+^^UM1!S\BVB 1H?SS M#T'?#S,"-RHEOHYO2IRN31:VC;?:LU:1CAB!R3B5NOQ>WZV]I&]+ ?R(@(.D MAOSFAT7NVS#[ULII<[+,IK),K>VU!M,\[3M+.F+VQ>.I]"-3>.U/,1M[0E_D M**-T],.)$*6C[P^N[X6NUUMWMOE%=\9S\W5'KEE8VTY,V8BNE\A\L[N$9[<9 MORU7[R-B%3H$@@Z!H$7ARRAXQPTS8YI#KXBU%MEZI]]8<"9-1Q2\Z7@J^^#^ M^_?@W'U$R+DWDMV_?QBK+@+.JU+IRC*1*J]\D> VOI(1DKQ1VK;8B$KW8W4H MOX!*]S7ZA9> JJEZB;:.^N?XP@R2^/QMNHQ M)5TKK-8]P57<%$OSQ&G+X:8FF(MA46,H)I\JM_1MPE=8T#)UTK*9Y3;#OI+E MM 8[2 TQ@NDYO/4 MZ8@FB>QHPW;U.M=E%#U;J*>;PR5LN1O1Y_E89K23Z,XZXI++IWH2OFCT\#5^ MPJA2!(N0*8+%_Z!4WBD_2HOI%E66*228><=9K?F:AGE%]80?Y3>81_[,73IB M50_>FC"$C>6YOQ1M+4N')?%WA&@A"A_' G_4D^"?$5?8Q#*DOU_X:<'RX%J+ M-SRUS(GOE7QZZ?V]\,TFE^M[\*!SS&?!:/[ZA\[G6URSUXUUF#Q3Z=.Y.A./ M-9G>?_\S.>LNR#ZBDZ'2B$W*#2BH$ !7/%^_2$YTL>,\9G>:'?ZJVFY,$$*0B7@^9VQ MU5-3S>G\H+5>&!8VX)E$@\]F*WCVIU,91:@1,!D)GFOM/@B9C()//LQVE+D$ MV5&:>B*RB%#D6#%N1':$B%WN81[P)Q+-PQW,0^8)1YQ3]S 1")CN8QX0,-W' M/ !@0@9QP8GXS;VQ=SW6KQMUYJNVB-Z!X+L>,8B.X(?_WU^IOSX[^@#Y;KC_ MGCG.NXL@DI/M%_(ZSH<<)S!&LF#'9!/R,1= Q QSSV%2-HG'=_GTR>=WBY%% M7&?*/S[!K],53EXQ!N*SQI!]2E$/;0PP#74B%Z0$OZL$MSVF>@$E("Z!>;<^ M-)B3P=\FS-*^D\R]E+;?>L"W8/LB;S_L2YR'"1,:/_#VSW[[@> S:S'/+O$6 MBB0<2M+D&^<1T'F^W/-]V=>WMN;+\[G!7'!*O:Q6IMT^QZXOKS M!V8^;;[E@IV#%>^O?V.QX=3#Y[,N&SW.D[RSF#+6<0!>O4J+5.-35&F-9' M:E*99K95-J2*HZBK^0/('._8'+]U2967YD@$RPUFVX7 MQ]STR\PQXS"U4BJ9;&#YU<;=NOV*7>2A.8(%GL0O>-/F'O((+];\@0U5TE(4 ME#2X>-1QZTM\UW0=[G"X;\ ;A+1_/;:+\;'P)3#G%K#F,S!GYQ<%VD\2!B/S M-;W@S*JR9C2%^Z5_ A$N_7MVFMMD]QZ7'>3 M=4WR3JE631-]K,RT\-9TTN>J_=8?7%/\=-9U,6TFVW2RU62Z$V?LM+U);KCU M0W)0*OE6UA79\8^T8W3[_RXW/V5\L&92Z>R*21"=9<^U2J6Y TE^J?!F8GV3)K)@A*5Z6I11/2I3$3PABP@L9(BU+ M$TI,$NF7UX<);ZAJ Z?&,W,R/=I*O9;3$,Y>\98X(;'J5?L+IM:HF';53EEU M[>P5[_&@EE]FFP5>%Z:M9*\D$^ON6#UWQ7N0HE93IB?/F:Z*JVMZE+1T'K;, MO&PI-GANG916'% %5SUW&7R2 M[8^2$VS-,=1LU-O0_5ICN3A[&7Q5[? 3P^VHS+*?\;&DFVIG"?CVDWXR?:4C M=:JK.M-=3 32U]063YV]-LX2UMJE&^VI3ICE8K&8&;0W+GONVOBX/'2Q6J_1 MQ9:5CNTL!EDS8ZGGKHV[>J6]GN12C.Z5V &>T:8TLU3Y]&G+JD%#Q1)Y"QID,2I1G,9Y8KZ6'G5G7J:N@Y4Z>U[XGVY%7LNG)1=N: MY\'#(6 .-'>:]QRPVLGVZ:58H!A*:5WO#[C2E+%$P2ZDFR4V7#4>7WSM,GVER#+S[WBHU*[U*J_G*O?=K*WM! M%9+B92_=_[Z=X,59HEBVZQ@&W^;7\UZ_9;$J*>:?K[=*YI^XZO] M@:"=F/0L"#EFRF[,$>#'DTUPP=^4C>"VOBI;*M"RZ>;7][Y!3I%/J0RZ#W4' M%]/PIPRZ,7L?$X&N+M_%1&2>TJBXQ3U,!(*FNYD(!$UW,1$(FNYD(A TWR!\\;W LS>67Q?":9KQDT4P,I^]\IU, M/OK%_RM7P4!FXI3@C:J'7.%@8/HV-^[N MY[+ERPWX'8W)N4,D7;BYG \WEI\Y3;@GYRFP-$C$ ^V,CLPLHC81-EVJX6O* MEA/R'8+:-HUY=_KYLX;O''1AUJ+AP0F#9$'@?R&AR9F#A\K('PXS*T?'NNIT M.!H7,ZU2RP^KKA 9(I[$WV("0I"!(./G0L;+FTN7APPVF;#34Z\_TCVE-]], MMJ9CM]@;0T9E)0JCZK*XUC>U4:LXGI2VZ0(;5GHA4EBH\X;23']^9M)EX$,O-IQ]$)!M1FM.Q,'K:HP MU:<0,K( ,I)X',M>L$#4+;*.>6L.I"%J@O$(:8/[@;5'O4XX$W3FWLE M*6);3RL3ENGV:=U<,H.A/*:CBE:I>#+U5E$K9.[(W+^'N?]Y3')B[N5^<=PA M4ML>TW*M-DMSR])$NW7>8IFQ97W&$&.LM1Z04F-2,YM;:.X@"$F2\0SU5MKB M@7=_%%F2[8-='Y2+>?!Q%*J8]&.<:]2T %H^@1G2G MB>GIUJTW?&1V61WZ>$[ 6G2K5RAJE55%5\/Z=JETG"2OZ/3:+@J$,*K"?+!9=.V-7JIDUM[8] IY[=9IE;K:ZE?G M>&/,:&YBT+<&K+O2(6" .(M,QU/I!]_KJ<"CA&8PQVB[!R6$OA]B_7E,=&0B M$585:J9:X"6EJ L6YRZ(@3PJ]6X=#=55N9S)-TMMK%2JL_W%<%/4U:A^9C8= MQU)7//V&+!Y9_)U8_)\'->[V4809J/QNGT2%WJMPYG+*EICS-> MC=6[1&XM%UT3&#P;5MK$,2J>RB:1R2.3__8F_^=AR3F3WTR(3F$X97M<(MEF M&^Q(<,?RK0.2WIARVPD@2-U+8+6,G*W+P@::?!::/(A(L+=,_C%W?EKN5+91 M'N;R>9A;LW5\<9[FUL.]'\#\\Z@HL,D(*.>95FG=*;D]K.LKC8*56FP3U*W/ MORD3-U]9M-(SO<77>G5\56K7:BR?#KB/XLDW81(A#$(8A# WCL(.$<9@^&ER MG.OJ1<;Z;5!F.#2:R$LJ2+K15MT0!AX)&[.$82"&$0 MPB"$N=^@[Q!A<*FYW0@";NJ;'H:1"V+5\K.W]F'RIN+5M$K'8@8%L:VU.YD) M:T"$ <$>%2?.,#@^SN;3GI4VJ/;_US_-7:%SE*#Z+42\-0'2M6Y6WGI<]P-T M5Z:9O0Q4&2P['^E.;\MTE6HOW1XY:Q*#_"OPNE&&B*>25W2'D*4C2_\.EGYE M^MC+6+HY$+UY+,:44);-2@M@NQI 5*;AIE(YGDNBJ$;)T9.F_%;S(!5U) M3XN"H,L2SUBDSWCL\M:6SFVT:G=0S)=TRMT6U1!T!2*@$J^K C] M_XXJ7>_3!Y *RK)_[>SL8%11A6TB,#E53H2%M 4%O/B78/C"QMF9<.:)V!/) M_MK;*I1#+/64R?Q?[/E/*(T344*6J0.!';%(A;\ZYI&*/GNGFG>(-]L"RV)2O> R'F/F2MLR0=+- MAJ&*^=RHU=43A5P].VRFB'&-/D>\R0@%OJ@M-)4C)G//KM"D7^SYYX@WEZ65 M,2X-VYC>;4RRM3'56XY69XDW)6/>E26"K#,RYRVZ4X;Q6LFSQ)OM?H?HKX>Y M%>;-!KQ:3#/?(]YL:D.\G>]VMTRM6L78BI;(%SO^.>+-.I8JX/UF:JX3 M;MMJ+=KS35FG07EL9_>;"=%AI@S;4/*#=)E'S[S9$1N>=@<6:W95L]O M>:&:;$_8/ MI/P^H+R.JO6!=>YN ,J+;>_57;Y+T7&B"5XI&$:LH#FNK4V\8!11VNIYF4%D?#+B;D"T,C]D(A"M MS%U,!**5N9.)0-!T-Q.!H.DN)@)!TYU,!(*FNYD(!$UW,1$(FBX[$?=^[.;U M47\?5C%$QG=SRB%$QO=X9H,(N*YE#8B,#VD!(N-#6O"MR/A,,$-2K OI.U 9 MUDZ\AS 1$FV5""M*11I> D%2,FU-^!MO#C@4T5'72A, MPAS(6:DB-D?96Q<4PEO28%Q.%)-,3 M131YR10>)TB$! @)$!)\Y*CWAY% X\SDDFZEBUPM9]0W&&:O%H5;UQ]*.?AJ MN*V2+<9;+,C""M/GSH .V>^2>#:>SCSRI=2_4474B]U;^697\=&]^T_%.+M; M^4W+Y':5GOM^IID0%ED!\Z9D)N%:'+%5;@ULRAI?T(U5MH!U:69@5T9-MJJS M(5\>JIZ*T &APQ7BGG/HH)+4T->$>1LC&K.ZM4P1V)RY-3JX&:)=)R88K]=2 M)0U+T$#Q<(Q@Z!P\EERI+MF0OF:[#KM).JT]P_*WS(\FB M[=8+=J;*M.;%MC(:IK(RQ89T?-^R*NOUJ_?<.OMQ1UF?F]^;_[JTT,V'>C]0 M^1!E?SB1DYS\,H\QE-K(MQ*)&487Z)"![^IE?Q!$W(_=((BX@V#K+NL%M5N# MT:(]$AU.F*BEU9J;6;-RQ+EW]7I!""+NQVX01-Q!P'67A8;:66+8\PBCI"^- M\K"TG*Y7(DE'+'N_5VCH/R]*3-R-55]0L303O,7]A1\?TGQ9U2*:FMAD$UO8 MEN2);DQS8J;EQB3-$0T+S$8\)C@Q+?A88SU=L./A/^&# M?FDNL SQC9[O-"E6UX1 LCNB]R^7X;XGQG-/8H(MQVQ9A!@C00$*P #G"\L$ MSX-5?"Q85?CH!_Y4-F-B9!(.^.T*9@;$%6[FJ-L@ W%%K(=&&;0:@+0)=!PYRGV9C=5$XQ< F\ TVI'.A'T M"+[E_".A0H3OU63IC<=K84D4*>B^*-H>^/.PC68>#@4:!9[^VX%X%>2_!'B M="(8P=N=J2P#00"X _H'- 1\];\7QD;:X5O*T=95J59-$WVLS+3PUG32YZK] M5N7SJ>9S"+A3X4W>LVTPU2_1KRG8-D^-UPMUNAR*#%6M9G!EE5I((@NKR!,D M=8)\@8RN+!N"SZS%/+O$6R0FTV)Q,784+R=]_D3BIV6S-;.:U18XA'\&_*-(+_SAX! MSDHW4\H,TJEV8X4-.N2@7+63'SL M04?R;/@E>$ X*YLW[H@%TW6K]:!I>L3BCN_9^ M8CU3\0Q%,^ R\\JR"D0ZU<3I\R(GS.'9+ J]XKF<'2ZQF26"5[DWE@QZ\\M9@736T>7"YPC*-#?3&P' %4Y5#5R%X_1PL MEH$I2K("GA?,-!B@\&R5(!X";DC/6FABC,*H. @TCB\O'MK"L[>H $]^O^ [ M(4SNL 7HO?8.PC[%!G),7B]DT(/ WX@$$A,6P E= PUP93"F#RKI LB/S[KZ M<+4N&W.FYF?I%K744_K8_V,M)2ZMI.!#>!E(4.6]NB:( WWM;*T*/1E-5UQW M;F13';50;.;IO_Y)G1Z=_;\0:($7MO..X 7[8+Y-,.2=^**RI6]+8K>']J$Q M,,',@3 -**"IMI1NX 2&O0*S8KL%,'_/!!JBZ;@\=./@JT@,QW"^FB'\+5^M M8;KF]7J64ZRUI#Q[).N$(XN_P&( "P0XLODI8;_5T79@%P"Z#"]65C%:U&"'95*HFZD),'Y0V^R:ND M"MT_\F53.4<4DW*JF=67WCHKX -;IPMGZZ-*Z_X$$^I45M?6]F1=*2\F5IT^ M5Q^5E/LMOF].J]QFAO$;ATDP:Q'61SU]O3O%16D^2"3UQ+)A5AF_ULL-X>OQ M],NF(M],&V-AN$$(O[8SIG-(L8-Z :EENB&T=*C:P$O MJIG62@E69Q4$M4OH22RE^I[*J^VMXZ0@_ M>7U97,W*^858U9?;32VO6.M.H@%??SK\(=( MDPZ,^_U:Q^?6'4ZV:EI1TE2K:;+G"K_V*UE;5CI:%2.&A72[.]Y.4HIZKO!K M;YZKSRA6'NA".:DO1Q+?-@O^N<*OB>G")!-Y9LI1+C_3JF)=&RW.%GZE6TM' MW=+#"J/9YHAV-^J&#%)Q)U-J-44%K^ M 1/4+F9/AV+5F1V6B-VW-$F&&[>L MRIQ;FI-R,\=732G8),1/)&I3Z=5BVI]5F &7:E)DNCA>>D'3DS&1C32-9ZVL M@I7RC6X&2XW%2@^.Z73V]5FWJ[D>W=*[)8U4:76^TL90I*?*OTJ6)VLQ6:GJ MPL(:*]E5:]GRX*A.%65#E*5-;=FJ,ZWUNE3HS?U-B@[$?S)3RR4S:"9'TR$G M]$M6;R.)'CX+2O0F7S;U_3SI)&:E%"8K9E]:R]2H;@5-3VUZI>!L7\ +6+>H M%;OC?L^;\#Z?/M44O:S8ML=5DEQ)K:@ VB;].AA5YK3EH&:F2_-EOL ,\+E: MM)+66A1@RQ/Y>P8[X4FL2W#";,M5C,[ E]NP.OQI,>&TQ%KI@M)D6M*ZGLN/ M,P;M1(P1+S2EE\MC_6B5@J:GHR_2G?Q1MWN-#E-' EX7AB;10N. M_U3]:&W&NFY'DO46/W7XAN(7_"T4ZJGZ498T3C$U5M:[@Q[05"U'#Q>P Z?J MY]4E=EZ9IS>ZIE'#AM1==\85^-0SD#:2IWR_O5SJB4I?2"=G6%5@@Z8GFHJ7 MYQW76)9SF.;@#)O)DD-] X>UU]37':#/9DJ.G9"BH-E]P?#D0IC1!N&"TP.O MR!F6J/^UJR[MC:Q$1=.--).8]RQJ3N7\8A8X.S+PTA?@::[MR7_]5M'F/]M$ MV)\#A$>G@K>XO15O+TF'9JUVU_7#7X?B(V)^G0XYJ'!UOO05I"==: MO+'/F#G9/$L]O=S0>[&Y-KET*N=,6?VHS$*1KG1B?;K.,;$&0W>Y#M-@FKUN M6'GA9-?HVHK:%:>RY!ER2]FK+-P1AB@AM3@!AB M*RB'& C_!1A'A>,%$2\8\,>RN,%&@N8$F1+E./CZ%;MH(?8/5UG?%:O[LS+K M)!YP;?S$JGSAUO@3ECI?G?^+JB5&)RG('UKK_CXFX;65!WO*)M&\W-^\I)X0 M9B',^MF3\ 9F$6A>[F]>R*=4<+ JT?/0D(M!YK7E)/.+(7!%H_>Q(0:#W6 MO"!/"X'6CY\$E-)ZK'E!*2V$63]]$I"C]5CS@APM!%H_?A(0:#W6O*"4%@*M M'S\)"+0>:UZ0IW75>?G-LHCO'IJ[F1 N3A'Y(;2^/HWJ;PG@],3Q)UE5M) M/26OJQ\7-I2\8-NP*-,K1*=(12[/BDZ KJ:_$]C"NT"A_@0W@I 2(9Q!.(-P MYFMQ!CERM[6>,U ^C4J\2>YZ#LBM+GM:O,G MB>/O8TMU>24;H9KAR*(NO+N#+&:_/_PM+89 %H,L!JTQOV$Q][FY@1QYY,@_ M'(@B1QZ!+'+DD5N"''GDR".+N4N+^<9K3/(26Q%WP(-\./:P^.&OS^' G8WE M8C3HX?W6.QO=UW,S!M=);R"%M^@(7YGTWY[ZGZ'%Q-V-[NNU.%J0D!HC-7YD M-8XB$:3&2(T?68T1&C^\&B/7&+G&CZ_%"(P1&",U_A9JC%QCI,;?0(T?&8T? MZ5@^%;RB K<%9,>-V8(KQQQ?6,3^U;3 GSCV[[O;%;M#;7VO!N3UQ_R_E_+C M;VE?R9>C^BC9]*<9T7?D[8'+9T]Z5H7K*J0^Y1?]UAJYFY M@Y4Z[7Q!2-7Q-06),I-__4/%4UCJA*H:6?:];'-?V[+?JW9S"].&4X43G_3^ MD!(^GA*^5R?NAZPO^S_+FFP+MCC=!*R MG507:Z7:6=KURU:[S%YUR<*QUGQ4TUF,R! M70E11/1X*Q9QO>7%M9J];:4]U9@N5V'D['R5,,;T-9>70=,SYVREM]")M204 ML$V.S>5\L+Q FO=,/)M!ZPM:7^[)MM'Z\L.4\.>%1&<7F+L-B6;*)->K\C., M$RKD<#:H^@XC7#4D:K%,@;97U0;3Z)NG#-8O T9KUT^'B(=:L;W$3 MY'H:>K];V+<*$G^\&&YU?@X9P*UG'AWVN.UA#V0!MYYZ9 &W/;6'+.#64X\L M *T!/V/,* Q 80 R +0$H"4 60"R !0&( M %O"]UX!'N@D4OJ*N"<'@-/FS M=; >^)S;C0*5N[J']R5+U,^:Y-OOF-]J\4&:_;UG^2=J]NT/FB'-1IJ- M,!MI-G*SD9N-%!M!-M+L;S[+/U&SD9O]$V;Y)VKV=\+L![^A<*V277RPR+7**I^! M!;]((GVA>X)W9@YH8_YBJ'"7)38O?"G^SJ8-:>\%U[0[K'-\%XO:W=ZFOUJ! ML;?7R153+%O=0A/32U1MB#$)2U'LAY3WP94702_2 M7J2]]Z6]#Q*B(.U%VON-L#?8W?F/*TP,^:(]TDR@0>ZO8]&_5+GPFSW5.P%: M?%0+PRBTZYZ,:@#WK ML"+@ADJ5U/DLB>LUP5*SZ79QS$W]-_(""4<686[ MVS)DD@.]"S!=-19-O)R:XOR^:YM$60"W'H.=!Y]V4VH2G8-F_7B*KB%H88 M5L.UCD5TVO9@Y0-%N*[4DD=22_(SVDET9QUQR>53/0E?-'KX&K]?J;'K<359 M*HI;/<%K(Z.P(%FB1O_UCVF=2<"\^"#F[GH0LY28$'0Q9MDQX[F/L4G8MY@1 M="0F>3#Q%'.G#IKC\(N MG>3GTE4S+Y=Y/9]8LKW>P/+S!@WG"*C ?X2#EIZ(20EUJ6",UU\MUB3O.1N1 MY8G3ED;1R'!+QBQP77YAD0HSJ'HY'[1,O6PYRA 3B_:Q+".G%Y.!E9L4FUF? M3_+8RY9J=KOR-S:FZ>2)7P:<$)ZC$RD],B9[44WGR].WCM%"=M_%6EA/LC-U9Y=EF-P_K M6)ZT3&N%1KK;W.J<3,]82BD5$[I/\]1IRUD_3=17M:G,Y!OI6I]++B;&'+8\ M&5&Q;6X7EM!.8\*0EC2\V1W-NCYHN1O1T>1>Q.R.&P.7;!HV1@/@OP,-?V9-#?8"G; MK0838+RRG1 MPQ 6COQK]\??%_ ECI:MX*T)0]A8GOM+T=:RM//[, RX!4$W M=BO@\5F*/^I)\$]?ANL^\% ,Z>\77DNPH+G6XG6_)5CFCAT3ZNFE+_3"<9E< MKN_!@T"/ .P:IZ/YZY]*L\\T>ZU.A>G^]S^3K_%9WE_YP3IA&)8?0&:H;A!B MP>+A3F-"S/'FX-<;"+Y:I-@0BY;@0F4W9C=DRF+)M M\+057"WB +EAFW?@-[QV>FT#[8I36?(,N:7L337OV3;XJP=[?&JLM(B[75R; M.EBI1)+JD%?R68(],=8+^?; &*>AV@!O]TV/\_F7V,>=S=^ E+!3\,Q1U*&Y ML$X$\V'N<<.0%?>7X+G6[H/ ;P\_B2PM;',0,T1MX">AW68 K 18LNM7]#X\ MPI@/!:5I_"F3?>N6HT'E M^V7+1K#U].*9$8(&+]XU%2:.97BN?(B?7Q\,'_SN-X(2,+3]?_\HFB2>< K- MR_W-"_Z4Q-&\W.&\8$^I%)J8^YL8!&3W.2\(R.YT7K!W;@Z@B?FCB?G-RPSO M.L@W$T+F-X1P503_8PEDCCU7A;),<)B..,P2')_#'A_.18'"!P@S+Z M__Y*_?59T:3"8S!A1+A+!RW6,6 OFA3['RSXGP>2W4FNX9SHD DA$WII0L1G M30@'VI'^3B8$DVHGE,MRWXS M+2,N@E=&0@G]79FR2)\;9?$'PKA=4JXVURY0T&+4/ED_#&)? MJ33Y)Y=)D,G_ M7)-_A)-VUR:&S:S%/+O$6R0FTV)Q,784+R=]GB#\,B8O63+7S@E6'>J7*WOJWPJ*%.%Q3-$%B5-$&)):@W>'0*^5#(=3V7?0HQ'RKD$%VW^^J=GN8*! M@K<_ ;@C4^X=3U/!P#4&5AJS:=4IM?A'68S MDQ:TU"[ZS2:\?@@3,E@\FWXKQD-&C8SZ-??DUN.\)Z.^GC-RWJ@9<*N;OJ]N[HG1Q\_V=G#0TC1==TSUZ /;S@>3,'SY<6/ .*)KKPL+G#]XA_' M>/92CG]0MB0XB7YPWEXT9,&&T#=](@J-('?(O4*T'0M^]<.@@]&%5U2( +-5>5$>!=!4,"+?PF&+VR".SH)FWXJ^.[M-%G[UR(B&8%V.4O G^B MKC0I+];.Y/,4_%>(36V(_/_3:^7/'F6&?Y^[01]]! *F &HM)98/[R$[>XT4 M/J*5QU(])ZZPD 0O9I,$1J447DQ.TCR9%B=\-CD!2U5F(F53F*!,,.5EZ0FJ ML9CY4R7=T67:(DMF:M(9^NJY\B#*AN>&U:5B=+8\R)3@]*0I9DM8WI(:5*)2EIG!V?(@9D^O$N1ZI>LE@Z,Q MMU\J3D#@?J8\R*+5Q<;JO"ARLE"VW8;83I=Q]5QYD&)#XZT?\\^5!\D2+:I3PT42J]G#8L^<=DR15/GT:FQX M&JP(?%IR9)B4:U.2RC,UB1E8ZXE+%4L^CV.G30M$ON1H8B*+"42WW?"G3C_1 MH7DQ"W/QMA@-9DXJUE^:+(J;'HB_%25;&E5I6EAM?1"']=[:\J9 MLK#I5Y4R:=O6 JSKF[8AF"YM2LS2TQ:PY,];I4W:Z0KO5?TFSVQTK)D4AMJ6 MS=*HM,G%2YN\ZRY]86F3=J?59CJ]48QN%F(,RU7:#:;9>Z7*RR*[?\0J4] MT$52=",>S0NZ$7_?\X)*>]SGQ" @N\]Y04!VI_."2GN@TAZH+@$J[8%*>R 3 MNM">S>_*Y#2I]GM"0@4_SI5B0 4_4,$/5/#C,_!=%TSID8^O_P$PHRH J/#' MY0AM7]V_R6UZFX5\Q#X+C2[BF&V*7+'2)'V/\3J)Q)KW&A1;_OR1T%=[4;(M MY]S9=4SL^:+>S5G<@%#;16Q5YCH,&Y8(2<I_$%:9KXEPZ(Z<3ED*'U472\129 M^B877<)7Y#S-@&\,]K.U^<*V5B%1^"-$&E]X:^U+ZA&\9[(9]!L M9U2@V>[/RH%I14!G**V$HZKF"LNW-US;H/+UM/\66=R%@:Y)CJBRK10S3,VT M^W9!)LE470V+F1!DG$Q^TVHF"!0N#0H_KKS)]4!AW6]VL]EY6]<)95AW5M.$ MFUQ\8:PTH1M4FW%=0E_:?L:S4E:M;JEAS12"B&>SQ'9R MV"^WYE^(D\XB7R]Z166%41.,([8UHSH7HPHJ>#S[9FTIA" (05!>Z4NZ)]I)-IOGRY^\T_S:"# HI"?/I&H-14LGNL0VIM1A%%57P M.(EAWRK/E+?F"\^5[=@4Z( O1-Z58RDN_ >**U%DEPYVO.Z6.I6'=D<_DLKE"NR[[86D6(A7'WTRD M(QA ,(#22Y> :UG)GPVW=,X66.D ;7,;]7Z%VZG%3::[I14OXIM&J->AV>E MR;2GAL5<"!+ P.7]G#L+D!J".-5,V7YQ9Q3%@R@>1!FE+W:6]K9XV"Y"2L68 M;]9:;Y0&7_1:BVXJ2VK5+TPIS7-EAR)GQ1+6Q9:I>K/)RU.#Y=,1DU$Z_192 M(@Q!&()R2E_B:;V%(1J5WWIE;NDSX.V9@;.Q\&7^"X.N.;:I*5LUB7&)E<E##('>5B9.4F^==7S$K)+IN+87ZH9FQA:VI=K?A2/ITB!XQ^6U[P01 M3ZKYWI>4'L/%.K3)@*HEL,@('ZOMMD7."JV!+F_H<;I<7F#4_ N3[LQXYVQRF<"XH,XE4FCG!2"DDLY5WWJ M6HE+>NIPUF6*7^AJC0IV=I2@ISU&YFQL7B&7G>V*!5 "&1'B9/+R))1W%J1] MO6&A6/6GPBG*=UV<6>&W 6^Y&!KK\E"B&(U,%GER1' ,S?)9Z#ME4W$*O^*& M'K+YGV?S*#]U<>*%W[;Y[GB1GY6(#J'+!16K23,RJY148// RC!'AGZVU\*! MN8*_#1G^ 7".GEM@WK;!YZ]BX+DS3'U_D$J2LP$F%(9*HM8L.6Z?A:7F@<^3 MPN)9ZC3*^S?""803WR]C].4X<7'GYXHXT9DZ&BGR%L7E"6U6H?N>6F!HB!/ M3R*).)4]W7?[][=)!UV%,O-N1G#["*GX#Z?E^[J,T'F:OG2K MU%WYJM1DNAA3U#B*KS8* 6,.W$PCXQ1YQ=TT! \_&AX^PB#^P^'AZY)'Y^%A MD_#GB?R@I7$E5E-3DMLOK1H^A ?H$Z7B1.;=2DJO43,^#A7CE_,3]:9R#%X% M$,Q-#+BXT"".LU@Q>;V032>@ZOO?"VO@9UFB/JF0AU[\2P5L"K;-UYOY<4(3 M=)SK;K*Y*3-)$;T2"\MX9H/+QH3S__J'BF=2^(D\@NL*UQ8)?B02G)<+NI*> M%@5!ER6>L4B?\=CE%452=HO-56((UI+E8.;D[%HS;>3IO_Z!%]1.502^&!)\ MA=F1C2S83DPVH8F=5#Z/08T/_DL$@H2CBP.3=!:R"'D3C$T:*#M=RY#>E3^A*'QCTQ.+&-$@ZZS0Y@IFU8>'L5+9 MT_/N#V^B?R"IU+I>9AR62G,4Y^5\A74[(ZBIR;.5NKZ#\?Z!L!H=,@6"HLY: M%];9\;B>PJ?S!D!^ ICU:2HFY@M.3#-%PX.FK)E@T"&7GPK?#9-PP:>0V0\2 M_<&<7+ [Y+C@_P75FV!CZ!T%/7("X8M@%;;E*5AK@;7#IUMS>84?) MLSQ^R@[;9A@JIS);#IMGBKGZLE=/%03(C)MYV;)?85RCIN7ZV+*?- ;3A*VX MN,\3ITRJ;26_+NXC=\/"EVFGJ"G.L]IF5MNAQL>=)/L=37^W:II7 R8?*%GN:Y)?HLVZZ/ M\:-$UU9%+M]:J^YLX_3;8S\L]'G<YDL-PW*K=:RIM]AR';F'. MYG ?K[6YC=,4QK-EKCN91N6SCEOV[&JZ7Y7,"=8=EO,#K)MA\_99MEU7+B?9 MNEV5&&%3;"2+6_@VT_FB)1M:ZO17 Z;KSJDK):%OH/YYUB!M67?;!B28NH; MGBPTG+2$3TK1?8;CEG@G95KLP",9N3[-FB)K52?66?[@\J!4J\HK \P14RT1 M2[O@V$DZ/+AWW)(VV3J6HTIK1JOU^7HCYRGK)LUGS[ 7=_.S0;O5PO4N1K$Y MWA*RTAKNDY_(E:(?+ZFF$ \*V88*U0-1"-T8XCN\Y;/,.]'L9;5<8<8M2R M4)M;]7YCMHE6$LWT9(EVWVC'PV8X8B6^."MQYHY8B4NM5F%0J=<#5N)6K\QT M8I5FCVZ6*KDZ$Z.[7:;7?86C^#(1]4$O-;#P:.(;(?7.#&X7T._IA&.1&7AS M\ /P-"?T2:; -F7HP00."^QK3/+LH/W'8Y5=E$*$G,77!I>N.)4ESY!#!P_V M^11):NN"/AG7I0Q#+1/-3'U3<+>Y:Y% SX'M1XQXV-/;^:#G7V(?3P5]6Q)H M*F0Q>SVWBB@';\71B>;E/N<%SZ!YN;]YR3PA2ML[G!8 8R2:EWN<%P)1<]_A MO&2>2(1C=S@O",?N=5Z0.W:/\X+.7XWR+\(E^V;Y\UO<<;N"\9\ M4^KZ3W,?9Y^(S'>B/F[;EN2)[H4XMM];ZN]M]%^J.-2W8F8O:(YK:Q,OO"&* MM ?!SN^(+KHS/B<8@BG*\=.]IO />%SH8@OTG8W]@EQ*7_4Y M,UTV9]B*R6>V^>RL1"Z^<"WU!1*GA%1P 3$Q/$I:>%N=E'R/;=I8OQ]M[' M=QSS._L*WP"'WKO4]$Q)'OH;]+,=/;L<@8G59<&=RG9!@S,#7(\G^\F(_([/ MAR]F<<)7M\FJ@PFR[66S&6G1)O\<%8-1V+)4"(Z^ML&T6-(9I,2;S6ZF(6P& M^G)-$&8'J]J-GLHG84B3CN/8Z47(1TCIW:&=O7<^Y#N.^;VS%[< %SA(G+B, MM_H3M1BMD'>@Q(^X0NH&O<5J8GZ%U4:99H_J9!V]_.>1^0?7.941^JND.-IP M-7U6*=GYLC-JP'4N^_XZ]^![$&&,D-\(AC>7KQ(EW,U0;PN+/UX,/S+-<1'P MC*SSX+L_CBMHHN-KM=&XPA%RG\A0>'/;['V^WM%OXNU,[6RYLI'EX2A^7QKQM7_'@SO,N=DEM%'WN+;CZS\/$>HX M=P3UGCJG7TLRWA.,SMY=_J-R\O-F1TQI./,Y,^[R;CNE&#S1Y+TSA#,VXB"] MD0;M9V&0$U6C',SK@0O@XT^(SM%JV=&=?+F,U7(=J]K,Y3()DA4H9(TPS&6F M5OQ,][!O>=P3:UW-+KEA(#UVU"2\;,/+]J8NVS-W53W/E9G+Y>##UX92;?O3+O/%X2O.(#-1M$&$!Y:)]-F/EY[G'GGS*.ZHJH-8,K_(-OA5/E8M ]D3Q.1%A %O]-M2GA-X+%=?JN-" MOIWA618*@Q]7W!'J J$N<,MSF-Y@XH$UJ-'=8JK"UYP2PV2Z5';&>9")D0F# M1ZG$6UQ\?Q&3"A!1"W(D3B,S/XCT<'&2,.'U1R2\?K]+YF77[J\;+.7A2+%: MS?Z0(V9Y7&JV.ZT$__?BK>Y:TEBTHC\H)0Q]A?4=8W_%SJ3B\[G[@=7?F"7A_?6G-%#-6 M&I=Z>2ZVML1A>5$=Q.IHT%'RW4OKSH,/5TI^NIGSWYS3X=JAR]L"TVLNC&M# MZ::23F_>F/A09/BE3"8&7;;$YX4XIBJQBBY76V5]@0;%H?GVS/$8R= A>O'@ MR+6Y[K; ]&JHY=I@"NM!PJO]]L$47NVW8SA][8)>]_(&NRQ+6(P3R^RZ*J0, M%%XOF#LM4]Y2Z'9OS%4 MN'Y5;O3XN"'R@0[5RHFB Z6YVIX;3SL\,5.K7"1 M]KWM=)=I]LV%JW6+S9XWGC>%=LR#W!PD;M%TXCUCYK_^?/$_VV6;P>V7&%A_ M2(TO>3+X9F<\$[,/CR@[STZ#/]&#?JL.I"3I)>>@+6T(J#"=B:KEIX^9H\@6 M/6?@GK+:JZ)E"8.6R;MJS5)X=]5*$,/4H"YCWL4A\-=5:.># M@+%2V25O\0PVUYA&)[/&375\>0C\M3/G?!!@YO-L)T?S+7[:T MULYKJ, GV MUY^J>4+2O?=!1'WF9!V^$3*I!RP0L8"$;C0Y(ON-1B+.& 3>DA40+3L"#/3= MD4,E@F#C_Y>(0("C?^!/D9P%'QQ1-B?TOQ ER9VZ.E08Y5,[$.W(_]SI%>4? M]B3>1O%"QXA7. X#C%/.Y]U9N]!NP%LJ&26HXR;S/ISN%0H!&0.9?<;S!RC; MC),I63(HC:<+6B.=H%+C;$5!33+J6ZF5 #"DJLBU8*"TWB3U7T+KV-B+Z&XG8KC1& M,).@ 26J*"7)AJHLL"+!IL,?JS/:I< ;Q9\"?0/J#%PV(.$ :&Z9N*BK8 M+ BMX/G^W_!P&KQNQBK<-WSA0H5+P%+271O^.-@&L&; <44]XEM5=L0Q M(Q"2[@A2C&L%:VP ;[5@%\_DLSU L&D9@"FZZB!H1ZJ!#$FT/3FX"]'QQ_#2 M'2% &*8#X3B< '1VV>#(SA$J">&^5?D^9\(&D>@G(K+V![ -H9[ M3 H\A"JI\ E M^B)EQJ$$!O*,P^I\2]7JLWA*L;$%9%SA[;)UB=K9Y7U!$+ \9=+V=18U=-- M)LO-JYTI5DLMF$(<]02G7Z[L#"MUQVMS"?Q0/!-;+/(9 M+:5U6W6YIF/+>'[H"?'CG38SRQ:?&BPP3;0R*R73[A:3#06N/'I]JL/A-U)]4ZAA-O=Q-8#A^RF;(R9O$EJHP_6AD;QE-+8V(- MN%A,Z'.6XV!T"JT\.ORPSO0ZXU)G@!'LVC0%T;%2+EI)O5R9H%9-6A++%7Z> MS-7GR[JQZ"4:<.41D:13V41^GT M^318]XEA?>.T.EPI3@MF;M(GI[Q(>B6U+^KN:,T*.'8,IIQD:2M+:U:AOFN+ MJ5H] 928AY8>PK(M;MLF7,MH4\"KX!- MBB0M"HG1: @%VP@3ALF1 M+#!)@J%&1)QAXN#EPQ6IS)/K3CVC@81E*F#42HKB2<%FC)H)E:BW3&[.%4R< M2$FQ6NS^LVT1BC=%D:54J*1Q@E^7B] MJGDU+F=YIP3;:LW)V MPVB<$FP569'FDY8I\;7BH%E=S]V&-6J<$FSDDF@"<KU0Z.M\X+=B<9FO1L/MB@@-ZEY4EGA\N8]Y)P5;*+M/3_'R :<#F:O9\ MLH;:PVG!%F=7J=*(35$<4;3YF<(EC-2,/2G8A %3+JWM88RO69F?ZA51>;G0X%\!;#FCS'($A@7*T$EL,)Y:<6W>UF+W*U%R"<>.&=TI*),:5 M(6M#&T2;IY,>*+GUOD6>E!+YCCEO5;0^P(@9Z)E8;EPA6B?YE",X*YXO]BRN M:Y>E6:\^2K">!U=NH00-0N2040TW*/KQ?S<4VFU,,(N:8T- [@96[61U0YM"6@$1T:FKIL>\CB_Z\Y#3IC?OK%Q8!&?Q8T? MN*!0SL+OEC0&LJN#VBCK6^YE9+BSAES8V?+^)\]G"[PRJ55%G)A66HU Y/,OL8_'(/T@ZLZ*#Z+AT(+7Q9D-?F__L;\I9/=N-H0,0BDP)++/H M<\_(W7L^[_[.)WL.7[^.KV$H4*\W")>\! O-X@7YBF1#/%R>W@)Y=BMXB648S>) M%^PI^6;[G! QH2 +\1(*LEO'2^*)?K-B,,1+*,="O#SC);1>+H>43Y9UO^L4 MNQH0F$\ X:)2XL*I59^%R7X:S]#4Y<\"23)U].'_^X5CO[X(L3CU%">N.N"' M^3Q$AP?OW ?@KS]O-A08_GE19Q1RURUQUYE)(<#\\7\/Z>!B*OR-"9MO:D+S MMC_SQF#RMP(XY*.0CRY#(N_YTWXD4$*^"?GF[]PW/Q$F(=M\W&-Q:[#H^G\! M^10$0@/FYCCA,;33N[I6K@.DT,X)V2UDM^\#TL7-H3/?VWL%\6?6^4.6"EGJ M!UI*X0UVLT"Z*X.*A8<3%1#:4_?#'M<.KA)?C:TFGY+4(X56_9Y'=Z7(W)4< M#=26:X]KN"^0!7;!X[ 8N]=:*.2TD--N!F2!N? XC%8%SKWP%_,>K;P?3#E? MZ.1Q*(#W6](%\"FK(W .8^#&9G5E-L7PD:"QG;HKA[=_GXWP;^S(6WH_UQUQ M6Z>[QE0Q%.BX A@^-7#Y,$P<4G9(V1^W'4+2OCKR0]*^B+(>4O;5<7^VT]WM M)7Q/7G5_OLNO/^F3+;+OP52\05GT/<'8M\Y\GGE2%\[W2;[#;=<;(9?]6#\U M?Z#<]C=;#FKN,]!FJ!R^S./-?'Y*\:O6A$M+BTJ-[S6^/(K@C>V=G-'0EH16 M7V[8K7XKH:4U;5H>5:C!0$"-.\E??Q@Z2A,7&D%Y;>8_LYIU[SQ]^:2B]YCZ MZ%B1?X=<_1Y7[Z56[4=+3O!Y*5_N6CR!K[5IG? TVB,SHS9JY4NCD0=1FL*. M^/P_(:,_'J-_>ZI3>'N?@<^KP#G!TR.I&'>F*@G?G\N,Z[..M,K8B*>3O_X0 M6#29"._N:V9K?26?[?5.P5>GZI>S F770K/V/D[%09 )A9>>AZ,FZ/$PSY@X M%L/:"5V@RVQOBK1/U&$WLZ-6C^KSN9:-?6-@.)O$ND8( MZK',\6>>2XGV\>\V0G">T).%BISC,-HKE=EUQR9Z[M?'3G[!,#?3J7YY( VG M?'<4]Y1>DJUF+=1_'QKF.!W%\0M>[H_*/8\M&ZX2Q'LPL_[6I,/'#7PSI>=+ M6B'9PXAT:=D?L^*T2B-Y02--"AH#R0L:^ _+4@\M,&XR-!IJ$^=W%- YLY;' M&[4Q%TM8-%!SV+J21\,$D[_^Q*,X>3S<.Y0,MQZ#OB%OPM\QP27\"EI#[:Z9 M>;/&=_OFM+?6>J."HD""1WX%YMQNA>OZ$-"<:']L]$/X]GYB4/[,WH'0%?!1 MN858IXI89R.BRM.Z*2^%TEJKQ4BV7FV.\XV$]YU6OSIN$]AR%,MK79,GRW'6 M[*9*K, @JQ]%XR]X4S\$!SP0,X'L?B[8?#3=C6?-$:D:68[6)?*"%[:+)'QK@*9 M&=K5.+2KCW-J0EX.X^^?H>1+&,>T-'.Ϡ^>["Q-9-CDMG/0]2+3*.XX\> M->UYP^ 89;;C%P^?C\%4__6$8[Y-\- M^[([[MT(T5ICX63-%#/G"&%FKF= *EKY;PW:QZQNDVI6U2:OUN%Y:0%+K;NL MD/2#]E$,(T-'>RA/SA/3OV&!= M3@/*&/HU&1/&^4,A\Z4\@&N?_G-:"U)E<2(LGPY#UQ>5_9#4B4QS$YI M?MZEUAP8&"+31GKC14SRGV:07MM?]A-CVG=1:'Z#_G$[5RHFB Z6YVIX;3SL M\,5.K?"]B>>Y1EI@XJTAYF841]-;'6\JLP*.^48LCD5)*A'ZM7\ ^WW_W+U; ML"2_CP$_;O+9L]Z@7JJ9*TU,CK%.UI0X>>@AEH0V'Q./XD0\#!O_!);\B1'C M[V/(TT'>;*F[B+-QK,2Y[;J5M!O25'5]YD-EUG24("_HU?U9:NOMQ8._"H([ MCY4&KR@8\L]KFGM#$=.'N'C#IKD/A]+')MBP%^X#XO2A*?8FZSA#@GWT&,W# M]+@-2^@>?H;0N=79NPJ,?U?RS;.]^)?9T .OB.6=7*.GQ889SQ'GG-Y.?CVO M_YU]<4M)=Q&.ZJNGZK+F[L=K4\J!.>2R4'/*K05 R@^$'[]P1-1@CQN MK_$0PN3<*MA/D!'7G\1W ]DSCX')GT.T5Q]J%UYL7[C8C@(8'[G,9),K,O5F MPL):KI;$^*D9,TK^998,+[/[#%0\4^C#Q""(>&"2GX22 M7S9=*%ENXI8[7S;9+9[\MBZ],\?;SV!\V5BKM6+U=8LO=9.+0:W0;>7RGH"3 MOO%%)*)4D@X+JT))<.ZBJAL3!4>P^)G)<&L6)# 35VDLUYVO:[W2&)_7?6GP M'JG&Q,&#Z 7?,EV'2X*=+C=KT"<;^PC[%SJ@8VWWM7D?'AS\3.%<65V<>+X)GSG236\+M.W?,42D MOX<6$+68!\'TS\RT5<33OX-QI OPXID;7/@OWBX5A[:INP[8:7_!0;_9NM_[ MW[6&(EU".A7@)Y=C-X^6](LX0 M,:$@"_$2"K);Q\M[I:\A7D(Y%N+E@RDJ(5+^"BGW5./P)A"83P#A#G*__J*X M^Q F_E]>P!E#4Y<_"R3)U-&'_^\7COWZ(L3BU%.!YP?$>OE[,)FV\A MD6_OI79= 1SR48;BVK.#(NN_Q>0 M3T$@-&!NCA,>0SN]JVOE.D *[9R0W4)V^SX@7=P<.O.]O5=G#A1 :$]=3_L<>W@*O'5V&KR*7G=MCYGYAU_E,M=*3)W M)4=OOPO4[8'LZBW0SGT][16EAYP6AP*"^9@!?-"4S',8 S=6N9_Y>7-5'KN7__F88_563BTY9:# ML6^=.9P1_Y5.?,2NO?P;[31?;4F_9:'F/@=MNM-+4EKIUB<\IKG)SC2U&,8( MT_UZ=_HOS)[/USHY;[#V2*X+^/'0*F'9C-H0:-3HEZ&B3/Q!)\^'W'^KZ4>W MUY7W$?C_X]U^!PW2[!I*JX.UF*[2[.B+X:#"0HE __I#):,X<=SN\WS-?A]" M07T,3O_VK*CPGC\#GU>!\Y1]W_,R&$ZHNI#A5NBVJWJ/CF VDW[)KK8!H?9R*@W@4BD3M*-CM9Z5) MFJS(_(IR)5P3]+RZ0+<2CO_Z@^-;\MW XW&B5]N!J4 :&Z9N*JM'=0_=T&"> MAY!8-QFMNJ\;_9GI4J)]_+N-%%RVW=R2S@L#/ETNSKK#"1T7V^QWVO!:C#)3 MKEIH::MN.:4.$FX>*OQ"PA_60T5IXH+#Y1Z5?1Y;.-Q)P.^V#?M;$P\?-_&G MJ>DRV^$Z(XP&DTDR+T]KG:P"!0:-=*DHB1T+C'">S\^6&#<91PW5B?.["N@> MW=<]KM+A04*F4HEU99[L>% VH&D_49+ 0EWB[@+6-^1/^#LFN(1G@2;C(.\0 M+8*KS68YJ0CJUDAO0()'G@7FW(Z%ZWH1T'1L!*HP@G^OGOTS^P?"V_O+D^6- MTMCLKY?- D\;W:Q:J8UX2VI\I]UOKMJKUG22[?*NG$\.6FU](2X\@4%V/QV- M,\=3.1^"[1\H3G=N@SZTWN^!GS]NJ.<5L5Y=,UH=<\GQN/OAL%/6]:27EPM9@EVRHD"KR2[!0^K,RQD9A2$CQ+D M!2WKAV" 'QN#_S E7\(\'J1-.5/"2BD^UYE8+A^CY_,E4C*1>1Q_]+A[U31B MDCF= 0=$1,4"8 K)XGS6\\T<][H&];NCX&^K(\'E8_37/OWC: &0@3?\R^[8 M=R-%::P\*L7D<5<#&2)?\LA!C!Y\:_)]?-*G62BI/S1/6O??P'\AO![W()4>A,"#Y7C>LQS=:RJ98'10Q] M6L2$#YO<^JH[YH2 MUETTAPTHT2]BD/\T<_3:WK*?&-,.J]*_IL8R2RG=F..U. 98*3L;V",W)7]K MYCG?3/0ZA69ERJ7+WBJ6,NT\UE<$'/-3SS$FFB0O:,4^Q W[&.SW,^//W\> M'S?XR';%2] %U]56724K3,J+7&S&(I:$%E^"BM(4$P:-?P)+_L1X\?:0T M>$7!D']>A]T;BI<^Q,5[DS7+KQPW;-88$NR]U-&&%!M2["W7<88$^^@QFH=I MB!N6T#W\P*%SJ[-W%1C_KM2;9WOQ+W.AA;X;0P_6JR<9 +/*BJ^FMJ4WR1MSS@?#K#YZ(QB]9 M0_\0C/.#9,3UQ_;=0/;,8V#RYQ#MU2?@A1?;%RZVHP#&1RZSP<+-UB35+F,N MP>K+P4P?F"L%'3P97F;W&:AXIM"'B4$0\< X,QU1?U1_P0T%&PXE/PDEOVRZ M4++KX&DP7KGVY,&#R 7O EVS5.2K..QTT;W+Q<270] QN0 P]Q/[1=*2Q*)R^8 MC?>HS'_U:.-?3=_\KR-"*CKKKE2HM!K.;YPYP,!+@RWX9N1_SBQ:,J[E MOT/ !5^VD$+;?)8TI#!A[5AKTI3F?)IJR_BLTL:7^-=KKO?UB=KHI=QY*6.J MHF4)4KL:FQJ4G-&FN15@QDM2M8T&5"^BB>1Q?[;HQ2%$'$"($%8TE5.F$Q+7 M2J*I)!/U[( ??RN$5KA0GB>KO3D_I;A*1A$DLNJPO_XP408[]AY&X/DO#B3\ M $BX #+:*#'.BJ(&9($SXQ[G-N;?"B2N4UK@6L9PM):2Z DM69S7N@T$).I$ MTCC:2L09@T#(H9I2.P(,Q)@9(/G^X^ ;$H]&$)_X_R5\T*+S1B$CVS, G[4 M^BJ*&!<*?&E\[^R;-FVG-D(J@K M)NAZER54751^_8G3Q]"_>R;^"SCA@!PD2\,1KZ5CEEN;3$NMJ0&9.4X>#XUX M!%;^"U"M"&W:6;#I%I=N-VOTU.8:!0Z"BJ;I8U!YHAU1#:34^LGS\,BV@_A2 M06]&D37_4\CR"!A^H W9OU 7@/_CEZ*CQ>8,!,"Q?="CT+DR5TRW0MK?>P=C+$H.(Z O6W=D,^.K(Z/!H M/D3@EQ801PZP(JH=@<"Q4;Q$C@R!;GI!G<+KW02^*LP^[MC8.S@7G+N-]-4V MW$%*-R5M8]H,A>IP6HPE^ZJ(U1R[F)>K6+$>;_R"0)3$&7R98[G@?'8%5%S' M *G=OZ&>_:::^_Q+[.,:KJ^3;Y^PL:0E4]?%F0U^;_^QORD:/GNSH:FXC/DX M,K;;BNE@Y/P67'#F MCX7)&.J)?+,&3U87)YYOPF>.$#UN@+;].X;,L-]#2,!:S(-@^F=FVBJBE=^6 M/YUQ 5X\+A6'4'BX#MCY-X.#?G/\:N]WG["$X-%V__TK(Y9XHMX, M+X=XN0Y>\"?JS2KR$"]7P@OV1,5#Q%P,,9],O]C<*S?F8H0Z4/P,#L9 -M_8 MV?9=BFN>#)P< M/]9R'9(:<[J2$4H-P2^7(:/X";_BW\J?&[ML(7+H1U6F$J$V%6I3 MH3;U_1(H:[K6"0$TE?IMKA5C*#Y=[ #>'$A*B6.%>"" J#?3WQ]%G6)"=2I4 MIT)UZIZ$&5Q[0I@5N:12;K3K'*;2S#)+YYR!4&0%ZG+"[)IDW=YE)X0ZU=\( MJY]0@[^57&$1_JV(,18Q[ANRK.ET%[-.;KWB:F*R)QBN94J9AD 'O?*C.)EX M7,ULVSWK3 7:H6[VMFYV]7*DZ\46KW[TGRH13W=$M]?W2%T">3_=)-C% MEGP.I?.7-P(?YO_E!7DT0U.7_WG!'3Z).>;L#?Y@CL@[^?22YUZ0_U%:R[EV M?Z+V:3]57AOG+& MSL^SVLLFDW2HI*$K9OR"-$GTWDNDD[W:H )DC]G\.4N%V M5QZ2?J;U>WNO[9UJDX)'^#) ;$@T\XW+'^+NB>N[*V:R#P1\6F*8?T6>_XF@<01*E'Z]!["#].K@5X<)UIO/WDGWVV %2KC?!/Y$7P@I+_B! M?$;!_XJ1L86NT__;KJ5/)ORA?T-1 V]-_4#>;3Z"FJY_6YFC2#I(3K=W%"E^ MA"H/H7H*7.+VAL6[XS&1F(U<;%5RF' &: M\4PVI746=44@!>SERBH]6@SB$PKPT^)TJ=GD*-]--N#*H[?WTLR\DR]-BUJM MD+?S@WJW*,P]N/+H[6NE5>+4005H %=DP^ARNI#TA/CQVU<9QVC0J26CS5/$ M1"XLW,*(:PC4\OZDW6U:8SH"XJV3S3F" S[6AE><[3=HLO-K2G?6!_4F+G.@J#>Q9C^#+U#:%G:\--;6J M8XN4_)E01["OUNALSL!+&1X,F[A>6EKT?.P_=0O\2]7'2+(%?K.29+E +JNB M+]A58*==RX+\_PZM4^+]4HC:D&]&?:3Z5FC.'T( 6&P+1__M%_?HJ9'P1>L5TFC.#[LCI< IR(0/=&@/][>#I M0Y <^P,_!Z,=6Q%?9:ODM3/RSLQ6R,5V)'U"4OHF4KKNU*'SDQ)Q#G%\8VEP M6S_XIG';.>9D^IQR\S-.KY'_=_7:A0_ Y3P#6:XTE/DAL_GV0ZV;Y.5MG/54 M16O%,D5F78EK+ADO+_OY6:Y%;BI:XU&2.6YR_!@L_WZC\9#C+\KQMT9:KM\9&YR7J>8'* &'1ATY:.J,->PW8%)N%1;4+1<")F@[ MBX+S,W%EF;H><<3EO:C[WU-Z]+:S^1$K+=X+1SV>Z#E[Z0 WG>GF"H F\"II8]'J4)_&*Z1ZAH/(BT>B\&\WBL M>_;Y2U]AW75&HG/X/+/4IITX:.:L?L&;-B#KTLCS\<[BV[$32>>+M2^^Z8^AXTD1L3!V=63FX,Z7>OKWR8RV>VB'$MF5Q@Z78!+RT; MGK$4%,CE:#SL&7O+W)"7PQ,M2S20[G8OEE+HTPA]&C>J3M0M4W8EIQOPU,KG M,5%/ZZ)MJR,5R*]+GH59U#K&;$9P77=[,GYJ<6RD']IQ+\$^590]"&\&ZBN M'1WML-X1#1UT;;AW8$4D"\BJ<\_Y'U])9_Y,/O/#V457!TKH-;F$FI,!(P % MH=P$"V"X;WE-Q&*+J69ZAI8;Q:QEKYJ/ER9LT.V)BN(HW^UQ_"8WS0BA= B] M+=^D1'U8.BQ)/,7,!XL^'TN)-8#GO,3,1M*!1M(A><[^ES?@<-G (:(#T0;[ M6M*]&'(WSDTM&)=N*&7$H]NP]NIU":93+)G#V7Y,*\U M BNN!3J5;0A,,*J*NF.OS4V3>LCLH:_GK]643S.[5^R5&[6)P'%$1L\O5IEZ M'R-9R.Q^%FSB O&A&]/7:\X86!'QN*_5CS':MF])PT,-+14^-8]&J:*#HC>( MAAT[?LW5;;QKSP1X)!B_ZE"Z-I!O25:?7S%#DN?57I G9'65I?AD4VW$N)@U MGM5JF*GSM8:0W#B>XI=3S$(9%LJP&X?QJVZO:P/YEF38^?7-S\JPSJJ\[GHI M(LF[HM+J>5W9;E85*,."JBOB4=QC9Y\%YORB6-*\JV0<06U!D>%X/$H15RN$CQ,6KH!3OBFDN]K M'_.6&/[L6LEG&-ZIZ.MILM^8QG3F_:__LNQB+M!FD4QFQO'>NU2"RG+U)N7)R5FBOVU%@6I<^TC4X";VBU M)2B(C=% RT].CF5)ET=+;!)WLUC.[*VJ8I4EG%7CU%B61-4KSZIV@>=BW75C M(*X)0VB?',N"E^/R8I"B)&WE%IU.=JD/^7KCU @5IQA;=AG-^FR';93*V@HO+>,I,]D;DVS@W3I<.9;Z>;V=P#VLUAT/N]+ 2]62&QOR M<&6!J!&ZGDYTM!45)_3)M!H7^5?&QPC&6(DOM8466TB#+"&,N?4*+L6/EZ:F M.7.8DM*&EA88REB1J66'\]!]=@12:>VJ:E\3##Z68B$4DCDFMU#0TB.8&L7! MO&B,,KF^S4%+3W:*TC4= 8,@(&IC7HLW72PNEGQEQ[MM:+HK5&+ MXS%,;*X-NE[E!^DNA,#Q^VT(UEEN4N.U.3.*5=S,N%BCO%,2(D7&L8OUUVM%4]BF%1S$C0\T0D>;9M6UJM;1H5SFVNW[60& M:MW9%$V^V&L799+N' M$JVW4+KTI)0,&#H9U99TTW:M$V-1"F*JL]:J;)]K-6MUEIHOFGG""[0ZU8"Z M%NN\L4Y R_!P:M$5-*9O'%N4X5+M6YE3U!Z#2-J<0HUEA?07//&/#8V)H1-1 M[2M.(4)<]LK<(6!EUC6L$QOQ\TQG41D,B!H/C@=]A7.'E*O.'<*?F'#NT W. M(""><#K$R^WA!7\B\1 O-X@7[(D*1P_=(&)"07:;> D%V8WB!0JR1(B8BR'F MLSD7[RG(5QV>LF?&J@[ENFW-K/A.P<244_)AYIW<9&)1"%378&I M'FVR# ZI*/%(K';6*46W+J$_F7S[MP+]KZ@L^6!4]I<#C#80N:T4^M;8M)P8 MA,S4]XO_/AL3W=@YS]@[#QF -W:Z*R3I!8ZC&VLO\0K:SX;\D+1_"&DG[I6T M[\FD\&.WO_X4#-NU1$,"D9D%IJH[C8Q4 _X-=W$/*MTM4O [3LK[R)!^-S;Q M>!G09R]Y\-6[-M3N4J9EF1X$GGTB]SF1ZR9SRW8\P;FM\CA9GE$,R[.;R3-1 MG+E0!_B0,>^7,=_TM3\>8YZ]-.%CC!DS5U)-,K)]?JK'UO,.VRQ@UG:N3)3 MWYH(=>?FZ48YV#86FT%P(;2:HXAOK.JF:#RJ0G\MN71C8#B?77.3MNK=ZQ9E MR(+V9NI$VTR)AO9&RXKVU&,DIVYQ1#T)VMT&E?)Y@ L1EPCF,N"7R:FQ@#YB&%WC&%7CF]X(,4>N=F\L:;W00+4U^\.9WW M8?CS'L+I1UZMD*Q#LK[_./*9G+57O7+:9T_A^HF<^#!L%V9Y_VTF5A#L]',V MLI8Y1>D:)WP?V7%^U68]/4'B>8*$5?J*M]R*)WSJ)A MOO??IE-]C$4[!;Y#]15/TH"5:8QJU5Q.Q[U-&WJIF3G=S M>ONULQ2N;*Y>^_BW)/ NGX55-0WIU:B,L2YKI4J3%[#TNB*WFRTM4U\W4-=U M-&PZR80!VE Z?+/5?^WCWY)TN,R\P ]+!Q=D"*Y0YHH8;:02$I\I+4>&@J0# M5(HHG'BHB.VUTM9^UIFO;YZ%)?+7550DV0*_3XN@G&7:I\IQ*V1;D[6<[7"M M3K;7U@F%7^4:_MX"_TF2?DL6A0SZ(QDT=)U\35?X H,.XI,5-2\P32VVKJP& M6:_0%/(^@_K>DV042]"/ZST)7L%#Z*&ZM#60@U$GLFI+<'=.!.)U._S$=OV& M.Y)I.W9H2H6FU,]UM!S!(_+O.U%@]O-="X;M6.X4BL8]]L]L&+\>M-5B#=E? MNF'^-.+]*CAE;^&BETB7A<54FT^TA@!<;0!4?P0=TG.B.'6<,/^?4(J$4N3G M.F2^78I<)&O^O%(DONXFZKV9LL!JL6RE,EVM4MVU@J0(4L:B](FN /^Y9\=- MVW1$/:(?)-Q'(P9P0@OP;%7##UHF=-02X(?7!%TL0^9=5W.6[O2627HH8ND$ M<,U760,CS$X+Z+*!&-O^\BVHZS_>_!R-A+C+<]I,^77!I\Y5! MO,&T74C7$=N=PJ7P.7;$@5^(BF(!1710!VC5D-09U*-FX@HIHK;?7,FUCO0J ML)1T%S')QYQ<441*_LL,N.G(2%V R J(ENW_ $4C@3B"C__N4< 5T7$MU5&! M71OMT_ KXX'KNMNWFXT6P'(:65]K(BG5BEXX'EBYJ?' #/5$DN$PNC?IY$I3 M-<-II[>(%_R)"J>=WB)>H.H:#Q%S,<1\TLFUN5=NS$,.]9[X62S@*U65?K3N M^\Q="@*9=V/G/9>]&[^#0LH[=F$]6PU-L#64:J/ZUG@J&%6XJ[:')@-6X!;' MIW(ETFNGT94DKJ7-RQJ_HKRFXI84 =^TY'Z[_>77!->5I11U-BGUT_QT;VMG M=Q9=?%.A"071>051'XA6VS-/R)^NZR82A4Y7XN=$H6;7AF9&SW@"<4'Y&J-VE.I4(U:E0G0K5J6\705G3M4Y(H+%!IBIVBI*P:;U+E[16 MJZZD&\$01YP\8XWZU#>?GU!<%DJQNJ:5NL65B-:4 MM%NDGBW"J&O2F]D9$&2P"-I"\BJ$\F*DK_% M[\D->PFU_7MVY/\?7%$S(JRKN+83(;!HQ-_LOU'Z%H(=@?V3UDT;)7]E1 ?X M'^'__"?JYW>ES2E\]BIB@9%JH 0P.:(Z=@0L5=M!OY""(X^"(T.B]3/ X#:! MA98:CAD1(P8\YV:AJ$"+']%NQ$-98L-5I"6.1$O5X<^BD7(Y'8V(=F3HCW$& MUL$F4YL/3V\0O5:"_52AO5%'7 M5X=@@0\JNO!#@@P0 E\Q=$?*AE50OBBX4/D?T'P0\W!,8^/QPE=@$) M!?OU50"0S1'V"7*W?GN:B*<8P)/"!T>WB7\1&\#;!55N 00.S*RS&G$@<2-]N__ M[TRTG%60) @_^K=C*@#]L=O3P3'*P6-V&]\'$;RPI/$!3B&P_[,E'CFRE0CO M UX&[UK\XA\.54<>*V2R^4(,]49I1*%[OA<19%IT;)6D.;9*&W@B,O,,,24BV-IC!ZRI?B<7RE(#'YV@#3#Z(JL$JVS+8;7G[ O7X_7 3/ M/;*%U/EO%1+'5%QM""3BSA 1'6B#+RZ\(+=D+X-&TH%H(7UI_,_AY40B07R) M%)H]G4?RQ<=6\A/QK;JWNX/HQ,N\F/]SD/ZS@R?*"S6MWUN];>]4F[0CPE?A M%! +LHN"7%Y1]\25O35FF"=BIQ/^WNE^" X1ZHEA_A5Y_B>"QA$H4R?%:8,5QYS])O G^D)(>:$&D,\H^%\Q,K:0"/B_[5KZ9)*3 MKTX8B/'TX+%> /+-1]!&\_-XX665#A)R[1V%BOMY3Z]1Y2%43X%+]-E4R.L: M3M%)G&;BQ*_@Z9#\D1A3#3>X 39IT@4QU5EK5;;/M9JU.DO-%\T\X0EH*1X( M/O@+(+/.>ZN)2V%@3Q&[:6F__2H8$@&)^W#-^>0_OVH*:2)&=;'NND#W&<4P M"A7OZUY5U0"UT8O-BDMUZDZ#JQ<=1826(_S\Y'TPZ"5ND*:6';"H=#N7\/Y%(&#A3 6P2[X[P*4\4 M+,MRAUV1):Y()=7^8C9.N\I$2UM5!B>[_4:_UX!40IV#2%#)BNY#TK<%MHHZ MU SNAR)\S+80(!&P_?;'YR,'CE<+]72^F>9;V)AP.S8!9J/&]<@!GPSU+)L6 M)+YE*=-ZOZFU>E+#SV&GMT4_(<(58D'RS&QJ3" ,1$@]LP>B+9UM@[JH6O"'M M3:F3')E#$Q62,GSDKK8+6KZBKY)#^QQ^K4.BWCKQ/PB9#Q(V-,* D'2TWF*9 MUZ=VTY3= \.<1L'2HOIKPC[ABQ1]WI^*33:U3D*I=.IMMBT4K*6A^: M2/@3<7^J-# @F2-ZC@;V./IL*.I^Z9_L M0FO?"2@:HNDI@LH03_H9(NK.M0* '(U,3-5P],!)LW$0('?%T'<#1)Z]+1'? M"V2[PPF0?!-_Z]$!2PG,$"1L^#607.1%@;\6(R/D)(G!TYAH2\%WZ!_J!A>( M*9 7")+NQ@D#_[,]K&C;P#ER#.TX>6]?AYZ9UO8M:&4=M7CTY-61VIDB\+-A[")7(?NJH]#F07 MA*L,D#F/9+&/F]G,,B%>$;&*DE^-BL#B0(/4\<$,X25NO%7(I790G_H4*1A( M$!D@D&,[4MZZ,>&C7OHW)63*(LQ!!/A'\W=^N$_TTG/?_B]K8/&#&EC\'$*O MW>BS2I^R4Q@Q3I:+]?FX7&*^KN?E($?:90@E8-<,[@! M1':)A1XJF+ IYZ\ MUF567=O:H.-J+:81B[6&%"^3@9:'4\>B[_FV1OA"5<81Y!.4CV_-B&_EPF\@ M,<%ER.'Z@LI& .Q*E#=7X[Y$W;A%"!(?P>O_UQ_/0A$Q'<_WPDPX-[( M==CW%0XX*:\/>6$FJG)DQR?!82!,40@$_GEI^G]9 WX&^G<$,F:-[+''I9F, M4TBE"[*7^GIWA/HN*I?= LEOW'22VBMZFNCU^TH**Z6JO!J?JKT14F+C41P_ MGCT21906^+6O!>?OT\4R=MXV.[W:@*,%51U7:JZ1&W]=+'T*+?$4&[8F78]7_AM#U;5XF,E=*5"8C3]#F8 1BXJCK M-);?Q%=EA\0;KEJ(<2V6-JI,+^^FX\BC%"7IURZ1%P@\M-2@.NMGQ[P4?! I M4)=!/_N&R_^>A!\"VNOXJ3MV=L8WW#9'J$F]UV(U;*"A6SZ:Q(];PB#8^I>S M?_= _&S#A]_!6K>O<3T#_:A;X$G@YR?2M)(R=(];&70BUTW5S4H6A=^B^(GI M+PCX)_07Y**P?;>"W_\'A:U/:A3/0/P=)56=@?7JI1&GJB-OK*5)2J*,%%895R[8 M#_@D [9Z^=DJ5=8P;$76TP.@&@5S#6\GBCPN7+F(C#OJ$'8&R!++%8;%E,E8 MJWG&,,<-FS.F\W6A]C7(3OAEL:,7E"Y/I O#&:,GFDT=BK9$_(1@\YW[+PGZ M4,K]4++>!_?>E<(%,N^TQL4-%FFMWIU"*Z:>EN94T>KU(4W3^'%MZ4^EZ2^ M5?3:LI04BBT^+8UEUC38Y JT7\8"C]A'L*K9?:<[Q4$-4] W0M7LVS"&]=__;^+A*YIIE4L]W8@.)Y1YLWY[Q)ZD(B3K\5 M5XO90$)TAKKZV,#XZVRLH3QF+'Y08[ENO3>I 6V8U@7VP^&>OQ9[UP1^C.ED MBZNRL]9*&8?MBVJF25EOF3_G!GY'Z9MXK-68<#DS:TT:.A;+9B#P#?-$E.=( MC&[B>:;KH!#&?J:I[[3>JL-^]'(317CI%WU6^* 6_(9>& UR,@.^_+8K\0II M#_2",L19/9_F8FIFWEKAWI*L_47)89!3L-UG[1E5;U!%7ZD1#"MTAERWV";D MU43+\JKO?Z*88[<@$N7[)' ZC>$6<'9[_/SY)(4FF(JJ <_PL32%LC$ \7;7-[">LR.=,W'TZ?8XR M;_4.#\JH:]+IA5S9U1Z?&1=T9<5-:YEL.M9:=V+Z-^9;8Y6AEI(S6I9KJ?Q8 M+0PY-X/RK5^;'P #]49GNO2 M:ESCW1J9+,U=24M24!;@\3?P,#2M/;^1Z'Q4*?Y\&LX=A7Z(C];.OB M:(."X7OSJ\ I^_DF"F@B$&1GSWS@+[> M,E8M&9I9>T5VKT/IH,C(_^&N.N^= K73ST/*D/_J3>1A.M.#+]!/T&&#HS]M M4Y/;05[4%CH[? 4 VJ3(0*P-MWJK']Z((GSNPCX)MWU$ M1[14=&:4S'E@X:0@@-"'F_5#1G=3RDHN8VY-J#/Q0J,\S'OG22A-H2RZU@P* M1KEF[&\(/YU2JC(KBDG,8RE^/E1:\J T9_0B-"JQIQ,S!B]\97T"A4%.^/50 M*%J9?J7#Q0;\-,M4R4'=]$JM,^4$?Q:%EJ6-X4/'<7Z5Q?1N>D$R H_"YJ=1 M"%G^WT/$MKZHWXF,K6P./A'E"020+UBV>>'?C_?OP&LKR RNP9O'0$5UNS02 MM+)ECJS=-P4H?MY:?)X(1N<[#?'2Y. MX[]J+N.B(10!!R8>F5$:N6X-10.P)_P$_M^X@Z^(ZEN0TG]'"HNF#"HY9UWG M""]#5@9E);^@&M>1"+,RAU$MKT5JH-V8CK)%CQXC.^05B7 C"/]VF?YW"%=: M55>N=5E;BQ$IPG1&32G69:^#\'3<\)IN>9G42IR^3LIJ0_#B*'GG),*?WC<> MWJC3@$4B>^'P$1:B%7NK1EZY1NFXL<_EQ5>QF.Q[R=12T(#"%D4R+N='_,%5 M0WWTJJD#"S4&@(9R;93>@3F[UU;U4)H0=JX?LQ<$%YN7Q[5)W>P2G>!^2?Q5 MV1$$^QT@\MQBJ:WV5].F@'[,JJ7=N5!PH%?-X#F M]OJ_00Z=B'^;O%4]YK\1H185FD0D"'(3*C4HW@FEJ(V ]%Q(Y$%@H-HN8 <; M%D MP V_(6L+E09&NJ;EP2IA3)J@J,.W4U=&MR7M0H\"ZCA$:HJ]>,G0Y0FZ#_% MM?W&#KZ0G%FF! !ZH"3.4'NI(-\0OA_2N^V[I>##)03";8'G\X?;_>HJ"/[Q M>C6;C6P$%"S>5;-% [>+N'F,[Y-!4--1)14ZX-:GX?M<3$L1#76];1 DFY*[ MV598T]B5Z-&)#0O4AI"-G'B*Q@Y/_1AV% M KF&8H+^(\3(-+@/(B-U"=$##V\I 7T]DS=$PZW4WK[B]$?R$#[5\0'5@J(' M:B;F7I'YYI.@A+5F@/,)S7G/F=6\A4MP4Y65EO-<,3L\S(?YHA,YB_"1]M&1 M-O>\QZC-N#TV=?FDPWA9[XU'ZWA;@!]B$#X4\8!AG# M$2V?578NT&V-[F$QVT&0%=_2I.JSXA \UTC*OKO/=\;N/2BHR(0#LK0V.NA!%FX\XA)PM;D@< M15W.J#R,9E*_ILDJ#M@;Y]#?:X 'M;SK ?8SBB0BZ4?03RUM@YFS2FH(.AL2NY]QFV.Q]T^&A MO/4'(YR/TJ9C;ZZ5*V-2BTVJ@% 7=H=TE6^E-)*A$Z4&4$U^GDO5J%:!Z10< M#U':":OVJU)V)RWW U7'HO,]*?D/TLZ0PH?(2W0VT;.M"B&I%M2!4(Z+M*DF M/M&P8$^QC&X3<7UUQ4__03T4()Y1]X7G<";Y!$H%F-FF(B=3*(BQYG M\KXJD8>KH*'-C?/#MY2V73T:/5X7Y_&.-+ QD)GWQT"J%WO3UT(R7Q6P4!/P MB7BDHAUL:=D^&!$.F6&/UCZF,^\,KT#1#NK$1J*K.P%?;-+/DU#XF][8.IN /UPLH.""T$4T]$"\V.LI3A-_:U*;D%[^A M+#DD(XQG>;'9_]; =3:A?&@PJM8.>'X3W.Q-:A-:C[:BGP6^5NS%+5.F[*8F\EXFLFZW$' MEO=YXNEE)\_]5H;WU\N3"7MYAKT\W^WE^?F.G<2G.G:29X/S9YJIIT5#E%4( M[:LT5'^YFYH1J4F.N3-5\/C6.*\ .<9!$9HW==G/MN'+Z: G%-SP2)50;W, MY5[=,F57(J>=)SNSKW?M_R@(?IAF_+=^IWD/.QX?*JU^J[C^>DG M[23NR<;G0:N\YZJ#P[98?J;9Z6RIW?,/U^RRIH*>67LI;)OW; B@:CJ;?CW[ M#PT^/=71/("D&$G!LT#%9Z^3^>:;@X;F0:^!5S*WCF%\W$,ZG:E^-))SQ*S!QDDIP6NG;N;[6OO- ^CSW\?Q8VNTKC]DT]K2WG3V#;3VW]VSORXX7DO&@ M.^*V"^*Q"'XA7M_M*+@U6]X2[*MCX7O-]H*GA>MA-NLF4Q5:#XC_D%?0 M\5-?96CHBD&H:_?([6?/ELTKZ-BZC3Q5U]]-A Y2D#^8![WS_/AN*!0*?#[* M:V?P#5;_O;OMUBTT-@-EC$3^[1=Z&Y!,T226X]D:D):>+[G_^(_:@PCP=4A4 M)NXG0?MGVMZ-Z4RM^7P=VP>1AK=?X_>=E5#?E:#":QO@> 7< 6L:KI1;TWF5!X@ZMU1DQ,(4JY)G^E)*6%F"A1 M$Y8M\>F>WI$::J,9%Y574XUWWLCKX^]3*2!GQ1]/-9=DIS5=\+GBNL!:>&_1 M6UPIJU";4QEYT/)H7LR7L@F\6:BO]->S"O>R0EZ*M)UTW*\Z@#?4*?'UO"2Z MES!T?9KX!I[V?UHV#=DT_#[1R)M8"P3Q'HF,R/:<*<;G*RZ7I;4^)B^7;/E* MJ>C+?G$]=?K)%3;O\,:ZC.>&,])[(_'T9M#Y#2S^,70VJ:[! )5M8=.I4\G@ MXY$[\Z[$\9V^KO\=) MIR?TP$WZZ2[]QB]B\U-.?:/MTYFHOI:R;9#OZQ5(I3],0;T^Y9Y/$-7)G)@S MY%Z56_5)15)%K5/M?#K%]"T;C_?AOK7L#E(6GW,93]-B-HXMBBYI];0:Z;"S M3+&OQ%.O9J'^ZZ;NBO,)EQ;GQ/M=*^-JM5(F3>5J,Y#)?%G8GQE%C91!S8CA MHH*E=6%>E=2ZOD@HK^27'HB+LZ>*1E]D+2%1,(,VP2:;_,6LBTMG%5_7$<=R M)EFMQ?4IGVY1M3%9G2T:LT_; "="WOOIQWP W5=SCUMD7'/=3H+EU$5A-,_R MU27!O)9[_*\M[E\;.8'8+LKYU2.EU7'J#EV%]RYYG!/%/[7'$!'$5K:=,% MW9CBQESX^^9BSAM^SW>;C-V ._&4POD=]00O,V$^6E[P?NG WHJ=Z_AYR+"? M>Z(A7&T2/(*D#N3^DQ=!GAK*=C&1:W,![)U&' VR07RG*KS!;90O\XD:@Q-J MNY_1#RS%/[Z?^C_:N.@W/_5ANIF&(]ALNK9-!$B;%DJ-]?&,?G.9 &WB2&L[95P]ZP3L M2#*#[_;V]T*?\!&%\(30U%[-#CW%_B3'NKA"Y+IM998GF.YOWQ5*SS-\T(\HRN]9 M^)PW;Z4*>G.!3?"R=<;[ M8RGW+]G-%?6,[8O-]DCLM4R[">07LJ-V%9+&24![5.?-<_!Q4C:C2 M9E!(?0OOTW-5JZOU:$G-5#XFZOM0SG];^\AK M<&H]EEV##"%K9]=).M>GVN-4ME!KE-A M[;4_MX7 C[O!^_W#]OCQ%KK7>6,T,@]^(H'?\!J/>98X0RTH]E0$\OPJ0A9- M 87OV'Z;=0,!A7ZS28JYK*9 7I-806NR\K)\>\BY72<5CTT6>2WQ39I"CP-T M9R[7&IJ:RHE675Z3F9SB:PJG!G)\1%.(WX:F<.,H_4Y-@4E31E_N35Q-'*X- M:"-ZO0($WI_$TXE9>?>J*9#[FL)5D:_FQ'PJTS.&&JWFJ-4Z-LBM5^=J)OTI M34%+%DA]%!^0FF@DI[(T;TTGAO(Y38&\N*9P560U\\S$7G;L-%]BQO-6"\/= M4O[KF=$?U10R<4FQ2;V[X+N5I-9K@.G$30<3WI@3(Z8NJ"E\QEN1%54KTA%U M%P24CW-"$05)0K7'0-ZVMH6"3'INRKJM M@5/A1\'4N+(?%B6@B)NYVQXF;[WP-;<[PNR'ZT:_CQ%-0W%>CC TE=L M56/'U9L R1Y#CU5@B98T7CU(?6HRK$\-ZU/?K4\5@XI42>BRU4F#E"M]?A4; M#E>6YZ72N@7*+H:/++&W M[FNY80\K=01A41JB9U(O5S8,J9+592Z/S?1VOJ/%K+I=&VLM M8MV>#XMLSAZQ<.71V_4^P#5O,:SSK15/D2.R!T3/.P7/'K[*Y]BZW<7498*T MW,JX0<:54U"*3UIL-SM6*2B-[:HPPA;]/.]R2E&?\X6T MPR!X'N&H:M:SZT33[G-N.S5KE' \);>\4V<'];::GM:8$BWT>6ZZF),Y!:X\ M?B;@#)49=2S>Q2"1#$;<*&6R G7\S Q!WOH4@W1\UV;6OH^%WP:%C\6!6 M0L2&&]O+GO!+S8",*HU0]PH137O?-$C;N"@.?_[LL#!\+7VDFZ+?W,W_-AAH M_:HQ[ %_U+*O'NSZL[R]O?V"/@33YTCTKN#[MP_F0.&I0N476A^?2G2=L':L M-6E*:V&B(M2:;+'@3^% E;D9?"Q4T\'Y+DIX%V]4"NSI\.9\:?$]_Q)] MB5(>@E%LO\>J#(G+;[##$!CYSWY+$<>_*[?ZC:^+(-U&A\<'O[?_V-\4T@@V M&T)7I11Q\J=8VW?NGD:'IS(D;>?+X#EJ% _WBAO@9[XS[XK MWC!]1WSPX$3_?]WBM11T5(Z=X62MN_?1__[T![0WEL[RI. M&SW6?_%VJ3BT3=UUP'?H4) \J-.N@+W??9PP]G3@__VO(_\%8H@GC GQ(B7V\-+\HE*A'BY/;R$G!8:;XAZ_&ZQ7V1@["F9?"3ZJ)I!G4H MK2 &$U+)WU,)_4A$XH];""#5/)(BYQ.Z>Q$Z20)@-+HDB-Z_G[[N8WLN+;34 MA7\1/X>JFZJM/8=<7SK8GL=O3+O%5J9GNDTNMV(S+96L%S25/8RWHJ0ZWW$I MBZL5$*WCNL+#,'EEDXV'K@*_V-T?A(#O3Z7,>I-$R1TVL'2"H43<[??'5?;7 MGZ.F_+LDU0U\_D2<,<2=,H[\!+AQAKP/M:YACA2RDDKRZ39A=<:IDJ(.E%]_ M@D383:>XEP [FX2] M]\4K:_^D MY,N37KCB_CQBHY*NB/'8W/C_['U9DZI*UO9]_PIB]W?>.!VA-H.B[M.Q(U!Q MGA6G&P,%$4%0!E%__9>9H.54LP-515^7&OE&AQE'K/"M/(A&*7QP?$$#' M?:###:1\%PW[?"^4VZK8>QH5/:T$6:>'CSW+;0=:5NLIBP7=8,LWRV\?QU ]/]Q]GI;4??%7!46_1R3M=-7.S34T.V MBU1QU+BUG9Z7.5,N,E:';:TFFI1?T$.&!19GA=_L,Q#\9:'?F6(G%CI;BQ?R MEL3.V)P]%9LICF[$-HU[6>B/5(\WA3QN#>:,91V MILLNFTPWW%XVYG3X,\5+;[:8M=Y2*K3#PQ;;'4VE,JG&8OP2)A "BSF:"!$7 MIWD&JOR9 T,?*\$CC-KW:,$-C=K,J):N-;DIJ6PDR6$RL\U@*'GYL50DB=]$ M#UX[P[R_!?M?E+'WYVS[OGDNZJF#>ER^ 9-4+WBIS\SY.W-<'S'^Z-!\#$'E M<9LS64^]_JVI; A/D\/1H(#G9LFA%%AT*9PJ9!OGHUV)DPQ8>#M#G+A3(6 G MXNE^+ !6+J1J37@!;$L<@7T&=EW6T'..NPLMNZO867-BE_B89J[%T=%(V^PV'HRMA+,W8T[[Z[ M'I_[Q.;7JZZ>4I\!JR:VX38] ]R24), VSC)DA;7"]V$?=5>R,+F]JV\8*G6 MOG'=21(UDA1#'(OP0'R?W.W6=WK%[$08^1UN\^N_'S94]6.;U>ZB4SG;=:V, M;O%4O1S.K1*RI]H-K!;R:XI^8O[E>N'2<-N)5N61:54=)8*74MF MYED'MB*BZ/,& V\OQ#PNFCV:-$W])W)]6-VES(]^P"7K:=FMMJK!0^P02+JF8=:U]V-#JXM,;--2YYLSDES@0!'U.I"O3;! M+=Q^T>>:##D^YLTI! /'K>DP(QASVAQ^#TZH0Z3@3;"QY[:*;NSV6X15O(8X M%343P@*X5I^+L.X;SC?U2D%/BTL 1<'E8@@UL8:C>K"-+*I@8Q3@*[L=+&!VN43\E +'E>FG9>9=T1VJ!!MORP+:&N%- M=$?;#4$S &KL![ >?N;1;@Q))QH+WD#5[ X@T'Y8T$Y07UWE-1L0W$K8"HA! MFV(7&HY0-:F&]27TVVT"?9$]%M(-E=@ MA#U&8A-9X[6QV];SZ7:P;0#L VJ["7MP$AC8[$27@2-1E0%;+VR)2,T/&+39 M#;7"4/$*VE?5"?S(G@C^%Y7[WOU M&<&YU)<8\$>>(V1Y@_IJYZ/>=]USS*D(6^C"E@_\;KJW>=?*+W;W)OO6"K4) M?(/]"^QKO^1,(DP5^XLYMR1*=']3W=(C.ZC]NE?MU^X8AB)_9F*QSS*\R1]; M<>;5"M/N MD;/XVNL_G]E\1H]WPLI5"MAB7UNMW 3(KR$N[W_7=VY0GX7G3Q5"QKZZ')%7 MP>)')H&?P@T<1AB6UV$73'[GT?\-BSEM-%+)> NO56V^D!FF&JF6\Z*!](D. M[HD[3VX/=-$S[NJC!?@ZJ;Z$3^OE[I_ZZUE8 MR, JZV-TI3N M]+%L)W>A%W*&U>6LOV:UZ%))VXT-DRY$F^MVP\T9ID)T[$8IPP'$_#B(@2&E MGPPQI$\@QNI/>D5ROA6XM,DY;;-8;)<+S@TAAJA-R;#B1&EE'J[RJW6F(U<( MR>W4#""&.)^@\UFCTF\69'ZN;AW5IE-L;F%N-Q:55CA6>IP%>5/+,<#P]YUJ M^!:P7SZ>_&;H_%X#\.JP/%GJ2X,>,PI>FCA#9\;->XO-+6%931=F[=*ZWV$0.6_76P. MLH\@_SFQ+^Y0X?[)&JJ/R*6_J\(8S*L3A&59$B]K;K$?+&_BUZ%;#*H^PV9VM$;3KJ<,5.K?#Q%BN,/I;+NFFF>7.:574G#ZNLTON7S(%WA%\S M<#!CFU]?K!5WR&2URJ12-=PFQM4Z)<4%*\L T U1L7/8=1,+8&G9C6E%#A/K M<;JQ)&I17&3&V<7 G-@I@?GH/G0-4H7M!->LY3IAG,S7Z34=8[3$ )"*#L6I M\UBP5W *,R7>4Z;Z4N$SJNF#Q F!.\,B0[AT=?,52C+;3[6[X/7.M0]22M+ M,A"M7J#/;BPSK*@V3TJJCZF%_DON:$:@XKN;C:)_9XG>!Q7>/5\Y)$L!4>5, MLG?RG!+A7+SFON[9<_E?DG*)*.;:UMS*XCRI]PNYP2K>2#1^_8G'SX]4KS\@ M_I2@Y!%!R>&&CN6D^8PBE!*O2\EX/3O@IOXFJ&.E*C+1[J0XL:6&N5B!&RP[ M#0@;T>CYJ&/L%N!Z2E7BB*K$4,PHD_@TR_.** Q9/>JP=F/Y89O_+E):#SMD M5]/J2DDI+]5&-U'7+ E(*7V^:>W12-5 MH_H&Z^G)MU&"B[*(IM/76P>XF"V_BG"M9'D!6PT*E9%2]WZIKU1'+8(_L] MQ2[*X4TM/4T->A($TUCLO(.U2U;8>V8-I0(VTM%ABY#/R>EI#QP,UK\A@=7 M&P F'PQ4]MJ__/=DJO4MFML=1XQV(16,C$>HV'F$XB@CW3N"0#GIQ[GJWMA[ M/!+;W_W(U?$^VG=Y0 L2H!>'WC.LRIKX&_5;@7^=?>T^5]#MD2J^-7Y_J_X? M.^EM6?I8F>HJ6+/)+FVPG*INB1G9'*NH"=OY\&<.-QO=Z9;;LG(TG'72TRT] MBWHZ!S@N"HSUPG5HACEQUB[D'8TX/A=?/'9=X5/#*K_1;>OW!+;@/*S#=)>Q M"W@=G_E]_ASLZ"SG.+")Y,;2%R\$:1-GL4N"B)S&2T^"FY=K2JY[B.>54;3R M3)/-U\H9MME"(<[X/QC;X KMOEM<<1;I?,1$>]F"W9GJ0!N!9M4F$Q'"\F-Z M<;[>+:ZF856 O ?;9\@S B 40\N(US8(QE41PKJ,6@ZYK[AP7U'W7A'[VQLY M7ZC7=F/F85@%2-MX>G0[V32!/B.# Z"EL*L;NFZ/1'/*@_UE&!/UF=1TB@(N M*V0\5B4+DS;1>,[H)(;4D]6Y_\?N[*IECTQ9D'ECT^)A=R,$G6_7:+H.A MUL&;\M!H<7PQW1-;[6)E-3D*)!:JV7>8 ^A9!40X=Z.O Z+K0@N])1 >]-73 M&1=^L-UW!G97(O59AZ43RCK6-.9<.HY" 4G\.S7@?BHC =_$ M2\LI3VG#]AI8=5=ELMM[#36-1'I_H,:PZ9QI\T_=?&'@ W; ,\:RN6_HALP8 MQP ;D&'N(!R:?F"/\NB+Z0NW'2_X!0 >8 &"U0&J8.#!_!GH+(#]@F[^YM=Y MQ1'(R"M9$)$;X,F:-K<;Z7IX6V73N;FJ9MCP>,8W+GH#GX*,E6'$9&-9R+KE0L[:BV#UNO!R;%;K3 M=\#V3T4^+SH+8-DC6KH]*;UMP..^B4(*P%,;BZ)@NHX$ZOP'U@CYZLF=U^<. M4 O%T*[%[4\$*.ZY5[S)(;. CI#Y,//.LTE+VKOH3O^IW7S/&$1,3M1R@O\TIAME&ZRQHG) MQMQ>Y:#:$R'B8J7)&VF/P-LU!WS/KZ:((A9UV/^T;?":Z3[>3&T.OWGJOE[B MH?2:'HH5M/%)SNI[^)\JX]EJCN]5%'D;'30;E>V:DN[(_UE^K.,I2DNP\]A6 MV]@U4N[W)9C13E[,:'^7KD.<1HV*@3W@$0W[/WZ^^&>W X0P0+U(".SJX[VC MH5D&<,MA$],-UN5A31>6BNQ^'D(M4--369Q@+&JM"\-* -' ]F8<]:4^F\&$ MV@L==$T:JR)OP%R?Z8D'3T'7Z19MDYY-TB2C!Y$FUW&+XZ>MD?YUU/)I3W08 MS="-W[L6" =OY;6:(I%'+XEAMZ,4PM_?O.KP&]-[RT3B8%C][WT;!4@'+!9) M)/["GOZ$U#@C)>Q8>D"PHZ:E[J^.VY9ZG[W2ULKCBJ4O?I-$A+X14TY\9^J) M!?_CL:D!<>3?[5KZ8@[MJQG';11] DB8UE$_UZ>,8_ZP]=5S4GE,U4ODXI$F M#_.J0L02%$U$D_0O]^XGH=*7@VQ>\.P1X9*6")X-8'WS%2(E15L376A+AKR, MF,M1$AXS]^^U]U2^5BB$'B;WAYS[OU_?XM .N6?JCJ?>;C7'"EEH M+2L)=F4M!>QG=%=_FR#^OYK._D]@T= MUVMQ.(JSK!DW2%FIX26!-./MT;K3N(\+:U*E^IS,A"E6U!L=JIPM=\@B<%Q( M*O)Y6^8:+BR,FER7Y1^WB1^CWG=T8VV;'.*=:"/.BFJC3*Q:]$"H <\F2H>2 MB?,G@3GQEP*\"-( M7-C&>(K&#QT/V[NA91L?$M&]VCS]XQJG0?-4?Y(>D<18Z3;J9"_/%?N"+#W$ MP(T2C5S*:FI33APO.471.ERY!7-\GCD-PIXQ6%]7!9^:M-?EK%*JRCUNGJMS M=MG>Y&1^3@+W_#Z&K6CKL7C;:(SQ7%*/67&[Q\\%Y]J&+4K[LU7+>WE.)3T3HL6]CPOI? M$#YLO%!QO)^UTO26#2>34DRPU70B!7E/?^(@[@;S&]\3\7,Q71/,QYDRO&;# MR)R7^1P]CN+QF@8(-D;S(L'6!A.>1CH03(AZ@FR(8TL'Y@[*+5YY0R7=A*B= MR<-C2W![H%# 8$*SZ 3OC7=S 5]/F_]4#L*01 =JPDZVLUV^R6FDYLBX^1M>X66M-?9,@]G6 MV&[!^TPVW;@-UP[R;7>,@\>45^+BMM^4>P;%][CEN*:L\'!8*],?MEO2B'@( MO)X8ZO$P ]/!#5&XR$NZK&X[TT%TP\YC0KQ#X=U,NC)BFC7A'""M VZMQ3&*/! MD_M\_87WI$,.[2'O5EAW>+A/$(>G^[M_+=2:3 V$DHF7DJNL4HF.&]49)*3:2YM%%F+),UNA+FPKT!N:@H6\*4G2%Y?J6N M4=I$Y>VP8E?X\&"R*@Z23=CRF3R]4N"[(Y&<=[/*LKC.XY,!&U,L>.79/?&\ M-AIJT1;-ME*M>=M0NOU>3!I&A_CIE>F4$QX6!JF-0B>L]':L5!?K)>QL>G;/ M6K-;%>V2:N+=6*8[E#KKSEJ0W :'QU=F!K-^I4\/>5Q.-9O+>4'NCS5G&#M_ MNCE."E*W7%/Q5G%+;E)"VXCJ^B'2(_;&NT8AN"4[&E15)2I&'\_,KZ MDLXP+5NN<35#)I-R(KDR-_#*LW4:#;M@9S5QRP+;H]:L-QO=;=X!5YZM,[R1 MJSB?CVV54GZ)+PH"G:I5F6'B I6*14)H\'U>*7$I1YIOHUIYY8 K8T_Y/C>M MYWNJW*M-H!$@:B:ZJW>6A$(8R!A*P6#^+M!Q7N773@ZV[#++%_!<4^L3DUZ+ MT>3&>97?Y>N"*K];5?F1?JKR:]?2I7"*:;$9+%VKU-EJBVD7:M6;UOB]4@3\ M7*K8>>3K\O0G JM/>0W(#M8430OH*$P30PJ#U55>NWY([JJY;PB84!,?*(#8QB\)HD0%+NR-05[%S2;@+=\CIFI#0PBU"87 M;[,_;M\?$!]^#27IY-0>?E0%2/[TR[:CMZ? 70<$:#O@@9N:)GJR^22::%D' MMQNLY-+6VJ9;7(L4^K'1N"#-6A\XV$0A"V@>HE=^]B7 /@:>6ILPD/5F#M#. M>L:]YI3\?+JI#N9*SJ9RPZI2BI>:T(8/12D*F/&?.>+?M2C8%Q\A8=Y5N4*! M,G?1P0C&\N,I$K*GL!2,B("/)C:R1Z'=:6LF>&-8-(I>HUV%1T$)!XC^81@A@M6?PA7\Z0_ABE&PSYWA*9M MVA8B0C3,7L!X!V8]Y;7 ^"Q$0G>]AFN6'%X 0[^::E2<;^ ]Q M#?@FP@!="!)=$">RYF9IP-6^ &TNB"&Y0%06UPO9C5B>4RP6@MF?7@HPP.XG MD4*1%O!K#^D\9J(;CESBRAIZ'0BDFHY>!#A=7MA'GCSW,M@4O(RF _*.T10\ M\$:HYY5[LB& 6T8PG^\\-8^2V*6,ZY=VC;DNN)U)$)5% T$3E*.]?@'!!^X? MZN2CJBZG$>/EHX.<G1$, 9NZ^[M0QX-CV_FWF O4/H)?UP=YUTD0B*&37C9P%:\:ONF M3)H)#6;%CF[P:MW[#1%IT!W,X"9G<@KP_" M01)A<6PK6RB2G8;3:E/N=G:T4\E:4(AA:XJE'97B_8EXD?>_/U[Z^U;F36"+Q_44V)42%?">Z-A4[42SCZGPV(8KWLC)9 MK[M56^^ !5Z4V>P\,Q&DYF**TYL5D=32 SEKP:9Y%/DY4].5,A=:T=[L[0HN MM'KV PI=!O+X4^21\TR#BY+8M^M9*5Q.JUR8[<_BB;F2+J=@(](D$:(O-"/] MN"0^.0_0>8<&D==1V=Q!J.L^O.0]//DMAX&$@^;+1W;UOB&<'[(,J8,4^Q]A M-K0&:8JRQ?9:F4N;P3RVKD9CBX\?#\&\NC&_>PYZ_7R[CF,D)1RNW MPZRHC?+=;(%7YDE8FTZ&B,^#[:GA&GHR!Y[U&(#[- 9O!_-B1S#V^&#OB0'^ M]GSNUIBBVH&%%V)$?B0&Z;*"YOWAZ=ASAV/0O>9ATU# +\?\_@3N91$AV MEA/CR2"2"*B>9KW%[09_:4F2CRMQ8X2'V6RYSX4=,VTUSO*GQU-1L%$VYT6Q M8KQ71P78YX<0\>1Q/+T M2_CE&SLYON/PPUT4+*7W%@1KS,=N;?IQV?YA4WZW:/^\*X)E[)[JW8WPSCK> M-L&,B"1>G)AY4!5_<'^8=30!(KHCR>[?87B^\=OM<> (KS:7L [R4$/WEW* MCTQ=M2WQ'IT&@"S$7CI20+][NQ0<=(KX]( B@@CXXC^^$!$RT!<_\@6/Q *% M\2%C )"].-P\X,NC@(R*!7SQ(5_P2#Q@S.T8\_81O\]QZ%6;^1%TV3TE#=YA M9,C@KGE178GPO> 3>,T,GS_F/72\J34;4.R]=F9 L7=;@ ')WFN;?6>*C745 M?HC.7S\H<(!\-Z5>XJ5VE9?)>9P?>IS_V$7_VJ7P,>!M>6E_LCKZR(?E"]'PM65U ](A)/_G4\ >\W ML5AC:#(>MFM5_G5TT^W6=:R7WPK6]T0[KRU[#&Y_']F!^; 82HC]**X?@OAA M/LMX+(K'\^[O+DFU@\1RWCJ?P^K^ ;-KK@;*/J/ D2[=T?<(R. Z% ^@PP$X MH,R80\)0IX2Y01_3D[G#Y+43 ,,,CO=FK:G)V:WYV.ZU%@0_^4R3_LL96D]I MDJG-66HDRAMSQ\86-+!0VVV;!XMAVF#];H\^LZI[*;)NXNQIHFQ[/"R.ID51 M2Q4E7-:+%M\96,78DAE&8='^\ZFR5]KC?::CNWC;%1 (GM_Z[.V.$,B;B4-2 MQ(3$47;P-7$G_IBW?Q_NH-(X\I_/&AR/9*E7]OO]_+D?$J.\'N#<)WCX207[ M+A[AG:3SY1R@AVX8]S)@7\ZV\850?PLWM8.,Q, %_=8NZ+5W&Y]9>&?OB_W] MN XW5_(TV>YPFQZL19(CQ^EVAXC-Q6'.EYZFBR %S1V_<<'1M*EA3JY4Z0F^ M:2O-)#7.&_6,-*2AHQDE$B$B'CUS-/\3>)I^]33?I8D^L21\1J;WAL(^W3S= M'XCU[BDP=\"K7?J5EWAUWJOC J#A5D)9VH5MDVUMF%Y=G4W-[+H! (U^OD7' MUPTU9'5C(LI!L.&3%N'C3NWN;QX^^%U_;K#BVM:%CX7VJ^7-["R1KZT;WR+F M\>:C>2J(B]P\+G*L$!10"$&W8=<&WX',@\_N'TXHGQWN7]V!J?%2EEH8\QR> M3J\-MM%O##A?B5;J4[R:97AYI0@Q+J*D6ML84]\ZM'JZ:_3_\?3I['QV(>CUW^"+[LD>LC<9=:B^Z/HB4GQ=+VJ)VI M1&.)W 2.!'EKW&4W%>&_1]V[[M"=[%0-Y^<3,\ZMBV<:M)T9''?OK08;%:)9 M92?MBX]:K.U[E,N:VT0-#H6_]\"RNXQUN48YF2L/G5]_DJ'$A>%JD?T@J$,M3T=W6N)?B.'':BN)?1QTW]MH7]C9-;[,Z>"NOTP>)]BU)#+L- M/=#PZ-^\ZO ;TWO+1")"1I_FWNQ6!>F Q2*)Q%_8TY^0&F>DA,WH#@AVU(_. M_=5Q1SKOLU>ZBGAF MX7@? 2Q"'?X ^*1UU*K/W",C?]AJY#FI/*;J)7+MQTQU2+DH2DITR-7T+KEN M56=L6Y(@[OSZQ1ZQ/)!V?3HG>6O1&)+GHZLRW9K.)-=)"B?C M"CW*33B+,1I#ZOS*?#&JCLE:?\0MLV4UJRD:F'FTG"SG$2E>\2VZN";L-.+41-)FPT;EP:1.$14[<;OEVOKP:$;8S3)Y?J4LR;5A:><5N>'555JTB MW=M*EP;0F>LPGDH62PY7DE:-&I6M-<:9QJ4!=*5)=3M<5Q)1UFZ2L:[:#=?H M1N/2 +K>5+%RBE2HL]U>9LH/VG5O)O,9,@$LRE 70&%YLULW9)Y6PUW%.[?<=<5*5+W)RD M>U$6CRF$LB3K3'TVTU.%>>/26+E5MN[T$H74 +=EHKTN)\UB)R%=&BOG !0A MU+F:5EK*6)REH@G)K$N7)(1BRC(WZ%L9G$[G\&ZYTBW'-PTW'>#DZ?'A(,Q$ MIND*HU+4F>N-INDD:W( M"I^-9:FUEJ]*E475I-3E(5P>SC4(G M>XE6NE!5J?G%477:,,5$92-54>A9DXF.U"(>%DY&U1W.5GQY,MQNXML[YL.1 MU]UJWV8O'EHW8+&F]32"1C\U&A]I)?JJ975!&^MS$;RKA1Y>UL=/-]H/T!95 M%>SY.5$#3I3*: (CS&5-!F8AVKZ\!M+F;9IA9^OQMMG:+$6.WR9GU<9(&S0G MTB.:88<3%:>^#<<,MC;HI)7$L0$P[;M^&C39^?+_(Q)D15S9+\?Z]XXZX+3GL8_ MO%5"*;HVIM;Y=EC9$*8U)VBQG"S#\2ODN?L.9<76GALQ\?(&O9NR!<15](;" MP(M&XN'("MCF$N,QQXOQA7DWR <'!\@ZF@5VA?[YWU'.GALE>2!985,<_Q9L M T++*<*QWOS0EFBLY+%X&>?V(5AWE H*#AU^#\<55W6K+P)V[#CJQI&RNN%] M!*\C#J1/%ZIJ9MH8 P8-E^RVTRLM>T,@?7B$/ T3N9@8N5'D\D*\X?/3:=&@ M+@SLEN )$'8?/I2VH&%5H&,(Z]UQ[8X(]@9]87DS]9Y=-O8W_-J;TNF.W@6? M/DWJ;.]^C"Z&4_ID033W^YD[N0[HK[R_JSM&3'?CCA *X+"-_2!;=]?2-M@" MB"+X*?RG:8],69#A;(XQ&GY9T1E]0D]3$=W?P/&5M@HV8\NE'1I=\D[:G=[(9>N<7\MS&^"X)!FB M!&>Y:.CT&,TF=5<'_CH:L8B&',WY#81WV31M-(M1$(TG&4-B O:"AY[V(T'? MRSG\'JYM-S2%B,F]L%-G<#OG\-%U@JD->X\HI-A-L'([YC"V-=4-B*T79UA5 MQ%$QEN<$D4O756TYK2=D%<[W28;H&!["+XSX\7CX@BT8\.B]/%KQL@KCRV#C M0P>4%UFE*]%9=XI+4R5LU#)B(QR6>R6P]\5"\3@=HB[97\^H&YRI""$+[-[> M"%1^MP*$A% %$9A<4,)K;JCG.^/S6U&%-Q31@M%W;PS4Z0AWT\?3<_>;:#3D M[:.'4S ]Q(-\.)@=?3:K'8Y:1H>A[YG)=LOZ-&(8A=I((+MY_X_+8Z>0;KH\ MW+/PQ#S=^?9AL+0)F\XOV7#-#,?D?%X2!,:/Z5%(5\WG*M*0TB9$IYVC$\LZ M2SNE1;Q%VNEE"PKDY(W.\NV$Y TC3?EA M/=6P.[TUEVY0 Z%EDO,^'&GZO)"\G;%(2 [F1TY"F#NGW9M"OH^12X )_"-1^017#I=S! $);783>+Z'<>_=^0KLVS M\^BRE<3Y>(R4I]5NR>Y++]91?,)L>/[$_N);62A LG>IWTH+Z.)XX1G,,GB4 MSR_P&V # X,-^4?@._ 9U(/C3"7XR^=[HL^IN+1QK#5PDFEB OVN&.T]:]J&64UD=PRLT&-)16J5ZS9 M,6L=:[QL&7T8S=Z[75I38&W/W?UO/WDV](R"@]]X@:,IV"1'H@B,=M,"!(>6 M/+\?OKR;:IL[Q*A P0FG>4/5L070.?CY7!=$U5T'O(0''L+7GM&[#L 0=-L@E=JPRG'.TPC77*:[=+,>]<1LO$('U$('C1XD8H&?/$? M7XA(-!A4ZD>^)"(T%3#F9HRYP@R-5W::H!7 >_> [TRQST]!(.&;?*VPWM+>IRNRDLG[)"_$^XGWM< M].C@&:Q782O2M)[%=;9F]:ULF)D-A(DS)&%MR4OALT_!_J.;!\.PF)O7&5A& M#T/T@&)7]"@? =P_Z03UNT70X,]:]KJ'\K M(GX1J_TG@?^GS?1+^,^N16,LFY?3<6!Q^E#N#L;3<4M9EJ3U<$YS%4 '=]19 M-$*?]PW"OK!1[HJ+)F ;650#HSPPRK\$Q?QHE+\QFK*P 88F+:6W6N?5.5MR MDDR-7BHQ9>#X+I9RE_94ER':3;?=H5.3MYZ0.DSNH;HJC83N4&BO\/EBW4ZG MLXY%BUYO$L"<,Z3^ZWN9Y3LR82L='D="K0M,,YM88UM7N?"TFAUQ='E+KARW-11%1O#S3AN?A?]'ZFY3-I7PQ!!% M3(;R",M @)"(@<4>6.Q?@6*!Q?Z]81O"4Q:@4\$#I^= NSG@[&2M(+>Y+C_M M%=L=&E=UQNVH1T1BR1]CL@,RS;&_47N3(([N%Y0*C/8?9[2_7'!S9R!_8^H_!W0: 1.QQ6F&B:7G;)D"Q")T_+R?]Y>U MK'?#!;!=X[&#XK!;''8&8!)8VC_,TK[)F:4/S&U_C$DY3C7\R*R4.3^-32AJ M$%:6'2Z8_=^3YI4>E^&,N"H.!+7@.>[/I$]2X[;12&94D0WJO MP-J/FL0^VR-6-F&I\D175=TQ?W_=LN(C#?$H\$SY<*K^N/-4 \;XC3&O#4L/ M^/(H((-#3@.^^(XO[GC5@#'^;83PFLT:\T&%'NOG1E0[-T68$"R]]IF MWYEBGV]00@#RW91Z5^X_L@LON_,KO""S^X^/MB4)MLA@BPRVR*]#L6"+#+;( M8(M\?HMTJ^4S*#L[V!$?KWH_%JRNH'I$))[\3NWS=E.&1M\5UJ_6^^Q:N/U] M9 ?-4T$I-)]KP.B"N,_2C&NV9<**!]BAB[?VN26N9T<1(?IK/3F&%R7+AJ9^:"4\5A MXRH?-DC<3Q9V>[]>R$KL"8NB6FJH+9SOV>5T592ICBRYC5C>TB'QD_NZS_1R M%V.[ NK ,UN?O=T1Z@#30S=^_YNDB F)H_3A:V)-_#%O?TVL^523I[NBC3\R MI/=8\Y'DZ)Y,=DQ^.T_@O#K(9,5>;,0I#0!#]-N2H]]M&3Z\T]^56G#[RO'^ M(<'DZ^T2]XGRO@\5T6!*\AJOYS/7_4[2^7*RUD-W^7MY&B^G1?E"J+]%/*&# M]ML@5O"M8P77WFU\;Y9?>P/ZMOQ\E(_Y$CO]NAWYC$PWVZ$>*=E9W9B(=Q9SOWWH@>_Z\_UC*Z]"_E8:+]:-L5NQ_K:NO$M'*PW']A2@1-VIE-BS$M+7 M//+M+E+F=D#&$AQ?PL-D59RM$X;CMAT+CGRO[XX_7!W]?2;\Y.M0YD M8@V;IL."==A_5[_8<,O$'-[$7NE7M]_WH2Y-$_FYW4H-VTHZENXK([F;)!?, M.IB<>D73"PE\GM>9 M[G)3&^)C!N[>!$6>27WHYJ0FCTA]A9R7:%9L)K8#:<+Q4EA08MU-M=1G'D%J MWL3TUF(H 5)?HC0&Z'AS8A-'Q'ZN!>/NTP,"P_F9< DF M4$&/SBK?&JT:,<7F-NERK:K2[*8N2A\=3_0),K/6V*RHI5R"VX1-M535-U&B M B2:BET8!7?8IL]\KD\?^B^). +)A/Z030!-8VAO@+\!^HJJ"JR)$":)&MAU MU!"ZB!?FLB8#JJ&>&YCHKCJ",29L(GCA.7!+$V\":8^P"]ZE6.Q\H>H;46R) MQDH>BY?YOM_CT:K-MF[QZN'W:;!E5'6K+X*7'NN2!O8@X:*0*-R,W]ITF6-; M'-Y0#&LVF!'.KS_Q4#1^86 LX):M&?M; LJ^=Y\*8<">'4^AW(C[GO(Z-A*Q M@]O"_BT8CSF> 1/>=3AV1W##5?BQ/^0;NV#?C,%N']6L;G@?P>N( U[C0D]8 MZ2LER\DVD]QD-H-IHMT @!")G=IK+@Y$;F3\7'"@#FR?_\G'A4'P[]\R>']Y M# NAT,ABS]0%R[Z3@;9_LNX^&9/GIS2@6X2^@.L#[>>KC-O0&(@\_@R+ :QL4 M&8[_8T+]F^O0YD5+T] U M _>#UZEHN_4)2PB:'//<_\T%"&HAJ6UV'7)/Z= M1_\W+%8W6S*;GY39>4V?2?TEE>M6I1AN(0" _ZKP:WENSST]?]D*V*LQI+TKC][O8F9' MT1.,%5:6LUQBG!(G&G,S@G7%)X/G:/OSK!ID2HF><.PT MTZ,0&FRPTU/(I3G:*P\:]WMZOON!ZUT#ED"YEC6;]WQNU-'KH&_96 7+A &C MZ3_'CB\%7_X6CK4\DH[N8V![1X^1I-[)_'35=VWOA82]:YD6I#M[*:_9& MHH"5)(;=GF[\!#SX-Z\Z_,;TWC*1B)#1W4G?[WVD"](!BT42B;^PIS\A-9Z\TEO.X8NF+WR01H6_$E)--E7IBP?]X#"@Y ,5_ MMVOIB_6WK^H&:F0-!32MHV[-YEY3^,-N<\])Y3%5+Y&+WP6A"I4"GFJE#!87 M>PECI#)65EHY$,1_N4_;7[DJ">J&&TMC!4#GNE[K;84JR8 K8Z=79J>Y;5-; M$:K2&IZVMLFEG4Z&V<&5+G5\:6#*X4 MVJ4$5RH7Z\74=H.GQPUP)75Z9=M,5A/6J,/BI;AN,FT^HW:C\$KZ],IR+LLS M=6*UQ$7#X;8U*ZM)%5BUU;G0T,=V7&=2XT8L7D M=C06=:Z6C$57Q&*=3K?@9,2S>[*)O%.2^4J:39=6K?&F0HPXH3&,G]]SL5KT MEJU*>ZGDU$IJE)4JJUP;#NXZNV=VK)7%FB3'.'NQYK;U[;!37L+1,6?W% N5 M3#+1R,59FLL6V3!AQGO5AGO:I;&67->XI1E/T_SULI,SY>,&TX]OK*W M*C,Y.[6-*C)1;U3,_-#L.](P>?YT-=9I.KEP"CP8V"R%9#@\Z6_@T(.S>XJ; M&A_N5]*+O'1).TPSTTG9MCEB:QG%81+M]-"VH!XE3J^LK4>5 M[C06Y97T*D&(6DYB-TNHFP1Q>FF^;PTF>?9X+BZ3PE2?M16RWUF.S'2),;H-<.7YX^U5/!KN M\X,U#DR9Y&:5L/,J(P&=.T.1UJR0U,380&5I<@E ML2+@8C.1L#("JR@6Q(:SA1J]!9&O=JM-MC8 0+IL]R8Q 3[]?*%6+9:7E=FL MPM9TCL_TB5QV4V$NJ?Q\Q=.,N>S%V32_I,VA0^8*:5A9>K;01:_+=.ME+LFV MS%F-BQ0%YA+*I]04DQ]I.$R1P\2F?A0 M[YN-/'-)D04[;[='M5I)H6-53GF"Y;J)*"]QRRPA5)FZ. MFP@5'63$Y@BNU^EW=J<9:'0Y> M>4;Y' E09I%6HAP='O?FTZ'1#U,0',XHWY*4$9U4RTNV-)]R_$3CM\5&XY+* M+^A!Q1@NK#'>#7-D.[.79T[M.EM;BY?D8O Z]I7K)2F6>A5>>/9WH M;VHQ8ZW%E' \7T^$LYMD6P+@@)\_OK2LCRRG7LRRO+G)S0I3LL?E'7CIV?,E M:YL6V-$&"+*]R<>5\M:.MM!=SQ90,*?ZHA0>+Q1R%E]6XN6LJ0\:E] IG=37 MA)QD!9;&N;A4CJ?I+; '+@!)(9S-$*UJK,SFPH*2(_A2="PYEW2>;I!U?-RN MKMCTN*FGJ4VU4VI>U/E1IQMK=F,I"I]'A:3:7@RF553.?48G*1.?C@JU514/ MMWAYO$E.&S&>N:2>N;AFF!F" B)*$IPFQH6^EF]<4B7-408L;:4R;)C21:,U M%1MSZ:(J\5JKZK3D;9ZCBVJY4>DKV:4B75(E!I_TFFE&:[&E46,5WV8T4YXW M+HD]83&$%Y*NO%8\ M18*S7KJ9N91L?!)PNQ4TPVX0):O#SE K\DW!K/-55\$#7 M,PO#> V\8*X+HAK!VC!> _\$OP,7K7C@>MMPJ,U^7%T(D[6Q:KMI;YAQ>2IR MR'4,CV9M'GN$)U>X[J4;/%KM)T^[09^C"P5TB X^W.J]H$?]*0^<95'4#IQDWMR1XIA1*)0&/W;'!R'Z/I']-L.$7H\!B<(@ MU^DTA#J^3)EZM5(7.KG%FV8('89S#NYKPA-[-PST]';/S!:J58>9C26N3&!& MM07'9@H9IAC,%KKK;"&:BD2#62E^'#$0220#OOB1+T0P^<&/?(E%R( Q?F0, M:G$9\,5_? F S)=\"8#,Y[.%7K69@\+&]UJSWYEB5^CT2Z,Y[=^GU:];-CFZ MCF2];%X$DO73)(O\5/MH#]Q]5JKF5O1ALFG:5^FQX>*QSU[RZVUJA,\[O7X% M(KKF[F.;]+P%=:Y>JGSOF/[="Y:]$P%4T&<6-#?1,V?HIGFAHB_:Z(WGK2)' M*YN*$TO1&ZJ:6L",">K7'RH9"Y$QZA:%R=X CD"' R!\-!$#('Q73>'K0%@U MU,0LV]OP;"G73S).?%0N=![1N>%=0,CEBCFEK,W;7(G/#I=YI9M86S#)C 9 M&*="T7CR>BVQ?1#*\,H O**I(-;P,/P.*';%(.T#D?E*-4:R=H4:(W[&Q$I. MJ;1E[55XGNY%-V:F<;G&Z%(-XHT*C'++FC;)%B:RT<=GBEB(*>U8R6;L$O-HK#?:&X:2\Y4M6YNO\EJXIZKM]N>Q M_@U$O0K6K]F5UF%L98.3THI/SPV5$+3+1+TOUO>:M$+EN]L>)W.)=G),B[-6 M[2U8_RWB\>X,8C>A^6_@N6#(W?U/$)GW"60' :F?$Y!ZI?7.Q_KR/2XX[X_N M?,>QJG>WZ$-;1%25\(7>,')L;BA1ZWI)799M!Y[11BX$\[$@FN\3O0_ ,P#/ MJX+GHSV0[PBNV9Q2%NI<6E#(^JI<%EM%EETU +@">_E"X[SP:QWJ[L;IF[I% MWY'3\T8W,UH6V00GU[.JL%Z6QGQ#0IR^T/ON*Q\%98ZJ/X.CH" \^!4HYN/P MX&N'] O;$(=)2^FMUGEUSI:<)%.CETI,&3CO^#\'J /BII9 MKV9]!UI- .1[_ Z3!P">GQ0EM=]-$NR2L?#BQ*DF\:)S?R;=SF?U-Q-@8ZM1 M?&/7A^D2FR,K%8G,+POR C:,HG[](2(Q^L(V>O+!7\%I5; =?06*_<3MR#\. MIK^1$&U'A6VU2FSK!58A!VPAWI6Z9F$N01RDSAW'OYZ.Q1[)O3LYC5^ >T6* M3T0'7%M6EDZK-NLRTQE-,XA[Y[O87]_LV&U'IH,F0L&1FT_VG2!J_'.BQH'G M$9KKXR86L]6!E#1*+G,<#K^2J!/@>@ M^' B!J!XY[(8OX,B,H2E&9[K+DMYFLTIY'"<2$7Y:ATFH%$1\GP^UZOX_GH/5&%-L"I MPQ*V@JC)I$$+.+XARMMT9;HP);/QZT_TP"C]-I7@#Z/RQD[)HB2T&*7&CWNM M\#"!+\ :_] 1'+]917@ ?,'N\7 B?K_=X]%Y-G["-2(37I!QE6PJ2SY7B%O- MC&5$&;1[?+_:\H=1>3T<#^KK=LUF:XL)4<[T.\JZY+RV>WR]$/^N- 3CW=J0 MP]%3MR@P#X \B(S]L,A84"=^IM-;/SVO M=<:8X=:L.5YRZ5A;(!:5-K$FWC1W]5"L#^>N,M[+/#-KM=[M9OL;EDUQW4DV MO^X W[%D2\&LU7O.6HW%(C053/9Z40J"47@!7_9\P2,Q(N"+__@2C\3)@"_^ MXPO ,3K@BQ_Y@@F1;S:KSR841(?*\#T7?FZSU/$_2OPX'8 M=R'2:V&Z@$AOB)D%1'J#P?3-B#365?@A.N'^&,%NF]^2>#^Q1D?//*3-4X[C M__V;H'% D-%UP.?E6$$@,B<$2T3(VZ+UE:6&D21#E%"[BZL(3( Q[R58-)*, M?B6).<89+T/G$N@$]G!@#P?V<& /^Y9(P5[UG>WA%W:FP!P.S.'+0E/0+$/6 M3'DB(EYJ]JQ18 MK#%35V4!^S>._O>%=,A+LO]2F/MEA2?YG22'78O&6#9%K Z'A7\I*^_+"I!K MTWT?&4(%90'VW-&Z^SZR4Y8G(O:WK&&[_GR?M_M\UA>H9ELF;&L)+5S>VE?N MN6XU183/)X,;Q'QLAR=4JWA(%^J4+F\=X.45@\=$?28U MG:* RPH9CU7)PJ1-G!2#,^:P-CFL_DZLQ^G&DJA%<9$99Q<#[O[803YF%[>[\,(:"L1Y'5V!!_N=_>W%=VB@X ,;HZ_ MW^7_$^TZ-W0L)\UG%*&4>%U*QNO9 3=U;M]6\]6=;G\0=' .!/MM/HUJ8>3Q M/+RHC+_M&65(_RX(_[K>4,W30O6>?,ICE*DEQ4F6^V:JV>T^01*PUCR(=/ MQD)DC+J=#_^S-/ZU+A8/-='O%.Y[N5^$_X#B-DUM7X>*J[KVYF>ZT[[FWM/C MHKED.6:"+\N-8;6MYE.& P$$NO=@D[L)?/CL_/9.!L/+S2-^ GR\W*;A]O#A M S'XF3OGR_T&OI"M_&J)_E<2XF]Q_+W;X*[GR/KL!8/3[5NXNSX+P)V]+O;W M-W"!87_F@FG:H@ >#>CI6JC(F#4/FS?O=?B"@ITI,3X,VG_]0^J/[VL/_PXZ-.,)?O MQ/H3?:P]XPTP 8XYUQGV-,<,;MUS/N+P8Q7^(P_(VF" 29:2(_ MMUNI85M)Q])]921WD^2"N3:ZA*D[1N+/T*6M6[RZ+T0\'G="[4&EV:[344,+ M;_'Y2)EO-(JL$P,(*DE@N)R/1_^N1DN0:7"3"(3/,./108E'LC:K&Q-1#H[2 M/QEN>%S)R=UC#P]^U<=FPGT+1GH>M(]E]JM-$O2\[1^J&H\_$;VVYQ>HQK6] M1!^KA@^LB,=O+@_S='RL:E=W>WZ$$GR+@]DWUR53P*J49*.I^B(W;0P3\,PX3A.A:.RE<=/?*_YZ^T/CA^N,/\H:GSDL?CAU M'G^:_ %,^1JUT97$V)2SN=F*7?;SEB8RL]FBZ@"<@>?&1"29",Z-KW9N_' ] M\@?*/'->_'#J//1 ^0, <]<3Y .$>?78.!$3S0)1;3.L3<_JK=5FUDR6&8 I MR5]_$B&*P'^,Y>*CD^.'JY?/Z/3L&?3#"77]*O M6=57.8;N);]&G7LB-NFOI&RRKLR+2UMMEDO=\@S:+:C./1&)?Z1[EXQ+Y&X1[OI+^?\O0S8'^OS-TLYVIE8:9IB5NR?&# M+94)CXR5!% !AF[(2#P>U+W_@+KW&P1GOA(F^#/0\@FGZ /C@,MQ(5(2VU( M&-P\-NSC<[V9C;7CX9:D.@ "D@ "0M2%RL+ +/A$6.6'O?/C&P5\IJG?6TMR M[A3L>'Z??R[803SM],5TJ5RB5 XG&^E"VTS6LX4V5',OV!&[=K##9V'4CF@" MSJ/SN&^S0??&TW^5&3E$XCKHH8; M5*E-W)8-EX(KY62?ZN6XCL+GZ?+&R ]JK8(T)/ @U>8K]F?PAQOU8]LN^#S: MXF("HPFL9T>T=?C1Q_-GHF.!'U=JVXE"5@:%(AF.*WVY =$C2*#Y)X8,CB _YF=V M5O!3^HNO8.;KAGO>;6B\'@6JE*H5N1G5-PJ?==;)5,N,XVL'XL8;0YZH#I'8M3<+D5G+YOY3 M=KY0]8TH'C0IK* HV?Z*@C;6Y^![\$90>LOZV)7QP[NT1%4%,ID3-2"D*A!G M1@!\EDT++FTE0N'63-'T[DPL)WPAW.5DW&ZO%*[66B[P=>/#FS:CJG!-HG!Y M]_8>?KK#5GG#&*:XXCC34N,Y?%GH"]%B.%X6;0FV6Z2)119OS;[3(3/^ M8Y^I9_L;NEIR\# 7GJ7"2CNI)YA'L(_*TPQK-9:XLJQKM&!:GB.Q\5$H-O"/B2,440(@]J"6 SICOZ03:#*8YCH"?X&L.22*81) M+J%"Z"+^B%8H\@S6&\$8$],GYT\(P448XDV@X,P\_JCPD,1H1:;D85MAC#X>%^R_8-$8P7\X\N,KNK:RMT-X6)-U'KL\/LT0-:J;O5%\*YC7=( M5@L7I:*]DDM-3L_EN=PRU88>0IB:2>BD\Y)< ";9FK&_)2#H6^$\A '#:3R% M8G)XWC 2L8/;Z6#?QGC,\;;Q,._NX]@"-5B#3_^$]?)1_HK"(-?I-(0ZODR9 M>K52%SJYQ=NMGIOQT^TZE]4-[R-X'7' 6LVLFMWM*A/G2G2]7>47188I- !> M1Y*GYHJKYY$;V0073/4#B^!_\K$) __^+8/WE\?@VR:@"E@AE!;$&0PJNPG6 M?P\#YL)J#];CBK>-UG-HB1TZ !/T/^CG#.S2AGT5]Z]Y=N" I#TZ[8;I M>:-99SW-G 5C"\ M!*^$OQJKN@F[5+AZOH#!ZMU7D&"\ML& 6I[=WUM[!'L,0#&8:<_!UQNX(-TV M," R&)3Z%7 &C^RZ9\TZL$4#>VNB UO3,7^CU_"7C)_(\7@J"K8J>N>1YQ+M MO7P;>NIML.X4L*$5+P0P&E:)=L&>CR63LXU2)D,5\&:Z#T!3!""S (^Q#%N\ M7L3JQ@X]BD;L-<2MNAH#1O(+4_R]^^-P432XM[>@.;\.(\YJ^S!56!4GUF'< M*FRX:P>?>$$O'/\+KMPR=D_U[D:X;_2V%)DX$4F\F LFR*L+]X= / %"NB/) M[M]A&)7[/3)$7@E#\/MG 309BL)O9)T"S^/DGEYA&GKP[E)^9.JJ;8DG+_J( M/F3N[]XN!?\%K[;_[Z=BFF2$>#%U/^#+8_A"O))4'/#E07QYK>HM8,S#@.S% MRKR +X\",NK%RMB +P\#LGC F-LQYNTYY,\FM;QF,P<=<]]KS084>Z^=&5#L MW19@0++WVF;?F6)C784?HHS=#PH<(-]-J9 M$H,=T0^J]V/!Z@JJ1T3BCQW@=&7==&M>C_7R6\'ZGFAG+_\@W/X^LI.%.2:H MA.FCN'X(XCXKN'GS8!?R:J#L,PH\HO+J086-/B/#PQII/+J#Q$D2^VL5$"^G M6[47@$6+7"6N;.AFM%WJKPVMP#R@C2>[M(' P)1/PT8IES58!M">\II7";9/ MEWZVO6=GT)BDN%5)9FDG);)D49BUYM(P"AM0)*A0-'F>W'ZU_=QG^GC%_A.4 MS[OVW+"&W#L0_>(80J@\Y]YFS_D #R]7:( M^T1V'VUU^:N&YE$ B;3>+&AN"<@%$!2FN4$BG>.K7+>C5?!H>38@\LPP!FTP M@J!">/(F[91]%E2Y$X:\G$;W4#OL7C[@RPEK_H.>CQECCP4??]AFQ]#S$0.M MU-!C2Y[GU_A2DI5"853/91@)8!,TT, N1EW=0/.9W^0V4PE"<=\Z%'=MP\YG MWN_9^V)_!\;>;1#7A8L7C+U1+S-*M&A%PM/=SJ30V)1:2[LQI-$\G7@H09TW M;?Q/$''S:\3M75KG$]//9V0*K,''8--'K$&^7:RJ1%@NX\MR0S?8>H&,_"[!D:@+X!V#QPOV($Q)1=?ZJ;58WFI MOZ+2T9B4IAK#. KZA>CX^53%ZYF!WT/E7)O/Q^CRU3(X=_:ACT$L,!;OC&$V MH-E'+,7N6!I84V7"XJ)=5O%L7BW1&P; VT^)&[XYS>\:' >X,,)]>@CZW=VNWT9Z^6IDV\7Z!;#R?)XLHK-N]&5]443 M!<495\BMIW@,)QDCGU_E.OFLY0P3R%ZEXR'\-C-_?VC<\N%ZZ.]4PH>3Y_$V MZIV!RA]&Z:=R#?%J;5[H=&)SME15"NM,=CP34Q#!W&E9L9=&W]QAAL4+O4M/ M=<[]9N^AD1<=Q&?ZOMYYML4.0-XZV@+(I!\G6KRL/K<;B["T-E)43]H%)9?4 M5[%6=9!3Q8^/HOK$6 3-3K9KF2Q98^V!WEI8S&K2":.I%B1]OO/[<*K%HUC8 MZ=E\>$+&APJM%1+#ZJI6ZS(?'WOP"1:R)F>ER4T75^:YO%3MYB2Q,08LC%%$ M,-GB]ENHCZ=;-+KIFK =T@4\/1^U.;R3(ZT=]T"XCH?A]J<;46 M\KX:;$%DAL*FG!IQ'$_'"\7.6MJ:///J8 OX%22MK-F\9P:A?GP'70?'*K@< MVN_3?XYM$0IN\;=H._AL=3$9W;DH>P,C3IWV$OS74"NO M52.)_ =)#+L=&?D)>/!O7G7XC>F]92(1(:.[F/GOO>,!Z8#%(HG$7]C3GY : M9Z2$W<0/"';44-S]U7%+<>^S5]I">ERQ],5O8-K2-V+*B8U'/;'@?SPV-:!> M_KM=2U^LGH=_ PD$&J0>5=!['_WZ@]K00ZV'0^F@,[ W6OG#7I'/2>4Q52^1 MZT3,=WWNV\G!EEUF^0*>:VI]8M)K,9K<&,)+J5^7M(-'OQSF586()?!H@HH1 MO]Q57G^"X#&RU $Z0.-$$Y"C5 <888B6;+A.%MAU)P#',K())S38QH6>_DVQ MRHOQ>&O#SI?KB6K5A.HR<=[3_QW=\C\G2D)V?%KPJ96XI_5+:^]0KI6 MJ;/5%M,NU*H84\U@&39;J+(9+%VKMIN%%(>^J)>9:LOMOW#F =_=9VP?#!-! MIJ8%O,0ID+P-ICL:'#)DCTQ9D'E#!DLP%[IF ONU #<*C5>QIK@2-1O>0A"Q MEHC,&#>(%\6)OY7_N'\+0%\T9,[ ,;HC&Z'"0N4UPRF.$ MB:T 8W0;F/@0IS BF$NTHH <]^E>/J0XI"4NR_JA@[('88V$SQ(JR-F6%/> M0M34)X!N+CD.ILW & <1_PVK*[EX"7,= J#!%\YBT#^F8J^$2RP3ZC&YO=ERB:%<$.:3/G M-X#Q:&<"R%[6I5L3>%$);!7:&.7M[P&WB$$GRQK0#8D:#-K\.9AP$5@ MJ #_:CP&I@U0#R!+)O"SP'?NC5Y<6@A.LN$7"Q4 '9"C!XG.D1AXHN^2 M)Y MS@/E!32&&SSZ:J=E2&(.N'5$YSWKCG7KZ.Z/B#<]M\-_T%_T%.:0@E!9//0Q MH!$ 30-=XXW-X47,'$K+1:=0E$I6*[UIK+DT%=[6ID*ZN=3)\UAIZ.[A MG@T=RTGS&44H)5Z7DO%Z=L!-?45!RB%R8E3("'BK7ISJI%V,UL; :-"1/(\ MS?\N,3/BB(C$4,PHD_@TRX.]2!BR>M1A[<;25T1TPO%.;#(@$PI)=/&%&NV8 MM1$*/,8OB.$.1-T=_5+P:I^!X<67]N$K2(\00$43!BB CZ!N_#?H\6)0OZP# M[Q#.ZP8&#W2.85P-4OUQTQ\+&MAFC?'4H^GA*#@9QBE0;(C'QKPY#:,IYF!W M N]@P7>0]^\ P1D84#RX#P^C(N[<.' Q>'W1V.,W9DZA+382G\P@@.[>'$GO MJ/:-,R(M<3ZL.,7QR$XV.FQWU%@*499N][;.,UI%'6@5M5>J@5-H\&T-I]AE M@6XU&BT^F6V]>.Y_O?F.C1PSJ6:Z/5S95!-#.DN5BYFF]-Q\1Y<\[NQ&7M.> M&^&X#\%YY#QTY^'2P_(Z[!X[_SBVK3-=Y,2GR MNK[./H[@O;@7.T#_Y[X%-)#$L8U$3=?<@8KP31%;H,'EOC4,7D+[281R>$"< MW8Q#5S17[IC'W:1#E3?AO,3-_J*]:77A"2%HHF>9=T^)L3$04?-I M*4>W>) 8O#ZV%(7%CX\;O .DPQ,'1#BT,P"J[G)US+?-L?VB;@#:*-)@.T4' M"] @@/; WAR UL!;3PDYS@QO$[-!GR4MPG VK6UBQLM-(Q@Q0?O3F_W4B'0OJD#.X%W(RCP?A")#7$*CR'0[6#N1.0H M ? D5>K6)R+@5>:RA9;+:,@-!300M;$LOG@.PJ0&=:K$IZ,*V6L6S#4;9DW5 M2[B3-5L4&.N%Z]#9$!&-_2Q*$)"F3XPY51@&P/9ASQ'K(N0NR!!2UQ8+MJYT-;B M)[PA W@&/E&YG [!=!!TRA,^.>79G$R8AZ@X%N45"BO,;/ ]D#]!!J8RLFBA M-7P)FY]9V3!MI<<4KC[#WP]332;FLIR-#L.*W&A/67:'T_R*^NF^81\ MFPP_YR711'DEHG"<''NXTR46::F5ZC&4TC4SHX(R8;IB1_KU)QZ*X6^S_"Y2 M\U#?P5Z!!EQ"8P38Z3PTTF6PT,G$-=\AF]S/15^1Y"$4!9,NV/"_PZ5KH_A=M=8.14;AM$['0T6G21%;111,8^P*" MBQ[J1A?@UU"XP"U1\J&)960W)PF(N&U8(:RJ&_#P3'OZ MRG #=Y708.'LN; MEOLM3 76@1=;.'^3(])![6IUF38\1I/'0 ?W"\G8=9AXE8;.Z09K32$:3/;F M00U=COT-/R#Q?S+I5@W]2?SSG]">'>B,#MS*M+TS.L1)>#@KV.@HC\> %0*, M$?"GN!:-L6R*R&&U47+8:(/!^T)NN)EC/#P21(Y>6QQ/-5W5);@RW9)L#4L9 M,#@#;]4NU3!D:R&'6A!1V%GP3F=-\^!TC\<$'1[@:3#VZ "QG:CPWP!$$(_& MO&VZRYP8O(3B"-#+!X17#DCX%)L 1AXTS&P5"3%8MBNY$0#%,K3RW, .$F8# M&GJ(!O 4V\.ID!?" *Q^.@XV;-43JA.AW3^WHB-\@H9DT1;<=<*3/*S"0UV$ M(E+FG3VOBI5:><>K"%;3@%"M7/Q-A"Y#,)19T3UO7^@FV,(-&:CE7/?""J[% MZ1+*M!<+-^0"KH!/"GG7H>5I8)MQ?PQ);HC 3(,Z9*!E, OP2(Q('(9_=K30 M8#CDN?=_\V,P]%,8<$&[ ;2<41J9MV%XI -\F_ K'='M0$^.E)_?'QZVI[(A M8&D(+TC;H&$.8XKG1(1) 0 5GFBI@16/4>"&7RQ$L-IG0 #I/KR,09<]1?-: M,*,!_"0M&V-;MK"_X8<>ET^^>V+XP;H0>>I[U)OR*]%;GIM1X"UK!%1V8KI> MAHZ\"$-R2S/<,_.IJ/Y_]KZT.7$F2?C[_@JB=^>-F0CCU8$.>F8[0H"X;Q 8 MOBB$*(30!3H0\.O?*@EL;&2WW0U&QGHB'C>6BU)57I69E<<4T6=+=JW@&*=" M%(98]10/"ESB.)3W9.$2E":VL9>DCXC8G^[3@Z@+B"$ O[RI%.ZOYZ0#77EKX.73 'E50/;#(HRY8>DNF! M+ WBH,(_/"EH>Z=*J*_NHYR07C2S+2,X0X*3!_V[UU(#^8&L(20?0RDT07H+ M<%X$&ZU5Q8*,Y>C;0+M T4;P& +Z[%$M1E>HNN0['CJ>T#( NEL(#J'@8B"X MH$AQ(.+ M'<[5X&)J"Q5W5U4.J010EU #7U,*/-WF>%"K MHHL%&8(1O>\X!&N?D^ '8]&-3'!R2F@C(%0[IG (W!D(;VJL=[C89A"'IHR^ M?."&NSV@7OC<@FL<75UYT 9VSQJ=\!$70^4 CNO'%\ZEI]#"J)/^23T]-0L? MQ]^%:$6C(+=I(?5# @A)'C%*&$L'CQ'XMRFZ+'=!P%Y0 9(A:4X I(0@?#!\ M_R-E11".@7S_X^J0#>,& MG+6G=!!DX%R/.(*0VR#$1[\.@7"!O%"/%[*/G83BP@'Y]!27^)*CG[_OF&>?B#",6PDB7\%F">WY,"C1"B5OZI^.ARQ= M)U7I<]U_A0LJYMO%@^QQG1I4+:&: MKX!#9AT*K0RNEDTD(]%YCB21A4(APNHU+P 1T#8D5@2TUQ*&I$/.-;G852O5 MEI?GU>&45)@>)? ]'WG!]BD2CR,S1D\;KZAB3MMNE\JZ3_5\8:Z(Q.G(E>PU M]*6U*PHM)5YI@8*VT+.[' 9A?1%4L1>CFS3N74FV^5*FN1(6GX\JSEN XT\66>+>5B3 M6F4UT;:=0F'NCB2\RZAHSI-U5IF=W!-* MTD1;/8S:I8;5RS&4+V9.UYG3O;RS&!\P!;]M,N,Z:IKA)%(;0[G_AJG6X+1--=9XEL M85#7E"@*&2@/DLR90D$ JZ4SS5%.H?8022&K;:ZAC.IF15B1H+2H//BYN<1% MXEDQW-M=JJN!:D&E9BP; KU;([/H=H*?MR9*F= M;M"Y\;HC&)K5G6&+3F56C:2E)K< 0]++JUJOROB;K)LFY9TBTJF#.]76_.B>SIR!:%J<(JDQ\+ MPUVS:N_:@QZ?5<1L!'?,R0[&@G5%J]GK+:L;Q1[A0ZK#3H=6_($]9\I#G"_- MR]9R.C7TK<.).'XZ%/36%&>($U,@G'F!&RQF!=7QT2WFR="^Y#FCBE9FL!9' M$1.RTR[,H<#!(^B)6E6+U2DW\31#+[JV-W4]9\FAH2=DHL['G)!F9Z;@]2:> M+A>LFMWHH*$G=,)GO3[-=9R.D">Q-"OMQF:]IJ"A!T*Y]%UMF&K?ES9OWZ M<.">.I4D?JUG#TEUH&J&7:Z#8HA>RX4S^-\C[>T\E=O_<(1?)',$W ML?<7>OV ! L7A1R-^P4A#YP<>NX.8BKP:4J>:QT>A![-X,DSO^=10:W]F">W M,ALZ,%W[L*[]^_"]2'M7,4^:O,?HMRH4'WD5C^9'YO4,4N4!:(??@^OFGZ&/ M&,76_]8]NQ?8P8L/0Z4)Y"C/!9_AJ7U/T_F/% 1^\K3_=:FZ;(*6.*(%?[.; M6X*7Z^ E>T\D>(DA7O![-I%CL<1+(L?BB)=$CL43+XD$CD61[Q .48F M>+D87C[8LN.W5O[5@,!^ B7M*_M\/]L%'V"]LN3OAT@WSF$_NZSHA_DB:#7Z=K>QQZ0(7^ MQ[BWK'\3&N_M4A>SDD*/\1PHJG/?C5R9[1V-174'/QT9L(E\2^9+(E\L7 MS+J2>&&\;HON/^A-;)75.I[BKH%$H1!M^LA=CD,5+&E_8EMS+B[^3PU:5I]M,?D7S MA#82QA)8T?T,RH4C46<%DCAM9GEN-2\V\C@1.XG8N06QXB2!U MR)H@98;80M\QYDQ!>;6H>_A=%C_MYY)(G43J?+;4(>,-LGA)G0N;GF<1.XQI M>;IX=G7V_9]=Q@/I1O>EEO_=*]@%]20T09L7?*G:O4Y7VCC)2*VG&X4M!B M8 )03N4G5X]"A5 M$Y4K/U22.O')O%(Y2A#J#_I$GV?YFC I]DMX1_3[7%(Y M*JD<%9,4W]<)(RD5]:WQ\%UK$<0,$=^WB$K,$/%]JZ;$#A&):(H%(A+1%!-$ M)*(I-HA(1%,L$/%]2S9=!A%QSSUX?=??IVC,VS X6UV8&R[+].]O78#^8L ZNW[1N=?P&T2"[[]U$W^S]F.H*N'##]&6G[QM*N];;5G MG9,@S(BP7G5!Y,8M#"]@='Z=]V:+7(5D]A4_LG=9.BH--OY>B(0C$XZ,15;1 MQQFR@FNS4!*&O&V&?/.N_M,9$B$&)_[] MI?V0+W3-H)3A%W9!QH*SKKWOB%N$K^L7^19ZZK,*HN\Y''DLSSS(@V%7D["9 MO.WWM!75Y,)$?_R.O>3A>&WJ3K@ZX>HOH>M^F*DYIM2?4T*=Q-+]/$]9HD$8 MTWTN/!U9NB-AZ82EX^*BO3)+7SC'_$]YVGU@AN6=5>1X.N,6U0K)YP8S+LP6 MSV+,&SS]U;S4826ZQ$O]A2I/7E2_B'N)R!LS(?;\]QZ95%4U6Q\QF9QFX$NS MXTZS4W70$6ED/"#/6E3-G<2SEK!UPM:?[R]_/U=3KM=9T_3D 3-:G4&I1$X= MG?0A5]/()4!B49V)$JY.N/I+U'.^,3/B VS=[XMCHC]Z*&.$DE%*886(>_*6'5HT6Y^JK7 I%Z=++&1M^Z(3'"SD;G+9"]HG23R(#8,DLB# M6S9KWB\.\-*JWL#K_2T_)#*Y:J8D^H42!\4!M&HR=W0&2Z1!(@W.?6MR[>W& M1QI\CCGT?G'09 FY6^UWTUI^O13,\J#E# 2!ZCX[AU#O16E&_<+%3AG

[_5-J-JCK/<-?H8;6R:XU&: M6F5(7\R&T>IT9,>4Q(F3L'5DD7,67>PX;I5M73 M!P\,!!=DZBRZ;6&PMW)0XNY>O62FZ[<00%]6VGRK,@Z?9 ,\2X1YOX IDAXU MVQ;3.7[;,M+S(C]8,3E?Q#%D"I#$!0V!A$43%KU]??Z=;/FJ5E]4R%)U :B> MEM_E?7YLMU57\#T_03&Y!Y Q6R&)J MA>V*8F52#R,B5A(Q,+7M%'^7"JDU]/! M@I!H06CYB^$.L^W,T%605 AR7#&*3:1"(A6^4SCX9TB%S[JL^&.Q8*A '=DK MT<>V1"G/#A9CIB1S2"P@DX@XC0G_UQ>\M7B6$3L]Q(E'Q(@G=QI)4G_<2W7< MD(WS!_**='-\GAUFRMI*%>K=:;7&NP,E6"LT;O#3E+;$S9HP=<+4GV>A_ %/ MUY=-@G)=Q\7R@D6L*L7&TO0"G@Y-$_;4,9MP=<+52?V=ZQ@;[[]O8>?=X8+J M-(I:;S=4*UO/U&3/1TL,8Z*8;U&"Y]&Z0*!.J0'T4)(J<)*[F N[5T@H#::6 M-]'!=43=^7KIQ'&K\9%\%[97WB_Q^NMM@=3*@,'2C0*%4PP[L7VHRI#[$CP$ MFY3@2<1 (@:^HH7S?BGP4%[AM55[,-%Z=%MOE =;GVT&4@ :-.0=125"(!$" M%[QF^=9"X,)6T/NE %UN,YO\$E1;C88"Z^=_ M70GB\-=A6-,S(.SE^+#MBV7][U1=__H/_'&81]:!9".BGN]?]DB@Z*5[[L6P M?UR$#)^W/28R1^99N&6&"G<1K#KX^5_'BW_BLK1LZ9;]\\!*1[N: T3K/XF MJQ20GMA TM+2#+[XIZ3[TM;9[Y)E[XG,P5?Q\Y$=$1Q2U#W+_B/U]!%!XP24 MAK1)'P%LS\-I'#W M](60\L) )I]0\!\I-;<1$_]WOY5_083A).@S)#+(G'HXK1^"?/\(VMB(15+6 M+)5',L%TG4<*E7X=X?FV[-0Q?:'%6=S/V.XL" M[HNDB+T3G2R,AR65QZ'&]DO 51P!Y\ MM:N(F=-USOEZ?HE-BH*P33-M,5=;9:E.1Z1.1[K<,&VH.=T6\CY39YFN;X$@>YGQ].F.SF%&N\%V-F4QG-AIY M@B.EL:+(NNRF>:DPSI7[W*(Z@=AD3M^^*77-.O;P0/"@K1=Q?EM^H"".V-.1 M?989BV"]-7AOYUKKZGB^9N'>LZ%M MP=^Y.('1#<7**^2R+>5]%$MPL@ E7?=RS"H_$5H^D4YK:NUA9'+HV#X9"F7J M0ZMNU=J"*J\K7<9K5_BYO[_Q>\%-1H/[/%+,):$ M80_K%-A<8;+N1W*S;[B3]JZ*,<)6]F7 +,T968KDI]K$FYHJN1,Q8F[-9_*P M08MMU![X9)W2I%\GYZ:1P6KP,)P/C.R@"M#(DW4NA?ZT84[(.;^EZ]BN6QQM M>^U('B6DI3C*63@MM%H]MEKJ9\9V)LLJ4?STH!75 MC*%S/7Y%S=;C0GH[3*_]2'[*%5EUL);;%:S4PV1::ZH;<GE:KTVAX,$C<+]6?,7*"$(%(Q:# MX4*>&]T""L1YN.:S$90R% M6P^P&MI6!*IP3JZ5*FR3Q>ATF_ J>:P."#@T ECB?-JL:H)%6_W)\Z>:E#H>F&O0?7G -HNNF[Y4/=+J4Y*2MD KD:&ZGNX M3:@:N7"0XTJNYUKV-C4+,]N/;B)2T(*"'ZQ@(#0G@8R4G_"I#9:6[8(I'![\ M.6\94+W:!OV;F7\["$#!?9N$QLQ44X*OAI.CUP$#Z6-AW M/ =33P>M&7]8_Z.EUH5+Z3X#2J T]N$*![?AHS(3^ 6C( MZ-+2 3\/'XX7A=3__8*07BR'^O3!<@LL#0E2T.%!:&<$3YY9(T0 M,/O:>1?^1E:;CX$ MTV^-IKT-&[SX,%2:0";P7/ 9]A.D%NK)@HJF$_S]=')D_UXV]#%!RW70DKW/ M)&B)'UH@MR1XB2%>$G:))5H@N[R929_@)6&7!"T)NWP.7CX:G/@[D^5J0& _ M (18YT6Q;]W^14-D\NR=^XNEB:5/'X.43W_^YW\GSZ$!+6D$HO_[0?WX0\B0 MQ#U^U3#F,X-N!"0[!L^DRZL.7=/^KT#Y3\;_!A]G":> MFDRL9GD7R_H=?HN/TA:QR@]K)10X1*!""?<7:OZ;O0Z]O,4U_TCXX$Q\<-G\ MF@OQ@5OWU"Q;[!2%UM ORYV-\@"6"N2#S$7YX#IM.A(^^ P^^'B*20SXH$#, MC.W X65-ZFS[S1&?'Y<4%)A-?U\^^'I^-HAF&T@.2/T34D_PZ5\H,N^XJD#* M!HZGNR@><&9#(^ZK>-=BJ/E>4ZS% 87=XLE>(\KWN-TL9+@/<'[96[,8J.9 M'/55>W:6WZ5,X*(0_M.@_1LI'_3:S4=BK-R,\RJZ6PMP(JT4I6>OM]G,!DLO ML7XF8S:Q29D3*>2URMS3W\9IE3#!C7FN/L($FP[53'>+I*]M-^6IVFX--YFU M#YD@\^,7=3$FB)^EGMQW?%?_UD>X1>8>2GQ;6:V$FEQ>C\1T0Q EE'E,__C% MWK_5=C?AEB_G!0L5Y?Q<,A6D*:?6DKY/YY50$JQDRE^P,?&EC_]X2:\@=9@X MQ^:N[Y]*\'3C?H5;0NCMJPWAN5 Q#Z6JX2#.<8#K# ['!'@W1BNJDM2EI I3!D2#:J MF_C6OJ"A=++;=[?4^,+.-?@P'Y)LE$335WRE-YS9&[[V,%77IIRQO*8B,LB= MAMU?JJ]&XD^[><*_OD/M;<+OC]C%I,IV);ZU]"KMQ;B?%1E$^)D?O^A[ZE*$ M?T->@81#OKHV_#:'+ '0:6'J3X52W9.50G4-MH,.Y! :W;1<[&BX(0[Y>GZS M@@K)!NJ[,DA-@.L#$/2D0:U#4Y#<'R^9#R7A$D_:]S;HKZ_=OFQLBT897U'AI MN=W:O%)"8A_E-R3.VUMTWK8!I#D3N6\A@HS$9_L%#?/OJ-0V+50G+BH$E:Y!4WXO:Q2&]"VV<5(4I/OJ9*)D]M\*Y#9B])BI8M'.0('-<^2)%(;TLIO\GY>7W+$^I.W%7- M=&YE**@Y5@9YV4\OV+^WN^66F"&)"[X5_UG+G0,[\9K]F25TQ4J9<0QWN;Y; M+:#FQT>F4D$^X3:P46%%>(1!0,$3+#+GV%=V3&^W+F%$/9.1/+GG-K8*ZMX8 MW!B?&D])E&3"-#'6^SZ%:12O,-/KV8>JL&HOM.*<[5KN/&CV&RB 9!(_]OG. MN3ASUW=TWOV&N4Y#.M+6KMC%C:*@&E-V6MV,UO8DX"GZPD;5K;#45_+BH2Z^ M\!V/A)2$7;ZS*CT)!=O4\E![V^\IV:ZA:^>MH!$VA&QK"<+E1#J&1LO)DNY@ MFY&PK1$8OEZ/BYNY@E:+ZDXSEZP[?4UZ/U]QW834KZTAOY?4-R0NB((NL-B0 M51E :6H Q^M%JK )'.?O4TG:$+JMZ.OOI?45:>Y'K77O(RMN**PX!IS96H& MI XU4S)SR>K1,2'U0+/\7U>"]/GKL-FF9\ IY;.2HVI"#=?]^7QE+U7B\"^/ MAAY2)-^I)9]_I3A["D2THCT(#Z48]K6IYQ)4=$W+34U0\I$-;2/%A--.@UML M:"ZEP$8&CI.:J:8$K29)AV.6EAU4LYY(CNJD4$_28"12E_>/9BG57 /'->"" M@E\/64V.-W'4J2K9*G#N4Q4W!4>C[^8M X)D&UQE,/]VX-==%$;J6JGE(:94 MW\)7A].&"Y-L$ZXBF-Z=6PZ(? FJ213^=>'9JC-5 VYX?#?:^3)@$1GE65F0 MF5WX0M4$P3LD YI@0;U/N#@H8([@,SV"8PK:ER&N4Q9Z'9P8!<#>7QG#3[5) M4U)0=2-(*CNL%0%'LL'3CJ<(>_!GL 7X_#0W#3V.(@19LNTM^A#"*WS/GAQ M@""P49U@Z&L+@;];H<2#@W3+>9HC+ 1O@-BV(U/7 ^N0X%Y+ZU,93I;XK3IV]B[Y>DP5%P MF&&ORL@0&]+2 3\/'XX7A>[<]@LRI$TZ0(]Y6%9:!S/WI^2YUN%!H)&$3_;G M7CCFZ"#]G7^\URG"X/?LF]Z#V^T=_3IA7*6)-W&/ MTPDB8H (_)[$$T3$ 1'8/?6FPS;!1"*;OA]_)X4OWID8O>3WK8BCVIA/GN\?6DP(*/_W@_KQI["@PJOL^':P M_AVP"D &Q@38(8A(_.X,C9P3KOB$VX-(3+\.A!/4?Q JC[Q"_"FOX) JF"_- M*\AM=:;V[C

MB?I;GM[$6BAT.KR$31UN M8;^"JA<+FOZ-1_ "F_R?\YU+5P_Z^G#$E] KB'.V;'B]G-C7\E1^I$W48998 MRF" DXO+L3/SOK*^_XPYSY8;_;XF M[:UK$_##X=F^$-F^;@P*_@OX%;YDS[='L8 1HFU9=A^$3;LSP%H5LB:2]>8Z M3Z FWZ&J05VDM&7"^[?+^U>WX&]=IFM":UR MC6VTMT :5_8-FLD[C'R+<;^^3X2@20ZA',$_)4M+U87KW@5Y71"MSEF:%B=6 MTNW*LL1##1[:/MV>3OQ@%Q8=?D(;_<'98SICS%22XMJN@/D)E;( M*&%K70*[(0]'4.#N>6F",%(QL9?PJP;1QE9.4;$&RZTI) %_1@BH49[P&D6! M[FK$HJL5*YRS!@HGLDCYH.^8S%LB*F'H.%+N516/^(+EUK20UQBZ5,D9#RHQ MDWB@EL=8&]#9R98+FY]2=P3Y5@.HK^P8V==0[5NNI%]4#TFLIEL47HE'Y,(* M2,FVG"A';K,&JJ7^K#85U.$*Y%M--L]8G)@-O!_L79:X2+_FA)5OEY43!\B% M58_76-GCS4$O5\L.M)JTR:J9W&K2%+FP\R2>O<.IMU@Y[OX...= TKWPCD5" MI?8D4SY'@?;$&+I%(11O[\:_/]#2)K8:Q2,[<@=NC)!)M"^1]4VGOL'R8JZ' M5W5JV=EV4'="I%_CHE3'V+3!UO#\5XRI1-7!Q_8Q?%FXWCY *),:1NS44"V3I* M@V$<+%LU?$60O'QCU-#3[ICJH%9@2(-A[K D22:1!)_A08DQI&[-PQ(M"=*K MC><5I]*$[VV*C;Y?(KL,Z.R; D))0#!O-5_Y @Z60E1G"Q6E)K(KEL_%IQ U_H2S+Q?Z69WK&1J )"NO+%26#<5!9)L/2$FQ$(-3Y M'/\)K]\BK\_S/QNM\'@0],NQI-NA? MWP=<335RC+JU%)1= 5O5!'Q1X;G6 M&O6SW]?%Q/#3NIA)*,%W9="K6^\WHAA\A$&946L"G6Q-V4 M638Y$0^J8+)W%)ZX*A(>3UP5,=%(_HS'2\*<*X.2O>$-B:/FP^Q6+*<[B,># M(MX4?7IU_W5=%*VDPF4219VD1EQ9&7DM0[Q;VEC POH/O.IGUEX3\"Z.S*2@ MZ"5%9A(O1L+*24)$K'2.UUBY/BJU,DJF\:!MO6R1:!,K99+W$2LCK8*X67_' MZ\4>DBXA21#T-TV'^,J:2\64+0,\%WH1\F[,]"H=B[0%H53;*9M*J=#*4HJ( M,_M<"#9[6BXS<94D'S=\) ?H MH&H,A3K"WX [)5K/40,@(77GC$K.MX@C?\ZU).3:J>5-=/!I;/L,"F=LE7KU MC=VH7O);283UE,:*LCD*,T;^NC@B\;:A=D0\**#)1K0A^*+.E(1CS\FQ)WZ3 M;\>QG^0XB>!8OB-(#[HAJIAAXO1"4]I3)<D#]6$;W%_XNRI?H)TDWV^;<4,*E X#FK<[LY!R@82ZD<2KC5E MS:)TEWW1BKO@"WG+@,O?II; 1AA'C=)28/U8;PO.X,]!4&)<=5.JDS(L&Z1T M50/Z%GX?#C8M%WUPH1H.IU]:-OK>7$FX:S>H#Q)KHI4\S';YS]S8L0%2)D,AM MWJ6DU/JTMAF:VP8RDE,0$M>A+,Y!>R\ &1@38(<&,(G?I="9_QSNRN'% (V2Q5"3#7AINTM&BD9T+:#P)D N P3/8%_A*_(P"] MLT^9PU_(;( C!$H9PA2"_GQ3L_>A@('B!(E,U0Q1 9],U?6O_\ ?![C+.I!L M=,3,]T![/$ 0O X'#/:/BQP3,D08L _8(C)'ADJ(+88.]Q&L.OCY7\>+?S*C MT[*E6_;/PU%WM*MY0/ _B>#44T!Z HE42TLS^.*?DNY+6V>_2Y:])S*'8_3G MXW&)X)"B[EGV'ZFGCP@:)Z TI$WZ"&#[,S:M@YG[,_S6X5%P/!Z>!6QLP3,3 MZ $+H[F?S1I@Q;66/PG\GKX04EXP#/F$@O](J;F-SMO_[K?R+XZ/C MBKEL8'G-4 $@\$*O#)5GD?@1ONUII#8;5)S2P.7S U#;6>Q,:]0Z(G$ZSER/D: MJ&9N;#>P4F-&/N2FXJXP].'(D[?/1U9R M&T4LK29%?E@>@^;8&?27+=11]61.([-6C6Y68OA\B=P)/=TI#JV.2)^.I-V6 M6)"=B2: P;*2IGAWD -HY,G>=Y/:O&>MVVU!K0QL2NX4U7)'@2,/>W\AWL+O M340)MX'=']4XS#",1F:X'#1V^8Z(AA+G%6/O.W/Z\%1Q X]+*+P1*W@F.@D5 M$QV74):;8(;4B4 KEJ'Z+T&ACDZ& [F'QP$\H&>II^_=I7S+TZ"$=#F?^#96*X$](,4"SP7,,:@"2D_J?+V8]"T?0@OIX;@^O/H3)$(&@ GA.>KR%OY;M<8+W6MUYQDO=U6$J5"!S7GQ*C3L,C[%!< MW)2AYOFH.@;:&U2,E.!D1K\]0^>1+KC'+-HI&A?J&ULHW"!J(.U,7]%$ LT M&35(98+XFEE(A]J7+7EF(SQ# U0N@S5"@;?'0]\ZQLJ"<]*]15=>"7FJ/\67 MC3Z^P?V7P.[)A^_/Z9:L_3AP8 8K@L)BO'2Q MX3C/Z#9I-;)SB'X $;*$KW)M#YSO[(+'X_Z4Q^[?MG>>OHG^^$[K)[#-'E6. MT,J&ZH8N+1WP\_#A>%'HD-XO")U>#),YWAR%#? MCWE2R=CP\'?MP[KV[\/#/9_)#7UT(A_-;\$Y9Y <#T [_)Y&/HF?H7[E0S#] M5K79:YK!BP]#I8ECZ9X+/D/+@=1"/>DYT72"OY].CK34"[OC$KQ/E=HF^"F+]"S->(TW@'$-@/ "'>-\/L6R[A M:)!,GKUS[VV<6/KT,:3M].=__G?R'!S0<$,P^K\?U(\_!0UUGR6O&J]^9MB- M@&2_YI:(@F+"3;'CIK=O6#X*DQ,:^2"0'GF,^%,>PR'-7#?S)3M>O5QJA!0*(GZ(/I*$"\:%O&_AAI!Z<('-T^ M!/!%U?\MS,?KWUI M@^ N"]%2*E6T; WF9(#6,O;U$SW9#>, 77.[:R-,XBN:V!<.V,]9F#ZBA4^ M/E]4OSN$.0*M:7!6%U4PDNI7T>*+( MG!B45*43!T04<&=/$XZ%KE@ ?RU_,KA656;\G%#\YSM-]3ITO>?1Y_8.@4EIY:_N)[J_M%L ?Z:5XR(H:#-F M7I0D#4Q%WLKXO-=9O>462#M 1A2-PMP=8+[?+Q!6!VP?@!0V80B@R(=[C\PB MUG;DSK>%54]+*U6FDUL774]4?OR*G?%R73"E*XX!9G37QU9$6^E2FK,F%/_B M8/IK)],G@XGBUEX_D]WX0GZH+'K#M?XPQCH_?C6M"-GYNP>/%6)LU-<3KCZH M7?,D!8+"0 =!X<-_'FOR1/-^:OI8LNB]Z>MW8>[Z/HD=OT_U7]35B=UA> &$ M<[)L>V :B?#&^S'#'^^B=^P,%PO8XW<=2I*MEHGS-5!\?<:P/7LTWGL&_AOG>?F@&H,4OZ M'2HFI5H>G,%%%4'0?+HEHS^@CX?Z([/]-=L"\K\S50,H._>I=U?0>BQ" I=S M+#G0LL'*0\$V4!,A,)Q)25 *P<>+H(R)!24/!*@9EMN8;,-J8YX[M^R@!%_* M5]TYW(L/Q\E@N5]6RP2'TAPOWY^73 F"R7P., _"W?;1*E!IN*,W[DN[H;=" MH$+1YQS*=QR"@ZJ>N9>%P;YQ^K'V5A18<.8^53%35I :C:6.D"DC%9\O(E \[.MI>4$\^[+ ME3@(NFC.H\V]5BHL+,,CSB@6GV:RC)BE94S,L,Q4S$ZRK"CAE#R39QF2D28O M"_<4M9;L9HN %4H:R"\\:3>P>0Z>S2<%AO*C.LWU3**BT4:-ZN"&M&HZODB( M^,N1K9E3<)N-L;'9WPS;G:CB M2D4BVY/3&[G' WFT9@L^+_8ZZ%+_9$?*-,T,<'LQXUL4E\[Y#Y;( C^J#)/! M%@E2,RU%2Z^G>7G&3+*K=2<,%'A1K,KL.CLW1V^Q4GW;[A/ ;>Z(R#),E58^ M8TRU#BYXM=;DP93 NI'Q1>9TI-WFZ@\J0^)8;U=OS!^J)7DV\D7V=.12-NM# MHC4J:265L7L6F67+(T5D3W?4;((I5U:X'38L+'.D[PY$7>F([.F.*CEW5\0 MR?#IMJ]*FTF3S10X,1M1UBHK&D5\84XTR9^S<[U:S4TVD.JPTZ%9UV1!]R&; M$7KR7*:7DPZC01*!0T^PM-[M-('L/4@"V'69=#9GS6>00G'\=%9,YX?-D:X1 M@D1N&L)V,YJ4. X-/=E_<5)82.)V; J>I/*FF.^3#A_,>@# I:O\U('C - Z M%#>L!]<3IY5\E =EX-=$Z_&]ZZL<>D >CZH!?),W@WI7:!F@L\::P8,+'N+(77>'E ])U0.E M(CB>0\4"'%HMP]/ZJ:@FFOE03#301)Z*[09ZP9&C8G\@PE//0/5*T50II,GM MBYSN2YSNK9Z@ FF@$X2O6$I;] 6HO:Q!>)J'SZ'2:+RT4.!9JD-=!/E&@@F1 MB@GUH\ DFJJASC!-32VX1%3Z]'&)*6D_Z6$36Z2,!M[!M#5+>_ O_T1J"8'] MN]L2@D_XO_\5[CY0,AQXN+MIM*0#R/^Y_S=0>J1@M8&>XP-]#5(&Q.[<02_1 M(3__Z_D^//0]I!BH*/P!;1YN86+9MN4CR-LGD%/-4/4/%(C'\K"O0AT2PA2@ M!:GFH:;M;V#_;'V/^MD;RU.=L/PO^HS@$Y3; >@RT#U5"1 +YP;./"\V&*)]+ M:T3^AA3"%\E21(D>!!.:)=##O252Z=XX+4YM0-L5NT@9Y#:J$_S6D#:JX1F- M0',5Y9;^L)IIIHSU:EF>'!BEDEE33JW"J6>_8A5&'2W=PS:"W_IP^<FD^52\#2%;8B[^4K9D^Y$_VHJB_\ Y]=G5#P/HYRW'?:6TX4A=%Q =CWW]G*UR^ M0-OK8#A'1;8_(\K?ZO*?0@N':?-PT1-;A=.4D0\4;01-*9E.^G3>C]#.18^R MBU<4.[VGN%IE3)R])^)=?NUWP+I$_'$9YPH_E.*,#!/]0#[@R2__U7JYK+UZ9#_?RY]K9WL^@<(XT]KU\ MN?:^?IO%'J<*%1_)8'\13X?VUIH)#@C,BH@\=E*=5JK]?$'&2JV'O%T6W*TU M1$D6F1^_Z#N*RERB3$7"P0D'WPP'G[T(Q4=9N"MU#9EE9!OK+8R)*U!ZD[(X MR,+,CU_L788]3TW5N/A/7FA,4;4L'B,L+^?*C[ ?$:_NTDNA/,GR'L9ORW#(NJAW(J."+E.$:O_HQZ]]E<[G4-_3 M4V+'Q-N..=_=YK>YNKQL\,'!4;?=6Q\15Y=#K-;J^R*7Y8WBF-KV!GR.;'(B MBZ(/R#L*?ZO9( QG$ M@0QSVF+KB[M"ZI:I!*4&$V=(8A,F-N'WM D3PD\(_UL2?N(,N>I)_:A\O"S[ M^8=;2TR BG&SXUOT:#0M4W[5I&KVF8+;ZG;+&MWL+W.&/EJW0-!F M(?!JX&_V!DQ8/F'YA.7CZ$-YD^IHD"1_Q///C5^8N M2U,WY4=YU-."?J$_?O4MU,7@7$K:]S,S$K/RQ;ZOGEYVJ;2Y&&XU-I+\DY2W M"/&-5Y5\@2H)U![""V#U)G&9+]TR[N)[\'M7F/2@[+4%FR$?G,]X!_ M) 4$]$O4''[5-45DCA2Z$.4,\[*N\'\]JY?\2,^H$XIE_SP0[=&N]G6:B8!^ M%9 .RS%+,_CBGY+N2UOG4)6.O2<>[9F?CX2/X)"B[EGV'ZFGCP@:)Z!$35:. M /:LSTKXK>>=5O;/?E,3>H\5UUK^)/![^D)(>:%2DT\H^(^4FMN(7?Z[W\I' M%DCZ;313T,L'=2+*6T$+FJ=8)NG7$7Y?H\KG4#T!UU'?'1R>9(=%A^U328IF M*7(B3FAB(F8DB1$GV(P5"0I@$Y:5"%;*_OCUO#FDM20()SWUNIK1'LC9:HOI MFA9JGTJ\',D]R"(FU#H[WIO@;;72F0_Z +4Z/1FY[:FK/K7%ZX*:KXGYZ@-G M>7W4:)5Z.7(PF5K5=HVS!=7/%MD=FYVO,#^J*:I%<-J#7>K(?$OFV:EFK3+# M*6J?>O)VPO;TV6ZHE;"\/J;*9L[A) &-/'E[H]1F/+(TES%B-UW@D.@:)LE% M-5IM+7HUI\)P72J.+*]2VS1]D3H=6=:+XR*=:2C:-J/@S(QB6'^+1IZL MSFA*I"<4*6880A:E*?S!RA++ M FH2A=7,0Z.VI=2I@P%VV>5;U6511BT_3U?1TLU9;C+LE32)'(^);3L[,'I^ M%%8?\-EL09A]A>_-&4QD*=5]X)0HK(XTJ9#?^%P.D[HM9O5@"OQBT(G"JC1C M'*N]KM)8GJ:WI;Q4JAB#R%:WW&2>YJBZO>7339(KXP\ RV!*5+-9''/GY6'1;9#T_/TG#<0E$[Q7_"V9FO#Y+"5 M3R[ZY;D\G':4*'C.-^+,78X7$F\\=+15SM@QH,1!*)W,*8.,N79L3--J!!#Y M;3'=;VXB&P+OQJ:EM&>K,C:4V^UMWK77LAI)I^NUKO-\N=?BT[G="#?H_IB0 ME"@Z+2Y''#=@ES.M-,Q,EAM;ZZ8[D?"<+&S',BM:GJ<[A-689-WF0S0\W65# MKF$4E>%IHE.UC16Y*O0[4M)$T7N4SC8==#:L7IR,K44"H$1LG" MMK)S:T;'G^3:2.:=4'(37XX&CEJ2^!99SN8:GL2H3"<*F\(LVZPJ.ZX1_*ZIPV/=V/DF03NCFE^QFVP&\WV3;H>49V MFN]$23)24L:3\=)QM!ZA5Y?#\< =M2+QK@SYIE.M; ;:JC2<"FFQEZU";$;Q M$95=93R-(862BXT?:K-BO=)#%'*RSF(SPVGCV2JO&8SB]Y>T4YX6?3CRI!5Q MH[BH6W-9S&*K=*XW; "59I?H[:XB_W4-XWPKOU6^]V4#O BWS<.+^43G<-SDDB'OR5#5YT>80]6"WS+"S[*'? M*>H3:Z)*;_O^M5"A"]H:+CPG^,P^OWEZFH!2::"*W-!G/4A72-^K7"WT'8 M@_6M54?V73Q7\[_CRC22YUJ'!Z%&&CSYY/Z 3.:>3#K5':G35VM^0P3V3X*( MJR,"OR?I!!$Q0$3VGDCP$ ,\))(I)HA()%-,$ $E4R*:SHB(#X8^_%9I_;Q= M/Y:F#_VPJ@N7*W].;?K?B>6O7K'_[UNQ$>17;W4S I*=XDUD05^B*UO"2)_" M2.P)#,[;J_"/6T'AV#U%?VD&.6-+L>]-!E];3OYU2["])+QV%$Y1W4!1_S(K M!'E.G?\XWO)4;#+!E:NNFN#1E8LT/W1?C69\L67X&+[DG_B_H/#TEN=CFFN# M[1JAFL@4N_:^SQ&;%'A9XI7:=N'(HX(77A.(N+@/..Q;Q^&'"\Y)]Q9=>27D MJ?X47S;Z^ ;W/QI^*$]M\#/@Y^>12'G$S!%12,OEJ#0M>0S%MQQKZ&.%A5?C MT>4:B=)%LBQ^B=C#A'UO@'V_._\2S_B7$+FO1H_SD_F@P8'^9=&J1]8ACE?ZLS[G$Y/<@QHA'7D\Q;"=;/,BV/HF'^'"GW3Q3XJ.(B+>,X,/X> MSP(C(B+G>9C->[(BCR*!3J<++FSN:?!8W8.ZQQZS(2$\P".UI%"8> I+84]9 MD.'/LR<%',,G*@$@]4_\7ZF**>O>%+["F5NV&U8U"QQ#SET*,JD\#_( 5 /2 M#GR?I-\'"#TC1^W3%7#VS;6BL/_PRA!,4Q*4*9*"LA,,236?7%G!XE'JP,G( MJ>K($*5N"C(2W(USL0R!SP[_Q^_9[/>,9 OE[3U&/>7:QBC"D+C'WRRYF.#E M:B&XWS3R,^9XP>ZIA&%BB)A$D,43+XD@BRE>PEB\!#$Q237XG8)\-2!<-6#Z M;9E^\7#0"""=-Y3VSU,.J&O7ICTS["Z2=I PU168ZK?I/!^'TCFR>_X\:AU2 M$7-+K';67(:X2^C#._-P@HFMPG>4@;X&:)/H?9+II(]?>KW<"/P^>V-$]I>9 M$J'PCD%0P/&>A^_R[?YS"R3;^=='>GZ]S6$Q@\+9HG]"ZS!FN[O"O6GH58I9 M='4, )-0_S>A?O:&J?\K62V1G;#.$W;_&69'S C[-[[/F]SS[RY(/BG(Y1D4 MGI7'_K.> $=A*:BM_,^I9R,E[^UJX =MD0N5Q>Y!5PS^V(>:(OX8L=+:5,JL MY55DOK?.LZ)6XMQ.:Q\]GR+N*?*TR'?"DPE/GL?7'VN>?+UB_Z5Y4E[G) *K M@(6P(G(+KEHL'S\;[S5WU>\R)9>>#<2LJSVL-V7=X&M^EFO1*XW2QOY?]Z+-_'%3RA&>U"7;0-;/FXQWB:>,J<[O 9^R 2%XNZQTQ3* M?R3"(1$.W\"R_6SA\)Z6M9\M'$1CSA0P+4O=AEE4D8E!747,\^LL!I^B/[R3LRV86'S**7Z862\NE;6U4E.2/MDZ-12VH9]RB"S /ME$;T@G]B:/=9X3Y'X70H=/T'R],M"5_LD-">X._AMTE>W#%^=T2]9^'!K7;:O\=)+W6KR65[.= M3-KE=&74^9$"D%27\!VN[8'S"<4+T](73>IFR7OZF_:)B7=N%W%/X0E>XH<7 M_)XB$[S$$"_$/?%-FU/&,1=R?Z[$S/J!BDWF+ 8NDLTQV]LU#%PD"F,&AG/4 M!=O+DKB;K.@@>:<#U]'R5X->#BYE%U3==:W<)U M?CW'TG)YJ.LR<&M3U"X]Z'^0(=GSU37]K8+\*5*+.IO4^HXBZC8237ZGX"02 MZ%P2"'72Z_M6A.!Q*A1?$>F&R:>MIME=*/-JM],1"21XB#N,/&-!Y=AJ4'2B M0=VT!G5NB96H4=<38G,;@ @QEN8D+#,!D[S6\S?,$"NPN9FJA/VCLC1U:]H3 MDVA/B?:4:$^?*'B*EF='R!T-2Z_=J5KM\0#+%=LVMFG@AA\FR)'$^>5.S$Y6 MB!0V49X2Y2E1GKZ$#%/74;I3H:RL\66;'6 KJ6X.^8&.#4I^V(P"SV(WI3OU MY\ &TLP%=J)!_8V,BDW7KT\06''O O8-I!>'./8-$:9/I[R]JU94'M 8)Q$" M4Z4V'9$.U+"W6OS=A!86= 4[1%X]C[A*E+.;5LZN (9$B[NB'(P0?1Q5+&\F M=1O##!I8.;RDM=1Y)PR(I^^R[&W='") _4QQ1IBV"I8V<( 9A)*JJ#(D<-Q4 MHMC=J&)W/6$78PWP!$JI?]Z0Z!/,0XXZF/(;&0X-63]"#FZ;9/4VB]<+)+OZUF]9/WQ%/$:(07O56K5S.74CT',!;VH=K,F0'3$;JH-T1 [4 M&RE0QT7$OD;2RNMUSJ *GPT$J7)6>>0O'84&$-T8^H M+PC!!M.4:QU2HEYV67S:XJ42H()N[#UY#J:>#EJSXU7GX:*+<"&5IR5WPQ7W MK8 BG5<2HK!VYF$C6FY9D!AOM_49=NUP?I(0]=E=+I,F9#%,\"#NDWRH&*(% MOR>3?*@XX@6[IQ/$Q! QB1R+)5H2.193O"1R+$YYG;]5C[]I.[YX-U"[:D>T MF^J[]TJ+R_.VXTN(Z;L3T]^WW8M?!3;D%DLM)8BIF66GI.!FRDFIIJQ[4S"% M'U+N'*0,(#F>'7C2(J]ESE1X.7;0.6=#LB3RYE%OC%GD30P DQ!_0OQ?G?B_ MDM'RL@;SXY66DTJ?U/;[ OIC',G]-[Z;+Q(L\#M/QPU<_/_IG>LYX@ .@:$1 M80"3V6@[SZ<7'*9VRPPM+29-2^R$^="9.RR3>2,,(&'4A%%OGU&)9XQ*B%N: M*BG&@L2UFF0I6:9=' OSRS-J=9@?^U6;S@N]76V2W^%>L6&BP@5TR*C,^<*W MXVE$)_;"-257 H8;-RP2+DFX).&26S*_PU=T$3#2UBSM.:A&O@-<)V5-7$DU M0\\SV,ASR51 X)J^G,_YF['!U;7]J['^;?!Y0NP)L7\;8O_BYN$E6_W%:)N) M9GL99U;,=-53_Q;"*$ZB$H.-(T,_R"2^;F1=!=,^C2<-QCS%6Q/+] M :8O$B%/>\-=NB79/M>N+=GNMF]+IA-Z@AW4%4^W4'#1:>9=H9?OU?)+P1> M)<^+M>ETG%OO7>)PY6#*N6^,$]$P_$)Y>B=Q8^_-KIRJSE*7MC]54X=F;GJ" M-OR,(M!W]CS#+B."U?YJQ6$4KHEN /33/?SXA3/W88Q;0#I=OL[U^4*JS77[ MHU2_RS5[7+Y?:35[GY"GBIT"$O7IRUL&7-KVD&+ZS@L67[+!W/(<(-;G>G_2 M=KFM9M3S.,@9=H7R_7/?AU::Q7=:+C49B!,2UB#^_'K]'XT-3UZ M2>H1*$X*@BEE!^^!.$4O2LULRTC)4,A+R!%C+'5K"X!SGSK&@0UD%/6)OFJZ M*;!9 M,!QWG [APXX( J:Y;ZG]A=7*??]SNI30>2TV4&NDNO5 M,Z[V%G]7F4\&'8$FWN\?,-QX3]A M:U4H(O:Q5W! L#P9?A-**3@97!MZH66 ^^N?[ZI M)08)24=I5S+$O8UT_?D+790\TEK.FG?U:EP_D3F8*H\(8MB7R53_]2QG[-'V M0!4/+/OG(37A:%?[7#4B,$84J)X%*6E!K=V?DNY+6^=0/XF])S*'K(>?C^D- M" XIZIYE_Y%Z^HB@<0)*5$SA"&#/ZBF$WWI>46'_[#=Y<7NLN-;R)X'?TQ=" MR@L>(9]0\!\I-;>15/WO?BL?:: UI:$]8 MGOMSIF[ ]!CA!^H,=_G_6O +KT# O7"M;_@%V!.[___] M=Y9FLO]^Z7!XX1PXH:S+V$7[1Y'B/K)0SO\'U_[$@^==(SA%Q6TS7^F*.:ZI#?O:2A"HY6KIGD&EWRM@G+SR MU%!HY"WG--HM4,@JK7E!++-Y5J@I7J7.2]W>PTSY!J"].&37XJC7<#J+LD8X MM#[3"S-JD(H.7[>&^I?S0KU.24]00F=@)=_J MWEUG5V]L $IS>7Y= R#>>$X]ZBPG+N1H90T/S8>];O-531OB7*;-,ZODT_6L M !F)HA5[1>MS767G/FV'+G++":- MYZPV8!:X@W=>/V[C+74_?+KFMY+N&2 Y8&_I@$W,\N2T2$Z+WZ1V'9*Y6K.> M:\E:Q7$\R93!ZR>%W)N17#F3K@NJ[RQ**Y^PVC@7M->^R9/BI3QU ,0^I) M ME* SN$13N4M%2NFI:@/9?1P%B0:"='^_NK\ME11)-9VC,4O;D@&8HHE2B)T0 M#"4]K,H"'\G2$M7->I>HGT@Z0F3*F0/@.O??TP[!$SLD.5DN($LN?XR\O'S^ M@V/$L5TQ9\%%H) 2)(LL>)S,)15NR]P?)@0II@U]6=-Y@R0F\_7.:S2Y\X9% M% %PVE!^06[M[47L8[7U"@25*NEM;Z*K<#PI=U#9C26 M2,5@.NC4(:A8GSH_PHOX]YXN:@B1U#( R:T<,8DFGLC+1%[^O;SH"0 MG@HADGH$R6MB$TQ<^"RT=(Z$YG6V_^/7D[!&ZT"BV@%NT#W%,I4TA(T1+CE6 MZ/ET&^0T4OVZ5LD[ ^ZE@!E%B22GF8S$B*1,3\0,/J5$EF'1#YK%:%J2&0S% MI*/0%NE0364TY#&^AHM#WJLJ0H%/S^KCMH_DW./-G2L#!D3"V_YOE6=>1ULOWUD%IQ<.3IEDH#AN^M1@S+TTW? &)V"O5: MU)K^9$N%,69*2SV#\7E5;6>C MD2<+S0@90#%6UM;4 =G8V@UZ4,\H(GWZ]F;57)6(QF"L;1E.SEK#WMB"6*)/ M 9IMCK3.QJ8'O/=0)IVUE9YO5=2I^F2=F?5@*\S&S%1H983I2%BL-**"YCQ9 MYY:?"^;6ZXM8NM,G=^.RP/77:,X7 !6S!$--LN1$)+,2!EEJ-A4EB9%$@&-@ MRDQ95LY.7DX^ED7"\DLXQ1,L/<<KKCM;DHEAHT&U35@%RE&;V9N*BS%*53 M2A1+F=G=NKZATW,!>(5:F:[FF@M6B6*I[&*@MPH9;ZKE/6%0) KSS6K3B6(I M8@;R*\]L%H6>L7C8YE56&FR4*)8:%/U>VP=2%6LM]*6IN-,*Z?B1+-5WMFU; MV8$=5M.7G75[B>W<>2>*I3B#X_KRW!MA*W$T9UQZ(&AF)XJEUMEI4Q\TRUW! M$$W6W=9X5B:X*):J5/&5OQ$R&4Q:$@^TO,:Y[DB)8JGM=J+*1'O':JUT?Y,S MQ_7B. <5?2CR%]60*&RJO(2OR6K>KN2U6:YE1]%_OI# MD:D4%K4!1@^Q.8N+54%(=Z+('X-(2F\Z(T'NE*%/G+1;%G::.)(TBU;5?OY1=5,\]%D7^5?Q@.-Q5B*= 3 MLF6T*IVBXRB1Y"_E.8=P:Y3(;^U!M6V/91W;19XHAMJ=0)7!IC1:Y*-W5)F08^+(G]"R#>.PU8XL M=GLEW]>D2/(WBO46EVE-H$R':'A0I?QP5%:BR+_%%/CIPG,=WFNMVJVT/UU. MTMPQ^5\Z/[$'%&0[=,'2LE&J_EMYB=OAAINL,*:JY3.;+%/INBM,[)SF)4:/ MNTI>XN_4VIBG);+':8D]OM3@F_U4@>MSUTD%:7GVLVMT&X37Z*H#S1]HFK[3 MZ^&$- >)W%^TL;&VUHPVMI8GK9+ACCD)88< M@0RV/8M$)R&61OQF5YM/=H(G_O_VKK0Y;699?[^_0N6[5'(O)MH *>\YJ<(8 M.WBWP4[B+]0@#2 C)"R!,?GU=WI&$F+WPB)@3M7):T#+3"_/=/?T=!M8R\B_ M=?FR?_"CVWT:4^>?PP9%H(7CS2;=1B3B>Y#G[I M6]VFT'3[U#DUZ%&781%G(($/][11"WO"%W#79/&?PO7Q)?U3^NAXR&B#Y@TZ,.,TP6<=R/?)P!S58PP4,[;")9^V'Q(K?0+QM*G3. M\$?/K5O=M%!$1C/\,G+4V8] O:"E PT_-#S7]Z,;Z1%/0ARXRG'I U\L%JB M"$6<"ZX7FT:0DN+#$:1P, B(AB98!X]%+\BR00;2*VT)&P'\L"OL&-3'.L(> M#8(?IQQ&]WS1J!^]EHO6JU[1+K.UTEEKVF'TJ=>M%/1YT]BIQ8 R>EJ6>9.R MA64E-M#5CS?S329?Q"SG2_+XDDOS7HL)9(N4SG$82R1?.(PED2\6+F.-\63]?VN0I-IX+8YOL%3_)#$B:R!!.="&="$(9W^E?D#GS14P=DI^^ M[C3#N+NYK7SA )=$OA" X_JR.KZ\LZ3YPBCFQHB@O8,(*P7P#700G]U@?5IS M=4GZ:'=U14OK\BYU5_\#Q[:*(\>V)ANM*Y]JM,XU9O4:,[\X7T)I,C\LM(LT M>8,OLT4DF8"3-0J3((I1G&82+A$I+*UK";.&Y]MX= M%$XP"(6&YL)6%$6A<>[XW@<)A<.)9BM^Z.<# BE;JX[5/9\'N=R<4K.VT9 MIP=LPHT3V,@(:Y6,UP9Q.^0]7Z2O9(WK=?@2]SGI4W#@L.'P6'Y<+KAH5. V,\O+-[G:D_ MR:[4O[=:/=.OM$K]9SW_WMX3PV:C+]CIX1//;4,7(2#<+ZO;+/1\(@[8*[Y" M52 R_#P[BV=6T.MX':6*4?5KIJ)EZ^[)??9OY[I]]JRHST4X#ZX<_% E,:7) MF2FUE)9D(R8>;S;1')G#$(>AY<)0W,<+"Z\%3\'67RUCV^K]/:XIJ.:>/,I5 M]=WM<)8+2:?()N_XB4_%[,U?];;6;+GB*923R![\D$0YI>0D#DGKA:3<5D+2 MVY*<$X9)$S,5OB0/E"X)YG@6LF,;7_2B %5$XT%Y^EG]X[8.=?^I>WU^V7K6 MUHPJA+C_/CB< B_=L\>30Z<@O11[5D?4,LK@Z0\MP:0?_%#$5#8[V5+Z*_>P M]AE'WI9+G# L?MPQ6]5:J^SAJ[._#S>&I-#R:S)Q=S0Y ME5'D.;;%]FTX0K,+*-;3<%W3ATB@N0TAUO?MHZ[3+]M<,4-_LDR@90K@_C$>;RZU:_6QA3)W+VUA3\9KW'L7MSVBD7\_*QI M;"'E,NF-$W;J7P!#D<F%>4;;%Q!UQ242N#,>:#JX^ R M,S)EY#NGY_>EAXQXJI4RI1,]]]P2P0#2B0&D3QH_6YW.Q#$F,1@S70 V/O-$ MFS_+#4G-MSY*OU6G6$,*FQCO!4- MB;>XA\\FJRWO>C%27E1YY_@B#.R3?#ED\5Y>1.?Q.D1M].2R1>.;TGD"\$WE?-E97SY0!+BW# F MKZ^;^.*#GVOBL]F36)MHXB-_NJX@UYAMJE>^KDWEO:/)8E=F?D@F8329P!.N M3,DA$MRP^WL9G4X#,VZJ],[*1,)I\2G"XTY0X6$EP MCX,-'WK>L38^7(YV0XYX&Q_>XVD!R/ V/MLB?>KN"5]2NOALIM[W/.+Q+CY+ MKC&=O&-IRSEN!1&Z?:\Q+8^/]R?7XGGF\O[WR6'W6#=O6;L>64UE];N>I29Y);DX<@*(%+AX"2;2QE%Q M!P),[RI;?:>)QR]FYDR]?SX=M)Q'Z;'FO=R&_7K$E*RNJ&$&AZCD:5\"B,0A M*B$0M;:0U+O@ZK&O_'RU2Q7Q/GN..MZ=V'L5+QI!>Y]L*JNL*.J]E^U]MJV[ M&.]_R*-5*^H%))^__BD]MU7]ONU:A:>;WN/-L9EGO8!D-963=-X+B //6H%G MLTE#R3>3EAO?>I>5(C?=PX>_E=I%$5_WR_?&=>.L?'X;]0*24U)F$B]V)LV) M]P):N0^9P"+,&TM/V/C,$XV".Q#/FE_S^NA7Y=91[QJ^>'YE/KW\N5%DZ^$V M: :4R:2DW(J: 7$\XGB4R)ES/%I?\&H^-CT:)[IR>%O$Q?)3'CW4GEIG_G4_ MZ 8DIM3<"J-5')IXG[*D37S;D6FM@:KYT&+ZCH(+?Z_MXOEQ(^?DS@G49((6 M0/*\' EN\7!867(:U<9GGFA<66X<:@$J&/AW7GPHWA4+M^?Z;^,!/UAV/F@ M).4RJ>Q<;VC5#8#DM)R9(JCD_\2:GM1G=ET4WI2C6X=]>MZH\LN?RZC"O6'D MN]_1B!=FG2()L?O>+@2\P/3N\T7DA8P3R!>R#FF<+\GC"\>QI/*%XU@2^<)Q M+)E\X3B65+YP'-L$7]Y0IWB3.,8[&G& VQ6^\,Z32>1++JULLF7;KO/E ZF4 M"'V=>V1;U,Q^W5U7)GKR22, M)A-PPI4I.43BVL6UBVO76OH9S77.DF;P\7Y&FP+D;2+2NOH9K59U$B0XW&=* M&JHDN->#LE,]DWD[(RY'B6UGQ(5C-X2#MS/:,NG3=D_ZDM+/*'$GL'@[HR77 MX-Y,J>HU')?7-LW:S9\-DT;.ADF;J1>EJ]>'SN/G=;AX88[ MBOQ$1@/IS.&?YAG3;$1M!.Z.LG)*T>063..!PP.& DQS F5-^X^Y2 M[KTZOZZ;+72LOMI_6T=&Y7S#X%/I5%V]6M MU#CVO'\W,F'8,S'3E9>"_0#X+*BP43GY<_WT_'#3$,M>^_AO^[99.>S<)J1Q MD>V?WPR.'CXG"OH]7Z_7&U$C8MT5>6-BWA+QO%/7H3'PMMWTLNO?XK/W+ M>G'[1]>ML&^1I*0T3>)]BSA$<8C:-XA:6^SI77#U&W6,UUKC\F^K_;M5^W.7 MZY2/<)[U+%MCE;)4L0$$"GY:,6C5,B75EE-^V]0Q[>W_&-(:T$$VGC=M)RXUOO,E..SRZ+JMP<_"JB M5LUX[5P;%Z[?#QL79;*IC+[T,%9BXK:\;]'*K;($UH[>6!["QF>>:!#<@7C6 M_%+=TF//_GDEBMG[\X)Z7#X_+_Q]U,*^1:J64D3>MXCC$<>CO<*CM06OYF/3 M9:OP1[T\NC/O#[-7QTU1,H_.*[=!WR(YI>B3F0PJ<7/;%\B>7:WT+N[)=\&_4P$E-97=Q<#Z-1(1W77O;+1_K^Q&IR M?GRLZ>'HPC'0;\C'\!!L6M)Q>TI9T-%:G_$*H9&N0!\BU_L>*D2L'.GDX^@Y MVW06AZ$^.9,6P[ O, Y'1!10K^L*HB#">^/U.]_1">ES:#-"*O9->$R8CN'0 M1@.WU_U>MUZQ&2=4,)U #D;CG@&M9$6JR^+G1CE^5AFD$0XLSX9W;0*DZ-'F M4>0<0[&X&"]Q\.PC/):,D>"#/7)(._AJI'*18(%A O#D$V](Z'@$0CSR;D@W MM"#-V'#;9*P# =L6D6R*6[Y "^XT7&[@FEYV.B2>U"7^5-4EHBA4%L@J Z*K7IM,WYCRF5X5>Y)A8^3!.M4<$S\%R+6* MDKLS\[1E-5QFHX4EIX_7T?V/-X%!;%8!+LA4!AOXD%4C1G7RXN_([J.!'QX4 MU]*R.M2B<%1 !R&3UK3_%H9_#@D^PI37PQC!1EJ>L;M&FYX%WRTHB1QCM2RE MLRMBRIBAHPQ9\"\D-#U8E/^S6[EIU\.LU7WL6M@OJJYTIWW6>Q>EN%2Z79=QU[ MOFC4CU[+1>M5KVB7V5KIK)6/[OHV=MNT;U;0JU";N]#'[IQ81]ZS["];F#[H M3B#*B^I/NR5E=$61?+NW+5_FN M423/P<1R[) G=;T>7I5: BO?4B-"TM-"^?ZH7+R]+UY5A.(#^;<4"/](_ MI7^^@GLBH$[',B<_'\1!_L0IG9EG#[G;$6?O\#W>W@T:4$.KXN89T\(Y8?\* M=Z_K!>0W@U\F4A*ND.=5VV[.$T_*?DELRZ5:LRD?B<7+VX,?&3E%3(\IKB## MM84<%;Y,%8?%-_[7BKUO+@LS9:%_?7OSY_'XE]22=1^]-+/&[:]!_N"'HJ6T MS\C"UY3@8'JBR2!#B. E+2Q_L5XV2%XBSV@&$-F=!I%YN]-$0AG5<1?PD=CA M;6Q:1.93PL5%(0++^&6+07-E.J#$=$ !>^+M.D!GP"80G^:%;2Q%%U!-4ZOU MPE-1Q+>5XFVC>.JU3T>"Y(>95>M"-J8+9>>I6K(NJK?W[>?2J>/8/>LB2W1! M$K/IS*0J+,9#(L\VN72Z*@1\3V]&$V#M1S'#1>B3L0HU^-(@T^@2,0=1!0HV MJ!;$+A;:N-MT39A1<#51A4R(_ M66QDDS>'J%7#1 (=Q9+H)\L7 M3HA6"I)X>,XPTB(892%;Z/0(=B+"@P[Q;L@,;.)Y!.-J(O(^B"75@)R$X!W$ M) 0>X&'RNS_\V>_5ZY9A$=()72+RP%L@@HW)@-@4H$$2L6KSZ*V. MY@=ME!"&R;1K07@QMMKA2.QQN1E[(@&]":.';;29_0. ;Y'4'Q=<.=GP< M(_]LNA8OQ4RFHCZV6^C/<^:G@XC-4>N#K$YSK"8IRT"@ Z\5,'NO'T(\++44 M-X#L1I2=@&'_(;Y%& ]^1U;ANO"BL_$T6Y<)W&8878F 0U M:]W-Q5'&' "+KO0.9B(<+:%Q2X#0/&[J,XP_-0KMYY1P_%=OX MS^W]O=C.]WY^?-$ (2@Y@#0PU@)1+I#[/#7>IJK>RPWR?[K5*[V(6V>_FM99 M4[1/R#*AB=-U+T8'@8H=4&(8Z*I<1"X;,>H)'X&IL'4O,,(*^8:'Z?V!U42C M:>0V:L? Q3X"NX4\.=1#QPQ,[>""X5N'!JK?(Y+'MMV0SW;G"-P*'G4NGWL$ M&+ 'NW!MU^M:?YGMV6%^#[$AJ+E(@2!%WTE(35":8 G@!%/Z\>VT(%"MY>HH MFS'%:LTPE:J*ZU)5SR)415I=$S-B+:>+2A# 9G= LI->:"*G@I*GKD%PTW+4>")0/$>-R?@$/2T$0P0]!HJ,C)*I,QLG43N 3R?\&*YM M)S Y TQ;A]<#3&025ZZS5*Q>L/WR@78=@?BH.5-1ZO4P8KVT9Y0] A<'Y EJ3MQ]ZW=&2#%83<1D[$26Z4]Y6:%JX+A1? ML=&C_N\UN)GDR? D]MM0X8/?B W0A?-K!*3)PVUBEX4WN[&;A[_7HP>XX0.& M#K<]2(5#P_4Z^P[L_,CCQI#>29\8V7&SYF(..6W$.=V)."U\(8L(75)@'0)S MT\1D>(&UV;.QS]8N24&'4N:+\97>+V5,^(2_LA^'I"^3B7LL@%-\-2BP$KBD MD2U)5XBQ1-Y&%CWJ^H8+:?S"<$7]"A>"J([W4 U\Y$[/\WL(7']W]$4PY/B( MTT(9)O<&0B OI"T+%!%S&"[O-E&7T()9)4#J8 VEU]1P^&3R.0ALA:Z[!9=V MR"),%A$:&R'2X!%2U]K$-!A2;&3TA/Q?K*_"".[&4XZ(F4[;3?\S-9@8!L12 M;%I0.2U%7MB&7)Z_\'>@+A 4<.>5=$ M/(VH%HW-3R*6Q#E!LB&H8!BXTQT: !"/(I_H*4NZ MNX-NP 3:RBL )_I\Q8>T([341< MG-$>PXVGGM^UZH.W)KG'TLT/OL5_V'B^^__\IY[-Z?^\(^=]'5GNQ%2$]3F;M6R?>Y1&^*?V9GP7'3W7G3GV5K,RQ@1/"^>$^$+#@8?$'(Y MP6ZC'M.;#*TIZT( XZG 8$,023:PU0GV\>@^E&EU*?B.&8 M^?9@ZLK3(Y#N!?%J^I"8^\=4"HZ7N-Z$!L&O"=*BMYUHXDJ4""4:.BQ$,6"G MBNJ%-XPK=(-=/2)S/2>449I4$FWNI82>3T,[,="?%8\+U@"J0<32LDV6\H)@ M&X:>%0_<>\%U@GR12?W\Y.&IM4=TC["!>BSERJ+H JD\1*GA)%F7J7OJ'29@ M&PUH#E# ,$IXRB:A;?DQ*@EYVW=I).P)&Q&HT#-L(\'PT1@K00Q64-PI"YR:.N26V*F+KP8YD\&ZT4[>&OG<=X?AD5K X@"4_*JHAIJ M0AEY-41(?'C]:N-!&!.615%.C2!]T/%A=OC[X\[#O-A:6B@Y9!PM%KNP_& @ M,*:1\?7"L1F>1356( H-H0G"I6'\EPAVEW&R#-$AEZ;!7'L-Y,07.+K!2V#) M)'X[N\NG6Q:A[U2X+E]'.\Q$;N8G1XP'SP[ABX9'@ZLG'FKCONNUA"^R*"E? M(75B0Y+"0K&@>CTO1N3 L "G+J3L"-UG1U>C"!OY+1*894G%$FGTCOW%V(;T M1$C4G1D2W=!N79"625,R'3? .1@Z,/CM;#"'29)!#L.L!$DF ?#.<-$$QXQR M'O8R"#S2N&RPV@_(.M."M9Q@]\3UJ?<-;L!Z>.FTKQ4!.9!40)@O8\\!=H-G?Y&/= M0SV3F 41F_V!3XR%%$@MD0R0N*;;%_K8II) W)N78*.*;;."<+%7,(.2>C)# MJS)%QXEJOFOW(!-GW%.##&QJ19#'1O _.A1J:[0Q"]F3/^'C-'.)^D^V/7:W M'Z<\B[^C()>>CN"I9S8B!R_<,3L,UCR86 URTWMV=S#T\FA\V73[#J.N"Y&0 MN%7C6Y!PS2@-FD>6L"YJ84)EDYDXH&RI41:1UQB69_3:P*CAMBD1+XO0M4?8 M3QQ:EJ;H4+NZ[3)SC!#:9P'$8 L\L.<"XE&[*=0$8OL!#-3H:F,Y=.>?;0 : M03P(^-/N!)YS#?()8!04+*RFRXXN!*8@%2D_W*P D6/3(((SQF483C XFH;O M]Z#4C.R/6(3$Y"E:?(1NZA*4!.2<19FR/+K YL:F]N16Z0H2*Y)N%J3)%15,SFI MBK*Z4LTA+!O9&M84/3N96W1T#=PL#;?VJSE5SJF9S:85':4%.BXA-K -G81[ MRSET<7JFM6(\E9RRGXTN;/FNC9&3IVH YS.[%A?H== M3DFL9:2\Y^5-%_8;3FS4B"5RNC7GU%1O;J76X:N;=8S?3W^MI]N#'U<3N8L; MFL*5ZRR>!>K?W?BML_/?+:0HC4(76YKXB\S"3&VG.SX#I?70==3; MP[\MW&C9=\;E\T7M9__@AY.4&8SQ8>HD"H_NS:^_#<,2RW7EIF>5;Q]/7_,' M/_#X)-8#A>]#OFQ=R:@U$1'H4@CRF:)8U;&D5 TQ(\L(U>JJI(\@WTW^KE(J ME:JRGM%U:;50M[!9:0QL8%P"&5ALU)L\LP#:^! MF1.$ H^G"DS"RS Y\G\CB)^65UP1BLU]\R(AJE0H%I MG6)IF]&,P%N@=N]8M#)D4I'Q ])HRHPLTQ/<@A\G,MR8[4W,4-,U>LR>W,HL M'(EGX? LG'5EX;P%D!?A+]M;H+DW-#1.\'2$9/21)FS\4D-J3&['?[4)4G^G M'B?\-?$S(ST].$A>W>_WTP8R/7S8)&LAD3,_;;CM@-8L>L8BE+@K]#$!*AKY M")(B4$T((MG#Q2Z(9\>3]8.] H/@-9GX'HJ44PPS1[PV4].JJIA5 MJ[IAY*H(*TC+F5K6E+6)H(LD148':#!V?$K_C89<)"D=,X7BPTJJ_%9H%'"A M]$IOD]YI$O(9P4!U6=-R&3C?IZM55P1H(T1BIH12L=N$P MP;"GOU-67XXF6X5E!F)(12Z!/9(U;2NM3"?DS>B$IIAF1LE*55.6E:J:E3+5 MFI++5@V<,0T%B9J*BZ66E3TI%LD7)@@6!A.9?-2;I6K8M9O:I*9JV* M:HA@KZC4S:RA&WI-GQ0L]28,5\2.MI]@#,)5U:2,LN'#U9*:%J(AQH[?1UD_ M,-8@6L$Z-FVY]*AKDYZX\-2RLH)J>KTJZGJMJM9,POR::50SNEC+(&+%&3H: MC1XCKUMZJ*HY6)_L7<%CV-TM/8POUIGB:Y.L[UV0ZBB<%=&MJ@QW!3N;L<1)"F'JH^ M^/$%??TB?:4!AFD33PLS?YJ6]A[77LIPC04.TLMWC]=#&OGK?,X3^ERY@C\4 MA#@1PK01EIH2H& <&BF&Q<^A0RI"="441?7H25&?Y8U8LU.DA<#_#DOFD0?A MH(9@UR6#3#3]&:D5)H7# -(0*"#CCM719%$#Y+/TEK#N8A!P&)ZKCM:5[PDL M@[]MVPJY>TW*:7*_) MFS.CH##0[Y^EHU)%*%T=%W\OD35BZ.B9J8H6M[4/P\O&&](!?JII]0UI M8X%HTI?"*-Z(0>\X),9F"$(?J#%(@\&D:.3UT&(K_()I%_UFA"YQ0K%K)B&N MZX4#BS7_.IC3CH\>VZ*/T--2]K_G--&+B7?LV;#S4B>+3DBQ\#,U!+XSL.H3 M&BW$B>CW,"GVG_! W.@,XPW(YG<:'$Z-X$YN1Z>F$;9EMG%N]"C:Z&'%!:(Y MV@!2ZKP*=.-Q'?T?)UL-S:V?QHROA=5M_E7SOOU8>-55#[9KHB(VRY+YI=!D MP7HQ=U[L\,SDO^^>:: "&Q:/SY#B&/N&9W78)E)\]A]6$GJ2^3A6\?DKJYF0"QYPMB.A,::O#72F0O3%@888>< MECX@,9^8V+=WL2KY!"1>2O":0Q\;A^1J*'W\';/%;J0HPO\\]]SN/PM'P"[[ MYR!PT)K=;L?__NT;I!&1-Z0;[LNWO&PEE!!:ZB'3K4[@)FU5$ MM9P%5E#]$@T$A:9;R"D(LT/,,^P#4D9UZ)Y*OF+=?FCF[P#9O38>MDV#=-B? M05)5*FBA-A+"C\?N69E+RA:!B/TPM7.L;F'/HP>#QD(_VN%Y$"IR'3KP+!OX MU_2$V_O!)2K)LIZ=B.'(:7F]P+'DU6AR1LMO9[]=>#:%(@G&-D521#6G [8I MBI*3]+5C6Q."R#.Q+4HH VQC]78#A$-MUVD(Q ,4L[JJY++"M=,E4.=2_$H) M/V'GX[1G>8V>14!-5G5)TO2QBP"XPFN$$SHSH>(1?J:$O(U?$.@[M-X=*U'>2%=XLC=T&&Y7>#AP]W=$/@*A]*0\OQK$> 4F)+@K2_N,5M M1XY;R<,M>:.X=32P47\B!^:MZ"1S=%J2Y*K MEZ-).^TV71 @0CMZ=WJ/P%X2TR*'^UV'^^U#+$D\E-87RHSV6H13PM2.,&P2 M2U (BJF]8.'&AKZ=;[)&B5))J_"6A?_;3XL40&K-'O/N;-/N"AJLS8*A:@AM M:/K(,V/[&K$&A2O BU7XK_N,%PK'BSW!"UTD7PWQ0I888,C*QLP'VK][JK=R MTT1.UVW3+SS+H,?CV3[JN] ""EB[[ T4#*[:8(MCY1 CJ=P@62J<9#B<[#><9-8%)Q0;6&#SP^Y(AFO_4K4_R[5_ MO[4_NVYCXIH>')IJ32P#(+(<()8*$#D.$/L-$+EU P0#@-D^QS)0(L=18JDH MH7&4V&^4T-:-$E!=L>VPO(Q1>^+M**#QW+PE8H#.,6"_,4!?%P84:3<5JI)# MM0\/J!:@I/_XZ5.(1/Y"<'Y).$H+Y_0<%OF-'0EC75*I'K.#2]([,$3GEL0R M4402.8KL!8I(DIK31_9' QB1UQ://+$\OQO;K03-7BZRE'&GRXY$2N\%%CDS MN96J+ -K8F/BVZF0$,O9U7;Y]?O7VT@ V:SNM M6O"P:<50)40):H?+@3*.U=Z.L=6"=/8MWR/!PYM_>)*!+/:=\/ MD)MM4JWOA-RD234+^((CK+*XQ]"GKM',VU_\XRG[NXU_F8RFY$19$45%ES+? M#((!ZRT99Q=[Q!N>Q-?; %\#:UR;@J_"G@$L/[>Q M>T@VU5U6)"F;B;O+6N NK^WPUH6+G$G$8LD!UT;7C1F'XP[R)38/B^2_(7H) M]T'SL1MDP"DP*$6#"63<>*[9,PB.,7 CSZZY7KA10:\/D(N@H8-,!)E0CM&D M5S(X>H<_JTWZLTLI3Q/20M;VW)LEH_Y?;O]Q^^]SJ!E9;J&'K*_/C:Q$0MXP",>ZL#2=6%Y[3U5+ MX0O35JN6LL:%:=@D)NAD>.,1+]+J()LXC-CHT2C8=9U<0XB%\>YZ M-AF I*!#2?V"OE(75%VP!&-WU7&!GV1(LKA,EA&7@TYV#^\?K7Q M@*@PU7-9%.7]55^9J^]6J^_ZLM5FJ^^)Y2#R)_EKEOIR[5V%]LID\>7JN\7J M*V_!ZBMIPGVZG"ZD(YV4E(RX2&]U,REQOMUMOD[_LF[#6RT0'<:.SQ#F#ALNX>A@OS=<)%%*EZ[*?)%>&D5_']U=P*9> M%T&2P+%K]&!O?\]$JESXR45JN2)50:^NX[8'Q(OI$A"CF2-&$[?1OLI8(7_! M96SE,E9 MM&SV9)Y83FM&O*'J+9?7XS[]V'A? Y15N4 ,3%Z6+P>&'&&B]4AJ!A8-(OG^V'P74P4#W[\+^6P*< Y&F N M9> &AT/&T_,?8@M;/'36RC#@P/#S_W+(^",$WQ M'F[P 11+F2_FUV@3#QL]CU >P[E0HXD<8N($.WF2KJBIX'GLW!5Y0Q/Y@@E5 MD@S4\S$<1;5\\CL](TK>7L."3ZC$CF#!4=@:;B*[#B? X$&T R&[(,5.IO8< M/".04<_'@!SO?'\B<)"^^@1X$4X,;TFL!\S?"]R0N M1*M2XFN+A@.++$ VYL6N@*JGL\05F&[WCZ%E[.%@BM=MMQ\2-/Q\V/=0YSM; M!OJ$2 L1./H=U7S7[G4#.W7UR^.8NS'7!I#>:P,$_[[1'9.I,\I9L$$6J+ET M-LMYL#H>O"<"M1"3-D"%=T9@R(( 7_[[0#Y8.-V,F%;4S4^WD#^^*PH_KR^. M2U>GY910NBI\,(*81/X-[\V^0XJWEYM+FORVLWW)@=-%*_5Z9G@T^/ZN40>+ M6V"T!B$(J?,JD*7&,H70KU_CM";\-_*6;_ZWL8+<7 P3+88+9CCN_8GBYR8] M*L5@'B5.A+GX[H[X+D-6-RR._[*FQ!*M+KG! 'NO:>'Z9'KZO[Y9?/WGDIMD MR?TR[W0%A.*#"<5B^G#B-DA9,% '&6R: M5K"E:WY/4J0\.;%PF?7^6EXX/)=69ZYA GF;.IJDLU-AP27' !,YJ(_%YQ69 MR\3&R)^!7C.<_@F(RS-P_%@<:0JCEI\KE4O+4PVVD>0I=M$H86LC0XEG'1S\ M*),'H6[/P__Z5GNON_ NX%B/N3H[%VMB[DOV+0)%3I;\+"+7/,FH6%U[3"H^ MKD_OB6@E3'@R[]]2V2'56<'L1S5ECR2#+T?A5L@OY'G$>3U*"^>()FSMJOKH M*U.?1"TD+-PZ4<5G%U:.I9_D;P67N5FT[3+.+9\- M6#ZS=M%W2SWV9 F8N*-F 4 M_23O]YO"E>MU76=7M6-/EHACR\-&U^5&4)PH7,"W1,#7.'UN ^VB$G ;B-M M'[*!KBRCZ=K(%\INR[7=_JXJR"ZL$MP,^IB<>YH-<+4.WK!]_$B]X' M7\$BJ##4&Z_,_^):YHS"_ ?16&NN.2#_:7;;]H__!U!+ P04 " #\@VQ8 M$2A=K&14 #N50 & &-D+]YL 4E5%%44 QB, ./A M -RO .0!F(\>_7,^&-;#B8V'C8V%A8V/BXN#1XA/2$B 3T! 1$Q.2D1,1DQ M0$I-2D9!245%14A"0TM-24M.247Y3R<8F _W8&$_QL9^3$E$0$3Y_VSW/0 R M/( 7I@,FQC/ (S(,3#*,^P$ \&&/1PQAQXQ,\- "3 AYA M8&(^PL+\9]0/5X,>K@.PR+#)G_+)X5!H?<1]YD;)'Y:2C\?RNJZ72GL:RBI@ MX?[I,3XU#2T=_7,V=HX7G()"PB*B8N+R;Q04E9155'7>Z^KI?S PM+2RMK&U MLW?P\/3R]O'U\P__'!$9%1T3FYKV)3TC\^NWK(+"HN*2TK+RG_4-C>"FYI;6 MMK[^@<&AX9%?HS.S<_,+D,6EY:WMG=V]_8,_AT>POQ>75]?!F18V$_Y<,CEM' _NE$\XP_#HWR=DE_7 M^YA%0!M*9>$^C4_-*KCU'/8/M'\A^[\#]NG_"]E_@?T/KF4 (2;&P\O#) /( M .YTB@[5U-,D&)C<9"DEY;:)!/KII2;**XZHEVURG-N+V]O2+1-?:>!\R"96 M!B;XX8"1UH%44S=Q-='+/$I:A"5F=UCT<%LT?CM2?1&>?ID784H_3[W/P)71 M#AEO9XK4I8U\U%_-?])?\MHVQ0S#@,5DF2N$=*M.%C@=%1KH4A"H !W/C Z4 M*!O\:7=3WD501C*RPPIT^X376QU-ZL\(V=M D3?L[/QI&RJ&5NBWW@/>=+'= MJ*ZOLOX@X>>[PO29 QK>R4;%A\<",I)KF90I(Q5PL2,"?\&&T?ADT/!-VQC6 MJ2MUBQV]A:>BN;-*49.O\I0<(W!7!#$NM\S%DV7H10BO@#G!*L$0,^A[*?E! M'V:&>CAWU9$XT1=.GIKSW>;' EVNM52N8=]SSSLP! M%^(E>.P<:5+Y8=Z?9DZ)!B5T59),'WFHS Y(%A(T!+@?)_FRL.)?2X6<(&])U+7%O>@,NR_J"AZ_Q^GMQ4B8GTQ,*+KZ_C8[%* M[42YNUW9%_WU?VL^MOQE>25D7*DO4^ ;S UGWE9/@0_+>D\JS#^500HY+OO6 MO.D>7O)*D#Z0DJPHXG2AV-JC/X$,*B^84G1*'B MF?B>P0?_\*QWR9N6J MFY"QIU\L_Q*7"OTR;"LM6%VF7%U"O+!'*OD^0YD0J+\&%6+\R3A']AY]3LIJ MO Q)#":8KY+<@U0Y?664%.&N?R,= ;J0V2J-48SR6C :(919L5KTYU>/=V/$7$A8!/#: ^?\[=EJACS M1<2@V!WZV.?NR)OA-5M<&2O Z,9]RRF&".!$TU.8:9)X.'.Y-9N_4XO.'>C" MXL6D10A] ]5*Z9I[WEDJ!WHF=9T%D?D-8<(TJAP[,CJZAN>XGVW32X>)N]XM M*2D"HQA@IITS3WN[<-9XY5$;F=QA!F458T1:=,5!:4[YV7R=)%6P0!*!!4>0 MIT9KR9>H<<^9W_9CVU,'N=1NBPAV&579)0S+D8[,9T,8'17QI1R,%(Q26!;2YE !<'/'H('Y0+=7CX> M-2$8H,_."CJI%HMS#SX-.\%,)EGH'&35?R>'19:L$"P:O)$'-CD88KBC4:,7 MF[[\4&!404=[UBH@HCWQ6"L4!P!,"#I%4@3/+NL/=T<9.G_GWI&);S3B^#&_ ME8Y_F\J!;R,_G5Z7]\Z(*MNFN&DHM62GZV#6LS'TNK@J_M-_J?=?"C[N^0%( M&9G4 .S!%:JQ>=HT@:=L.J5^T3GU23J-C',\C:H0S9_K'-G&G3.!)+E+]HW M@5ZF*%2:-B_G6FN'^,:^BIM-6.E*3U"M*ZEY6M;J&!R>B67KBWFLJ6_Z/>K M+('^X%03-K%BK.[@0NL@PM3U"P=P MPZW"7=TFQ>V[K:[F:HOY@8U8UFOTP,/>X@D- ( MA&;L,EH3]GXB9E)9*5[!@X'E3_]U+KX)I]*[4?L1B:IA'3:EUMN'YUPM0DA, M!!#:TV5G2YM0'**UZ3C>&1Y4[L)'\2V@;*53 JKE2YZ-7'M+!/85?SI(!6!* MQ)Q@7-;\KHG+@^I,QG13G'S7@+(E #^]W+BS7B4G^-[$_'WI]8][@*=MJ9!K MJ7CBE+Y CK*._O0H#7M[*Q%$! MTX,\D"_1<^BG<*4MK@IU3A*X*HJAM"Z@ZA'Z1*'LS^2"YC-MX5\8DC]K:7\! M( J.SQTEWQ]QTR6\5.><=0V?!_X$/6O=#%?K#%((#-M*@K\H[:WR4$M%'.T8 MS9!+/Z<1MTID$=VED1U;O)'B=#;.@1->K\E)5#7Z+3+ZDW^] M/C:.TKIB4*V8VVY@&!1_-=]=GUAN(R2;:[OX]OC "7W]^VRXBVL+2!?2J\8* MG3U"LA\T[S2,7EG)R5D7W/G2:4C!E)_%'GX28PVP$7.A#S\S88 MT>_E=LT#S1H5P;B7L_XE,^V4EOB4A(1>57^F]>WMF9[,M1%);F:(5I?(F07W+XS;.3@G&8P6P!]/IH%H@> M[VX.CH*=#^H%4V?V(R+CMND*[(7=N%N76RT8S1-Q&:*TL4TP&(:+:I=*/YJ1X-&0O@%H\QUAEB8:5^D>,*B3#P_;BHNA%D7)%X^O?MT##/MA99&%;H2],WJL.KHK?WATKF^?*\GVAN'F7Y5"?G77 M'@SMP[HCK: EY>Y6\YZ#%]Q9BF/J+LEXO\Y*,?_TSW35K4J!?O(<[1+\DWAU MIXB2_B+'R3[#4,W'NH[0?XJ1?;6 MH-LQY6'6/+YZ=5-H-;,E0=U N'N2FX$T-]OQ8-M<7$Y-@(#MT7[1;#'H?=,W M8D.VR3F;4"F=-[/@',+2Z,:8W5GF7\T*9?)LO\CN 8LLV7=<-[F\8NYHG#%A,]GI9\D(<\ST9BQM5U8L.";^;KD'WO.O!J,N?IT5J9&.#KQ#YE&>??G^:86SZX%K:Z0VU M)UM;?+UI_@67!4(U^C+8$$ 5BM"WSA\1W"#L+S-5WQOF7C'LBPAVY,2Q01"- MOO#@V;()A@3WW0.H+D-BS1K.HPIGSPRNB' H9\ ,/DB8.GW89 ,/GC2ZH"NI M9H($SK+6IUF TOZP9"#3Z,2D?/YU%_VI6^GH,Z66 N"_'E7%_70338F!0@?/ MZ*'-3NE@8B%'YITRMTS'XZ,>IJU(S14_L\:0@Q_9H5FG0J MM=D9HCL?:!M4OJD[% M1*D0'[JARD ,GL>PYF@5X,D@FK(0_1BX&0WT#!:"^.[B?OBS+U]W"RN-)\L= MZGY]#]C,^!%GQG @^;LT[R8:G7XAP+5&FVC-EAOO8>ECC?//#Z\C2%Z%YN\8T^7O@ M('Q"26@,7KJ-FU#3\<9Q@,##C34$M *F>_:\WE43,_NRB@FX+1-_N9BQ<#W- M,)EIKR1KTOFE*G#/0-5IY/I'9:KX/2":F6ZV0S8KJ&K\4GC9JQ"'.HYZ&ZF( MJX&M/>.%.]_A1O43'KL,)%8@'VC2480)R_8'O 159*3O.F8AHN4'A MFLCG5 45PA':B.10$1)CJWN > K;3C61A5W;?%(T=]>TI0_5;Y8*%DOF 6\9 MPWD%[%#:)Y="@QP-!=/[Z3?XNF M&S/GV6A9E7(Z?(1:?3:_-GXW*&D6H5!)/7?!TU:1\D_)7G OY(P1U,YCBS^3 MI@_\,-?QW(.A7T+-69G7>9AS9W;EB.O$A1ATOC)>B,T@!1]S/BJ.N6M=\1.W[;(AK>L4Z1)*,+D8*R:D4V6AJ\9CD#J6HP3C MW>]>Y:M!]7=O([['6X1*<]X5/G"VT-^G+X_,P90!VAW%(Y2CUR>//7[ZQ^Y' MI-R\+F#U'F#V)0BTV1TG0X9^$3R=%0.YXB;06> 6<1IP;70KDCVP>%YHZ+=;,DD2R[*F['_2O2T().F@$ MY#T;5#YDD(LPK,N M*M4P>5&3T"'TX]CP'41'IS%/LX.B-FO]C#K6W"T9_Q66U^2SKCZX# -O:.-0 M*B^/3?0C"2B)CAEO0H4X2<:7JO+SS4,ELG-=I<-[0&2''&@[B'Y6NS$MD :/ MD6P1$8P;NU"3'6)]3G]" ?<_>]W>'>(@,*R9$R(;(HYX))/Z;Z**+DY+05OQO]$\+_\;7!DGKI;NF@1+@M,<31(4ZZ/O.19,XI7=+Z?VS/@*8A#B518YK.4) MJ9(_"O.NH>-5,!-ZUE1Z]G1N^?7-J:1; 38V*P,8L;'?)1".O M\U$ZR4\PTT=+^5W,5^J.U_:IC))0]WBJ=7D_'GX/8"B<3)V'6^V M0[Y4=*"BWI=DO?DK1B?#GY"W]&>?"S%GNGGO =::R_QCU_;-"X).)B[@12$1 MHZ;$Q7*[:E%M=^6M3,RC@J[P]KM.IX,6MU*X^'Z (U&-U!'+[M4(8+O3P7=9 M@_-D\YI_$>$RC'XUBWJ\160YX)]=P"2C"D[]:S.RIZ724 MH?3A*=M FJ-Z0<@R>#?SK5K0(#M^^!3GJ=8)&!&&U$+/9"4-3X9GKN/-7'Y# M27C\5*-M;;-?T'U5OJJ#R:1,!:6"G.1L^^X]HCO=?VN[+Z&,BAEWJ'L?$#-5 M!JXCZ:\*T,^=54M=X[:19?X=DYSJ=E&S-Q6D'AP:TBLJ^;'J#UIDH4/DYVA, MJ4,R0P7H0^_=7-V58ZZTM0S\-!"X=1Z%V.B_4^TS8):(X:YN5DTY*!U;A&5C MFED&#]_XT&P )1G\'%4'G[;$;C_Q&$YAOP?4)*E>,,Y49C/'-VNIN O]E-&R MV%)0>3>PRB'=4EZQ(?:OTBQY9EJ6F0CI?$B?48=\&:@&GJ67\_:,RB1CY%-X M6H1Y%-L/DP;#CW\LQU4)8P 8),&BC!Z-5DC(>61WL=%QELE^GG?%\ZHY7JSH M?C$]+."L$'RP"/Y(,_(>P'3%B[-J7U-1DE9%8'=Y.FAXQHTL>(M([ZDI&;&E MA7RQ:A,.G @L*E/4.DLTDH.;;&N2VS4CJC,+5TT/FR175Q42:C=MTW);JAD& M#1]TZ.1+=H/YYF9Q=7D-)7L4*:-(Y*S&E;,ET>84[??5! M/S+IYL2QCTWM6L)JC+@17<8UW%:3!,*^V0%:D2F29)Y>9*&CK$1PGQK=N_C+ MB@J994C?F-U)2E75A7'!I1TJVSSO9C2OK_U4_]I_NG%GVX5+>ZZ&9>;,='7, M'O^MTZ(PX[$UA1=VL>OP81\A MDGY%9'!J8-.:XQ($$_WK*!0H+J5+K3?B?+ZLGG@X6\F6X^I'X!B]F0&?GO<>C/WX","KJ'PCD"U[>,0K,.+ M\]H9S>^^[Z 00E$S.)[,MYIT_X/8BXKW'94@2OUDR\-WR@+'62VRDLPD"PTU M8#PGZ\75E+FZOIKYI$?U"JLZDTQMLZH7:"I6[>>_/WZY4RHF?.60]N0XF PE MWP6WWJGB-:I+KLR8Q>'*I?/GS[,@YKK:Z5WGJ(/51'FNN6AF_F[LC+'6\*,[ M(FF1#*:"5TV%K[H3!4TB,0-MR#O6<>9L;O-$J!F28,0FN%L7)/G563I_U)16 MW^M@A=8"Z+V#$KQ)N2W@*R&HIUDWF;_SS/-<(&..>O/F\.LM)TFB[1=?MRQG MJVGSBIQD@>/"]5;TG9L6\GZ3+9@;;N-!)$AVN(XLS/E;=7^EO7#FC5X]R] - MV1EGI7AP^L5$/O^OGR;CO6LLS?LJ]P!\!,LUGXUX7M M0N904K%GCO"D7".UMS?,<*60[T.^;&RKV"9^AQ4M9FPY"XG0%U*_4Y5434.8 M,S(W)\6ZF%#QO45!\IO^KW,'K>_L0]&""Z*BE,:"++[<,1A5VZR((9F^'ZUU M]5F2*B#","6,0IVD4LH#223%3$HK.].+59*">X"Y@&T)/'.H+?#5,"'$=66- M*9:R]O6()O/WN6"AZ\[@ /0(??NA&?/)#[T5YGQ;-\=^*=<".<2P63[5\5:Q MOVV>B>%'!4I]K8G_% E4%&^IHI_ !M7,OFQ WW4GF;[(V^F\B7#TDN@44)S> M3 0V+*^ID:\*)/R>P39G*,,4?.XJ[7E77OVDZZX _7352#6U!S$^K22?W#\1 M+%+4D*'(7/@S=ZAE+"/@6ZX]@V>J M^]#/MGAF:7 Y'CJTBP:E,=7% V=0@^E'56=Y_8$VV8EFCCJ#ME;V-A7\SH7= 80)N:)6"3$'8$F)!CU$N0^!"Q'[P__"29D5#G>/1!)@$=\BBZ M<.%& UG3T4>93?G5A"8$C][GAJ?%9Q/J5_Q/;8/E'MY0LV>6*0..&B"2V H9 MJHFA]UE9V!_6[ZZ?9VOX'/(SAYN*^/I$^ @;[O+J';A)_@]#G;)/I"YM"I)9] M.1>>IQ\/1EZ_E5P'E+'U]U6MZVNM>F)^>:+X3T3O4Q8 M5 \"/24DNC6)P4/Z Y@0J.2)=C_76PZ)+;A0'A:[Z:DL_E3*W]K*G[>M:X!-U0Q/PDE>!@GU43*QBDN#S\/G9#!_QM %3VID]$ MY^C(%Z402%9ZW!;Y=?1:OYEZAO=I01#XN)L(S1:H -,]N.;^? ]868H?66B. M"G[OUHO<2*DV_,I.Y3GQ=?M+;NEZ%V?K?",PTD>\.\K<[PKO.C C5(5SN"6& M3B#9J/,#7*4"GF9LHG=A,D>-5/TV96__/&^I]/V[-Y$*-XZ6G8%IFR[++(/, M^-WB@3[3=Q=:\:_U?YM5RC0>RSD/WQ:NJ('G/2QH$(8^EB^V0UGRAIE*;L">T!)&X M=".]15#;)' --FA9L=3#KKF"H&IT]<,G(W/1NUV_T+>C(JK G9P?67D,Q4@QD:V46YFY2CLF7R7Q M;S>N95(Q"GQSGC8G4J&G#;#*A&][\S6_TPWY2G']B=C%1QCR[W]*V7YOW&#G M1:EE1$HY(Z!1Q)(%V$6SH"1JX9E;P]/@9WU+)8F6S5VSV4 +?AGZ\#XSW Z& M33')<.2V1HO]L0E(\)C#&OV9+^: M?^JW\JSN2(M9E(359G,LC&V))3F.5]0(#X '7/Z#4"6ZV97^6P0,0X;\N MFFP4:>&SN?,(7&CWMF(Z3*VWS2?ZTJ]C1:V1M7RKT*W_!5-T30]=H#S1%VWI MW"[##/ROVKBM@T% )#-Z$7'0L^8N0="$GH)6W8V"KRK*;=]"K:(/(IF&7PML M9)WT;6Y%))1W$@=J\/AF9$\C)8'LM"C[^90?\,CA 7^GKL*2U>=KZ7VXL783 M\OCS^JO*@U[9X64/6H'CW_Z"1-60 R,)70;9)4%176RM-:7! OK1G&&%:Y4? M_'S(PB]PHI,9_BC]%4*@=W:?=3_MWJQ&U)L$VD%/8P#?39Z^RPVE2?E*+G$/ M0!S13M_>,C!5EI::AJ0'Z/<#$R"O[&;^B&'?^E5?-^.G*&FB)VR6Q(+1%GQPX]*5HAYND1!+3/B3( MDOMXJ7Y5L+W(\L))5$(G=T=LT--#Z)+8*GU]"??E*K&]X!V[<3/T1)]^<->[ M@@63.8-4A/.ZOQ; M36[Y!//<:]Q(_/IAXO0EA0_MT!Y^J+7O[N!LYBO8#>5WT[L'U-WPEW=_SLT[ M9IA)C_6I(QI//4)$Y;G'3[CB[]#=5'=OE<:=29/[YKV%4>5$+=O49BLW%6M8 M_5J494E6MHS=?=;$@?K-8BW**C9H% +^\"6+ )QJ(<_BS/T)[TG*B=N@R;+# MD&2R>L/535_PDR:84M3EFMY(&L@/?XQ6*NP4[EG5]G=CJ>2P)AC7E]]F;SR: MT/OT%V%/=I""?WJ0%=/VMQVPS<,L_>%3[ N1=U@Z^5[.OD*WW$@[$Z7-\^7, MP;2BDN5]:W"G?G2ZU^\/J[3^9&95Y&/-,CMF:4"H]NX'&;L=<9*L'87FEXLC MV&H *7]]&^(.Z'Q0$=4$HPTS[4_3">>1_MD0)W73_M>PY]4-6(@[='T$]FK] M%Z3,B#X'E>]Q+I\I<#LDSD>:)W?=1./Z1@MD-T"FXCK.P@K*^?GXA!\4W?6Z MI\$8FQ'5J;3/1=BT]Y&Q3]K_4[],>@"!0([(.-Y2PRAZ-$*Y;"[]Q-L=OJ$I M/_(UP%%RW@6N7KG!,OI-J5S>^/F8\(G?MK9,'/?@F]:U-+<\QZQU@XEG9C/X M?NKX(21' ?I]F@G)@9(PZ4(_ZG3J.J7KA(<7WX$:*9KJ)[P">GE97Q35YJA^L_>A+C!N^H@0%6JB1'ZL%&E;%% M81[[+8QLM&=W,L7!#?> 7@FG'[,R-FO40IR0)!\W[M%X:RO>G%+FQ6I'/1XO MCI:R9=Y+KL?A$>+KTY/K^GI_SX(,:)=;SK."^(#NN_$Z44+;A:O_^BCU( P M#9JJ09/!XH&ZC7 5Z*PNC'#%<)OU[^D32W2;]Q;-8:YFK= ?_GM A2/,+'>C MV7: H(8L4*$)6NFHHSYM05YORVPU0Y@&)R096!"R_45>4#WY]8H V6F(WD<@ M;%HZV](/#;I_,\@BNT MI>1R3[_=&KN7_=C)\[\H9+:M$'(>KJ8)]F-'R4QPI<\WO@%GZ8,;0QI7(]E. M'_,32Y\%$"]=UK W3J&"; Y=,VE&9ZKZ;A/<%W$+J']Q8DS2#JKA1DGJN%F7 M!2(ZFU9>32M(S>*F'K,\]_M%.TDU55X\%\6RU.BY9EY9U^@GNM3L_ J "51M M'%44N(5$.00SP*2^'Y(0.*0.7RL$C$/XA9>ZHQ_DGO,5=U?F=D3D576:@9/N MLDGFJS7L9H[W3K1BOR;\+?(:NM_M2S6(]52=8\%_7O3FO=?VU)^.YS%$1,$@&$V'1KHI"W(5V<:N7^):8 MX9FT@J3>T(2*0-\6RI1MWG%=4K?G\UC97))F/P*-R]AUDY*0!.+"KG^@F4EYLUP@]'W>LO^L"O1-'EX@MWUW MA&Q%G:Q4P;/.U@],EXKLOQ&.G!'.D)QM!FT,YSD@T+\<&ZND-S1KWT@57DJDQ>K/5>5KFQY1 M8B(GL/T6;*VG00S*=^I* IMDV6D&%/!VQ5 T\D-M/'%[=7*(X5@K_/N6,NUM M+LLL)8E:D- $JONOU1) M <@W<,[5P,P+8Z2"\P:$!5\@RJ/_LNU,E;\GPZ]'R._7@B)!>Z7N MH][=C\L[^;ZLW&Q'L,DCO"R&"/>^[8VSM;FGT>NP:[!P!JEOQ1K@^)(GI Y[H"1B=% M/S-W#]A)UUI]>QN[-?KB(6J&VUL#T]<:_1?F1W?U= =KW>4J6,>_7;8413F7 M^V+@6=V28"5ED^27>ZY,7U=8?SJRK]]4:6$,.H>6TRC';'"/5%4)CW+)8CG0 MK*=J(,/ %LW8F?P_DSX:N2K&HC^.M="N!I X#(,#+1KU'!4'$&Z&Y,']Z'ZW MZ'N #0D6&8],W@3I9E]O1&Q[P%ID%M :*)K+Z!I7IXBF&:*+<]]?T*H M*U@)XUNU\9Y<#!>_S>2OG:U#K%*71IL)ZP^:XB.YT(-_6& FQW0V96H ?I8U$*0_Z0WP!![.I ME4Y+=O@M9 ((=D%1O$9N-8=;P4I#SVP6/+^#O%JZ9[^IJ3C_L%X+J"=6F7SR M2!-3B&Q6UO8 2?SU8%4G.?2'3954P^N3^ @F%2P1PX@"K,LJE=KY79@I&/D* MWM3?TTWM>:>I[8$=;<9F$#-:L@^@^(/;Z2=>KJWD<,V[=- C'"S>LE!5O:8T M$N$CC'>0"Z)ONG;>FX5/^L-/H84#:+HIKQ<=4,N-5[*1X G\S0A'%<7@$3K(.GN[@@EV-Q)(^:P'[2 M22 0'9)A5+7!ZI3V/!27>;ME@RCP,0P24[EP-OLZE^ U?\,J^L^K:ZP#8(0[ MI^<:E_J9YVBA3@=)>V..X:Q^LU$<09ESO@5^!S^.MM1M&4IN"RE#^JPQ]DEG M=!+/8;#>\13L@L?WH-00GMFOA^:&1EW_KG.@.+S)>I]2./ APKRW7D;.M!M: M<_TU\WU+E":,TH'X]5T^SJ/<@<0H: UG";'6S8^SQ!$+2W9[;LVV[H] "M-^ M&*[1E.D,*("D5M%'LKW0[]W?$1*6<[))8WQD,0DP)U !27;XP@/&.R#^*>49 M=^P6I-"%)0OI)1"6=>WJU,9Y@!T2'T2I95(J^D\0Z3Q^'GUG?SE3*%;4@U*' M=:57!4]O@#<&OJ)4@KR?SGJIQ2FG&-E]HMVSV]9E"@4 R%I* >X2$7@RX6J MS--'-ZIM%G4:AQR\[8.^##S,8NZEDJF5D[?+R MJCH1/31C0KV^N3XH]/NWGH1OV,LB?\BL0FG=Q7KI'Z43,EC3/6!@^64NXRR8 M,FK0T/'CSJP+D'H9W'+4*G.T;SHA'F_%J/]',PILO7"YR*O-_EFY8Y"C?ZAG M*R7*@ECN!J<[SR7*5&P>S>Q;H0'QK,BHGSMA,RA(T73U![Y[D'X-(?4RPQ6: MB;G,$*$W?RMK@J<)Z^US;:SCO#KD-ERL[#,L2KL%!?$0^+$.J2KCXD4__KO! M(261,D]NN56&&:4R+4T']SXV@3$7,G\K7N&QRDDI>H+ ?J-@.Q\,-@MT!N>MYVW3+%M6K7C9":?L;"-JN8^W?).9-5=_OE/'[EV MY^Z52&;5WQ.*6^">V[ :E;OL#Y(L,6\G,WW(7FUE*-XJ_V(7 7C9O$8 M1\P=0SB/@G%Z8"@YL I52D?Y8T(\&9^I!2%K&O6E3'6AYU9!)L(5;!6^_>-K M3CF]!DF8/^[4M9]4B+Y2RDXNDF$Y'I1=R,Q0<[A>\-" $.MB?7 .S09J#A6" M>"F.H=_CC#@\%Q)"/U0;[VMM9 =Q'3#JRR]\R6E4:"0TXZ;5._Q;*\0I9A_Z MZE,K[2Y)C7]-E2;N9Z<3:LP]&%E320-MTH7%*\;VWC-'[G22 M&T"F85Q(;KID_8FE8DVCMQV/5:AB8,NN3JXF+96I /$5@)]0VX[X'].3AJ=&MYMEX8ET]M?9"IQ^;[W?IW,5+VO]T MH #ET@>4E4Q[1K];DJ-4E4S][4/4?^Z1!H?,XXUOS I=4;(5:W S/]>UKS=\ M@3$A_04\924T\< 2W:*<=#FF6[;*EM$4W>RR97Z!J?=U0%+T4FW"ENKH39C9@ M@N_:0.H@NOA]X@\!2Q@50E$I?>K]T[BT=OO#"QFA20_'-Q6:V-A65>5#ODD] MTZM6BZW-DPKFWFFF/@$_3.T"T/-.+0<2WJC/-Q,0"SY]9281,A3TUJ(CK$RAVT"X7:EHP.REV^HJF:"^$. MLYH);_A"[Q;_JGLA3/(_/5O:F8J]@8H]2MVOGLP9/IC(:Y5S ,$5(7VY] ;. M0I@TR_,^?IGJ:7FRX*-[0 -PF 8NA92U1SM7<<)YS5J, OXPQ0Y3IG)\.'AR M#\#OFOK@B870[T4+P9Y/5&USE6?7*A=S_NP4W>Y,ZL]J66#>7C^4$HI:K=-QOQQ3MH8K6;:T"KAM%$-5%#[7TPW,CX\3PSF\$S9]TO MNZ^N)MWB=:=G.J*NU>?V(3*V(8],C4=FWRY@$/#]ZFO@N /4F#)Q[2;5'W%3 M:LEB/SB16[K0K1_2G$^F422F5I, [QXPC!U<(+(F6C-FM@R[0+[Q+;+-CP[9 M^=3*)X,O&'F0R%C7>R#E8:P9C?I8"'?1F7,ZLR(S%GSA)CY,P&?MDN)'*(;0 M=Q[@4<)!]YC!IUY4E^'5%AP(E4G<5-^=_74"QBDL5*Z-9&K1-U/O:?)(.X07:OL%*Z^AE"_B M#%X1K_7GK,D^*^F"J[MPWZTFGST\W>FA M,Q[R-D\.\X!,663M4GV;]G49S#*+\2JA]J"K)@=^RV#77<8[TR 6L2T-!D.L M4N*A4J (J&T_' 4LEQH0$2&A4+3\6\1)TRS)7.@L0W]*&(Z9"WIAB*!.LKE+ M*?[;)0E_'QZ_9OY05"#Z]PZR\4AXU9:2]L[BPW M;4(UHWGP_EZ"#@4.G>>#@1'!W'D,@@2GI>U*20?R;J\;$XT.%06N+JNGI8E] M:^A2^R0^'DOULM M:;D';*:E#$D+.422GP*FGR_. &B3Q%XI,\%+BHIK*Z<1X_^S/_J?2J0&1>GS M&*E[G'M-'74/8!)"4IDER4"UH^-#P'H_-95F3A]"K4O]O0^%M%%ZBY"B_+A! MB\<$9YJ(Y'RJ"H/Y=DW?*J9!K+O#:;NU?5@5Y@'SO.-X$]LE(<TJ1*9TSD MS.H>X'D/X/3!O.Z_YHX;OBA\<:KBWASGSW@%=V)&@) MT\$/E/\LJW_\9_U"W1Q/4J>\)CF*R4V6V0=V)B$ K3!0&\D ^1'B3==B\0D, M 0Y68U&+\$.D WQ_!L$MT(=F2>V[!_1G9AH*[;XZ]76Q3(!15E?BL=80'8\' MQP=Z@.>\UECZ$43%\9EZF8C.CJS/6SZLU+4BRTS?9[G).>X!_EUB=U'=UIJ8 M* 7-:%,>F&;$#D1PI=/;KM'>BVC'$V^8NY$LN[FF\R/KRE3A!>]P G/I3Y.C M1WA5MJWI179.E*RJ:A1_.38Y_N!^''3G O%@/$$+(Z@:M\ M^=,&^&X02)DMHZ@AF=J]C09/&1=WN1-Y[065_+OBD.EALF'O0WW*P-'DP4 E MB>J?:36+:'(U,#0YNFE3;RI^;!U)TOCKI;4UH/MKF,;"RH;K<*G0V0964=.< M9X+J&8%([+9:5=[?>G M;N9IE637@YP]ZLB*S$?^(CW=Y)#DF1X*JI 9#FF$1 0#,Q-?'B/JX[D[VP-C M$B?9Y2ZI+B>C4 )(?C-?18806OB%QAQO=:%^6_2QMF'T8JBAY)LC5V(ET_F] M+C&X!Q);SM<1I],-Y#KZ7,10NM3+%<>WUV:]];J\-,K=YWL;XU%-0SX4$H,6 M&-LQ\3'L^JX9IXZ>Q6.+7?'@L=2F2)L(=@9]K@.W-'2%EGGST#["N V=<#-S M6$./Y36<#YQ3^WKTY^%V>%0>+<^C\QGUO6\>=Y]<^UJRMG*T/@D;[G:X5NN& MLRH,)OQQ8M]F%"$=OI'>*'6R/LAK&]"WY7WFP-%WXV-;'-+[BMIH,@JR'-'+ MS=E/U;7MKDP(G]S$#AK*P?:S/4%"-?HW-?L[!?JN;5Z<6<0SM ^HE^QKJ[Q4 M,A<(E>*:IW3J.=?XXO?1/+NUV&U.2\%!^9_XTV9^84\$< \A;QP7>0>UJ?3B MLCM[\HDF^S&.=_TG>9+74J +@B$/HUY0V3AK@9J8SZ-*?KY)X%O](]R! 7TH M;G2X:TF?\SW@A!YU K>'(H QN=S3@4)E ^>EZQ._W,L&:?M_!2O)AT' @1E. MS(ZZ''F:Z9-I1-I*!PS 1M-5@K>WKQ4Q8$F90I2?0&I%'BQ\QHX6_OJ0>T#C MY G&]CT@M+G9OSGR1]X@,\%+*Z/OOC?&ACS!)R/\OH<=K@&AH/V 23R0")]S MDF)7%@W=^A-SW"XW,_6)1*C^Y=SW^4SB/3LBI:ZMA3Q'X1$%F+G6AR^ MY00%;0L5#QZJ< L!7I[M,E+&)\L!Y<<#\POA69HX?YJ7K=JLU'SYV MWS!K* _)3(!\^K,Z!&A7ZPSD1G"I9NF&0(K6'+^X%TMG #D)Y.@1"6-1"?GS^6\S.IN8S,9VG^R2IA.NHZ!=C M]ESH$4=!*/Z#T_OA'IH)H#?HO<"0GH!RY\K!2^&;A3,+FR?F33.^UPX(<\Q8 MV.3RK*ST4SCF#I>G<8=WGITQ<3&>PU#5+5/"B^X@EK_(_O6G8&A$G0F%^1I3^XI7!]8)#71^P$\-KJ MM*%1[3*!JUF>W!PD'^[3EV5,GY#1;7G>Q3F/DBFV-RJ*, =L/L%BO =T9NU*,@G OP_KO17T3'K[&@8^T02'\Z-^ M7&3K5QW[B#N=]C;/"18*X@^\3%7J=#N>5/W;6A!VI6X(>3MG.5.5A69]F=#T M 4+4QP,R5!6(BS<@XA"+!Y)\+'O?QM/WNJ M@2IB%'/CI HI#>I]S'^P>AV.^V6$ER\OPU-9HY5"_&/5<+\,.I&Q "7(4H,B M//E6?1L,G10%RNVSC)0Q8UZJ*<\ \),Q-CV/M;=O:UY0SABQU#K)O+'+4GG) M_4V##I-8!3/5W>V##YICEIOW'E!G#CT=WU&G=G,.?#3P^QF MQP/>8?'C4X[7<*PE+M(6-A5S11>F[NX#]5EBQU8A67XY^SW!E:FKB]'JH;' M?&1=AV4YKF\L[GJ]8+)S84\?&9E(-#>BW+@H >.UXNS> MB)Q,A&]ST@]JQ'$_G;2QG"Z&6 ]5DZT9F4;X@8H_1?K'VH::<97N;YU0M)_A M^J6 <&_D[D$JWQVV3W)H*.D/OB,W8Y'^D; 9EQ7&3 *$OLN-@J=U]:4EF\]. MU2F]PM!YX[J?Y)]AOF,M-- M3!^X$8_XSU\A)*JHFKMJJ\E3LNU5[]0'W9.(?_=.BNMOQ77#;;==".W%S .? MIK#=+:0IC44DX^OV"ZWTL0WDN0A)E7"/-28\M$8*=*T_]M*R++20S\U=A!#! MW4G( F4Z&SC)?5I;[/;/*NMS2J6S,2XKEA4+N@2::L$MS7C+ "[5+/1")'E[GL?KW4%NIAO9(Q]/2N7:$SY4@52;]IY^BUN9(N M >^_64S45MAE ;BN8?N]R66'O:?/.?CNT[9D[94HU$RGE8OC-DEUK/%CI%)E M]!..U)&8J&,ROZ:D3GS5U-O28K67"-VBV9!JW[G6(7ZW\;>RC%D>PDKP]_S2 M&"4"\R$VCS\%ND&32E=V@!/=9FYG(-C*M<,7]J$-O+0>]/2#%GU=LY@= #%A MBM\-5@GI->X0(_X&:^^CG^/[G*W(=+:[G3\ D"J?K67-+S+3WZ.>=AM@_K$T0B*&5II>U MQ(K)&Y&BF%[:>\#Q>Y8=WOA7,ML!KK)H*"[B_03,3V-BE/+%KW%7W]XGS)S& M.JL^=J<;.R+QC('+JM:>AJ$?P26A,C9_ M"F)Q_KMMZQ;W'H M(@<\5>*;)"I<3KL').D?[P7+A?1J6$^>*KTZ:Y.JQKV[ M>M],(:V2'4JD$QBF5_+D4HQ*6P-L]=D6IZH/3O6&F>A#1,L/(M; [1R!_74= M="]:%XM[4-PC^M\R'W W>9=*RGXR"]TDSEO,>(!"Y'_JIWE2EJM_L@<]E$@@ M7Y&YZ:G1JXR5>Y#X_ZP9 (JDB+A97$M"^3JT]Z4PM3SI?$]WS7]XW:K[VIZ0 M5*[\\YF")((9!^>#^H ^IM1S"C&7 Y/S4S(8=S %ZL4\2K9 I%7!"&2WCTP0 MC">3N]Z%'.#VR2QC#IIAO10*$NBG\9XZS&R>,0-WP&YC4Y67S+_]:3TUOJBB ME>"?,UJ\L_@F3PB5JKB(0N/3($GL$8.#-X-FQ$?"6:(6-95+:\(CNZRA-M&A MP>Y\Z4H,>?N'A"E2?*>:SV3C) 9)"F_?T?O2 M=A['8SW50<BT9Z=IG8T.]IW089L2MN5?0V5P7#9TNQ%C_&VMMP M9S'<;N-YD)/TH7[TKNXU4Q>XM!I\*?VT.^U]XAE$!RDO]+]JN=)@-MBN'455 M6]1C5T31*JIJ7XJH5K44M;>Q%:6(M5I20JK6II:B*(]]ITC54GNH);4OL<:6 MQ+XG100)G^>==^9]O^__]^.:N>?,F;GGGCG+=>XYY_2]+DK8N!'\PNP/:Z!# M2PHM&6[O=35X^"BIHJC$:ET(2#3U=![WY''-XFT-9^X-I6TU!O7[E[.:3L%Q MG^TNK8QJBE!0:![N,O?J7C%,><57)S#!8@9OJ"J)H$,?H,N#OX<#5KA63@%, M+>RK=@Q4ED*H47LRR@ES*Q'XQC-U4%HT<_,14CO;X85QK*O+?P9B/X]@^-Z+ MB\<_8F5:2/[>(/YKYXJA(5^V;,BZ$=>N^"8\5V.EX_CO-<"TD_-F_C[#EBUH MIW %VQQ)_DBJ2"RG*H]**S2N>A7M_JK[^),1&^R>Y6X!VOQ(G# FSJ5\@Z98 M1! &-LSM!9NKVWS(+_SS0YE$?7S;NI1BI5I+V,J=-AS;'G]^5"<6DSMA!J5NWC/OAII\##S;S\GE ?6.Z0GH#M!EF!JQ*45( MHE$_4*J=;/;I:J:S_8%YX/[*"$JSZ?G"!@O(U@_CQ6,R OMU+8.3AWG:FV%O MS?KYC+@RG\ZJW\O=L'=?XG_#[E-TG,H-)RR2/W?A7G8TLRU+M3>9$VNM'B2L M/+:(,%OLT.U!MP2Q!-VW+^NNL"K[)O*#XWT/5*BK2MT XBDR\U0FM9UN*-TR M/++#+$>J1&C)C7-#VK%>ALJ!) 3GX4#<:*\*\%4/C@YEF;Q+$]:EG'\ +/2I)RXVM%SL%W7>=9<",UJE:F MM8%K"\F/3,80/G-A>RPG8F? *_'<]93EBT&D_G<3GYH"A)MK$:H<3Q^S_3;_Q;A0"%F2_+5O M_3*P&N-CHB$%_BCS(DW*R=R9R?D/0',,IS1_2;'?B^ .3IB:_HH?M7!M[\D[ M<*W6##*T*@@0:WOV45\P>_'PE7H0XVNU5QWU"EZ\NAHD;QL(P5_JKK9H42MC M_Z"IXW+AJ4:WXZ$%^A-R^ZT&R]8.TJD:H:4^[([7= \:F9_M?S=-";K1Q/RV MC&TSZC.'$^>BI]"BD&J9/2]2!&(>H[S#$Y'AHU[Z2?-@0/_AN949'QO6Q&R- M#I%'-06FO]_XL3>D[Z_*/[=TQ6DP&478:$O5AUQ]R2Z?9+J.5C_APK3AX8R] MA: IO*M[Q9#FXB[K_N_5=V@,%I'DCCSBX,\;0^&X5K_BF.=WQ4X! MYPX%:N+7@=^Y4SSRJ>\"-SY5C\K47+*J/M:*"5WS-"SI1MAG!VA&K23=M%=*%GK-SC'[FI9FTKX9QU/+ M5XDF,U@1/0DF/?!,WS_&^"<+^TE+Z :%>>$3@,X/(Q9/=W)D/[%_#B5HG:?; MV,LDE>[-K!$>O 2--#"PTV^N2E+N]&'_&"+P(IJ?FD[).Q:@/J5X^?I?1T46 M352[S/8IJ]GM3/*6E*Z&\:R$I]8 MS. NJKJP/+AB*[I E^'@)Y8XE+@N-5EQ/?"Y&.(EM# :OY"D]P/XD"F>,I$ M)0P36I)-[E1,K=VZ.F&W/QD,Y9I*=ZR M#+8(S88XO;U@WQA0JUD''>NNT3S;@&=L+862)T/>4N3>MMUH69][J:,ZOR M=3IW)(0D7Y1ZV#.;[Y4:.Z2*YMH9]L2*+I/>C/C7XUJD4@9)05."_'ZB)T=< M:S&P;T* P\JYQIU04.6K:) +BFNF-Z>K]LC,DK%"$1(N@J5/WV(Z 8-*90P7 M+5?%VU&4ZP?O%900<,YU<.3';;/H7S%D"&S_^-NN4$9_L [B4[CK# UT25'M M#@0B6$3EL+MT+./J-:I?/%LGCCIC[:61BOT4\5:LY_)P<&3SIDCQ'VAYT\.9R4(Z@YDG<*$ #3P/ &7[M$ M5 V')RV[R MEI$!&UGPX>\8DF?7DI.Z'%%EH0A,1='R4;AT%'L+4Q\V(ER@184X/MNU_>LO MSVNG@(KXR^F!T7$%P7/QGW6TAA+JL%57(Y[8A-]MG?. MJJ&[5*4Q,7_B"H*J@_\S$[5]V3)>9KET_F]^ !7!^%%5);MR)8TFW72F>6?] M(J6:DN-.(N_N13#M?<'8GPEEW2)I7AW'BJ< W\>.IX :%_I=(_%1A/=O/E4D MYAN<(@IHW6V1. 7,\Y_5Z9[E5\\DK+&@"9AQB]?12E[VB>_9/3^H$A?:-A T MSY%3 "[F%,"6(WJLC]84;T8;G[-JR^H7:CP%L,#;)((97.1$9RA0S]1K-3A7@!/]Q7__,?T+U(&S=Z>>#-K*C+=B4OIW0)7HK>3NU35(5>V]=0VJO*P?JS]$J?(0!TU'7UI4F^&']++--Y"J) M=ET?OH? IP\A2L\7!N>!&? 'X/GV4P K-$U6J#+;-2V7#=]4'7OO\([BPQU06]84[$J.,^-15J.O0HFB? MIE<;=E4G5_]I5H0Q$;?&^M!M_:6W6NFXB^ *W4+R/;#6#[[K;O?.:.8LA8E6 M!'FX8J..%W\6X7;K.?_ 4)1#W,Z1)LN=-'.,JO[UM#*2H MDP\8!=X4J7[$XVZ<_\)/"U#0QWU'DY?R ,K6JL84&>IUTE<9,80ZJ+W)5/VD0P.86])\U/?'UIOHZ .]YKA9.EWE>V!T%X)7K[6LM =:A;%GST%$=+[.ZQ=I8^1#/W?6+J9'KY3[58+?W63G M< N)9M-KU+G#RP,P7?TO"_P'2YHB/Z.$B16Y)_Q5B /SFP_NZ!V;?\3MVMAP MR5GWM!L.K'0!65K8*1,VI&J+ '2(*/%G1/2\*ZJ.YV(7/N5SSCUU#G2AU*99 M:/='8PZ'XE8 CL["18/%T3!,PJ;3K=_-(D-?0H-]!<3;!,3)<$)-7#6OK05X MYN0]CY,/SLYCYT#WS)JEA[1QD6QK7A&!C[]84WQ_J?DE^5\%5NDUU/RZTI[' MN'LQ'GV_#3G4.WN;Y>&X?N WZ/:+S_;XU/MY;-IL3*0*/[:PS,L?O%35K^>* MU0_L?X\"#GI"U'68+2RBR_\HY%@H9"PB=T&R7C4;@ZQN1(NHQX_F X.4H@B*#[5 79PM,&YH1.YZYMQ'ZM MO4>3'%6[GE&U\V'D@AWOK?C2K*)S3?#-3[UIKU&_]VW=#M_9<[>\^GK2-W]^ MGRU4B+T%4W-W509YNR)Z<[PU:M0#0)>5@[0O)ABD'I1(S1<8*F3GL,03S$HD M?_AF;IY1C=%_\8W[QCT%52&9DN";]"O .'AE2N2)$D0.T@M_FPO9# %#WR=( MW&FT?)T9QHJ;Z,F4._-/3^J]6+PCIG!D_]N+Z;!R[Z%ZLBH?$I,FQ6P#5)=45F(OD@S\4E206;!W5&AX%- EU=X\I%S"&S\IY]R M=[!#S'W%5AUWD9661R B?]<;44ZLU/1H32+HKL(6>'R9)KU='O:]1STW[-7R M@.^SH]GH!O--TGTG*2TUP?>>=D:[:[8_\X([X'R>V8]/ 3\\'+X"4[9XC/,^ MJ\EV$VKMR/RT[!K(;R4 MCY 16UT^RQ^=O-" ES05I/8P")=V%+Z0GRE&2?&.O^SY8VAO/T9V\T]5<""D M:GT?O#3YAJ-],#!O\3'5_G8)/E5ALCHE<-I=;O#.%/>[PRJJ34"@!5.4XD+Q MH)MX@ZO31^W?O>%,DW18E %5XO@B]3:QH:0.LU,S]9!URY#TE6.[.<'D?GDV3K>X.[#CZ]/5:F:.TPY,N7 MD#M&+.M"T]#$4T#D+77EHOM%:W[<1V_#K&JMIA]4YBXF>.>%)#Q>&*_50H+9 MEV+B-(U2:\\E(R2[_W%RT<\O!6(UW!I_/?=69:HPL+*/#WWR)^*U2NX$^R)0 MX"RGH9BI4&+G=FKYLW9&:DF4(C37KKIU-LJSP'?,Z#Q*N448WJ9V(K[&D_!< M%[]*-7*]"I0\,&PTW^6IXH1QB6MHUAR?W7I5*!56FH]O.W?25& MK%YO; ;&4UP)H"DV@NZO#)'=CC1DF(Q"\U]C@/I,USQ[H6>,*I>-Q AU!]$_ M 3@$;984%U*- D(=S8GD>K>?#0\+/,BCT]9R\+OSJ4??QLF@A0< M/S' QG)>*GV?#3\Y4$%B6)1/F..(I2,/(!FZ'4=1MB5*N5%%)[2NHGVD,1&^ MZ4],:>T72'L5ZFY+D.-[U2+M+VP_+Y?<=N30;-GQ#"JE?>N/Y$O%;W?KGZ60 MK8@S)P*42_A+=[]:S,$W*;-#P@+?Q<\H^7<=7NM,)D4!;@?>,2[MW/< XVB_ MDC&CBG?(D!)EB_Q2S:)IDP\%C 9O[G=*NK*SU7BL M,0_UM:ZG1!:@I>>2 G#KCU251ASI3@$S*E26X ]C-D9&H6:5:2/+%RH\EDP2 M[LM%Z)J.7H$*C_M^2./W W'T5C#UR>X7)IMX\P:_/=I&5%%]BA!.5GEWTO)3ZS1"S,)-[!@U(D6UEIK+P MYG6'FD!H8)S5A<%=KCP(40:_%74*T"4J1SK8#Z<\"0/2SH?K'+ Z$N(F \DV M=:0;>4X+IP!V;>*:1<5UC$J0_)C3NRO^/G^X MF1;@J4HK?8%U^8*0B56=L0Z7P_]*D_^/N+*7_>8L\+-QIN8B++Y_EE9#2$3? M_*\1K'^@[?.T3QDG],58BWW!OK53+SU!PR6WHIO=;S;,.#;ISIH.5PI6RN,* M^J[1$XQ_*!9QCL6$C_N"WO+>=3NH;H,WTUQ,W\UM.I_P%0 M2P,$% @ _(-L6!J$.R$2=0 4W< !@ !C9')E+3(P,C,Q,C,Q>#$P M:S P,BYJ<&>D>V5<'$_7Y1 @! CN3G""6PA!!DB $&#VZ A0'"W&21H\ 1( ML,$=)C@$=W=W=YM!AS# \G_>W6?WW=T/*[?[]H>NZO[5Z:ZZ]YSJKH>YAS4 MH9*\HCP [0D @/:X 1X6 6\!Z$^>_+,_&L;CCOD,$Q,# Q,'"^OIL^*1_E_;0QN Z!D@"1V,CL8$>$*$ADZ$]M %8'AL)R;:OPSP7PWMR6,; MGV(]P\;!?:Q00PAX@H:._@0#_9]6/Y;Z/Y8#,(@PB5\(R#PET3##8G(F%0R, MSWK&+%O13J8Y#F<1,G<)PL8AIZ"DHF9E8^?@?"DL\DKTM=B;M^_DY!7>*RI] MU-+6T=73-["PM/ID_=G&UM7-W72-O_OZ#"PV CO;?['^+B^@1UQ,,#'0,K']PH3WQ_*<"$0;F"X&GQ#(: M6&;.)$R"@<](9>.S*MJQF84TX63F+N,XY"S"ZZR(?Z#]"]G_&;"@_R=D_P;V MWW$M )ZCHSV^/'0B !!P]S$[D@/P+T\QPL\/9,JX !QP-K:=*E'2AP:01W)D M/OG_]@_G\G( 'M)?I Z 38FQ)^,J^ 7-[#\;#J4)LE.;K*GRL(3+ PPXLG]B MDFI(_Z_^=2.%5=,Y!>!/FAHBL*-%Q1; DEU86_,IF6BQIDO9F9'UA37:''XN MWT>-@XP7DQ?*.@U3?(R5=4;?>;H"*KC[%-+["OC3YY\(9-V;&R?;G@IQ&F(^/XP_@OQXX S3D2 '_ MR1531 D, :VG\NN'TOC9WYF2 G XLO\//9<=71A0W:_'1.R#H[XV@Q6- M4K-8=WR^[_TQOUP42[3+J)@$6]HHI.92SDC@*XI<%3- )F\ MZ5'CN4%G !DY\TE!Q];;*@E+O";5BLR#:D[1T+BA<+;S43V7]T' 03W-25SX:UUA? MB8XJ\G(-.O,'8TU7UJ8D)[7P@",[,.1_Z41:NA0"!C(LYWUQG=1)WBRFQ9GN M+!E! :SE$ /$3D2FY)"G;M'N(MN-:3B%.^6HS#&("3P/K=UIAA==&*JAR9#H MF;P?% UWL(^*2_@JQ V(8Z%Q/;];@F.+;*\(W>5*?-P8!1P:/ ""N8J0WW6U:V-L?D)*@IT'2:YEHS*6U">I%58\0%1-/,4V212U%*OVAC-ND1RD M5=L"KN&KH=VJ1JK)\@*F/UL'3/%(- M+<9_C^W_[FCEZV\F\3J"8Q0O\HU_XZ#M^:1!HOV2;^7!$_1,<.LN&/)=-\H40/Y?%"/6.4=8$MX.^?!X!!Y<2:D(E1M]VS0Y81(H4- MN\AIX&>UT 6N'TV(EC 2_&<4X[5 )KLSH8WDKC+=7MV4G9(2VTJO! Z'YTY& M:D6HSJB=U^&,?([)9#WZ-G5OCH.6YO=G23I("1)=6G\-"Y=C'6GO'EO (^?U MZF*K70/32UZIG96K/@"N-I%67[9Y1'Q]QX 1UEJC8R2@A#HPS92I43K3Y@$A MM#-RI^;%E2C3!K;]B __2]L?TG>>4T"'5MP>7'V#NRQ OQF_ W!-K%SI^NJJ MKMYE?%&NP& 79R1JY/Z&'0 FN[E9@P2FU,6XX=I_L>4W-%RR>H'?/1?G7'W9 M+O5UAN#5M^++\SA7ED]]ED+4\W=J%S#?00*IJZ$;*S-I-I% ,&B4P O:UFN;;87[H MIJ604EG"I'16Q-\U8LG#\>,6=EMJ_S]Y.]&.PBR Y_C.43ZOY-Z5)P4!U< $ MX,D5 '*>NCRXM"KNTO)Y#_VN"R?L8&'OYQ Z%%!WVZ[X'0NA^K=9$@';M:A*L14C]F;JL7%\- M-;_0T;8%L%B.1TWL1+@NT(\C#?= M\+6Z1-QQ+5DO07'+[$!3,,!?T&ZZ=:W$8(HZ\<@Y,:\^O MLKB_C9NA>0"TR[6('=C2\Q'KMY4-A%>7&$$V^R#I?NW"D1:=7&02A)V2)3B+ MAI$#'ZV$73C>UECBO&=>&@=O5\<_1B_D*8)XMZ>SQWY#K!RE0/L L+G]**:9 MZX:F,!@890]X[I'3^P"HH8AJ$6MR10[J-S8SGW33/%N/W:5-; MQM&53!Q I9"]=EEN^S/2;;)QZC OI,1 D35K KFYR9H4Z'?EXR+GZY(FGB1. M^-=Y:FH5[YY79M-FNRICSM#VF5"%H4N?I,SQ!2PUO_K,.-?F^5E@DD4[RBX? MB4TZNTIB&B\J[-3-+$97WPO\B3KL+_A6I%G']W;OP,JMR'19]X]4??@G@0Q; MI6C5:73AXXWF0RC3FT@'A#Q"KLV=='DC>N-;P",_:B_X^.^@6LC6&/,49XM3 M4M YI1UQ'5N]&D9/TSCK[OIR_ZK1;S;T55PA"\!)W'*V#U3M>OBXM#>KZ *WI4*"H3:^]<2BKDS:'+&ENCW7I^8@4HB4:[( MX%M%E/5X^4;%E+NQ7>=X=CRIB^P8%=9UI?0R4I<<8@.,*/=&U);/'Z8&JPYY M )W*+FE\,S\(L61ZRC_-J'L13O.^OU<$J>N.6-U@W7F7(3@#DFR960.'MBS? M13T 'H=O>"5*.(-F]>GAO63H!"+>7=E;1UYN@2#I+5U7%**'7PY/3T?J+KO% MK_ZN4MCX>0B"+[C)<+U#ZMS$1O"( 01G= \YB),3\=&BSGA^6K>4.4T4 M]CA?)32BB="YS"I7W\HM=^F,.Y\KM1'L@D3 4ZN4;O,H+ON\S]<"QD,.HLH] M'F0,O#)_,^KW>^P&6GC\-! *X1)F14NU107IU*+=B5&Z4EK]!-?S<&^I8(P+ M6!I*;O/=[P3%Z%3#=S>:9M\%E.]G9<(NE_?;RZFGF34E*C[!HVO$8/3[50TMW11#KV M^*+DURO33BJ,GI@G[NRMF\:E M][P5S5,LM;4-),;?D]3Y!R_)>I'#?LW^QKP4HPDO=EALP;*2/CI:_@\ %RL3 MK55ANE_S"RC-!&4TW*^UTR;R!( M$?TPQLY&84YN &?G.TRS)E'!]8+Y'OL\=P&)M2[1P@#5C-S4$Z5W&Z>XB1W MZJOOUXB9AY7:;PF^8-G-J+GA7(]=P+E6FRTK\Q-XN;*M[.\[IN0M: MHO-AG^0SIA8D4NU6WF8!UEDFI(&PVBX/*Q%9O?(;7U*-9'5RJD3+0,?+1;3W ME61I*'%*CGC++V0@Y&1L^!OJ]+6#F5$#;9=TQ3X'@CC_B>+KBI5[]> "$ :8 M#0U8#HIW"U!97ZC9,,#&*]BX%K[RW;G0F#N6E@OZ$F.5):RR^)H% >*Z'X>0 M2NACA22K.V*L(I/$/FE5PW!^+.6'CU5-S9]4!AR6CA>O5B]UD$8A2]M::-_/74W4$ H;Y36( M[\J^'N\OC-'?QU.HP>]3T#B!8_JX9$' MFR6]04,OR]/1H=Q=QTT#!1WMZ5@ /*R;@.O O"3E\XR[ MDI%[3+\W$RULMB&\[!7C(L?F9G3I0Q_..AUI&%8JV=&]O@TY(+6O-R^JUB"/ MA'^]M9..2RU9Z]L]"9X!-G@LN^E=^W9 MB>@Y^&M1D2E-A]U0!C"#UU/E;_:Z74GD:M:,=1E\_ 2LOZ4TQ6F)>IM-D(:( M[QU0*K?&,H6.E%R?]+SJ'BHZK]U9.N=3O<#%\?]):6D*,#HK:Z@JA?0:C6$) M()A[4SP[H4]MPTI"E]YRB.75A2O;L:=8SE?JRL4N?9. M+K2*UAP.ILYH8724BSY37]?R_?OW7!I_BKL:FMKO51KXVO*Y-^J-%M'H\V?, M*GK%,#E=4V"ZZ:CM[^]Q>K?3QI$$,C?: M%_>M/"Z5B[-1 N8%0Z+R5QQ_Y.N-$AD8=Z?Z9YS'F$/31"C!H.ZR3_NDAR+4/,AQF4$*(=-A2:OVM: M/O-9Q5XCN-*;"/'E?,+"(=8$Z'8A6V$J_N1[%PT3+/R54"/_":G,23FCFV3I MI+HM#WNZ2+LZSA]KW3)*CH1?O:W"-7]')CG?T#1D%D?YU MWCY F*)V-E3Z$U/JEO]K%EU MA,D*WAM/@%JU&J'JK9/3''JFV)'TH0I7@M^V)WQFL9N>ZIO)!,PL:45[2:O+ MI:!>ZJON#Y.]E- P\*<@-2:]/M,Q(6;TM,LV26]8EH2_%7T$?A9E7>3 @EBZ M:8+(F1_R%IB$KQ4_M]/BWUHY*V+X2VK4S-^E*3 \O0J)4#*J6"(P1[K>.J,, MD1X5'0OG=AX:433VQAA+/@Y]CC,MFWH$/FEN,'$DV8:Q;@\(&\53 M:I=4J7]0YR$@V:49]>H>#1@+ZFDFU,HDC^3(1Y,C5?^7O_>A-K"[Z_FKCM7& M -?9J@;BH"B$C%^NXGWIJET,&Z5Y=W3TF',L91X 3_[J[I"E__A&%*X<6/_; M:HO0[F04^?*RZY$/=)XIUC&=&+Z3[73"IJMRD-BE2OS-+[7/+D:)E- _>B[8 M5\!B_T6K=TO0FCUKH\36X_.5T*Z@T%.) M6N<>K$/5JDDK97<-M_VZP \-GV7.[/WOVKQ!EXSW^CR.7+#BHV]OYA_X>)5 M(*LKRAWOIN;N[C\PJ'1#1E$GMJ=1,3NA,6[6L'!2Y(GBU>1:+<_2>/>\!-8] M^Z66=")#BY:V&YFT+]% \J7*ON>IM)EZWGP4V4+(70S!63X-L[U]BN%\GJI2 MGS)ZK[H " 1I%[ZXJ0$NZ*K\Y.2T+C >VO:?5H?LN9])_1+-F-@*&"9N03L= ML3N-1;(^_6J-V(T2<=!;L!F7SB6XV7_!_@"0&S?UM05G%78$HHIL*N[:5](U M+4F#\W@8]Z5QY4AU,DDUY "D'RW-2^)C>S(%']-;ILI<>C&G%><2VH%M3%'9 MPCX_%W,UMF)R5=!SKJ :#4D?=94Z4J M/QHG,?<'T2KR>F,E8BV\PI79:,5BNZI./$_J/L#?;M>1TL\,(1I[8D+FFKMO MB<"LBM.#U"[?!T<.&],KAWGO?DKY))X^MU5QR=YL$-EM+DL1(+:E.SK3,U5T MTOO.WX. .T]9O^Q#B;'@>_N1B1S).SL=IIFKPX;Z7F84%U"KV9=+-%Y&G$#6 MV0A=^$N7>?VRD)+D\?_JZT96':.(@Y1MA7P&.FL;4 M-3#/%WHTN-Y:M2?Z=[%'=&5XNV/+=;OP\/@[*L1/)/M^P@2K&:%=UE+C7)@? M^@ X+"^U;^KH!#H]D6F_!,PN/P#P6A\IX]<6EDE[X5,")$RU-II0@:RLTS^] M1]S>CW:V(BB+ZWR802C5@FF_F'2UZ)A#42.COD!;V7#/H6SF,ZOB!G-81.<3 M@>-N?9V^VT[*M=EJO\0P#87S?ZF(N* \.DPYS9B@(D"UAAS_/V>(5.S).BH' M@N3,@DH%G_VE1@K=XS!D?@93-<.=)JKM@6H-C7:_'/+J:M\OR&EA6 :(SRZ M)5*[^)$.=R@^NNJ_"_GV&XTN\0V;C!E=,:&MPD!;%:P-W2CWG[ FD'_)9[9I MEAA<>]7^3U4JO7') F@!SB@E<+7[E/5//TED^J.V=?PJ(;,&(DYLFF2+R*WR M;OE4G0X^[%'CFL3 ;X#A,@_$;SH4*B5(RKG!LM36L1VL&IMKT7)66(.LXI5V MQ?KV,WY*3*N%WF,B*'J@1,LV)G@3.[/NS\:6%/$:T,VM:2+8\U4^EX::8Y/I MN8(*07#E_J^M6$W2#6MV>(&SL9Q -5V#M?K ML%[HLZ 5:F1RGE?",O@8%NYV%?GVR%*V[5ZV89 @D(&D10@E/>X^&J5K()+_ M+?/](YMPT[4AWE!_ZQ"?2DFED;'UW-1RQERJN.+'X/,O ]J103+'.L7/?E*T MW\QXO;=,-RW\X]JH,7G6:%#*O7 Q:FZ*2K;&I3<+N1KC\)UZ;19E8-TRMVFGV/8C[)_]:E*R.Q!^G9 M'=R5[-.:$5FKL_-^$IH82VEVVHXZB WGN;QS;#?8*!F'DO*3+#J_1(*:IEULO#QG7A%,7#S8$B[H$*4+^J%A!]\:6-BQWXO\A6YB;D/2IC)*G DQ*M!A9/.&)-X]!]*,)R>> MF^]XEWA!F=FO(@WP%FV1EL$(9Q,L.@S)1RK+VWDG2@R&+YAW60($.1\ SUL8 MC4?]\7(42!\5/MVU:[5Q9!D7E:*3[N\LEJ(GA2@VQA[ .=."F7O\$54[MHP$Y/Y/78LCS[0(Y MZ=:IJFJHI%7J6.QE1T[%_:.MBPTR8#:Y[V#N@ED67U5+=\<5-&V/S;Q2VPUT MOQGT7U)2;55DG0:)4P,Z6Z=K"(B%?\NV?JKZ<),SM "@A8KT+C,< MP:1RM8VYW^W3[&,Z?(LN :M3PK$W,/:1MRXJGC9FCF30>7)2\D4E;Z^UHK7( MK'48SGX&T612KW(M^=5 =Z(H>8_J>ZICI3:9/*]/7$XFFX*-Z2.T)[S^1M=_ MW&@UF0Z>CID X7#L>7_);):E&Q/[VM MV4W-]>(GG6'3D9$["UR#WO8G3(J9B4J*I)%4QN_;,>@S(PO[NY?1D"IPSVZ# MUH OU=$0A1 &#?CYS7Q@W0=6TX]CL3Q9GW0TQ0#T/:WF$&O':!-J9#N\3GKZ MXMO/XZ6NVLJYX9*BWXE9_F= %B)G7=K@1(F&9H M\LHOXWJ=\$QK6^$,B>(U MF\Q"-M_?EY\R# ^2M;6AQ[E. MM,S<_8)8'3+,#\Q^-%3Y9&]<@Y<7];O47,)#75Q'S2QC5XY4ZS_-4&I]?%Y8 M9"M63P5,!(#?@I>E.*1>WN77+$* PT&= Y7O1G$K^7O/;?"\, ].$JS9)=;\ MN6:!ML?4QLQ7,8BTR:*G*B9O'P!H CGL>W:]Y;DW6Z?GU("N/\;SS,W6OQFG M;X-D=X$AFA:-D9\K-- M(A.S.^Z%Y1O5RC[4.SSKNRJ1E5J_"S1DP*_Y>=XV M11GK^$-WZJO%Z]N:<\\CR=Q7Z? 6PWSC5KO&^-XQPM:)EOA>%GHGGX\L-]^O M!M[[P? Y&3\,#;M06VS]J_2.7UMG&8-_*#"HLQ%SYN!:V\Q MZ.6Y9B!V]DZK*.GJR?'KLNCZ_B.J&$B>%^O1SX! Z$]+'-T]+'<$@_HDF,LF MN>Z-JPIY3GX7KSGO=OK&7I^JMZ4%,LI:Y& 5V^]3BR@<,_$\.V^)86^67J_' MTD00ZTL0/J870X!I\OM@@^GRL$1'>RL6ZZ$O#@D?,-3&H!W-GE<^XS1R<)8$ M*N9$OA/J [:H70YM"J@L)9$19*AIA1F-]8@<0J$[O3,(&2G_A[-T1(97+\"#K#X"PTZ@2(14;&B$V?D-* MR=<'!#+&O\LIUF"AVW!HIR/!OB=1N$/9\<<1U?51=F"ZI_MQ#ZIX)TN.5/M_ MF,D.33FMMJ[QK@L'VO"%W%.D;*QJ(0/7!PT+*7NY\8K>6( M@:R5/@#P+[3A!"$HG5HTD:++ZHJ4?>R;#7XEI-E86L=/2:=,#]C0O":"U%M5 M*6;K*25L[C2*H1IT-(JPZ+BF)T- HJK+U-3B46L5N4,6<>@11./XE X2MU"# M&X>!U2LRN']7M/N&BF.72_ U2^3-#W^*FNL0LF@K IL2F\R/- MG38@DO9X?A[8_QIC=D471/\ ,/?Z JPZEJ*R-&K8."ZNRXA[_63U\^WLZ6N8:/.$PX5R;VV+D314(YNC8YI?"DL&AI +=&\< MV8G5' F<:6CCD3/^)[^$Q)ADJI_CA05?BC3D]>C<$"N:1WU/LOEYO.?S ."> MBC-^2&_S"S4Q:VP3+&2K$K@-3 ? M502OHE^RU:BDE>WYTU$-V2K(:/'R^F_CZOPE;ZX\X^_GWE M54$Y<$%$>?\TUT%M@3;-G^(U&?4BKC5NC!K"HRR'U)M&W7J,NL2O73$Z?%3# MA$351DSH8+]=YK;B?!=F8,:TKF/)W6%L,7U0V,,3T- M#X :HP.*L?FYCFO=JI:^S _$6Q%<[9DEL@Y+CL;V[*B6-J=36#KL_?VR M (;F[O]>GM]/]H0/^CI+95$+5@:>*9P'B1W'>!6HK1^>%Z_H]Z]/-;SJJZ09 MYEP@(8]CNL3*!O3GWBOY8@WE[.9H2X-E[!?34HMW'\J M&FM3-D="-ZW3GAR=/^$$$#=HI&TER+^GRG*71,--__BV>8)/!L1[K2S^E!13 M C:8X$FL4%C6D.S"#0Y$BM[C@-95Y++K$'QAESSD:W?7P13/@&C!-\$FQVO0 MA=3UV-@4E@F460%/%_3LU),O;G.1(!*5*? L*WNS_>*6=2K5O: WK/=&T6U MX5L P-=@H2@^R>+\JO7%=&JJOF,;T._K)RI/F#WNN+-GWOSTBUKJIU6P@L(-?+[.NS*I&*=C\C61TNWV"J& M(\\K1I(.C3&V#%QTW]]*>@GZ]@!X>C$,,8IUR&5)6-"77MS]TL- 5Y61,:V8 M_VG38L%68TSK;>;&HSK49#'@R"Y\'$NY6*P(Y@WR:'AO9[+!5;,'SQ?&!5Q/ ME@N )UN+(++L 8#)4/%5T6I]F4&M<6E1V;:KGP;]?B!MUOZQA"9%!PX-_I(D M&[=D&V,LLQ[9Y0P=:>7V4["7S,AQWGZ3(RB&<=ZWDZ9]S7&%CO"1I.BAGHVL M@:![D1C;F_53VV]_[[?ZLLHW3.L?.WA3Y3.UB@&THVD-3%D-%Y'$58"C**B' M4C.X[("%V#,/PBLSJW9P9R%3(SBK3@%/&A/_?9DV0_[ M=[3X]67<0;V3'J Z8#>/83<%L4V&<-)(=U_J$;$L+Q&^O&P5:DYL3['7]DB" M^1$ ,S*"(%KX5D5]8<6&Z4JX\0'PSGA%=8W!X:G,XG<0IQ\3?, K=D/TRC.M M=N!J.]AC;:=1%XYNZ+6J%:2BBOLN5!8C(:C'/J:R-=WH^X&6E_0OD2+K\&N(7<.D!3F)D 6.D_=MH\]? MWN@%='9BK^,6MMD3+A6C_6(-Z8= L3 M5U4E8/'!.2\0D\\:?U9 $Y^:[MK&@/<"^:(OR4ZA-0I?:U2$-D;2-Y07O8Z%#8^?KO0J MA91WG2MCO 3ZK/FWM8?13Z^Q'0URV&?SXN-CXK=$C\J8WDNB:.31IA!7R]H4V4X9OC4^3/D1 M2!A:[X1[N2D)?*-GU\#_J\(.XO@B'N,#2RP:O'-;I'E=@00)DX^%_=6D)1\! M;,TFS^U[:BPI]:R5JK9MN1@>FH2L4>EY52FAX3((A*FVOG@ *,]IY!4:9Z2 MD$VU0,I5%@=IQR-?*R >_T&S645/LO/@ PFA&\606V"_?!SM;"'K,>&_ML M7GTWL\$)_M'@F+=0;NM]T"](!;1KT5]\DR_L(CS/@KZ0+= XYZP=#?! M\N,@Q:!#XQ_>#?Y;UI+]CWEO*> _OIJ.@(CVU;ROY*:.AF=1")+R!\"@6":V M>[3):.=?E9."PB76O) T/F=G9\Z.7NJ@H:Z_ &S8JW&(S6J8"?>M!)@*0587 M47Z"361@4\GU?N[@O3F ?J<"8@LDWDOI[20@1)+<@GF 1@BRU+FVBJP4;9V> M*Z(@[([=(O2I2%16"]+>'U[UL?']4.VX#/FB=[E$/M14HEY:+:EW:I>NY'VW M $,5!%Z9.;D3[;[,K &_$/S32[=\D".M!T=S^X0+O?HM>5AQ"(H!X4$^/P!B MOL_WVJ]_&W[;G6)D+B,54M)+M_=+R]XY +W2HC(#W^YH-& !=BSFO48GKI=" M@+=L Q8#[19LH>LI:[5?9[ MS4 N]0P)ZWQB8Y_;6GUV/_Z$(I[T396]NHP#Q/[6Y^::_007V7T6R# M>^,J4K*=_<7:KFA;;4JW#U@7=F2&G4@R58 M+G484S!%8%#?Z%M*D"[%.[\'IJT=!_,ATO(+>OG'S1[S,>M@#H+B5 MK$D(@;^SJ3%^XJC-6^[FG4-BV%C+VQ%$JCA%2!I'0W<[.]/R?*KF=/[\*A@. MBJI.%U4=DR! \%X?57HYJC2+"O >8=;+RAYC_J2KIP&;118IU#/D56O(F?][ M:OX?UQAJ3*;J\2KB?#8, 'M VA6D"(;M8/LKXK4!=V'JT5].?V']_?7]SBCL M0 K4IMOND_9Q;BDYA4W:NX]*A[[D&-0D!83+?T>@=]2M,,SRM,SFK[XS2\1> M4,CZ.!>3.;NE>TQS*^G5>>6'H$TZ-WP V'D9[)@+'RM0Z6.):]QB8Z'3.AQ/ MI%"=3P]%B!/GFKI3%?>EW>IFOUUK3,T5/#!X[J,44PDR*OL-E+. 3N2IA1E\ M*+B7-7"IR[8%6)Q3YFNT<3PILYFAH"[/LK>RHTK:V) A_?S418T1["4RM^K' MD[&PO%,;ZENH9=EO_T85Z^Y,2!E^WE6!$D,\.22?N?J3CI*0_Y-0.Z?F>B9X M?CFJE(NU5]!^BD6 [D6@-,&?E1FAW;<'8A! ]9?7:4TS3GQQ<#A)4\#0J&H4 MI41/VVD1_';5AFC)H=13"'5;BBL>*G\OV7)>=U86(0*C].J4GG:'$B,S<-.? M]/#,)LT,9$LP7('5.^&VGA58,T;_]+9,V/584J-@$)\"E=Z M4E-\%8=]$\H*N#OLJJ6NV";:J2RDS=NB#L/BY3,-EO2 ;9E^$0PP5RN"%&@% M?Q7(O!#SM !<'(]V0 AHC2N/;8=6U19MXAD9'V2?=__YV<-CO\FVP&X]_95NLIX6')VSA%)O"AJ963'F:O?X3L7J^0 P]-DZ$44IUK.D%S&M@V[Z: MAVU3\\?=;K12%_14;*.Y:DWM:!R\PAAFA- :ZQ&>/Z?_3LG:E1-G*0DX#8RS M.U#ADYY$B9DF^;B7ZGB,1W&K,\HQ)#K/F#"2^'UNF.#9_D2TKR@RI'RM]8O& M3"H,@\#)+C^)7/AZ2D>2&..E=]'!ZQ'O(JXR@1!2C0__\8,N)W8W0(9ETZ8' M\A)5> ?SXS%W;++WSU^RO:8N,>Y#E#67]A/3(ZM3- M-%'D[)6A&Y9^E?,8#F'[V&Z1N 8=9Y(.TZ/QK M?%*P#L776WV,?6^D$MVLWGB&Y;P_YJ6*08MOXY9F9DGP/3?IW6B-!#/ =;MX ME$9[P"_]7_88?LF'"IA1),FC82J8-.V*<.X7Y0!Y6VC!;6!Q)+389/^/=603 MS=4A)S57JD6)1.6[SD*FUXN3Y2OV5-'!1\E\],E M$HP*)*+(-/&%%EI&D119J#=C*.U2(R^"+FHI:*[ME[8YPZ4<19=%)Q:,]#M_ MQ+&) !Q]'>L;F !EBJC[YLZ'NV2K;OMFT,!0T6?-Z*UCTX:[B^HVXVZ,*I92 MLCA7&,^VQ1XPN!47)7XK0&O=Z,/"=8 M.%__"YY] .#P4K1G&"*A'=>A:WI+A&P93&G%FZ^Y 5QS\29UB,6W]6J [#0 M.(J*(ASE6:#_TQY;XRHIH(\JG@8KRN%UCYI4 VSHSG?#LU>QA%+A! M@&4[JR%'8C.3-*EXEK6N;\!/:;FU95[(-X4 $:& TRCVHIJH%)T2NMX?F67+ M.>]NVOJP1ZE&Q% ETRWHX/X' &D++W)5-5FENG'L"W,B.]1H*MLRAJZ L5S> M&$F)OBAR6=<=&W,O\NT#DDWBK7>!EVC/;#)1:[C;=33+/+J8G W1>9U/^9'U M-DO4[/S]RTE8DT)6YUUP25Y(2=?V3JU3U(!ZB&4+(<58G M2@H!"D4]21'MQ*/H:J$,>@ HU,3T"_>T"!G%0?F8&4]>[XIMS1JZ(H(F._YL M[H/Y:QX[K#UM;.5!P@!USRFPHW+MBY/:LA-!OH+(C?U&ZURR ?S^UP9#.#6P M>Y7 -F4EVI-[%O9T7!9\D?0\\#?TPZ"-T4TB/%-6+4QZ1UC M"8&ZPM-2]/@4!#0X=MV80:MQK$FHY$,M.0^+\[XFL28P-2$D@N4)OOC?[R8# MK6Z:YG0I3Q6[6<6DX+E,2AS9I?\,:_RW&Q/>4 *1Q!Y78L0# -W@QH.&YRL_ MFX0/[>S4X[M DT*?;GL 9-@] +)P;O)?*_,OY8BSIS)#TJTG](Q#N#CA&?P#50DR"5D:(I MIN(*L@MS)G=I"^ *(;1-KOUNW.XKDC^8P?9R A!K^L^,+6*(P8_MH5(W[<@H$0F+C=%COLTJ>,MY^T), MH\@%=?@9*W& Y>>IT#:'ICA,;X(0%FKYU%([5IE;%M"G@!@AKNN_YZ.;6A(V MI>4U&Y5KOTQKC-)BT#!V+[OM;'42])%V'2DO&/8I$E(/?TBV WDA0C>Z$QH[ MSDVQH\Y+&3-C.F\> *$^ K_'$Q2H$F0:?EZR/ #BC=V^BKY=*+'QZ)CHX.B( M#PR2?.DB97%S49C84"MQ&/5Y.NZD'<4EN"M;5<]]3%Q"G^NDMFW@[ZJ2D#@O M^OK8NRN48F>"0.1WF?%PE%N"I5?63;Z/^1I)&^=Y+FF M''//RI9V*4]-[+.7N>PR6&?F8Q:Y7#'4YD%9Z)?ED2X>Q&.IW:)$R\@&X5N9 M^V\6E$'\6+3/(4*1=V%W4-1S*5H4([P\I.X+?)XE&2/FPXAHZ[W$>Q37V<@GA$P8>I0.-AT #<85M1\I_$/8#%OM5PE>M<+5U,]F MW6I/V#[@A\@P7Z*?PP9&OU7Z%V4W<37PEFTZ2$HSK*OR9?-\<5W%!S.^^K5N M_U'&5^2/(JLC3WKK=-AAX.6PJ^-/%K>>B0+:JT(_$I\O30K"Y.>]]JYN.I2? MXM$SQ6A=\+%'3582)_P4QQQ00F6LT:C6SRUG70D#;P0<%%ZK.Q]@\MFK0>=7 M=3W/Y!$YVNW348ZD$ZVIG"BIZ=,+-08#H_VOWX9CPJ67IV@1)MO9GZEA$>[] MO)< @P-SJOEDC'NRM59\D4";C;WCK? FGZ!4*GIN;/,EZ95?>VWWB1>\!9[ M=B#E?@MUPHEO86[4_?7%XYL7>X[@^6(2S<%"Q(VP1P*81'^LBR'4,6*L5>]K* MNXXLH$^%Y!Q>G87O5C5&ZIKZ -J@DR)_'7,.B&S_^J=?L B+\I<6*CAU,M_, MA(GSC\]\. MYW9"S\25S?KF8D:&ITP12W]UC_&&TW1?G74R13#%X_R!;F"XIMP8=H-^LW^] M;/9:G;/S2?I%HK:3:E8KI_&8Z^2E=YGJ[29^0(7Q4<+[/"_+"*B0H\7[0$*( MY0, [=#%4#:#JSJ!YZ5X_L=6HG):A_M]:8)-$%,7[S&;U\38AU\]T^E.:K]M M;VFNZN'=89TE(!RDN(*\LKB>9OAN) (PQBTEZ$M^MJ?ER.3VL46%,@& M-1:4TVW#D_F$G.;6+]7(%O1YV1:Q9L[YM&1:K81R_[ M=__JNB."3>IB98WYAF+T=QPS!*'"IJXS3;:=^O[T%J3=&YJ4@[1#&3!'P"N:><@>F1P^T)/X.U;KS]VDJ^[7T&+5WJW3#EC MWUO2'Z CT^Z1MG9Q>%-^SWT7X*?MN4%I/G CS=&S8 M?2O[9/W+T2'E;7IYH[X'KQK5B.NAD5MY$=^GF)\]@D6GC_=.OY=(?SOX;/N5#T]I MZ/H4>9)%6\+;Z8 CKL:OYB+HD2<%V'(F'W:*.!I$B"XTY&P_D?ZHV0*2-WTL M\-:DD?/88JUWP2VE>Z*J$H,3:31*;KD/+* MS\ %J.Z4GS=%A^/7^-J*C?ZYWB);4>1?:%OCON\*!:ANC5 MO8(;R/"-XB2(?M@&;\"*>E0QC3D;Y%Z5WN(X:WS7\#0>[8O%]^KL\0%]@B.Z"10C"I0@JFA'#U?=TC?4I MBN4P VO?VSE#&@MWB_ >07__DDG(&G2%>.*16]\U_?F4[L9875M7.]5=^>M= MJEY_6*^)%G%!+0%32V]9 ==>N $#D=<#X![[6XYM4D5KL(1[*5+I;+C.YJ# MSP,I=J-'N-?=P)UK/=%BT8JLN=5$T4W[*3L6(R4[,P ;<6#K&4":195%9[BS1C5$J5B[;.1..Y03(# M1./GP09YV,%2.W<_P:]00/CH,0TBMN=O;/C%*):7>)=+.WT\'0KZ*?(R/JVI MXJ3M]>B0 HXE;OQ$2S1R$#':QD H]0QYJ@:'15U(0C2@LDV?[4OYN'$1!UZ(_KCP"&-B$F]MZQ3I4_R976F+F-T/2>Z+[/5VS)$G5-V.;IWIX MIQ&M:*QPB@[HUP< "0_O?"E*.U\VF9,EV,]37O"4DM;J&>:/J_:/*)%E<#^] M"-P*VK5,HXN,+K/%L\YD[L\VZ/_%D_USUXD1^ITVS6VTOMQZ\YDRP_S@^O3@ MYY3FO)%4CKI);G>:OA.K6YPV17,RM"BA)%-\)P [1N3Y:N # ' JQ2E7=$B\ MJI+K9? L9;O6\ZE)'B@-^#OL&*_8"[K)+44"U:V8:!*S MS^-^M2"2F-!-FE <6*%L%KJB1H45TROR5]+H6,],CE3S?UQD]J1Y;&0%7PV= M#O+F)ODM(AUV++EI[]L)LFF81/%D]DE-VQ%BBUQ$;A%;'D0^P^(*'>'7:?D^ MD_O9[? 7,Z O7IS7QYKN<(UACD!]RA$LC)QQ9'M5%V]]/I_'4G)3+#_FN.V[W46_SERB\W23E-5B[O,6ZOCP _/Q53XM@H2BU M]55"+RQ-7S[B/9_D,)C&[[$#\E.'Y3/^SOB+88ALO/2SF];TMT5(B.J,F8 M MNM;N4XM]EQ.S2CHI\B*32N%&Y!" M*:GEU;AIO4Z'0IDAP44]P6ONU;-I'\M7X)I;KB+P,!!'Q/MY,@2_24@XK 1B MU8&-^J']NM4*\I7PU3;2<3W3WU E_ $@H'1%-]H;;;$>%LDXN>^U!2B<%Z:X$#UV)(C%W9O>_N2NNF$OPBC]A4\<8162 M:OL@Z;T,T@F4B&F2@784.7G_M47@DZC;S>_(F>QWQ:]W5S(4R 0**(\P9!D# M?.X3:8:8Y#U>D,E["JP1[*LE:0;,]C)4%QR3\Y;S74B^O/M2K:PCL )R7&!W MOO[!7J88; HI]EXB!9[6X_[26+W_PU&1S2"7EJ!ZEEZ+JU1U<( M]06BVTQ@NZNHA (]\#V"[W9ZGNP&)MA==G8N\!2$59=(ONS!K*NH"!+W8E)] MPL2AS1!'IE*"EO^M3F)7^$!:0/G]?UN\C#%L:6?"6C&6@^?)H>M:^_H'><+; MO6(Q]CU."448>YAP:K.L5?Q&G>:V!=6G*X8"22R3GJ:"+H/#PU62"Z*\7E<' MAQ?N=OM/"7L(6$EA8L#N'EM6+CP>%4?ZS[#-6(Q15U?A#,H4C/C-A$,,QG:< MD]:Q2#4F[RHV_VGCJB9CM,42U.S)^[FO[N68NV?YM^693JLA"_>&Y \$< MS_+8ZYZYL\PTS_XGHY>Y"JUBAN:XI9G06'.H[)[/IIODU# MR_C^EYD"FDI'=/V=GC!:Y"_X;N\#@ RE6(14Z(:22G"M2MHSR_5S'RI M3]N@J03 =UH62KF&1DJ1 LG\)&8TJY__TQ6X#4!OTB44'SP$HO>3]+6A M2^ZV,Q0':/63TMM(H_7/12EMTE[ [!' ME$\M75E'EY[-N5T+C6MQC?:3;FX MA[^+XT_-58^S^0$6,3+W1-INL=A&?A1A75)O$* 8QV05\KS=ZOIEGK)(0)8& MJ>5ODU\]>M]G2I)>>#;L@UE^3VV-\PPGP>Z@KK88T5R!VX.!UX:26 R[*9M' M+9QRA8L@FS<_QO?^I';!VPN+ADPLGI"U]SQ*48S-R!NA3BBA!$DY2CG89!KX M^9"J>J?)<+_Z:Z2O5WY[GZX@/\#4K4<>B[[5$/D V%#HA#[W$ZM&T->Y._*% MUF"]MS\I>V$7*-3B<3R'+=8N=I5[TA4[.!H!^3U[C"8:*R*^.,SV .CYN/1! M<>;88;.>I(B6V-*I;;."DJ[D<'1N]0-"]&@:/JA5@4PM12=*'JH>5^D8^6+Q M7RI[ZZ"X@J];= @0 B&0X"X9)'APAQ 2W&V"0X @@[L/$B 0&"0!$MP=!G=W M@GMP!@@N,^@ UQ^7]5WZ][O5;UZ[X^NZCIU:E?+Z;W7ZM.]-JVR"-,3=01F M%XT'S!517V-=@-;*[!:B$PM'=M1\Z.EQ?3\JV6C>9D5$]Q;D2%Q$*=BT0?_U M\N:N-6G:0-Z+9)-@?+["[?I,8SFISV"GGYR^)C!Q@V=1 BUK;$".:+O/)RM9 MM%ZH[YTT5XC9Z,2D;U-;XA=3[,7D J%- MI+(&*)EBV^D%_=THHJD-1I)#WGIF[0'6C(R,Q/UFTXB":H3O'D\ QU@E1=@B MC0B3!<-EG[7BV,FOQ=9-H28M W<)LMON&Z?8BP? D3K>]2HQTM+>TB\@WR*5 MYD?\E>)5/WB/B]E:5>BO\(R4M[]PX5^[>\90 M2QX7E@*'=E/09URZ%K_MYHZ0>1/V9%5A*:Y9@; M"F9[XH< M.0-=.GBWX[MJ WR[&K*7\ #8?=^N[1>ARTZ-!^X:D1((@"K2V;E><.V#@%Q) M Q05IKIQI-WUS-_!X**^Z% MX7RR:D]<3CZ9DE_T(2)Z6J[D,9*6_KR'M,IQY$'A7SJB$QF)F2P#=<\BCO@W MXTM&"6*=&+WC@^,(#I^-BO&ZIHA6:6_E_>.*)4.$1]WT%X,=UUN,1DJ!&+-N M31V%.R8#&TZ8AJ@T&0$>+FBN?38PA;,2LV*.-ESQ6.P*)HT(N^B(L#^^*&U, M'P$8]M% O%M.?78P:3L?!^@!@+='WD'&)0B.T=9(5JINZ QY_D3;=JDQJ3M! MCD#ND# _0,*!-/NZ=VN'E<5R>=F[I1MOU5_N$:_@5\5T$OJ[2K]DOPQ& F]- MCL7UJA,+S11>QJQP9")@D?[:3L62^6DG);:5BK6JD)C2ER+CO]1(-C,:KRJ^ M]P9R(NY3BYU.N>;6T\/A%HP(WQ^UECS^#:R5 H<9!5YB3^.JQ],E/[=!'YT01"IVQ> '^6:J]S=^E,WW)E1M"&2: MV18F(OA'7K@3.U=_08_M76@8[,##S4E$M-X:HIU&D&:1LMW.8C=I8+H\@#%" MY5%MT"WNV$]X2NJLAPF&1Y/[=D!_'-H5TU8[QJ?+X%$$D1"DS+:LS8"V]4U%0,N"_3)W0X5^*UMF%FK@D=DKDPRAT=&S6"C8@V60.R+5/@_!1.\C/RL'P;L)7*D.34/V^?WR M_=,FR-VF'MEOGA]6LE=M]R:G&?KR$0EB1J"&Y#WVZ1^25'8@-,W MQ/L4P;G?+-ASZ2Z<%M H7*!T6.#"_B6X:.]*;XPOH7\0\NH!, _KRUQ,56E& M9/:>D.JS+1%5CVG3NG5)_RI67N7BWV[T()_V*/7[=0^*>M_6 1EM@75G![9$G[RA1/$U0*5J M-L#-J33>N5/,JYQ=(>WL8:[.P4MVL*U&]'Y_:T-4PQKX7HZ]-5=)QZ+&Z[8# M_MCZ[B_CV6.ID=?\?8'3]^/S6JO^% B5Z:0SRRF'A5"/L:ZY#A*(M7J$;V;_ M>*2!:9B];HIXQ%-X$!/3NY"1@*?\IBT9-)/K$P*I+X1FWQOJ=\;) ?I)09BQ MW?6^-FZ[%X*[.5'Q+W2>JR8PLR^[126D/ !WH[A>*]\LN54R(^C@N+2UN4[,Y]9P+*VP"VY*^89V)TY,PWI5)F M,3[]ZOY)G9,R;@VRX$UK@Y5YIV2IM6*34#(N$_>D0@3[OK-,N2ZB[,9C:]+. MLQPLX?@',3SS5J1T0G_IA)TKU_'7-9\==T9PU14.FAB\(==4YJ^;K-":_J4Z M63T^]0T&LPOTW6A@IBS13U' C_GK^6UA-/'SS@884MP(B?.C1J6VZC18 H,C M(R@ .S!]R85R!RBP4586IU@PP*F$HZ(]^YX;1\F ??"_KL>?0;[70UY> //_ M>I.>KTBM[J5(:NLVVR\OR<(BV?@^MWRKN[3 M$24K0JCLGNY[$2E[>5)M)1TK<&==2#CCY%OO9E:N!6TJ#$1^:47:Z"E2/>^B M$3H>_I.DD.AE=BI,!LLY&(#8G"QJ=W?4[(1;)G^:27KA>+JJ-VT_QW?$'QP4 M ,""YNEH%Q27RL-2K6:*V:&GZ#+?+V%9-JO/I\RGW5,Y5*G5HN-IVZHY-4-\ M1#!I4F(UD07!N7>%1XNKF38.X7M?YQ4*>.%\S'/(=HW?6\64'#(BPQ MU>U2#^&?"1*A8($O'_FQ<8[#Q]65=C7V1\87[@PO8U&FV0^ @9-8@3>NX>^D M%F/B)-^"0V>EG4Q#4@S[<_N&O2VQBFKK$]3D[;'WP6=N_0U4ZH?+#08(Q#G5 M:AO3VI=@#T-!*JMV"P_N^/J-4W]X>*!F)5TO/3OB$36MD\Y^VG\ X JT!5ZY MI*VJ;X@/CFVX*@5U@=+@[P#N3U)"_)[=@"Z7[V >3C%NJS92Y,+-D) R\RA% M+NYR%7+A'\0)H]2T(U%/WV'2*JZ#AJ@(PB"VV?N+T56D+=Y?\PWDEB]W4-52 MFN-,= KKG]O#INXEO4&;T)K\;U)D[U/R7E&+*YIJD_,QO<%URE"1ZL0]=DMS MKWB^$=&33OQA1N\!H-=<@XB]+$TBBUN3")<@W(ABZJ3KBYVK595?(:WPX?J: M4A"?;^<5+U3Z>4JNZC=C\)PHT*WN5P>%+I9%14 5R%^W6!FNBC?W1P%=%.WW M '!_6TT0%+J\V?9F(DED80M)TYR1R/BV9LG$Y[-FQI-2[L-U:YOSTN3F/*(% MB+7)BN$^^4N%R@_S1!()97[.5?@6=A8H>?\:<2LNG$NXR^3U5)T#OTQ+[%%< M9,[;UF$T>YG,'T?&;P.2'$&-2.4EPR7;82=VV_JS+\N&W=\JFS[G5_IQZ@.-W4#Z!D5814&'!7WF&S/-5[&,WP]9*?Z4>FYT6)P3QDH3H'6+>LSS M4,/R,SS69O$RV%,U+72=UC],QZ&I&R_D=GH[K#W"5Z=L*9\IA!MFB-K'>5/V MX&;/XJ(519^*3ZK,,7>]64\39_Z9!N&PRV^!USY^?O+?EYUCIJ=7 MLVV5MHXI, 6NVX_\/6X]T4I(PHAD>41?4C9W9*[=4/N!1IW6%P]\W5RM9XN> M-];E@ #)C0ZZ72GRT'N6F]&D#&-G(A\=_@ <[6M03V95;&1LQ#TO:DT#2;LL MY.E6-@QFRM<1.2.)R2(\WFY-[0L4F(97U394:9;TV6>KCM[O6<6==W%Z863Z MW\P+.VT^(K51[V3A=C+/F0V&\(96-^)7TZY$TNDV6(T;$#2;[8\!2 M=N+HRWS[H>P6PFBP2H.:77\ D*S(.)F7OS]3OR\1E?TP?KZ,'>@&.\*D^J!: M&#XK;[U<'!U G#E6;)-)DY^JSV_WLDQ?1*L:H]+7XF#O #1$[8AS@*4>/S3> MIA@]GQ@X%LC\8XP2?T7JC EGRY.[^^?W6K7F5 M^ $@R6I_?W'CW^$.FKBLSP%\>\E>$H;A#<#C,1/E":/';>5'0+KKVVD0[4G- MGNE/SJ FH$WNH]E?-RG' ,RL_/];@(S_0I\Q:LJZ4=?[G?ALN(RI"BCR+ZI! M'16[02$P_]6V$$P-;A'JK<)VNK &Q@R/T_*;3)5*PD /5A^3!M?W/]>B\A7Z.#8]B1;IT:D[+,F9^^P7)/T\*4>MXR][EP/Y<(;Q/ M_XM_YGL1Z;$&-&^%=V1%G:&#FY(+=HM2I8AX+_*)4*74IBC-^549TLVF[ M?)@PT1)%$^#&#'D#*A9'*\N]L+V8IAQ^8\92C>4*<\JIC4JVOO,RL:=GW"B[:^TGS$JKE&84/ MI1%\%]9"=,25?I-DI)^;XRSHW>/HT1M5_LS(7&6$7%D'0:MQSIZGKUK<'I@R M@F_@^1-\J\2:OU"W :.9(\2F5A,JMF %+2V\*/4;LVP^^2I$;19]#\5*6HLJSO,-5'&89,SZU=Q($ MH4US]R+*&R?8RP?W6+-<*LU6-2:K>_,NKSC8BYGE3;PEH"(P3D1'U\')(O6E MQXP[]3=!"(ZI[>*TT>Z5<'RMZU,=N<'H4R#G*0MAMJ0K!_^Z?(A_P*,C^IXB M""U=%R\2N. S7+4#\9=^B/_UZ_J;=@1VD)&PZHHD<.U0+T(W[WZ& ZG>'<=S MF>NMKONI;X3?$/:;=G_SGT;KJW&*P2WKQ60XSE%XRF\_'C+Y?WE6F^3QI3Y1 M^X&6"1+.\J.#+*VF&_*=JFYP>FB=MS__B_'O:,DBD]9+(3)MCJ$"LL\F*XFI M/AJ]<3*?<;(K2KC-PQ#Q'$*3#2T M/?1OM[1:F_$&;U3KN%A!LXZ.$EPEDLO-7^GM$BC6B7K=^N_7>($%X'$T&V+C MI#N0I0G)^KW5J<3T4[8M45=M;U5#] [#,7YO?#2!SZ@'/;8$O50LXGCLJN^2 M;)5F]G6&;D,26Y![<*4.?_13IJ1QBSV0X/C"<">$U /EEY>GJ3,EA@&MXLG0\4 (QHO.I,;VT^IIPH]L[_W'39N.'I MM<,WD4&'IWBO!COC"UU4CABH*Q1-8 M3!8BQVH!!T6(@HYL;VOX7)-YB0V.QBS,C<;K/?]9O[R/JYK,Y0!IM\''@#+U M/&KJ+HO+0F6A^"T.*@5QT7% - B$E.^Z@N!YQ$CU@XOJ])KJB2BSGRSJ.J+^ MRKGZ5:=X,M;0*\3XZ\+!Y92&PN ' -T.\,ZNU!Z'=D&XZ$K3:/5W+EC,(5JL MLTW,ZO>7YVR_8M.($Q=%+8ZB\<_TZHRUSM0;JS(XBKFVY91C673>(=\Z/D_4 M4*>4.!M5]"NWR6"$U*U$NI<.;,M%\0JV"'LNM; K[C1>EC!=J-*;1N@C9L1Z MJ_D$>'_P8<94E"8\N\*4CO%F_7X2,Y;L(;' 9U3U,VTG 9P->66PNTH_4[MD MK%C'5H=K@?.Y.L^FS2V-)G[@2?,# .!/UX$DF;N!UM$X&UI*>(J[;GER^Q': M[90**@DG13@2OP 1:R<]RT: ^UUX(HX.57YY#U%(NIS#\N_I]ZM6LGJ>LHM@ M!:D?&(U L&I+OX4*IKUME&8,PI9.#R"]E;1=!;2WAWZ,GW";D7/'2QE<>S]826_O=5["L),EHYI6-)Z/?UV CNBS5*?;LG?$EZK..V ME>^X.G7I"AM,[C@.EM0OE,\K[,;F5OL%HYXEO/EI]OH-P,^B\I)T:A%2K.;6 M%T! %I5-8)B) >U3)M=>%%#_2 (RW_Z/6.6KQNM8^L1 O<"U>]+X5L6-HP"& MA:W"!6L,A2X"O(8-J@[=@U.O>[Q714/K$*B49(A\8\)X+Q4G095/IUPU1@\I M0^C@P&F6#8K*@G:1O_XX'RJ&T>?U 'C>RN:TZ7,_8%MBN_A\\4W"QH%>\VDN M0]J3-,M,S?,*CEYS8%,(QYO4/TDD'AIY28,X4-$=Z43PKBF.A'[%GI=OB&V" MP<)2F'7"%L6]EF^0S^O:E4]C=FIT!S7'?I:*6XHEMBE2L-Q]]<+*AEB=,#>: M,1WZ.%=7M]@BP?/Q$(AE*GW,I0E5PSR/@X/ 0KV1Z5W(CC"U)JXECB/),0.1 MKYOI6S0!ZF- 'BJ'6@?IOTK;W!1II;Q[.&7S&BCZ11_CMCT7ZRFLN!TW<"9) M#!8AJ I41LP>75;E&"9G;(\MD5U%5;LZBU&22&%L5AWH#PTQQ;DJYN7SH%BG MI#';B?UQ[E*=/!3]N4KW)O;5,E17CBZ+:E1*"%>8TG@DG;']DH/;7WN#-VC( MR>FHYPX]6OQL5?B&K-[$ 6]HO& #F9&+_=\W(&0'R>U4OW9]OQ1N=F_Y-[IOOJ!D=7B$#EW.?G@S-2+3"-_I)*WWY?L1?>Y6Z M^"4%UEG2G=<-HD ;IA%H_-SU3@K"C_M MX@KGF/,"G.W,HSMXI ?]MY2:X3%[A^-RIH&10ORR#M3.@2DV@#98$C&P*Q9U M1W?79B&4^>IHQU5)/0]&B_-G/"WP(PV#2Q\%%X7E:ME4MN7&X?'/@,#WV MTF9R[ZCT>^O3VJWH95,EZ7!2B=CB/=-J,;H(,/SN];AR;;2LK2V5++Z90>-R)_V0BM,<<3[RF#'0_5HQ7=E98 [;5&D;K-^.DAVT86KA4? -@8 MB(X(!N08C/N[.6WTY5CUBH =P,?(T0VU9;W:KC U3X[A9;UVCG/QN#ABERY7 M#@.!J"824D7+$[20X*/?ZWN/B]8O^_.6N&7-I^$6IPZ7F&N;0Q;O^5_J9M,B[K1@V8CY7LS7]8-)FVL MKIJZN-EN7WAGX?>-.19VT-9!EYG7P7PZ<)LX20BU9 MZT*#CDW*O+J9K2JJL(K2)SGQ$I?Q1 L[#,'H&+?FT9R%50J/\M=^U+,:!J(: M_7^/$HL^MT[D)ZQP7-*#D71A< M#MDJ+S?K\0*H+.8QZ5;D8 U.#)&#,O?++=!:J&2DQCC8$@L0;G]1R$M20!>; M0WZ_[3S'TAD&N>26SQ^5YTTJC6@-I3?^*>-,0_>D80V\5W/UU36EM9EKKDBT M*C5 7WF*.*-$$T$ES3 349RI>O=!?T:/0/%N5($R3Q?VSO9TX_.SY)U*!EBM.JU M%#BB3EC>^4?_=IPN=T+O]\P%A>#7FAE[UI _A_QR7[Z6D+T8PZ7@2B LUY@Z MOXTAN"CC9B:JG3/+?=*EB'5\L)=Q7WOK &E? C5:B3>37HM5]/@\YS">'!U MX"XW^%KCJ5U "@_9:BS7\QJ.ER4=;!8);O$AKH^\^$<,.:AYU4/QR&-8_SU7 M]KO7WM"COM3B?G*Z[6;";R:$S8CQKV4>K'7=^^JX41<:B1IJZKZEQL^>H(G-5KDGF5OWYX<92 B? G.[OP3G M/3.4%A*!/<_L#60(4+IA M?<)R[VT8_$X&+5ND#':M/P!2K%&WF\?'=THJE#.]+ING8]0E,EE>%HF[MGNQ M!MBA*+L_$+] ? LK'PL M[753:VL" C;6+UL#T7!6/\]'S(>93[3*%*SF#R\/TZQC=P+HW+2"Z2O7JE[ MFU&4=F6$QTZ.0*RTK2>BXYNF,M"0=O!=2$78>.?D&WR,F0J '+2)I\>_Z:F9)NH6*G&T(H((UE6"O&DOPT MH\(-V"_E0UC:-.34WQS3"K6=P<#[,"A'2,K-9O/_T%7'$[[B<,)/H!T!8D,G M?P2G7$.Z _EFV@706JF&B+4HINK)\PN\Y@]12RR N)&_(EU[@X-] >I]U<]X2CT)&N>.3P,"WI6TLZ"4<[TS->\G5GP* M]ID31U?"EGJ-H*G3XM1(;?T'P$O65L1Q^*2=K\-\9"UY0 -(*-1A-LKE=J(T M!!Z@O4,Q]FR(%$W"G36!<^GUS1HI%^%!=JOH:,'#QT8C-];H&''REG6ND3$L M6PT=IW2[V_#WW%BQ/GUTE.,H!6M;M"+%@8_OI2K/F.66>[\R79L82-G:.F^Y M/YEWZ;V>3)/Q#ZS8@FW4*(70[7_#GG#-NJUF0V8'!P;]-%'S- 7; MQWZ9O2>+Y'"OKCR7C0Y26[&/Z]&#]07OKC@E/R@F=0T869S"H&C(8VP4FVW] MZ%#V$='3';_\_(,MV9E.)I_BRP/V=XV#M$H_TMRBKG,U&NI0&57#UD6V-P/? M!2Y>K=S%O!A>64I[)6$99/!IQ.S7T@EG- Y#."+&=PMEK:]\1*SEYQ&IL/R!/EJM'OUH*7]1 M6[Z%[]_TW6X3Y8P[O5[,O H![\0 C9'R/0\ TH55F^;$^_1R0V/R,>(Y-3B= #(;8W(QV[1*THAS:=PX+ M#\=O02CUR]!) PY]N<2-)4'S(I3O[L;VB_+0UR$8[J(49N+1\XW*'D]8K))$ MDFF2S8--,R"5.X>I&X1ABQ<#O>KD^](+]YQ"VCW6\%FS8R [^6C2NSY%(*M= M J!?34;SLN.K.T> :[_X[4$/A#_MUS"Z]"AJR2W9(GD.&/*',MZ!:D?W?B+A M=&Y_PFFE^7V7?H0]C5N?T\&-3K)!77L5I$#P[F>*3T/"+(GR:U%1N%]&&T?N MK#].[FKWLZ\+@QV>-I]*V2Y@[,C";\>'9*I2:P:-4?]1R4U991Y^WS1XVY,$ MI+&6FOT1J;B\,BW I0U"6+6%R'#&[37L7V[_\ZSK?7[&@],ALC-5CV9VP M\JZ_^3B6GK_5/@!P#>P058W?W:"_)**0 MN7[[ 9SY^67>3UNL;:6^>X"Q/ORV8$LC3@@ CSCY\T+@W<#FZA0:C#,^A'P1 M+.]"/>+,8%_CVZ1U/0%MG"^AP7:KUI5!V&Q]W,1/6R,.1QHS5_4M $P."OS; M0B?$PW,S5QC>XTG"D"#PDQ7HO*4S9;JT+PJU'#S*Z&_[H8\@BP\D(Z]26+H= M.LV<:E(U7*_NHTP9T/K;@V*AI$_W=>GK-LR@-*S\YS0QA1UT=OIQ3^8 MF.0CD]5IH=%;-RX':C."XGNL*39$I]LW6A(KT_P)YPPYJ+9JV2_=OU(KA MQ4GZ%@#,4$Z>+C1;Y$9#-/!/KR/E=3^?5-U,"6O5UDS/7-X1DW7,T_N]2)O\ M89I,X::KDIO"B)T("Y6%E05(?_,PA&)A>4-8*^_1"5Z'<1N: M&]YS]/=WK?VZY83FBW0K+OW:%WATW&:AV-_K^3^!I!S3-QH_U\7']-5U\JX_ M ,C6Y:3JVL#N[DUTYK@I5AL,SQB$R[TRL=M?F(*IT(&OYQG]_ 0@0A3_Z"7& M9VA\\?[U3+IYB;O\2G&_7MH/D"D89JJ?.[Y>W<^O.0B--W9(1OO)0U,_NMHL M><*K:BT +L9Z&6[6K_9.HVZ^V;J=1?[YE_(FIX[_OS:B46Z7VW<9'AV1'22/ M%,W6D+$^90RL7[$@ZT.491WS[>9H8*I]$T9TERU%X9T[JP'6B(?:_%JW._R77<;:+=9*! (U$5+(XU/PM2GGZB!=!_3N^" M\H)#XNBIO=^XA/:KZJ&J-H^(:*EL!"#AL7#)]WK&*5_)5^T_X>/BYX;CT![L M/@#P[T>2+S/H9\\)Z4;Y4"D<>Q4.'M]F^L>JA38B)-Z^:(1V>-^ ?GH/P\E@ MZ\,1L3IU]Y-37BX!-DV+TDMJLSMW:C]*C[A/]H^N,VI=SG0"?BA_M#RLO^T@ M[N=$ X7[N83 =\2:34U([!SRYHF"1DY+S3EEYP$FWT+-)<%"Q*9V.R)EQ?9L MJ7I)!;[=D/82LXB!>-F"Z26$ZERT'=?;<5RU#JE"!YSF1-[^S:MML:F8B?V MR7 +LD; ^HHOV[3&U=LG!;^W_(UJNV]P(!J+7'[JS[,9/5^R9M'G%:7&OD,( MO^-71966+1L>@( *';%N76R:.\O8![50W"W:\C$"\)P_S[HG8KQG>-=BWCWU MH"@[P^:PL)%W136HET&UM:D3,Z,11H/L-2&9R(/N#QN#1[\L:DR^8'F:"#3_ MV]0)G"<%*=SEH94+390]W2DACW%&4K:D/?YEGNS+7]N/QP5WC<_M9?$4D>7H[5X$N6 M7AA00MV2>]N]:I=%?QPW ,L/=/;^WD_'@PJ9DF=J$-8P(GU!PDM;)@/WIKGC M.*>_QX4A.(Q1#O#Q5ZC8WA3+%./MNJT^6^P_1ZF#*@DCA8GXH_T!;")Y%<;C M=7O5;M0!+\1*358&P XJO2([MMG MFBP_1JP]S0BFQZG5709,KF'.L=U4Y9T#B0Q,=#[GY5-5W[VDOCRV/K3+NMP[ MG$MIPP8W(SA MK'Z]G=_I.#R[)?570N#$NL= =&:.:K]Q;A%L+'X^8BY)3%_6\Z_^8N1]KZA"!PT@27C@;YIMGPTX[AK_R:Y.%X)D"0 MV[)9Q@O?-D; !0D&:@<)N\?UVC06UVN5>C7#Y2')ZLEP:]6EG-X>&U^[N=@$ MP7T = FBG7+!IC:M2 DRO"R^\8)WHV(-M\R5.#.@(]W^WR\&&6?HNXN%PP[U MJRV,'@ MH)%.=-/T V ]W=>DO(CYZAM/W0F1"&[4PPTOTD///8O MN+N^64?,"PVD\JF)S5$&>.Y4?#J%B-V62!,N?IP21)?,>+Z2GY3_I^V)TRW% M\CA)+FCQF5IPKFV6X>YBJ9S_]UN-M:; T1I/"D_@Q/SV3I2_>*XWN(^.$;&Q M-D"673@RP7EFV'#"'-.DD0MD"L&Q,)V(OGPU%J8.N,&[3MZ$'6*LQT:;'Q]R MXX1>+'!+37*7%BXP)2AGME(JXKD=S!4K+05?8[B P<6[GM69K\\Y!T;TWNL; M55*RB@ZBVTHDO?KG3>B%OA=V)_-ACUGI+>#%![D2KE*.2QZ<1S^.&:.$P"X3 MY-MBQU)HQ*W6IQRR@2\:**?B[3;Y;GJ$FG1$X*LH,D632^3K5T.2HXTN/$W1 M51H0//]!PD%%=WIZ[QKMCY73BS=,6HC^.'BE'"X.O9!\FQ]/Q /@B^DW$_Y: M9>]#ABFN?\;=QV=)0&F/GZXO JOVI&L((\Z_?@C9*K-Y6Q3'7D071) XN]?Q M[#Q=(*30AZZ(W2<(?8#P0A-?TAJ(RVRHFFK,)&!IDKRDYS(SM)> MB^*Y945)PVN'/0IVR1#+QR]VE-K!I03[AN+JTZ3G7(417)PS6#(#=3;R3SZ( M/$G\^_+O0GF94I89AMYN3MQ_2];C_SBFN@Z]Q\/)[?-!L#G1#B8-:T9.4S(= M@V2##PD@>#=?H^>?(T/A:A'(B*YI;R=3E2_.5VYEUYYVP:K(LY'9;:JF"7/CU % JE4C1 M;2D.56_Q^3S,F4QN6.V9\2>7QKHMH K^ $ QS\2^3O?:D/A+:S'M?J$^6$/_ M[S^Z32A64'2W2ZG.%#9792;LS5=*@*"VSU4AR^"B75(Y>6/@0#PYGPON5F M =Q)/>0 F%EEG0;_;SFS8FYF$JGO]E6>F2PPQS2?=XV)@40)0[)JVJ!@_9A: MWN$=']Z*Y1]IQ0RGK3M85/O VQA5=D([;@&?^:A:PI?>)0>'ZS)@)_RR/5Z] M%PT2 -FS1@+7QDM![)CV4OB1P3ZX@_#WT?$FKD 2\=-88/:INK]+G,]FU/EO MBVMJ1]*J+HG8/ZV;)I-UU*IN1TG3HT7['TJQA% ?5$BOU=;%=VQ$!TE"=CKI MZPH/?[L]CB!E9N0C_V.(=]2,F2N$_]7IXR00Y9.EQ__C\P<_3@:XU)5U]SN0 M_7Y"K$RL(A*Q\0!0O%4J63&Q([HF.^WP 3CC[10?/"ZY2Z7Q7C8G%RMPB7Z) MG2.I\<9'#K)+*Y6T+6LGF33=(G]PKC+V>?Q(%V>XE90LE#\V^=]UT^:_<8$F M3:.!7FFJW826_YYYU>T$0_<[)RW=WHSX\^BZ/#?P"=8R"I\+:. M[@Y"@5&P>L>TOW#.TJX8Y=*+]LPOV"753X?Y'2AW**Y(]^_94!'Y!KM)/P18 M_%3?@QHXWKR-D^EAP^>CAN%@7520&Z&L-LJ?GNZUBA>9!$19O2#B++&,[%C$ MEX.?9%;8*G$2?[Q>G_5_B1ARGN+G.=Z\E8W<#%AY)X+? 6MSOZ)_GM,<9V+K M&]8//0,U (4JG1S@J\VC%#8R!E?^$LTSVMP7F#NE&TY8MX%?+G4#3&M7M>+76#+/LP_&@7FZ=5QLN+W$.# MV&MSU%%VO8V%XL/G*5:*?DOCT>N4E>Y-!OR=.A;)XK]CE[SGC\"OJW#?R9>; MF\6-,I((M%S%QA#7ZL7@,6IO06*FJ>+5J/WC!,]!5 J1]>&GYL=/_W$'-*!^ M2SY_@7E2G2I>;E(YQ>NY=K&6ZB8KX- /:*@YK)TIQLJX(CMY8AJ[#'BOS_K/ MQ)$#Y^(WFYOAEE]3H.W%,Q%7D^/;I7-I:>S$<>#AJ?L]/"^%+4?_67WJ\E=1 MV(1Z=4_LA>(#P#]*UA;C 9#$]I_JYOWP_0/@\1/#.O_72[/8;!J+QCSCUYAW MXDPQ91_[8KZ<7:&NEG#09\+8TIZL%L><<_W&OUKJ\U._ (X+[[]+&94#_[$B M8V[?U/LJ^J(;:OL L'H 0!#8O61>E_\Q=CI:J[CJ6C#W66QG6!JN6_X^MCL.3DT!LJ=<=Z&8T9)T^O)V] MJAU)&%EV_K,VT[*"ZCW0D220=)<*TF->6BW#_:N?(+H ,]K7?:/CLW2-@[#C MK8#^Q5^V[C\KOK(4#X"@*%B1(&)L[35= *6T;\P]!$$X[,"_+ARNK7JJ'JXE MY[1Q.@CIW(PZDZ8,'+4;F[()WQZZ^<9M80N\L2ZZF3^LK UR#Y,^B5>P=QC: M)GD M-MEAZ317C\ ,!,J;-_7GTO3HW#^\1Q&(%3+VKEMO>XYZRR3ND;J>?LS M6_S"*$'VT'=C[RYA$T/GN]PSG)?#SB6\D1;XTAK@Z;D_V S?-%Y-!&OYV-Y- M&E?E3=6NC+-X?SMSTXKE&3DU-"78JS_[#9SFVH"<,+$3GI;+LL7B;&\NME$/ M&]U-RB=UK)"6A!A2*)5F[*0(Y0S%=@R=P]Y-YIT)+'EV4;[S*95CDM0)U"G) M]L779;805?[E0:*I\^Z_)&R=GC0Q[;!.Y>4$\;;*PKEX^L3\%NSTNC>>B@(0 M.C>A?T_!.SQ1TEB/Y,C"+\":;>;\@U&UV+:-G,OX57)&1WZ JF;KJ\&RLNR? M%S@I2>&_K[&1/-V\2P+)8E_(%IW250"DHL?/:#D&W4\P[4R LQTUYTO*WU.O M P\UW_W[=6L&.NQON97TET3B(T=]X*7.NWT1"UL)&#]FS"GP_=PK2GL"L1%7 M7[GTUCY.EIW_G;_W_D :.]N<62R8\T.!\MIX'?*7?B,BJOQRM/ !T"W0.)#N MP1ZL M>5\7KJSC;1K"A<,<[QGH*5?V7JZBO@\K9+XM0VUGI%% M,R)RN^GPZL/7/DYPEFDQGE;W/H]%O1IB71.<'WC2WPLK8(._VU/6PM"%'>4T MUR>(RFG^#(U5T?P(\&_96$.Q1O00DH!!Y*O&1]]'^GYS;8O+2,1A['* NN@K M3;M/<$R8Y_^RSC*KZ9@J&,NC<;)SHA0)=EKWVLFG:P>UGH,_944^G568 . ML>U8,I] @31>.5&?Z;@VCM(-##]:[&">/M%BDD (B>/L[O_ M_SEEY/]1WF,F $J^R?E%^1V>+NFA*,C&H _+8RB;"AJE MZ!7(9#V_AXE"F MLN?=GM5'Q(SKL5)*9#26?]MXEBWW]JUH3A1H(N"C3? 0H^).G2BQS3KAGR@V MP"&]C!QA5D[4>WSZC[DXDS8Y08^5 MAJ3A0@(>I-Z?],6_C_IV \&P5@3'Q^ MK-@\6GM8^%]02P,$% @ _(-L6)AT&IPH- X3< !@ !C9')E+3(P M,C,Q,C,Q>#$P:S P,RYJ<&>ENW=8%%_7)5K0($AJ[X MA/CX>'CX1 0$=PA)B$A(B(F(B4G)*,E)R2C(B(G):I28E)J?^WVTTG0$$(!(+>@G#8 5P*'! %SDTO M +GM)S[.?VO ?V\XN+=]O$- >)>(^/:".G( %P<$PL4#_:O7MV?];\\#>!3X ME/<$G]ZA>FE!P.Y*+12W'IY>WN]\0L/"(R+? M1T4GIWQ(34O_^"DC+[^@L*BXI+2LNJ:VKKZAL:FYNZ>WKQ\Q\&,0.3GUGZ#/,^<6_>.$ ()S_T?Z1%\4M+UP\/! >P;]X MX>!Z_>L""CS\>X)W*)^^)+!PI6(7"B:DED_*_=YUET-8^Y#&TFV"B)939.4^ MZE_4_ANS_S5B(?]'S/X?8O\OKUF !(1S.W@@"@ *7.GD13\$_H^0^.UE"O+S MWV+(XXWB-D VVJ&YX5EVH600T<.\_PD*N'"#:*-M,QI'-==5*ZO.-.QPIEXJ M -3_")4, QR[(N$2B5%2P2*MIV,$LQ\I_Z;E&(+$Q%FE**:+AAL_0; B?+/S? GV=F/B%R M0UW;DEH$NV>[3)4.[0^NTK'<_N4.!CY]QRJ>";[^4NK"X4V)P&AO2M#C)U7Y M7_^.8;B^DU__:"G6^RK=](@,P%,S6F-=-4 Z]R1-[,@O\&',XCUD3W[.Y M 0BG&V@BPZ=Y!MA2G!:VF)+ER8B4=J[/UA%0M&ULKUU3O%^,/$\["N@,U/H&Q!<-@?/<*K,M6=+F]VFSN)B8:"WADQW$ =P8")N M@'Y)INWFS)YY^$2+FDQ7HC+263JS,_'I=>J%QPV MX1I[J"Z 6SY))&K@>*Z MA[L5A:/TV#F E )Z2$F O1,D6Y:7R(P;WGQ7*M M7*D9=B19U$SN+6X;. -ZVII'!6>@/P=S'6A$"X:")CL<^P#5$5V5)S3RIL>[ M.@&CL;@[?[IYQW?F;W_#I;*?QDS=7?XJ:8^J3R;[PP9'[ GF97*0H/*EN$#J MJG8A/ZT9:4/?1I42C7Z1'^<UH8;0Y<]0YE85 ME$'7Q7[JJK^VT^L#E;>/%^8SD;5.V:F?,=^46*[@>\GOJD; &$Z/L4^5?D]# MV0120$&!BZ(7L%<:,^,3Q K4NB0/\Z*!?\*CMMVL%WSW1J?PXPF*12US6L(T MJ>YM=H:>B'R$C)WU)T!FO4-7$;$">WN%\4QQ^NM33Q@0'Y5<"EW55M__G!'[ MDS3J/MM&O)8==-)&O'H06UY!^SR$U&B%PO XN#6K(\Z5PMMA>$WJ_ 9P* '/ M9&,>1,:OHA)V>RP6$]5VM@7?'DQV+DA@<=*D,/"LPW[K;.Z$>K@H[Z9:AMR](S_YZM//=S2(80LE^,$2^T^EPD5U+_&R];8+*.!C/\- M?X,GNA'(V/Z@HT>3[)F[DW,#70.95;@UE\.R]7=0RLE9U7,.T>.#O7)Z65TYO-/8]ZW?J?W!KBC:2[*.;%N/.?JP9A'2:/2 MB1?K?C(V_74VX*?L WA8Q#8IV<@K2F=^2O]H?[2SRP"CYBS8J0T1<20?7(# MCOA]1CU;E<>XB44OCA[H3G&2HGV)"8U4"F4[27#VX7V9#M]+AQA8R[EU/CSY MHEF M;ATY7Z@BLBS;L< MIM4\?U!,639>\D/;365 9P]&[IV^'!D7<,^[>:U?E@=9>)@5R1N<6,1/GAM\2(O+"DDKGH1\G^F, M\GN8??AY83MI7N:$CT2L_O=L3&-H:_;JP*:DS\S/[_ZSYTOH%R@_IWP'5IK& ME"O^0<7&.,UG3&O0JN.J/'8F+? &3#UL':WVX7Q>+;W6KVZ?6 Y]AMK<T- -<>FN4'.MG(('F%)4E&>P"J^--!!.J)-!_II)F] M?L;U*TG90G?W9EG!.C'5_.,[0=#G-\!R 93Q1$HSC#&]YY)452J! BY/E[;X MN^%?WEO*HS&_F'O+[AZ M! @<9#E0++N>C#8?%%581N]"N\N@45'+.",!G'XN*(&80'O-J(NQ&/6"/.)2 MU3G>/S@NP JY>WP8:YM=JWZU33]55J*!M-]"U4;4&.>ZOZ_@]FVRWCZ6S<6EOSZGG3[V/\$,"?P"6\@[@:NH@6" 5 1\Y>P:Z'\,1WFM=$34:0:921TB MXK!/7$7_H*G 4II-1"';H)Z<-QK$W-)?R%(OCI==F.RSI,=Y3T?8MUY7M\1* MALA:.[J52SV6IL!NE=5N[]QQU\W5CD]1,E5XGOSG;+&-"IV0XH* L<;> M ,.6:S> O.@&12/O8Q]&X"KE!@CQ+[D!(C0/+6Y#S.%M.CE?=^+D]_LVAMP MC9##05EBN:%&_XKHC1QQ=Y+KB/^E-#'B'38I^8W@EZS4/Q"Z0(<;(++CCJ/I M:84;3^8S@J%)1T'>?7_!+P(_W^> ]7[6#.0W1,EA"!LY>]4)8- M.\:G^1A',;O=%C6&II9;'0EY[0QN<1;]^X*0_:7F=PG6U5J>YH0PN MMJN*J+R=!ZP,+0,36); -VTTI\2_]HXQ[ /PC*E;1U&<,=Q >B=]N8+W1VTC MI0/54"<#UWN#Q8^07%UD)Z258 V6SHC TNBLBKQ0J KSDPT-8 3I8_*M:V0<[-P MEF\%2NZ09I2:55A:^ '91VCY=&&PF;RM>;7-:A6, MI:;J@Y!=<\"O&4+5)P0J:EOJ&U3X+9H,"5G+*Y_V*['I@$YPH['HVEO#REVZ MCTAR7S%E7-6Z'>\'BHY_[-CN5C?QRNRRN4&6"$._]L07JA[/:]5 M+K>I$L:*^+ZG$'19'XVQZKH!#G5AX%OOYS=S3?C3D6\_)(6O[8_[+D$[X8LU M9%NHZE5# *.#$()YQB$+>&$K1HY4,VZCSR!$4[22LL_CCNV:&LK;._(#5&\2W MBE\UK(S=':LRZJF45.--8[4[3GOP.Q+1WH] -GZ/G[)^N](1_?X&L/\MO0?K MJ9^85Z+*9!4SW9O:=S@_Z%2H77J?AH)=[UL:26^P-3&;7T!V3)6B9"$+\&E& MC:\%BU?5TW^!]_QZY+#V4@"XK-^I.2?)PP#!]%P.!A)9K$B9ZX' ]-U)W\EZM M*U/W2NJ\M;D'UZ_8:X^]+,&I:Z96=%H,LQNQD$HR834GYQ$QN-7W!C#Z>[#T M(ENOJ1%9CNQF*I=V=4(,W"%@:?GB.VFVO2ZJW>HXD;3FV=)4$ZJ!C-56"]AC M3E9[HV_8R>5DRNC7UPM)[]6LI3_;3U<=V!F@X%BKPONJS9^[7D'[VCNT\DCE YNAQ((79 MWR#\SLU'E:GV+'$?Q,:+TTF4O^?Y/*2'Y'Q-/:VUOY1XF"VJ[5SPY>.M*&NZ M/5 #_Q%QDQG8<\P3\E TIH,-?UY4+I ]L# @I.-I2C#LDV1V[X+ \L9>LR#:?0,SI9RDYANN?[.E0CW>B?V"' MD4]=Q;/]I"M#/JW3N2YZ5 M#&NK4-8Z@@@'KC:X#A&03$"]&&1;N&0\.\OYK8=7J.ZC%>,(A"G%^Q2(O41Z MO_:8/-GY1(NX%"Q,&'K%ZB(\_*&&I6<<4+HZ5A.25C4(^$UHNOY$0C8_)_]% M@[!9U*M]\K0H8*-!&BW#75P8= %"LZ7HU%[EMW)9AKW3[1#Y>Y0R=O:[.BQ08)=;O*D=R,31"9B9LH )65Z5_>=IK.!OB;<2UI[L,7(C M0=+BZDB2K&<;GE1CQ1?SSHY&Y\NR;X"IE+[O\/11B2-S;*R!7O&KO/H5>)@W?$8@,\6,I]B]T;+=S>?24/ M0K(GM"IOF;DU3V2U*&^+>A&S9H*)HN@'M@&$6>1I178HC 6K<^AS9/\VRK)I MDI_)K]EI0H"*V8HMEL;ES;M]4O?V>V_I4KBEE9SE+E:;2C@MY3B=3GYLS;9P M:.ON#;[1SR6ZWIU BR*PU)0GOW'@RQ\5QM21#K$ZTH&$D3)7@8S;UW<"9BX2 M>F%,?2M+Y)O3/L:+^4P\,=P?0Y:M\R-.6<@"B;RWJ6X=TOO MH@1&>(7/JF]6MUFVQ=4NPILSR7@8L9 2_SF"#"Q;B[-=J^W,FA?7>48-U&I; M^XPKLZ@#__0&*$;GK 8DSFB.(%TNLSU]$)H.1P$&#%Y% 2O%Q&XE:1EO8'N: MUMZ^$@ <57_#4#IQWF5-\]L3@M QG7?J>$S3G0SL9WO#&L\ML"Q/E[ MD[U8GXZ88=2+%N:]Z]%'ET/Z+8E4U$XMSIHOK@!J'.2\G:95@3%-A.&!,]V9 MV 9NOL$,0,--_>VM!=]5VB8T_3-\H4#\L%/-]FC> WE*D5,=M$V'6W]C,_] MS6]3>_2M0DE) UT$AQ)5TH<*Z5$/6FH33-J"*_A,_\1+1*A)D5!J(BL(K<9* MO-WUDOBM]./<6J;,/\C0^\QL0[%4Q9IW#ZFW@_XX&,4>1?0+48=!+D@#O#'[ MW3QQLDCUQ@_*I5_<= \5 H("NR2OV3"!VA@!F^5+XUIUN()05(7I=X[^44-K M4.,& >N'#-".)+[+EKY;B/%U?V MTQ$_N$>A44&!DG/,F![DRFIOL;WZJO:THATZ#?%[DYMNV5J<4FN^;.T3>+KS MAZ?"4)P2^34D, R417C0,C-7:)9&45SX:VVX^RU'JL0:Z-C=1]&4URA/H\^^ MU> 67%4E%P!*@ =S #7)T$]*>O%6Y/L9^Q^;;R<;R:G-R&:GUG_FW5Q_O(75'U;N5BAM/$QU=*YZMM&ZO0&"PW MZEAIXG-_P+V8[DF[Z2@+ZXP75.HP%8F"SB/([VFF3-"M6NAY M7Q36BVZ_%SH<5J^Q2D_F0[+14.@)J447O&;UCU%"/_)ZW_*RL'4IMC4!N:'I/J]!)/2,O!FWRC+5S>D^# M6?P49K#/2'-"6.2WBG2%;+[/2>"&$=SSG@G0_\5 >P;ZZYXJ(^6;,$/CWN?$ MN4@ZE<_96@0ZWHC_\L4)?28[C_X>6I>G):H6I=];8);_W M9]6TK<'=H^<30.?I>IX(T$'$?JG4LRO'^;WA.8M_2H!)V20]CE _+&<_>#R>\JS0I>Y[R M(Y:7ZZ^4ZT)T;/;3TZJ:R*?:G48/\Q+_S:&8N&7'^3V]M+X>S:*J1Y7Y&?B. MO, 47=CQ<=0<)\X^C'^@?:FZ/XJ$QC#LW49K\?D#C$%O=CTDYC,,$^Z4V[NT MV2S:>%])JB@%O^,^(51RM5\S.<9TM%RH3>^/MX.#08:;W+W&)#RH4(ZS\)<; M(,DH /KS_I0+KP=][!#-S[*]GL,P2N: P$RKI7[JCB+7@Y?;C.,NQ#W%@Y$C M(>ZT4DL0ZA._82 M33+JR]@;Y?E0SB AN&1*M1/(04T>')M%TS#)MRO*\_P)[,16C^&UC.Z5>Q(, M=CT((8"M- 2GO_Q)'MBM\#589@RRS;&=!,YY(KNK9&'"=:LJ@-NHXKXJYV%' M>:#^C<=M<"=5"'0$'J;"&/S44EA/Z00!KF;3>NJ#K$BEI)C*O=UQ5(8_M<%X MEM9_SB5O@<-\ [BCJOJ79JN5G66AWLO]?U]9=B0JM>#H)HM;1,H$I@8,F Y\ MEQM%$.4DWZ:9X':N[8ZY; JL9@!D^/C F5F93(45;KZ_A0QZ0CR 2'^PVC.[FR6=NAU0@#I_R4;"8A FU44\ MB>)*4GG,\2&-WI*,QMO<\P98XLCPBYYNT'=,EA V<;)V(TJ*SP'O:-$).%:3 MX N6+B\'+IFJ:SZ O9RTW/CD)GATG##]$5(*.=08(S#U=E\N["]^&\_^^ M:!R1ECA^1_S]@;'JQ$%5FC!W0\,[3_#JK' "LD,4^Q(%14#H/*)(^[^6:'!Y M'M4.40XQ\@O1Z)*Y3J5LPD\0V@UT:0;DXMR\-O2^Y H!CAAB[?258D0+!7MB MO5%77=+=N3!/NS'Z$\<9LOL_:E/F3ZM/*KA%/1,>-?>U3?;K.$;WF5 ,L!UG M?;ER,)4='REY&_YR6TN;D.5/&>_NWFJTU>4TIBU+VN>/JAT#/ M##&76957PW$$:2-9ZB83YL*PY\$^C0RB>/J5EKR=P5O&K SR#?E<^Z5^JTT7 MF9J6[2ULR?M["?J6K0F!UW6O.=E%.*UR]J(;RAK3Y)_=6>!_@Z] N?9&1DJ_ M*G>T_8'/TF[Z5Q:NM8X(PVP'$Y&T#98SQ4[P&,T$UK]6ENDJ;SU53UML*J>) M,^O-G''"=*MOM^3(4KCT,XMR^VIVV*OA&GFD6VYDR3ZTO]F%VKO!#).YBOKJ M<' [-N_*E7,VG[)B%,U0J@(7[>W4^P"6K7B=,Q4EJ2DYS MW_WQ5G]G^]'X@:[(?6OD'DT$O7Q0Z!1+OF@N3+Y>]M[FKUL1)O]OGURM\]]: M>Q!$^XN.4J?(03X&TG>@=5Y-YO-9 MH#,ZBB8L_8HTAV?#)=?LDL220H M>R;63!CU(-^]R.BSVM=/&:].ED3&_H 54R!B@C-+HIMIDGJ+D84]=Q+3/%$- M(Y+GMOR8G98G:)J*8ONT#"-IS_H).4$D)PB:*EVBRTD.X*U^)$5BG]T A.A< MO-)BIM]I"ZO!KT#K/QHB-^H#,]]FT5XU!'!@'_)9K+1I#M9$':(9"[\UAFN\ M^U78P#9FWMW$8Q?;H+H@9R9;< ..2'X5*GY,?8'Q[>/]1(_;M-;5"LVA(I7*NR4_-3\6#CQM4L^T>%&+O8VZ $@?/V9&L[X5PXP,KY K;B'ET@'4BF5AH=U:! MZVR'9H?##1 ]F] M$'H1454H__=Z]7E-]!]^A5*_!)'+X$EI6X:J02C]T/WA MU7NGXEB-&!'U->7_X/ M2SW/(?-C>:,N^.H*?K7@KH4X=5O0=KC.9?M)F .)TY619RQM1>D M8S3):;&:7/25PFJ9^G^B0O5 MF C+3WP[M[PF=UVL?3Y_XD(S+X 6V]T_&L5>X8B.81E1&A4KV8Q*7[?HJG_! M#!]Z_XWZ'KKI_W2?^^($I;(2TQ"7N61WN:NR+3RS8QA(:CF;4=COVOGR7/>; MT@YB]QS5O;9ZUO/9W^%,T]=4GMMH>F,(#\$97=8WR8)#)B%#YFL9_>,JYBUX M=RS(2"JIKG(C8WFCW=CNBOJE:I>[\9K7;M(R-'[P_O3>@YJI1(B UKV M)[)UJ!L@#KJ<(LO6D&SOQX%BY<[?3KMHRR78-'0_7^U0W2(<8"_(/P)KWP A M[GX>XU\^[HF8FMV7<>+OIL)09/2EH_DP/RP9]J59H$CNU!O Z.H#1?#2\=]0 MTIC<$9?<2H1,BE@Y51URY(C;ZVZ7".?"$9S?1V"M0X]HVSXG[$$2S\%$. M:#HFN \K@E'/\WMX^(=1+"*>;U6KW7K4=([Y3\J^NF=MK?9_+H3!92K5)V15 MDM#%C[H@PBZA%@O\5% @@Y\P,GYG3O?046'$)GY A#<2+2/5[=,V'/>=O2XI MQL>OJ$.20ONO*^-C0^LW!;;9%=[O/NP-44UU*:BH_B49=^8EYKZ5^WH==SQ,H2],T$3E5N#JM(C)0>YK3KNNKB44>$]5!Q-#\*]9/K'7S6/:)F=ZLQ\AE&]XXKDPVF9]NB',K M5*4'@;9KR+9;Z6^QL?QK:HRYMU5WVD0U?G/3%?8W\Y]X@N7'4)!ISLX+W5E% M"9K[_JH>:F]Q^NZ?!.3SFDC20%R'9\\-8%V5TV$) M(4Z@"T &T)%\7IGT&U$Y(R!KK47^KHPL75$\V"L-\7/H&?( MNH#8#WSQPC"^Z[D.X@,_S94]X=YFFY3Y1?O[:XWDI;:74N8;H)2Z](;7#NN] M"HVF;V68214T*@IKI-?0=6DS_69X&*^UKXK/T$,P]A=BFH^8(,$DX$*_ML>] MQIT+P4$.5UF?2K=?QL"-I2X+AH0ZHSCR:)_?U6DV)[%1( MBP^2#I.R:KX@61-=MK1XE/SW.YI>G.@QVEGQP1<]E\0:_]V$E9,S@I,^^*SB M!$<#ML9]%$XD)C8I[^4D?5'E,MU,^*H^FP(!3B:3,A VV]I4$I^T+RI%^FS<^>=#8NO(HD3K'Y@X=,]$WHVI2M6KIJD*D?[PTO@@.X RNIX ML2E1=:-K+5GS^.^*_M_H)+#P23^&2TEOJD[),*\+_;#L6:V4]463@:.!L%B_ MEBCBR3J?:(5:'QUTH@_C6;XB^6\(@[2Z0\QBXISWH*)PETQ0J1V(NF[<+?P_ M+UJ)/6TB/"W6%E^07@V",D$=8]K$%3&(-5.^DX_\'@RGW/?5-EZ#G0M_O]<.IKC[$KEW4EY]I^5Q$XI[C*XH*N0Y6+(=[:^]*T*\D-,1) MLN#\2K,,!N$@NSX>'+.3/G::5+=HXB^"K#W%:X8O2V8(=M46JQ-]CK/\ M:WX1\>+8EL6!>PUHA1R8G/1>YJE] E7_^1*'2):MRWU0F<725#UE,\DGVO(V MT["\JH&>G_KQ?8@]WE&_Z] 8P(-$";1J[ MW@"_X1^0XZ3RE CH8VB%V70=SZ74E1&C"E*-V=PFO8C'O?5RH%!+I=Q M9:XIV5[+;M?:O"X,G,>=TT0\/&EU.&*^N..SNF6[-UV?9*Q1'M;?V\AF>[[: MDA I:65BO$FK*B[:NRVXDY*PHQ)\<77(I& *6CX+*Q_TF6DE OF2*?BT4%?N&)F!BX"(W.G1+_J_E!AUQ%\NXQ"MB,P78?A 5S& MOYIA3,0M[(LZU2Z*I+$ADFB:-9=+20Q"]2=I+X]%(&6NGEW!PQ$,19_?OH5J M[5QRW)@QJ80B;=NG8Z7HMU(?/7QS79OMD/J/GLZ^DW$WY8H0N0%V87=&7-GI M1Z9RUB_V]DS3^SKPX#XLA:T9HTFN+H[ES]0(E^:"&UW/9W!*C=WLBC2YJ5H.1B)GKM/G5!N9>"O.MZI';<3-0![[HP3V2])<<1P +&NX)O MC_T66F2QJ>-S$&*5>.FD\_OS7Y=>_)>8F>$L,,:E!-/RK'G*Y@,#W\>/?/D: MMAPE$EOS!DM+I-*BX' _[N)9!>LT,#MOC7PT'3R1C$PJ/CO^VT M%5W]#*L9"!ND##H9L!@XH[F8'V2V".(8G^% \:QXA;?S8/PVVQ]-5-3%X'KE MC3;9?;[<7'K'-$\A!XG(4T\6)B,,=AOJ6N]H&S_D'NBS]L\GLCZOCP4A_&X MU=P#)'9D&UW&7-^-6LGW6(/0>X>G M<[M8X7]P-&A-:/OFD\4!&VW7OP'"B5&2R&V)UQC?U=3&US8P3.HP GH0WA>0 M'- #N^.1'7H#$!?"*'X'VNX8U2W-%C18-:UJY;XTB1L3KK971=\&]C#C^!0VC,QE[#= ,P%&'QPO39R'.>A)S^#_;L.RD#GO M1(4K9"!MHZFE5%)9TJ^IS5W$U_.%,9WZQ*Z06V%!^ BRZM*3:;S2$%LT46=G MHQCRFD(#M67L=L<=5FXT%G&R$#"J9JK1/WN-U& D M+M%_#M4S5_ ^>-]AE1W9/%4E6ECW-XHCD#2\ZU7P#>!:33!N$&>,P^U'"7_V9RG,#*\) M4X-B[.DYI$+;VRYX/-HX>U.\Q(:6B%(F72 ]7 MT,(-/L%MA(8M 7YF M)3)W5[]X<,T59I@YW1MZKCVAX)'UYA\6( %=<2]N6[C(T3?E//E]1 Y@G3U8 MR(7;6H/.0KE[A*)NLD>RH$E2WF#XS/%=.8 ^Z/&:.X506KTPVK#!H; M4Z),F7(IFT?".!A0BM+LC=@C!;( MN6)EBOWNHP-Y+Q)*0NGC)%VE\(VDN]4=&52-?LGUBE*K53UAW2F=J[5[5+17 M3PFXMNU @WY>7QVRB'\ZC7XJ,_DUH"K^V9X[ZOLQ_V3HP+E[@D_OS[J8/0>8 MY/6V[V_P_?W[0E3G,]5V'370^&O!;3*.P['W3N91\S%IR/7?O7&U-B'QNB%D MKM&[Y8'+6=ET'CR;>WM^PB*TO^?0%?+>.28^:^[B6RHYLJ]0O0>L<074Z :C;E_M_2 M(I8?#]Y1X 6(E5[SXKX;>0W!<*9'\NZMJ8$AVQ.U\#BD8?]OV5:*H+>4+O3RDS;.@1N;^=MEO=4J3 M**WP4*?%_Y\*:]!]!GG)F8U(++5.3Z YYNO*B+7 C]*M*L=A GUYUPO&*PH. MCCOMFK=J.MJ;; V&T2G$1 \N%*?+M1O:'LWP?I.E^;Q)-G\!4BN!9&A1L2"M M)$A#[#T"R>W1&?O%U#,\S,GTGJ#LC_B.V<,_8RKYF=UCI]M3\W\M!J!]7Q5^ M>(3=;Y(9.Z5Y0>:SN+VXW*0"LO'1J[J''XWJ>2)Q$7BQ.45#>>W*6/90 D>1 M>[*)W)A?BA8:5134A:K9K:V.I+]_%S$UTW@]VDPX?;KR1L M%K7R]'W*-JEI(&![![^"[U3]\GI^_>LJI[:4*"U!O2YCO8V.@AI2'I(M;[:Q MU;@0_S#'7SDO;YWRGV;$/T';G-'H(0Y1Z!21>LR79=LMC;P@CF3"OXHJ' :* MRU])0DV6WLLR8^"]B<3^SQ1JL^[%/DRP@,@WBDYI@S*BY(4P2:K:QL()AV/= MMVX3H\B9H(J\%ZR''7]5&R9>PJO)WD):)@4>#.VC5A2,C[K[8TB?C_JE/MM_ M]:]* 8=(K1:N$VM(BN4%>#!3 7@PL?EP5H9@7>U_GBL\>-AY4I@71%XB(R=R M>_=MAJ:>/QZ@6_L/']__.P@U<*K2;BT]O\*[H[KJ?<# $EMSW?'5VO&=0-.Z MTWN5+@@SHHEV#HR:]N'9>\<4K8FJU:-]-C/7J>:D M;V=PMD/VX8L#)L.63&B_$=\APVP#;?5SS:D0I2TYR+V4E#&?O6L6N\##%.^9 M'I]'N2[U2T]!8+1:W%(1?$H4]HMJC3;EWM';*R:=EZ-.'H_#KBD?W0"2)QV_ MW='JJ,5(E)4:BB[ZI%'$7UC%,]UJH4]JY &2^F'<1^#N#RYJG M\%]RG>*XE M] I$$J6/9;C)+>30Q5H@3V[HVP#=%H,GG6/(__O=O:S3M+AUK7*$=[CM_N'O MH,*OKWI*#=7LW2G'G(1$W!38(PRT'^O&+XA1PRB0W 8L9]-OB8E#*-F4J.GISVY M-"._CO4S7@Z+^NLMSKYP$8F4@I^PH%FNLKV M4SO\>_8*I1E='I_NX>^$AALS!$[GT9$,KV%4?N60M;G#S"84.ITGMA0DH^4" M;W[_7U!+ P04 " #\@VQ8'QWW(KN# "AF & &-DB@"4J5W@@*"5.D*2+#0Y(,TI1<5D!HB M A(D$*1W! 04I$B5+C7T7D1$I/>2("(]00D'$L+PG77+FGMGS?W>W]PV:]V= M\_QU]LG>[[O?\CQ)5LYFSU:!2_=U]'4 "DH H#A_ 6<+P%V BI+R7]?YH#Z_ M+M!=N$!-?8&>EI:&CI&>D9&!GH&!B9GM$A,S*S,#PR6N2ZSL')R7Y'FEHZ2[2,YQ/:+@$4%)045%24_UKU^=W@\[O M ]2L%]@NR]^F83=Y0GO%FT/A=?)'.I$[-=V]HZNGKZ]\T>/C*WL+2R=G1R?N;BZN;NX^OWTA\1\"HL M/"(R*CHF-B7U;5IZQKOWF?D%A47%)9]*RVKKZAL:T4W-+3V]??T#@U^&OHY/ M3$Y-S\S.S6.P:S_7?VW\WMS"'_SY>T@X H]/_F47!4!%\3^/_ZI=K.=V45)3 M4U'3_LLN"DK_?TU@I;YP69Z&[;8)[1-O]BL*K^DX[B1_K.F^**)HBN-\^F*, MGDM4"2.&_Y=I_]FR?\^PT/^09?^+8?^K7?, (Q7%^>%1L0)0X-0L/U8"^&^B M SEU!JSF0>J6(]:.D;Q!>.C],-O8=9B8YC^[+@(E LJS\0N?>'OE4^EO,]ZF M9MY?@^[RXE8(K\:D_>#1FM)UN-TBXMLZ"ROQS)\)K?'/^ZI%RO8,OY7=V;=- M;G*B&I>HE@;A1&.2#-BZ:N^^R: MB!4_75="F;\+0VH_\&J$\\_2RBX1QS>(FD(M*[J!5N6 >WF[7 MHQM7Y$T1/UHBNYYIW3\9;.[V'F#ZOQN#. %;6:AP(ZV,&91[B,V+; TS2L MH.QMIO5.?1"'&%C>Z+'^ M7L"5[/S)9L'H*K'YXD6&@9KW(IYA;[::5C]07NOD/P,\C,([ZQ+([QWQ[ ,J M9$CG9+[;;B77-';O6<(#U=K;_+77;E*\ _HM*5\V K=>QF)(NOC>+GLV\*GF M%?=EJ0D9#8[I87^AVF:Y9%=:DS ?>G&,.=AW'WIC7DO_#P<@MU&^;2\R*TS1JS;P3HB]V?:HP$A58%/WQ5N"/^@M=!& M^ ^P+,!7D[H<."%,B+7!Z Q[[W\Y9L:M8_20CLNFE,S M7O* #YP!#=">ZJA!A[-U_])LRY8K97>6[W(!%E$SFV7]A 'FYO[)/\$K]0',$= MF4RCF//JN4?@&FI7'C=,\*Z=\.JX M8N],:5ZHW-WWN<^2L@-KZ.[J-N4%B( M@]6LGCW- >]8;6/ MH]=?CO#)'SO=?2,_:L\$O!+D7#^!["KC)OI0O W0"#Y4S#@*OY^OT 9/K#"VH? >]J!S'B+;#\+_VT#17>VIE6U> MB/:50;E]:WEV3O]'EVT_Y#J&L)CF=_BWGP&A$<'?3_P3^7O\(1SUGPY]F[DJ MR(;=M5;,:LMTY.\<+AD*,(&?\7Q_<]E(KW#<8>2K" <,N0XKX:EA@W7-A%T9 MT'.6\BWCO_'N.Z)*)Z0G'-V B"+=@A">G@'Y66? 6R:S,R#Y$]56F50L^ B? MU;W"KU3I8(JSKSFM.Z.@SVB1^RQSQ:> T[OVH2Z/<*+N>(BZI%1OQ_7@ M!11U,"7X"?08%-*L'_=;3W#*, H=_T6PI *^BG'AA]93*BHX >&^#C'F0D#;5%LNMX-;K3OAQ'^N&$:HJ;%(_4;GR"-,*@H3ZFG.#4>J%$;5*;WR/YV^Z6R)U8/;#_=7%.B MF!FS1?7"XX+9P7:/JD6$P2/R=-3=J8T?#31$I<_'W)\C%/IC6/UAS)T*ZP\0 MXIDE^*RUW->=+J,7=;'P:+X#1."]]$WI@N; @!(YQ7*%_$*]O0>3/EVKUZZ& MJ'^5^H;T)QH@54 W7)T>F(R58Q=+"FWP]O+TL]R5E>5ZHO%,+UJOP(7_+?O7 M>-\;RNLG1B2.3@)L1C9G?A +S56XK3PA1Q J;$KDR;3BOSKK>\\QL82']P8' MQ=]#SE\=-*<%P8(D/;P?.H)T"PMIW$:K<:)C'M>E?,52J62K%6@_3Q!UKZ!+ M4\C;,WW>=4EK$#^SZX_+P%05K3&PL"+J=E0U+QGH*_Q[Q[/5##RU]O31_)S^M+IES/ M@/&\#N.\;*GW:,BN""VKI1F9W^:PYK*;A LC^.'%TE_C&?K/ %S2UDQZZ D# M:F=X.!N7X%'NR"9?#11J3,'08. MCN_G$Z_GW!6X81&B%)&M1T$%L36F_:%D09M'\L&IQI!9#/!&!C,I1UTFEK9; M\/)!N,J%]HXSX!8I/^>9V=Y>KZJKW" MO]'"WJS_5\_:B\9!^N$WKZ[3SH>H_*[6 .>(6@A:@A]N*;T3SV!_GE0H_;96 MKNNV08G8#62_8,]NI.J3@X$-4NJ0$+$G M4I,YL#6R?F^]K5-3E+G+.;94IE[1D5X/.)*46E\R(-/#B,IN? E3$2M]N9)[ MTQ:AKF? YP:5^:W[G[\T"J^&C;?L1Z,:S]UN%*%F%'X(Y0 GB+*#_:^<7@TD MR!$>[:RXU_N9Z\L+2)M=GMQ]7CEZ'SBZ+[4!H3]_XA[4993?745%3:Z/I7') M?DNEQ; --=L2'KA7Q4 G,KP0HLH!?X?1N2D2>[C/CK3#9821@C!R%]Q/T',: MAMC.^C/ T?(TTX5H,?=#7_7[)Q.54MH-YU'/3&!'HCK#3PZ\AMZ9*G17->=& ML2'+6ZWL+Q:0>R87/$HE>Z_,AH6RW#^4NT2>R&4@R?C@R((& RK&21!Y(R8C M/GUIOM="QMB'IC'?Q@"[#+'/-VD!H8_:SU^= 8-&%* %EK'CXC12'U:$2!1D M(ADH<<>(&O<6%R;P+][JE8C@4+A^^<,E&N]$]_W>_;@<)K <[JT:WJ;[I$JF M5:^VJ#ZWS3AUQ,OA26_ ,YN *:>!F8/9TL>*6H)!'"9:%_ZC>(Z".$U?!MGQ M0D;,%:/8"[CEPOD7"_%?O+0K)WOMVZQP4>(N=DQ6J)!*[?P]LS>^' M!69\\WDVPC"5MY--+JMS^/C;K\?7N3?$O=3IBPK0$69D>N]BP7\VMXM1/2UH M(4K108(&KR;J\]K/I?6 V;GO(R"V'65QGITH\NBK_:1U?/91+Y-DT N;M-:W M 1.5'U+B7TR'WO;J6I,NUI 7_2R:$K@2WUE7W8N:9[E;-ZXI##X8[C-_^8_U M6*$B[5*:^G-*/[Q'/2<^0IA,MP/:Z,M0?),%#0ELB2IN41XR=A3'%AC M-U^X:DC][PQ#M4K#"= <[[$9UT;0Q5"&B/$$O]F)+@BVO"D]A8*WN/ M+TM6]X>>[SD_YER4=5A??+FF-").L +M/F[ELASRR]$/)MP!O K2_A&'U:K M[ER3'*2+-EPG_QGFX5WX+K4%C=;D @MPIN<1M7(>QP-V+MW/P50M7'@.Y(=O M)V7OB\:#4:76)RD!LC0']VHE&/XP"JR_Q'3DC'4ZH<+)0G%WDHQP)7,3=V=^ MXC5SH/5>"U\F"P>.R6X/=G8A(LXT-ZRW@Z600KBDI5_)K/]<_GSK=;=K=%=SQ+;X@*T .D^M,\F"X"_? ,W:%; M/0X70+0UWCY,+"&]R#M(<;$']]WRN-"VM='N+D^^O:9#QMC*0*Y AP!Y#-HP M&D-F_MW!AN=L3 LJMG,_\6KG7$1/2"[<-*HIE(WMD\O\5M&577:)O?OT EB- M"^N!\I-$EWGQ5:FG=?E9T57A##[*K=(UV5^V1643"R$Z'!W,H#8&"H!U_3E7 M?]07.%ST!'T]Q;LYLSHOVEJ-8_>/'=]5F">:_K*Y]R0MD>% MB B-NSYKJ+AS)M@ OS)IW>N(4N3(&;]Q5Z4_)G_^(E1UF<O_/Q8@!PK[)C*=S4&;5 M4+&[@VD"6M.F6GS.#8B7_PQSP,1 MRK!2.7?3Y]%$/Q'LY6"+W<@%:-,?Q='4;T14E.8SJ9]&;/75.(.^!-S1C@,N M*G>>;194'6566CE\L39\<70.?8SR:?0>"4XF/3F-(5]$OL)#2:+!-W!,.955 M;R]>_7AAI/_M1$A9^:^&MN3C0LFR4&+T(^ 2C53)=*<+-/+D*%1#<9682V]] M%Y/+Y'[)/?/!^Z<'UMH>/A<=!4+N##?]TGW*?SF.K2LU$_@"7CX#&/X0C)+J^@0Q'EEP#6*]=$IEO6!?6YL[S4#7N[UPA8IUC:W\$8)#C6Y_U*[ M_5SG0BX"PX5GKH&Y-EY?%#0G+(I*[F'NW%606T[^[IV:8T09HJF.E]L9KD(J M@(^("LC+&=@'$:M0WD5$QUK?"BSK0?J>?)GN^RN)X_+L6@-R&A)6/Q-LXZM\ MZH/DB1S()_B2/BEX3 X[_E>-(W;$IROX:NY=(8F)2M/Y6P^$%2KP)5]J2Q!M>WL&7S8 KAXRC84O!Q\!'^"WYE&"XF8=S0[- YY^E!1B@F9F$+7T[\=C'3?NK54"R%'Q&-&QBOE)-66YD)';%LS\S;B8U/;WL]7!/[)] R14_TP\FY]NV!7G1' ML=4[0!8W*4@V!9;#Q;/NE-A'EQ:&LC?7:5@__#QXF#P;"X >! 9PQ ^_1N@& MP[ )9D89^GAZ4-%HHJ'\8H%\0_MI6P]_Q+PNT,)%]?DQB_!,^>\SX"!MR8<\ M)'D&;([S'9V'-XD&!PG5O IF8;FB,.#??6XPC5,9=D<])KJ9 0UID74T2Z-. M,]8?$DWQ"8:$Y["CP6IH7]/?R@Z57#T^CLR2>6?UBK8QN;1U^ 'Y)*S5:T_^ M@[<6A"KXRPIN++!#!=63?YY'#N>J8X4DO03?A> RSP#7T[I=A^:ENIT5\;2Z MKP/!L 7BT_8H\D69,^"J!::3>-$=P%WZ^('C7HVH!-+A/'HJRG=J8 M\;M _*\'&/;I.28S.#:I,>(]#&)D5Y%XMAU]$0/3)?;C#^A1# MSMSY9TWS>_T?]M.6ONN+I_[-8TE'/;Z)5%4)(]Y3C2V8<,2;X#O*D+;*=J%& M-1_>!4^TG9.#CHD7W/Y#?;-DR;4.D262]+B&"9%GA223:U /.K+$5,M4>'DN MI7/Z)UR2JL^%9H[3,#H=#[OX7^UX!W83V9"LX"&V .L@@*"9,)_)5$ZTN\/0 MFG7-A9ZR].W"$.3=G;)/+D/T>50A%_PZY$]S-/D11Q@DE+FADV;37Y,>/4> M"?%TC'+6V.ZZ_J-M?94_Z]<=9M[(YX/"$ V2=G,DD4SOB.$/##!UVPGF6VG_ MYMKU[JZ1L-WR^R^DPIQ9^&HQ MO; .>'ZA:/CQR:[@-H%EM7/G(RZ7\,K.C,QY!H3!?"\V*!U4[2&/][Q$DY*6 MCNO46XJUU!^%_J2*__-(J7KV"$,34P#2&M3A?-T<5V_=,;3H36X_G(SL65]G MUWB=:3K^3(O?,R)$\OHYC3R.\,!4JF*B>E8$W50.Q*JC2%)$;:N%AKZ1!N$& MM**.X) &0/DSU>%Y\%3&&WOR7&ZM=D+;V,A+94'WWSWQ#'0=P]S?=9W5;6@[ M)A(CVP<@C/?TL;DAU?,G6WH#/)YG?2#128X/V MF2HSL[>6T#F9IEXX Y(=U]"G:96!9X!60[7J*3I8;!:12J@'8:LV^]1@*U8U M4N-RB1TBRNX'B;\P^SY6?\_15<9_,&U>A$BLA+GK_S(4R7@YCZ;0L8KI AAQ4A-DCN"1,X"Y@VYK M/J=TM9-%4,1XLF+G+[$\JJ.YV05='WT7QO.G,.BC"'VGK.+K#ZO&M"&H;MD. MX47W3FKEI*A71<7E)1Y0ED.W^M&:[<:!Y5/IHF>9DZ.LOU1[];(" )WK>M6B MX*/SI&(@VIX!LR/8SE-VSJ"U/*0@+BJ"+(;(&IPW3_$D66$M\Z+,.\Y+XI*T M))MTG^T ?=GKYH="S1H?UMTOJE KI9G]?J(GQSHGZUB'RVR+SB,2>M 89D'&?U_-;B=64;IS6S4Y24*?; M'U?7,R)*:HQW[C15CY\!7,&C#BPD;USP,,8+C5GOP(FE519E=[SUVK@K8-Y- M37_5BKI3(D''_^?JSP\?2F([79*B.I1!J <.;8G;L@69IQD\7'VC]TK"19]S M7D]24+72-(U]82,ND)JJ)2#7LP*ZH\ '?T=!R_,R77).U1A/]\\C L-%GB*/ MG0$/R19I&^3]4WA&JS]N;_!&=9[4!I3B7$MK=+KL1P;+CVL\PE0#J&?;\X8] M2U9V9X#G%MNQ*7-"K4&D^2S#E0Q$![+@#-$2]>3X#("= >';UG\T M1XXZ1C:L@TJ@.\="7OL$?PLT"9&%N7;.^YXL-GP<<^@^WT_L0 N%87SGO*;] MY0/\:([X4B?8&]#:F=A1 ;@_,]GT-<'P>_C!N(S@[,KW57Y&C_"10\69?J_ MK5[\<%PQR\B!+&#X?2' *^X\S$GGDN/6VN\VYR>X7H,PV]C-ZBO?CEC/D 3 =JN#9/,%B(06:K*10)/PR@9^2 MW+#;^%"S^(("Q]V5%&TR2QX] QI9>HIQ1]%M8AXEOULV8GP%^?O-:0;(*P]: MZ[*NUXMFE_.7O;FMWK:S\9GH0) Z U+UP+MGP-/^*'*,]6\-1Z(:4@-_%.]G MQ.F1 U%]12C%;)*D OT%#[]I!K\_)[$*2RDW.1_XHT<3UN*OSS<=C#"0+Y80 M54$/FXG#(%7,Z%R#H"96O=6M$ZU\]6 ](4SD297>#6&!2[J5@#<$9[:RFP3J MD&E0/;<(D-TS +1J,2+X$W+.@-K3$J=EB^RZ7P='NTOH#RX",U2X?0O\4?\9 ML+#6VP$!_WAC1B\B!C'M:0.EF!%H3R-[96=T?G.24VW1MX,ZCGC)-Z]OWWA[ MJ5BUNBE8!'D%E]&?"^JB,%+CJ 841F@J;T9I]._[C\1;.S]ZKZ0?[_W"ZJ#N5^/IL;11BM\3K0V*^%OE_?.V[T^J[X M73X3VR '7C7:F2K?4K4X0C&U+;26V@<4DI177?=3J1TAM93R;*#K] M!R+RERMG)(CUD);ZO',QH>O6US=2OQ.,5BU"#CO#C4ERD\B;,-2JGN>5B2OC MLCGZ7#=$C&LBDM]]$:0LM:*"4],PTHV\6+F HZ %25Q'3.C]$]EFD6;G;?,41E[_%J_90H\N)'I%QW_2LQ1;S@O8LO?A?Z#[!;Q,\T!C?N$Z:/Y&W+0N^7?'@4ZO2FP.N%HD/!N5MX M5QT !+\ESBL&\_LQ;J!&9G+FQ+FO=DG[Q8QP3.]Q15]YZ&W;W>XNRN85>O)0 M+CV) TGCBV(R."]:=*+H.L1S_;+E;TJ$5JI=_GNI*JL@1&J/_L5#R@=:FL*G M&<%B'BA^J!=,T0 _TKX;E8!4QW7L]PA=E1\1:QL-H,G#;"1:?E6H3QX2R%J3 MBO2ICZ=R^)C+K'D)-,((5BY5A_LVCE7LD0J4*_Q]]!G49%>4=/:^BGE_2P&$ MS(\+7;S<$W*['"@V5WCER%(VB%R5VE< 2W._)7UU.@"_L:] M'HH/]/N__]O?1?^'D(A=EFH2#46,NSJ;)@G$\MKI=5,+Y25.4N!=>B'1+6]7 M!/^NQ-:"+G;UN.JD!O5<%I9+B[9SFN^]G=\:\F+O-;E-UBWH)^#*TB>=CI.& M-7'@;T)""10,(P_!+R#Q&XQKCX$Q%;UM@;=YNN+)>MVMF,BU I_2#1P;"QS:N M__K@[V"YFG@;W# .\NA_#L8H2:&8AS"6!;BW+]-'X!55Q>G[BJU?$IXS\+^_ M$O75EZ+2,EG62MN(B00'TXK=7QE%5VN8^& -9(SZPMZ2\U M<'I?IMYJ$E?63"8=)IXXA%' M%R*L2QWA?R^/3:64*M6,!4"\I'O"92V;73P*\_$)R;VLN-?H=L98GE.)<8];-)"&?E"$-?ORM],58YBDT%=[=96;&:I\B=5E M.E5G)S=*"P38:P.X2!)X'03E2O5+?&0L'J6 M2^XG+YG2R*5%W3ZWJOB?'Q3Z2;^#OX.)Y+A2K2?%K$!(^GE@DE$3+BI.XU&9 MZXE] 2;HRJJMVRO#CIR!$X-G?IU$?9MCV2)T,QLJOY]-]RUC7D7A8\3:8(XD M7CR:Q+LF>+<_1=O?9>T,8+>T!$TJ8?=>6=:,'R*>I.DEC;@X)=Z$C/B;>K&[ MEZU":I23PG-H\"S1A3.'#C2(0+,9IQCA(-,_]T-MBA,L%3ZFO:DQ_EK(N'J) MQ=V@,]S^0B=>>S3&JXT;LYW+:OO&96I]/,^CV9M!2_4?L\"G5UV/H=ZQ?T6- M:8=4';B#9=#AFD)66S;!Y3?,'9G]R>&\%=:EZ* MI_)_M"14?U5Y_;H+BSZ$L3^8R8L4?- S8Q+)$%V%3=SC3'/,%&?3EHRD94XL M^]J;YDS]^%Q0]V)=^JJCA2C =KQ4WTE5:AX"WF>.8OX[N^L\X:>O[&%C63A5 M$KU\?\+&&D^7_--)Q&NVV4N/"3^:V&980'J,.XJJ]LM*@HRNCO+5-W(?&=OT M^ZL;8(+NK^W4,;BN1;>@[WR*\OQ$)^H%+]*\ABCH#6:<^CLO&HV))1AR9 MMQJSB^:M&]8/*]Q$Q_L.%O4Y[E";[MQ+D4P!@;H0!)P%J04Z8#HI7/^ 'IC\ MV>7-Y:L9VC6X9]E%;@3_1K65#/%L@2=%!J[K!XQ5SE:-;9XOU?>-NR W/E M3W:9V(OB)XNY9>:D8J5&.6S!E&$SO$N\T@7<\"8AN>OS)M[=;)YG6>+>@.UL MH5/&Y33R'J:YG=F(C20V7B]W85N3%832QOP$WR6@7&!YOUN]V54BG4W MIU./[JWY-,?(\>7HT;2.1JE%A6L$Y+M;<-FS"]%/(6^6+XM-%1TFI-C]GG_[ M^3CU026[ O:I'QN<>Q+G78LDXR(W'*2[7T_:2^:,AZ<,0Y]S4J123U\!5:?R^I M=%=KS"BW=3NZAE57EPK2F7HK$NVB(CU=^]F*,_S-KFEB2,+63Y"V"Z:*T8PI M#9@A<\WDW@'37$35GG6N,?'?K1_W&WZ>\.*AC=LFSUV-^Q-[;6C=Y"O&-A*E M]MV%B,Y5YJ3S;OGM%6T\DNKC+,+KS_!$_2F_V<3N;EY3>ZQ=&ITJ+-((\O*\V0A4BF8%(UPL;84,J^$73UUX"1A+G=0Y16CIGS.0+N:9GL!U^#S1\S!>9&'U9'J&4DCD;X$<\ FB7$J%EC+%6^NYFU9H$_ MM>=$7\[=7/DQ2XW8ZUKJ[WQ2[1\'JY-XP3",$=?B=LXE]M]HZP<9U>Z$D\:8 M"S^F-,=\9(K>&M+S,O4/9CE]BGYX\(1>'Z-UJQQ3M(C.8?BL"!9/#-3U3%@/ M5NQN\=PXCYIFJSG-C"G^I4B2E;-%K8MYDT'UV:I M=%W?* R3PQ!S@"4X\NG[$OYM\&2>ZM7'J$,6%8._3Y(XR M/NT_W2MR]G'*^*SC&6Y(APV-/T/TUP5(X/4PENEI_C>T M= OGAW';O3ET=?B<7.ZHRC:IC^=M9/K50!:U#,SMZ?"O45&62\(Z6Z\7AC&- M8=\O!*R$:@J#XABYD,/6$?75O4I;"0C+8:OK-5T+H*J1.^L0]_+-LN<2GEJ2 8MN.K+5;?+^W MI-SG7U1,[\E>CMY%'Y!F[RZDF_"G\&Y;(; KO="&AQ VOW+$.;'GP>O&>)'D M,,=<+^@:GMW?G]>0Z.;FJ-97FW9_K=]$X-M,9H;3]BIN/*!,F- MI4=G2E/&J&S1=?L)5U)Q+NO"DHU-^GO[S5^LDD4=XP*VG$[I8G?ZIQY\;PW M.9-YMW+Y17&R<15S'GQ.%JKSH:[F@R8=Z&=)K/\X/7HF.21DJK/:I_XICX7Q M7.'%[PLQJI/C9^+M8I5XQ:VZ=%QS7@3^<_]G>4#6'>VS>3D?KUY$+18;U_ZM)UQ0<#%Q[O M7J;^LN&UECTXW0SG12Q@6/H=!#91# W#1LS(>Y-\@>_7QS=B1Q]&&30U/@B> M8*_C<9:2*EM7)'_V_JZE^0 OVUR,O \&8I/8'1"!AK@_(!S#6=6\ZB&CIDQ4 M22UEB,-Y^?9P>#K*-.:P_J"9?2((R9DPB=A#!E0@.LA+M'W;D-AER(]*.:'K M-)'8%7X?QF]G< M8MN]6MNAHHJY5\Y9%[ILBWEJ01^N(D++8YN8.=HK1(>7BV,?,&\QBCIT8+<, M:+$&0_E=K[8U'BR-VW@_I_"=']!V/6)DZXH_EU5!IQ5(LS($/U8??S7&CR#C MH0L:KAG>&=@8MM)XCU7S3.Z8N6##F(=Y32L0*I4]I7F=I(>#_:K#M%;S+[K# M4+1A5>Q]_IE^;^'Y3-;D0)O&>WKI5^+6Q=,VI".L!OY(8#L:9S3X\Q"9NJF6 M/_XN62U_#5*>/QF_&6<]BAY%B[W^9NIIN'EDX_Y3@#[TJ$N(>Q([^;0-MYSL MSU7@E.F\9>3(7CF5#Y^#2TC]Z>MP>J?S-6'W]5 >2VP]E ]UK_E7@*R8>][J&JM02SAAM?.PW/0-%_4:-9/C5/BU]HWNX_8$D MR-;+%:;=:I)VR<(2HK'GQ]91^IWI+1FF],TG5I@4"FDF D'SOM37K9334?E' MDX&3N=2: B,875Q;#H!K!=TV#-+'LG0:56"2^?E?GLQ]_GSO$5-\2)XO9<-H MB(:LIS(#!-3YFU3CKH*?MU\(BI23W>*9-5T0NS07VA=N5 MV>.7WVE^L#0B%=.^$@LC^5]-U8S !1KAV]*G,Q_%]7_:T@PZ&=K@COG:+VDC M[!232GN!]R;3D7A0I+%/;6VMSY7:V(-;35J=M^H#,-%"Q7COY>_RISZRS6$MI ZRW/J^DH*=^;",,. M4+S5/S0OPE5W6X_&[+;IHU9/:8A]YJ46;&IV-O M%!DU7LT66>A7>Y^I$%>?EB"0OU]U\F_'<;DF%RXG:A5&/W,/MYQ0 J*T&Y8( M0>H>"'_YEW-\0'GZ,\?70T]?90+3_]=KWW\;5%]0KG!:6T3/1&^IZFON MP1/![+GFYOH).->@;6V3727,OV3I5G]+WY>MKV"ZJI3XUT4%:#2B=16>B/3& M#0SW+JO@9F)(=JMNAY7WUY'B+-&[17B:7*]N?L. :B]9+O4PZKCGZWR__@GX M0?G,,KJZSC6/Y0U)!N=S3@IY.CCG298U3>@VW*_23]DZ9T#/?-/X8P.7SW,> M!//:]&MCJ@H#FS.OAJ:O1':\Q67T[LIA!B/VZG/I>Z8KI5/M@@I,FW/(;GM. M0PJ+ADH)2H/J.O9W7I9]$I9\/6FB!8& CACN^!V_!,F97BA+@T/DI4'FO.6K MH1#6?M5(93F%Z8<'OB.WO HOO9?-N9:N$SI9)IHUY"*QV#ZST["F"YK.6R/N M+!"=D#11W>ZAV,GK4SAK@\=$_+=WCE>1M5V"?7\MZ!E"_;^-[=%%_Y.KL;W,@A\,U11'&/397\5UM&-MVN%86'KI$[<*V]\; M#]LLD;?\F"$[ U+W,A5I'CI;K"<=A:]'_=8^7[ J"2?>9[V_4[ V2FE/IZ%8 MA6AN(+;:<+W5YTKT8RB/BQ;V3Y+\)_C%_L&1!(S( !0>KV=T&7$:0**5SP!F MY,TS("+0V2,04VF^T/7KX%MC):K$_M;([M-0K; BH0R.0_?2>-)3ZKH%Q%AC&ZOGEB5QJCZ?A )E-K M'BF[=;7+:L%#7=C\MS(T-.=:_6FL,QC 5*$6%?=S D@9G_=C#2K6[QO72;EI M_,C@.J/WF^:U&]4%Y^PDG:5KA?,,@(,%QGR,P;#]_E/U/L*1$))_Q2!V_+MX MEOH!<.UY*S,DO0?3C#$CO #CJA >]W#\"%M7T]_V_'CS$"1<^;#\;H!L?H7, MWA6][!+ZGQ>OKO IM#[Q7VT/ZM4&D# ,--3^YJ2T\A@*L\)AM:5VF)Z0=^Z2 MZ$,9.L%K,F+I?AVA3 H\$Z>LT2H'7&[QE3SRVGS<<_JF[: (?)_X__L6'O3-1# MNCK,G0&KY(:U9Q/,%9Z9=*8T64,1]FXI' &%W0=8\S=A_J_#_$%O7R>OG ;W$^[(BIT=SXK]*GYK_+6&:;'$0+E&]%S]5&-RB?R= M1[E'93,N[5A]N/22Q10/W:DL M16SW3Z.#+^.],J"19P"Z$FGD7[S9P9_(0E08._=-#9*_-MR]LW^H@:B?=K1*:Q60=>J32S M^#7A5Q8NMIUQG3\?XW1/(T7/@'&&K\"61'XL\#\2I#+P_J1X(;HSX'-?[LGM M #OM%V39,R YK!M"X$D] _3D)*@^_;](J(#\4@]3)6ME8@&''SHY[>UJ6/UJ MF$-FID8P!YYVQ[\4D?$/WJ'/8%_0+9_;LIN@NK^C4_+_IK3JD/M9. MO'N>B8"NVC)OT4EV9,W9.B$\BN4Q]GOV[ 9EB-*G*FI2,.@&":N' MA/WC(']\\VW2\7UT7<>%^LAM*?K@N'4E";$TFW622RWN0%_UB4"#E>9G"MZ]YR8._'1C].J/YICIC M.B1.,Y_ )1?=A)@:X2J]!D^^#JO[MK1 5D2&X\^ YQLD0[ M+JJG.97FL?V"!9Y2X*<$9F?7TO]&IA;B(",C4VZV=U5#7M0#%]8=87(G]$2: M\?DM?=O4/8^Y3WDT@WS]?/D2]XPY'^D @B$<6Q)YE+'_!MIL"+VXQNPUEA A MX<]32F< JSO7IEC#N&H$;!Q[,F]9HB^2_11Y'!U?]OVU72S-?"&VO3@6('WY M/-GF[4.41$CU0'#EACEH[/KDWX"VH!($_=;JYCQ'OG)31^;T_$4Q;M6X-^ST MHA*U-Q])3BU"(H(E(9>@&,$?OE VL<4]D'8*O#A,-+#_OL27"!MZ> M/4_$9V7)CG+O0YM&AS\+Z6KXS%O(8?>/>318SX G,="_H0ZKS6H\DC*N!TU\2A/KIYNWB)X=F%Z M@.7Z>KJ.V'IRDO2>@?R6(? 8>0,TX [;K_([]7F8T=^AVF&8\>ITYPF];O:* M2V.TD\U"V+BRZ >:ER^/RW_\1ZU?)]F= 2*TH= =>7'R&WL+D_^#;E66NC6M M4EMO9K_0?^50-^UA4E=FSD5L2XQSY+UTE=^_NU^3M %];5UIO):B= S/X4O* M G1G0^M+/=DG[S/2+1?E(;;&%_YO.V(L68ET%QZ>2]?FO/:PAB\+1.DW3TX/ M%1V$_Y*8Z^'N7OC@> -Z?U=JHS,^6"27D(#SCPOF0:I'WC*=,:]M'CN$\WQ= MP4N.'UU+U!N+4K4 V#2:R ]%CA+#8<(")7WP^1)L1GLOJE'"7:UOGR,[#R5T&2Y3WL?O0@E*8*J/GSM9%$S&9+^P M4H8IFDPVO,3UK9FU)'X]D'JW.V[>[A0J\^,3ZR!?WI#Z"WWH4V,J$RZEA]KT ML=A'!%AL@;?U&'Z[(A$!'$X. *946G M*RHATR&>I+@*Y0"7M_MPI^G[ S[S"U9SUE493A%%S6E6L3'ICPX^6D&>>Y8E M9;:;$<1!7?A:TNLX;^^U6T9D5L7J;0_'CPBUOYO6IGW*ZJ];KL$(BQJP^++W MC>&2E(?BVQ 6!%6O/?M8I5*VR)V)':7MAZR]<*:6D(*98GWQE ?ZHBGZRLW4 MK-9]-7?YM/G^WC/."Z8,T1B S+FLDEQ\SP F#;G2[Z\6MUIL+29R*^JDFDF& M^CY$.9)0LS8M!AZ6[[0NBOZQ^S&9I:Q%V)G$],J/@V*=E@#'$=[_ 1WL\ ZA M&X+,2=6V&B(3IWR8(O09\.7A1 'R*2Y@J00,TP)CG-I.,QP:U0SQAV? _4:+ MB*0\H@+CH:?0K6>QP($#Z)J@WHMJ!<,P2W#,1#534-E"7(+B-F';1U2B_0Q MCN5T2O0[(:((^9%R@H:8I L@OSV8)[/5G1,N( M5J43:OM?"#I'/W5^0JP9I RYM;(Z.N $=D)BL!F]?(/A?@[,[H[W.R>4B]%N MIF9PQJV[MZ6C;^M/@.T>8]L_]T.%^,%UG!J<'XP:.&'.6$.TZ584%P5 HAI8 M9G _2L#9$^O0(\^;!VV? M?=;PPTOU0IFDA5OQLC4T[]!RZ]9=W85-+:F\!ZL1%"DN@^HFED2+/E3]1A^< M&2Q9.R=?@2N"2+4?NQHJ'9!IT_Y@.7>N$\.TR81;K_\\>FD[Q"]!39TNZM/< M!+R@.%JJ/&T@[-&R-4I(Y*=-(U6L8*,U?+[[\6[YS:.!+O(5Y]/V&"#E@' ME^-63+/[3,1C'^O!GKW!L:E_6=K-CNFB%UM\H6GO2C7YNW#;X-^D4::*U*;? M[GSB%!8*>* !/!:&;#L>()F5*YG"OI=LS]DYBW:F^.7C"C_&F_TEU> MCY\^ T(Z6-S(;%-.>.;R(!_L"I_MY434I:V/_WR)2F6JI:B=%S@#AF]TC5X8 M1G_3NAFV>@9P(^&G1PG!8ZO[U$.1<3TJJNKP_8P)DZ9XC'%B(T[E9N^7U;=" MZ"(W%37F+%B)6[KYR$F3:G!0#86J[ MA7?I4J.Y+,RO&%SF**;'-6M#K< FHD,V&(@.DYN \X'*OS8G+GFU?(A46Y8^V==4.C^ M3T#S=''C+578Z#\SH!M.L1M")RNW@;:*+R;3M;68+LXQP;IO ;IJ;U$D;2V3=Q/L!=N/^_.K<<[&NJ.PG']+8=9 M;Y_3,9V^APG_-+R2_*OE#X-#8U: MR;U\\9*2B?_Z_YF*3@H$MR[H@9&!]F9R,-%D.X5?2_N6\O5G>H"SS_"7':NY M4>EO^C]G;O_O,S%@-"F8T0K,L-:4P!$^RH4A7T8G5T?[_@[CC_Y!^FS7\QQ] M_9#?X9=M2@(_X0B=G<,3VW/BO^5GL.!#USWG'->*?&XK6-M<"U1 MP7M8"TR[B7E+JYEEJ:F"DPW#\_?^<PA4:]"I1=2 MP*/)2%,*:KX_4-"@S1#'6*^ITM2"=PCA#+5!U$K\DS'_]#GEEDG>\1KD#R'L M];>R)H4W+.[Y>34=C9,[E?O2>U=:ZYL2G".QM"P"T;V27WM#Z83_$SOO&=5D MU[6+!D% .DAO0:IT07I'I(F HK10I4,,15J 4 3I35% X:%+D2J])T*H(KUW MDH!(3T0A0@B;9[^GC._=^YRQOSW>;W_GC+%_S#'N'_->]SW67/-:\YIKSA6M M,O,+\ ]KN$%S^Y9,8P*X5GUL9R1_U0A_O2O9OS7]*DU^9UCC8Q2%F0'I6RW. MP,W0\OYP!S1=>6 A02)NCF#S]:0C/<6'Y*W1M,N3^#0A,J[AF6@J 3(=Y-#' MY\H[GFB?)79=]=U=#2J\,]_XB4O220>\([[K@G=J,9[0P/YA<%V&IB24F%J\ M0^2>@LAUBPVL&T]#!*P@^P?\5L6Q@"_FYEIC6;>D//P$D9,YTF8KI#[??+JU:V3A SG6[++G\6T>U%L9MWF%ZW M-M&FF)C-N4TZ6(K7KH/)IM9&,'L->[JRKUX"*$W:Q8<_&FBV^PAS&MVN]_"9!TDBB) M6K;9XOGMKZ&.][LB6HF@IT&@W^GYCI$J4S\Y.+DZ13N-?508L$.:7:]X5V\P MDTP_ME=0,\)$1G^[A;O/%J&!!7'KH^T4%C2JGK'S^-0XDXX_O@2HU\P'GQ:Q M2X7K('E%)PF>14M@%;IR<+6GI1&<>D34PNHC[S=U%<897EJ US\,_;2N 4I45&8&0-42O*A-4Z>;F_X4T,[/S_2O&GO^2EB"D%7(UWV>?KW M,3K/A'51*#Y64F3./?42T+'GD1'B?G%12&="(7]\"3BHP6D^PBE^:>@H1]*: M&F.S"8*<7&OK^-[#KV-35GKESZT%4XPDJKA(FE/>U$X8\KV,)CD1Y&Q.G:EB M5FSY.;3**&0A@B6OF?\>F'<:(QVA3.#TB>64_M(-[!?I8[ONC+6O]?E^%:^Z MV7NSD:MZ<'W=F0B_* "=^^]? K@&"0B"IL:Z$QQX#HI2MTCZ6:>)"4<0VF&: MB$M :^>>[25@4U1&GR#HP.5X3KR&%5JZ!(0".=;TUD]'/.]'8F9(=ILL,R-[ M77$OH3YQO#S.>\ 4V[H]1_J=JW<0G+5PJRZ2C:J_MS^;.O95PU8B(,='TQBY MI\55P $7!Q$XL'+Y@AU3@;3!%PKCIC$F4X0ZC9!#;X'6Q*=??\1(BVTVDB2A M)#0]E\\C.:$V6CC+W@(V*+\TH]V(LV>EU_%.W?.&TJ9Y,LTW@0(D#3>4E]/$ ML_$7V#K,>']!?,'B'&C]9=/Y,L349):OOK6I@U8P:][/!+'SXFZE\\BXPGA; M%!VY/](FXAN"F2@$>X E+\&!D(8XNOBBW08OMNVGN*EITY9F MBF\9"JN-OC=2-EYKJ9^=GL1,_>YL;UJ/#W4=[ZNQ4) 9EDKEK_WP'%.1?X%X M\='_73YG$? M+WCN^?[!KSVK&HACVM(2RPWN.X7W=7D I%'JL<9:#(N+-CMSKT$@;9:::LIZ M7;+;C ):=UB>^@)( 50Y_Z)?/I(U%(D"'&EQ#_8=)2@@: BW_*O'P0JE 7:2U7)5 M9AJ3%:M#04@(@YI/$)\+ML2?6RQ#ELA 4.O$>A=4["Y=?/72D,?1C(35K!4) MW]EP4O7P'XJ^KLH0_.;W[6Z:=<_3:.[#>%:,7 MZ2%7T9M$44[_PF96@IQ+!DA8)- +[X 9>UGIA85&]LG8XKGZIV!5Q=!7$K2^ MR)@3ZP:G#MM?,G>YPS?*DWY5CN"D8P,<.'X<[VCP34D$CHKY)3X/%'=IB],F M3BGQ$?FCE,:3-($$(6P,:/)7*G2/C;.LANQ4(2M4*C'XTU?#"9-ZGTK/.]K^P>XU'MFA+I^8!W13>U?NQ[Y[ M_Y&#X[P,'H'OP9)? E"G S[7H6]1I[&$X/#"Y1\=>:DSO(PX&D^A=U-&;I.4 M&'@;XR"7A)FWU<"-IT,;C[&1&[27@#Y@RIH\3J1/FAJ_.ZC5-ADPPF43R8:/ M$PE;+,G"E3+I._LZ9PA9.R\U1),$?]FL6_QR1^!.+:3*8GU#^J)A^!:>VAZ;VAMT08]\^KPMIT7)]?M MZ#,3#7"G/BW-9A1)T&,^;HGDN6Z%), ?ZI-HW/S .O4Z00$[VC?ND3,&/_'' M)Z.V%T=__S)T#E3,DF@FK_63Z*P\@Z%'Y4?C /7:HOWPYTCS_038.8X MR[X(WIDF6A/TM@D.&&U=GH3F.& 5Y;>A9CC,=//7LRKZJUUL?W(# M$;=V-[T_U!D??0FP2_IJIR&>Y]]G>5:025/'-531>E/);N#V,)_[%C-@&.') M<\T@KVF=&G\UP;X?*[4W:LQHMR=!:,KI KN%T])+0&P59A2<2HHBKV,J:/=' MIX)&3&*[<=0K#TLN?KP\J;,LCE(K(#(6I/#>O@2\+D^5 UY?5K2)I-YQ.]G1 MR+9T&8CDU&,M2^BUM%7]PSPLLJDX%D6(?\QX>9B-'= MH"1 5=E.4*ADB@(H_".K@F_MPL%!B15&^T=E(4 C4PZK&WA35\Y3 C++HT.* MY\Q( GPB?^L,%ANAS>PRD]8WR#0@:%4%_ ?FS?_Y)$:\XI\ #A#(@KX$, A? M3=HZ1IG(9670 #4R;F M20F7K)W73:?!IR*!_;]'\J9MOZWW"Z99)^Z,D5\%T@%^]U_??S.0S.UQK9+O MRR,5@"I5^/])Y$4>@/X7'V=US=M>%'8)H(Y2.^A[1SH3!Q.;DQ4Z8V>9E_M\ MORNYA%_%TU;N+K;<"< W UKJ8O^C^;.ND9/7^ E$XR6@YP(\,%K&8[4HQ_"1 M5O$M5=>TX.UCPYBMOAH^B05!@"]M*.2%)@M!M!:Z_ 54EHH:9ZB+"P2_HV;Y MU2*S=D\O EJ:2/SEW:ZW9![UO.K:;=(OOZ67(R(I"'3X,/01(Y0_A&"$7DYX M%F,RZ<.Z9WJN:MM#ZD6.(ZU^!&SZ8BYXS>Q8T!4:PE8QAP#;A%.C,]=B_5!; MO/0-..8(I@X<<#EW//U)&&DH,XC2Y,<]B([(A\X0%%7J[!A4\420E^,_WL67/!9$MZ>"R!K"2;= M<[5J1@64#M!$-1M_U-%G8)-"60OYD.QJHMY"$,0?^,XF].*B' +PA $NRH3Q MD]7]Y5Z\; ZT1A7XH/'^#LWLBHO/*SO9LH;<$,7#USIW9#YY]+S1?W_G(";] M#5SF:C9-NJQ1IJQR]021AO8I-76TNM[2TL;>IF%HRX%\^OM'6K!F]]R4;2%N MFE=N0%O"O_L0-YIX!1$]ZG!E6RARH"6+%#5ZF(SQN;FVZGF\"W>9#TKJ/?/H MK8_Z8V7HIF2+^IK_98)BN:!1.EV.GA7J\!"?B2Y@^E& S8-^GUK;!'']F-F9 M2S^V\9P04-@7)M0/N&3F)9Q7PG/1].F7 !HU$7>6N68<6V^.>5.#FLQ(2(W- M_0:#ET;%AW[M[U28* 1"MROJ%"ZR$*ZC0%1D;SK9,G3ZRQIE9$(.3_G"]WFY M&@4.5S\NV7Z^-@\+X^_JI>FGR2_ JTUU=)XJ+!W+.QUV^0776GXGS:WR/UHK MO$TJ1[)-9+\HA[/BEP+Z" M(9HK,*1C552]FOP =-?K]*;M(>%7I>7 MP*C^OH?-%C^]89)=M^= U^59!^V=VVGJMICO)7)W=K2&. /5]E0&-PLU166R M:4H[&*/#8]#K^X98(TQ!(@+%CRN(>MXLZ?ZQOX9=CS=;I@ZRF#.,*SN7/?[D>E6LO( R MD[RD'UAP:;2S-[V!CYON=7@&WL;Q[ ?-3>@TM_Y;U7_LH&N> MI)QX11*IZKJ4 A5FS:CK@T\L)LF+RLM(H?1C2T=L<30U;Z&J0WM0MIV.$".[+X-'5F&S#_=R/MT&S-A>RXX9+E M3J 78\@M'.'Z:1 @9\0T79/>LG,^)L#(FIW9VE6SO M(S%_\1I[XP=1IW$1MSPF/36$)^0.@DWBS//%P>H3_$/8?5E&RL9*)T*-Z]1]IRR?",XX&N*83?Q895XI .; M[((5V;6Y?E:CW$]VL_QQS!)%'X-='\DJJ[U6KHY,<+@^WT\4;,7QOJD%4N]- MVG179UN<:10$GKQ? %A8YI#GV#=93F(P(/>E5Z$'YS MDF!8;"=YF%X%T@WS](V/3]*E*5_8^*G*N5 WGKZP/8"X"1,JQM=N(QWHU1PC MJ$;] OTW]J@7)&H%FZS3-A0N:D0\F!X+KTN/KC5$RYQ6[4J3$<)G?H_3V9A& M;J1Z[5G';=IXS87*O]NY^*NZ3_=N?R1/]5@*N4&<(;2YJVNE7\">0LEJ:VGSQ(U1?O*!Y9F9\<3(-4PQFJ. M@%E-UW9$SMS:O-EK;DCBJSK^M/-\>?8?AN@H52KQ1+9(AM^4729KT M3E!K_F'87"QI>L9JEE),H_#1AY98I3]63\9C87:A:P)IQX/2X.O'SD;AP ?1 M'+_Z: S^E!]/N0M06;^F^RBV'44WUC6/"CZXC@(F$R5QY?$P=3^UG/A8Z>NE MBQ]8G-NX\F@F& 9A]ZS*$EHHQJE3G,G^S!_X2R=HL!#'SNJ2FPJ8H05F./IX MB3E53X&NUE;%MT9R?M7SC -O!+]U_N37ZARB8LYB^7D4$_ 16]!O^BJ"$[O> M>PE(CF""S]YZJX>(9 2733CL4#"M-,F68CU$XIQ:]91\^T(6R6YJ [MF)*?[')QP M\XD0U]GWAM2=2RNT,JU9FN[6CKXD%-Z+BJF%SA0Y@(/;M?)JBA@N3X+Z)G2* M*SGL#MM3.QU]0\$9O?TLBT0,0XL2F3A)CUA8HWN?C4TDHV8N*MS$_S:$"2CV M?=1"\\Z6MT- W^=[)2]N7W^IJJ4$X*EA&11NQB1XP]29B2Q3KFD[?E6V(+#W MB./B]HAERQ-9#!GP]3;?RYG)63@?/EEKHLNARLN>[IPG/R%5O;K!ZP0E76@V M8$C-37FO^$CUG#N0F63=;'[[$O *%HR1IL$?(2.;(NJOV> C!X-%R\%++F?O M!])+C"4>>T*V0D)6& MX7TGG?9:IU&XU6 K57JLTPLK&@:ZM9)\Z$%1B-L;_D3R[\&.E24S;Z?:E;J M:.J:)]HS\O1N+=W9*H/*U6>E="8.BK7&*T#\7=[SLHR4;FID;I3@>)9 M:=.FDZDSC\=%=.\G<1_R^=XA!_QBL1GD%<5%O*D +4!M>BCZS$PY@F?J JV> M/Y<<\V72N]C<2G?(('5E(+8P6J'?6O88_\J MK[N[B27>P!_U5AJ0XNR1Q\!DV^Y7 MCKJ P3@<<6-A6$*Q1O:?16=CJ)E*^J M]\GU[S,)&1=1D""RX!O_OL"N2_49"LBQ"^K?CL= ^],0% MW>W0"[XG0,8TGMICA8(^VZE_>5W!)XAV5V7A7C$V_/BG];UE^.KT-VN"?LHUX;,X/RBDUNO0YX MHTA:/^AFR[@P0:XXH)G&2X6G0(G@@&GR;;\@BGX&<0-9X'@JJX^/"R6VO>J5 MV %,!H"<*JP(9OU5I$N:"%:?QR?&A<>?%.'3T1?BR P8/Q:1!*DY+(OI9SW)F5&$*SE08W/F['A?;Z;/7I M&:C#^3KO79XQ+CAV,VAQK: .9H;_4 @=VQV.H/;B/(T3L!VL\&L"E,1^\6$Z[]OH&^XN(.3A'\WS9=!U, $=O''T[^1+@N8:_^RAM M]CW@H=> 9-^V@&K0)C"779!TN:).O/6B1$W5#SN#WPIP8*'E<(<*)OQ@T_1, M$^.=SP&.GKWZXXC>"6?^C9R0U M7&AUZ2N;6[,?JKR^04)K([<\R;Q'27" @FPSA8GD@-DR>]=>"5^DD%X^6DR0 MKB=.YH<(M#7/PTQY*D%]U_9?=S&L^*P8T58J+;T(X?")BQ^H&F>YBX_MHOB( M!^\?LM)*V*_;_^F_$__M[;!QT6?3(2.2]&QE &^I+G2L&6LT:'^GY7$- 8)3 MR!;UR9>FL++:R3KW(V@\M[Q)>NCV[ <%: GK\X66ND?E>U4E" R71KPU:SF7 MP'K!1>!=*5)WK.]G9-3-Q%&(61TLT=TFS;ZHTO0,DU[#(2V$2 MDI:6'3\/:B(#):9L32J#WQF@8/RHO*]\?"WZ*1$#ZZUE];CX?@T^;&O?*VQW MYD5[FD32%<06"\ M2($+$)3P%ZXX_7Y-UGV">R675.]G*895IST%BY M)E \V90*NO1;HCKV;.RFEY+Y'#3'&410)?N"QI"YFQWMZP%:CK&5>"RFU8E)J8&=ZJ^K;!5OYNX+F^"0>N'JZ$_RJWB3RR]2OEA!>C6J!-]$W6W/=''^*Y9'//6BK08NZ>%P M Q:NB-PKX(#&89Y.]P[RYEW\]=H#FUA\]WTFJ^JPX)WJG@=-[]="&:@NW*\8 MYCWB>-8:,TYSH."5@@.E!MV>H4^18B;ZX)XT@XU)]IP9"R]D)QI2)?$$\L'9 MJ;J':M^QD'YRU;EW311["4AM'M7OT:2!\U3,7KNHL^^>=6F (X2T(S64FOXH M/FO0\+3A(QU\\+LIU7FU^=ZA:AJY;+CG#,E7*$O7\^$@V#/Z^ /B1G/RO:R0 M:VG!/I[F_@2EWK3X6NAV(/ &P6I&GCHK'2T='[!,GIG"L(A_H"/GMWE@D6&T M;>$HD\&HK0[8L<_5!?C#N28"5S61_@M[&B+95K-"ZZD67+"(JW4RSH8@"F];C9U^E"PCQ&8B,;B28XX'A&P8$ MHW#PIX/FG)$^MEN">5('Y6GH&RZ4#(I'MXP7J-_\Y7AL+X227@2CQY,(8:B+ M8+1F'W6>V#12SR:9DJ!>,U)AJK[Y1HT<,J]0\;HPR=!RA'+S:"M.^8R8!/A. M\$.-^O0%*4S^L)?HPN9],SL*.8!(UMX?B5:0'>5R=*<0>XJ;:S^BQX/1<6^K MEQ2*,'7T>QUBB+.'-Z%N1F&#IBP(A99X"^-0/S^*#& M$"A6JX<("+QC^E!2D"_J,>?:=T-%&/)H(&H#HU2[E@0X7FE9K3$5?N/MU.+ATV=NQ+?F05%'WU*!#.._DM!(NAW_GNB MQ+2<'=4)^E1_YM?P :;+O/7--YJW YV9O:]]Z2EV[)$/\RD/GV5PE%@[O7F@ MYEU8)7 /?/U $] M_F4K^FX<.?P]F?;6#X?*@3+DB XNAZA)01:/5\^R+7#>)PSSN:&^:MNZA M@4!*,XM;!9DT@Y*C#-@I6/;>D6RB'5(CA/_HML:HD7K[G0]F;=NW"<"9)2MO M_5+]R/V"SL^N((% [8EQH%GV6+I8O>@5R3H>+5M?\:Q1K>A9@6SJW5Y43LDH M5XMY:2?)3#*"%T %O]+@7!KV0?G0>H9>>]"_!>9ZFOK=>?:CKZ(J]V\GX\#_ MP"3W_U17RE8DYR7 +9*$.*$(!W;A,M.*_$,*Y<;+QI]5KBRJ=QHUAI'2)!]' M'(2HI83E_'YPF[2?2!\QY$"K088??X1S>-5T8+)N/R.9,W=X> [J[+I;(BLC MU3#TI<79]'T*SG[RGTYT_A<(R3#^$H >C-%@&2Q%I*B9EN(]Y8U*&QL@#[:> MW?P:&1O,N\BA3JYG4&X/L\3J%6 ,U("!&)YKR_W3&\A"XTJM[)^N1K2?68_I MGC+=Z28';Z;C1>EC73L06,V$ %-Z\%)=\OX4>JJ'?V+::E)>-^26?YF#3ES@ M73D/EL^)32/9@@"^MBD-T1U-5OD>%!3VY!E:D]5KKN7L[QST @J[5?L^!YBY M;>/ET0";?)C 0)VPT.X(&1IY3=\ $\%1]*ZI$2>NO-R]KT,_ =&XK=!:L*B( MLPO/>3:GK-:BRI7>L2!O\V_,#IL\9\/KV$]W69S"?LZHQ&^KJC)QEBSY_/=*ZG=8]0KF!X)5MX*>$R^KW]$"N;/[@JR5 M]9LP4WCTT7?9/^_%4PB=))O^@WP\I?]9K1#_'_.2_]2^L7][.%];_$]ERO]7 ME=C_7P2FC3E* S)IL$'GB;'W%H_JT): MYMUIUY9TD_&:9%%+*+1'V/Q[1M M94VM+>P#3IYHAG7P)BDTLCQ\NZKUSR]R7@$L!> M0F25RKP$:.2<$F_.7P((3E$J2?]RO;AYN*!>E@R/U*!MQO:!10\2&G'.:YA' M-OA>GU_ZSAENP.2ZQQ6[[I]";$_;7SV$_CU4RB.*Q[HO+@'8^H"Z/[_F$=A\ MQ"4 PQSYKU1CR4.;)C(.HE8?_TKF>6%G#7%5\" "X4CCSW\/7:W8_S ==Z@/^OX+:+!1N/V@;;(%V"H5 M+1)_]+GQ.:\C^ZL4[_%[NH!@.4OI2P UVX,K&FL<=D54]BX!1!G]?QKH"BG^ MQ6JT*$0BXS!J5?)W&,\+2>L:)\6$?""\=_1S2)03DTRG^@V6DO]V("T>79:1 M_];8C_\#-"V"8G#\BO7O=K-4-H,UO=HIV9"G"S_O']Y2NQDB7+:<3C>J8M$J4=> @;^;H3\5^FT0:31]R'A MU=3+/'Z263NZB;Q ^(C.YGU#I?BZ'%?N#:RJ8Q[PGX8![-ZN=?AGMTK_ERDU M-EU9L?GDL_3SP+X6FU)6P2OGE*1_PRB(YH5[OO./^7(0K?6?B1TQZ/ON?9;# MDFEMK4*=%6T-_H<,/?EYD/2A&P%3QMIC;AGNY>@7IIW]793O7O*8[?:R*?E_5 M47+.0-[UM")/[IS8S=/64=X/S%5T@_ ,5A\A5RL=T7Y.F4A%?\RP60)Q;#W7JW#SV(BG M)/]920YNG%,+0170[2P-%%7BDPVG)>3+'EBG(]=1I4_%[Y O6 M6W<$,^X,_W2T37'\HW_@@]5!#_9+1T6(P*=_T;?^.,L\*4=S(>AUU%?A]?ZA MWEGK)LX0GL8/W+-3N%45I'.$<^L8I\'3B']2,T=WTR/IE0;.Q MLY82VHI$(7>##RDI"O$>F^8B1\R.LMI5J1A-^M*L1.C2X?N6T,TW_:6V7$.$ M;NW-U(^ICL_19D/5NS>5S05]Q;?HDXG"N-:87PXL^._TL0W0>+3&I[J%'TN M&/V.V8-?+-%#);M"&0O?)G35!XI:[B?:ZV;ZM@61DA(Y.N:15>>WP;R\R?WV M0@5(SIK:3/G1D[P0=Y[4PM;NL-RL^DSFI1ON=^(\F7GJ;:3V 5:DAZ%_=V"- M=^'(L\N].H*R@S]9+^V&IG\X$1("9;TS!BN[0@-3"AGT!N< M44\$'\Y\/$X.P>:ADIT(><9V]\=H#;0TY5O0T G^S8$]C MJN7'DT&G:3[C4B;]N*!)" \\2,TQFB>N'R1_ MJ<\R>6V;*KYV&1AY]Z@F#M<55_S7.WQ4^S0$IF "Q:M[G(>?7(MW6!._VSKL M*MX@8ZCU:]]\P:)GP"'2[=Z/H^]M_!'JULR6V!0B!WDH\WG&C"C@$\0J*NPC M9KSLP*@C$>^I9+7:(2H@@F$A?BC%BQ[^3J?:U9#ZG'2XN#1M.#7]I+WEF=A^ MIU$067OLR MTFH/3H/+5/5SYIZJ>KN_LI=[_?P1PNN>0.*==R2_S0B!>*\U>A]6^@1[%@U6 MF_3ZEC;Y3I_/B;B"V^,(-P+CSVV-V86=L]C:FF>0<&=_VH/,;T9R; H_;PAD M*0"JJN@X#/BBE?CFMVLST76<4&<4:R>F">]3N;?.T>6#MO)V;BCX$EKX&6NR M)P-F7K8?&K[3VJ+58'A-X>1%#'2+^.WB+P*P'*:!9]N(I/6T!*7^CLLL1;KS MC-64&Y>OC'Y^EG=09I[!_5E0@"9*:WA72YWS[_*JXHZ.N($Y<.Z'DM;66)J, M4?'K]Q_)6B=N ,@-Y26AZP?Q&Q>1@XA&S3Y::B3K>%C-Z@YFN#F5M&FW06"8 MLXA/V6-VYI: G]+0*"!X#8C/VSAB]7BT!P(FRZF[Z^7O/'>:";AXP'&PV>9& M];DZH?]A[ >M1R\,2;GG M,'->/.RN.:'1BM"=K8YO7X7]E6S;0@6J_%@^>K M"52-#X#/7;( Y *"Z: _5:C?!0F_CV[:ZM=!@VWG8&R>:$G]/HSU#$%0[D#? MH;5U"OW2[.>L9.&Z3%LG/]]$R=<6'9+,&QHA&^NL>QWZ,?!;,/-N_-WJ=?S7 MG:94U=YUFOB7@>P':IH0EY^IZHM+DQ;Z"9W?1LF#KNO>RWUWFV+]C")!#L%R MY7'PQ$_6>YS&Z!N0NGT1PXT\>CU#ALQGA[0>EBG$(7LF#2H\8_'.]"YGW*=/ MAG[!X9_L=E7DQS*F[&UM#=4'1L )Q6\$F![TR"9116E][\[YKUV>G(?U):J? MS1]G]&V0[-DBXB/$\0(#O#P=./(8# ^IS03$[5Q^X%.YUVM;$%**^8^/F(SY M4_\S-FA*?8540*G V/U.I,(H896^IWU>=(2A1V!F11Z%D9O2Z^QQZ[ MHK6:\I=E_R6 E B$;MOAGC?L9H'ZB)SS=0019_G1HU@IF,:/'/7F_LUT]>HI M@R'%?M?G4]Z+XIUBKDQ1&L,-^.$-6@-\"@B*00;K([T.:A("PX*)(Y16RNU( MXJ:H/D6$3'WCQ-S@*X)S(?3T?KPU=JR]#)^L_^&#TXQ<;MMAS:;8@\_6 D*& M9 R^4+XD_)/>-<%PHS[-FQ$">\#KA'MRX6Q:N=K8^%Z/KNN15&M+X1VB77]6 M]PDQ$O/\HFIMI^^=C[G [X)\"C6=PH%/&_#NM;M$@?PS!S9\MD/[?/-0;1/U M*B\7N+TD@5VRN#-)F5?0 .-PEX8C)J_O>Y1&S-\;>.52?KE[\4YK:%I)\/6X M D_J%5N[50.!)/8)UN!@IVL5@ S#+X"<1GN!"1#IZ>W\1T\VWO-N1.MJ2 M'A[I6NII-L1)_*EJ"!^].0@ NHF.KG:)_@#_'N*B4M;MBZU#E!+Z.M?1R M!VB8_MM^HDH3-I!8ZL]26ITH$?I0$@(1D!AP<1<:LM*Y&3V:%#D8C)/3H&QO MFH;S[LI"6]$F[;6Z(>A!;-[W:IA,R9#9MZ')'K*,/XT+2XN5?=>BGWJK.I-% MA;_QPXGW*N3+-V,#B&*3MW"!,V[@\&O&>BR(#]<:68U>K#G35AR\;NNMWP=_ MK(MW;[R*#>-/8O'!&ZN*/41^["#RB,KXX^XQOLSG^JZF%TZOE"6GQRW#5K)V M02!:V#S+*,[LCG-O93W0[Q^UJ+:'R3A@;X3@O'PJFP%.+[D2S'D7,O/K7/(> M1ZV$B4$?KHHU99/QF&1B7M>!'MHQ;C$;(0ANS0?@P6AI^F'%V-\^-&/RTG3= M21[!P2JO'G^<,Z9*D,I"ZX>UNUH6>-VK@_-,B4>%>Y;";+%2G6A5'_H=N!SV MI*C.=JGT%Z=Y;159J]ERQPTFUT3;1KVAKZBH'C-*)7G_GG5&-5$%M M<-G]H7FM\8%US"M(=!TC/C9@1TTJF_6QU4CY79"=M=>U]9#.($80N\6+!ZPZ M#%2VRSC%5[7[1%&"./X)_:OF5'JD!@>$P@('3*ON$@H/DTYHII:L\?1H?62C M(@&^=2R4K\\5W!"=Z^!+L6C/C4]&:;+O<8Z]+806Z,W+V['Z-%YQ0.\BEKX3 MID/7114!UL16@90[%+>1];5)D&(TEBOD-::3;CA/S)T_E.$^]B/O'?C>YF@ MN?KI_6]U3A)^L2(2'+JL1+Y9*?J(QSJ_ENGY51L'Y\5_PN[UZ9R\IT6-F#(9 M.JXI3:FY?KK1)2GX67;9)E]?7U[;.%:6%5L:_O3_3%(M6B[S$41^MP.ZN9KTJC M16+EQUF\[#FF8<8EN[R"T\SJ)^G@2.;6K.1!V=YJ.XIO79^!T-!Y)(*IR=@; M8X#WQZ*/ON3 4V ZSI!:_/D@*/*5=+-AR7K$64K.4R8;&X,USZX,=XE-">UD M9W]T=Z1>@YWS21-VK@1U"8@/G4N$E.G4:=<85OUPZQT;W4]FGI!$ON M%U%_-\QU"6OI[37> )K](ULFZT'X8:_^+?==[:;2L_R-LPERNA+;MO,GW8K>N7D]I:7+?"%C0]C4[[URFJB A@?6KP&YL09ZWY M+YR';>S39"R)[U=0A/-.U07LI9J$V^_M9]6<3.VG31VTKXM_:T>6.,9]88W@ MA)I@D$22Z-.^?(XYXA4Q4M%/4#.M\WP!U3N94G>PG7&W70)9KRZ7=#VCW71D M)[I^L'U%5@,(?XK@B>!LC5GNCT&SQ9K&9F'V(;6TWLO[_##WKW>/%A%DL/;Q MYJ"LUD?K(*0_1"Z8]9@O0[38<6A73T>4FT%[B!_.@7\:MX>:3X39X:A[[672 M!S04YD"'/W[PDG0$8YUYU)9M)+L4+> NWUIP?Z3]R&1K_U#5+Y\/G/F?.$TU M0ZA/0O$AY>!\GE9L5I5G\;*V0KS73UEKB!:KVM#A'RIRG;MWE,DR[FKQ%OSW M>N__M_QO^?>*/;@J8MJ!HHG6XOCA#%$<#S29J2X+ U>I(A@7^^682EB@JYQ: MYIDOKQN0,6C7/2B.4A-'LQU\PH;UK)'@I!!EL =8S41Y2?&'[?#FR1JUQ^[; M#B/,#W>\<^W2=CCNT8AS?_ZB+IXT?0GPKJ$;Z2>R3W<9HNE?L9Y)U8=)OCLK MB(>+"'\\BU@V2IRS=@J[S7Q_]%I_V]"=8[T[AOWA+#CJ'@M-IBY2M /E[HL5 M[;*],]>QS$#)$K%O;TQOWM^/S8QRK#409/S+A3>SW_,2<.WH$H"2Q@YTU\%, M[NQ'#=._#>3>UQ!.F]J:I;[/]7+0\7=DDT(Y^%[[:5$0Y.-[Z,\D M"N@O =B*^DL IGD""L981JE!2O=4XF,)X"MX9%[Z,?'G+.8'Z"\VA.N]VJ\N M/_-:-O7P8W>;ZR?FP8_6%I$5B^.>_NQ9:] E40%U#BO']#Y. +8N!L@ EX39 M8+=CX'S]P)@:&!=:F"T>V6BSJE^QN#,E_KZ4K=6I03 MGQCIG1Y/O(&;^X1*9[("PX%M#?4S@61MB*35B&G:C.S,K 43[]]S/)RM M[S&E(,D.8/+XFQB'V!,-3FS+6YR\ #X8M9^>W>&96J1 MW5=%?0AWJ?,C00I_Q93U2T"/(IMM>QK2'$=X@K>@+F!&C(J\TW/@B34B4EXCW,"[F9*[T/0M!&#:&=H+EJ^]E,E M?K[GA,@$KI*F#\\0EWOUH$HI857YQ?UV5RD-2!^+&8LUIF#!] $N.&6?H)63 M'K]F'9"JJ#=+AT!1&[L]X2D"&#G-TYC-60M(<[&E!0X@&V_+DJQ%3$?R;N)I MG;'S3]A4Y,M2T?3LBQZ@VJ+J(3-J&U''M@S#+%,9%O80\;@73Z^]H&='$U3/ MGWLHYO/C%\,UBDJA,5^(M)V3U4U\Z@\2. MNZ*JD;,:L@0.A^0G!)6 V;@T.#W.KB"QE]I!R8Z2/T=3X*@NNW-L[!*0R^77 MM)VNB4/LAU.DRJ\GJR"AE48\.@.A68G5.XWZCK4!X%4I]BF*6Q_[>QO[J&_= M^-EXFP_UY;HF,W'^K702C+'0XXQY2;@]&)-L2H5_JX.3$_.1PYMN.R M$O&$#SBWK;_+XNLL2S4?.,C]_&#%9P&];8'[GHNI"1[P7<,/$IG.@P0H@ MF9;F]K2Q,1N;,(-G=SOO569DV'U\E[4Z0$EM:7*1[/.KC@7O;>/#VY?/@-U. MDJ>_N=-Q:Z*G3;_;\-7GX2^"TD<>*C2A9H1^-1F@1-"M&B\$?=DIMQ[:?]T$#YADFF)^+D;.)^JV5"*_ M!0=> J)#(I]!*:RP\P018N1).O(75GH)4=_R)\R[K.W<8KV)^Q)0N[RU&;YR MM$V:H39H4?<0COIS8L\\TLX3)IJLQ&3"N&/M1+]\V MI-M.E4K^),;(35%(#YW2!(]3X9/1ZP3Q"X%[.-Z:"AVACY:G7O#"FJ6MJJ*K56YM^A+?&:"8A2#6$H (#:[<\I-6,_*L6 M/4^/7$G">#2L>22UDUBISIU[.,*_44J9)YH#MKOLSKU^ .DF0'L:;#C>N@HK MO,E(_U+7&4MW?7-CPX3KOQ5 +"'F:1?7TZ53G(]REK#9^\MHA_B( MNS-'74(XQ@!3.G#V"2B_L2R/2OEP.Y\Z(%HW>FM3E.:)Q.,CBSA]H,*@W9<* M"OACV_F7 =*,'JR@CQ&".'V"D"4;9][H[,=+P")N\2)CV\?ECZ0S/[ MB05?SI%'(9WX$_PB]E2ONZFA&S<>+UE7)T%7!78[J[X6EBO#9>#-GQZT([#( MU?*;[!G[-F ^DT!RT:;!2WB.#ZG#MUP"+*:Z;KH7[_)_W0=S-HER/QXY!CWX MV3+[1 S8%F)I+:!\&SP3H0 3:\&O8I&V6-V3N@J/()4N3]K^M2SGFR%.NFZF M:P*?+*GK7S[)=./92\?;G"L:83%HU^W4(XU;T+?].7ESKW,D7GN]MM(A>2EX MS"\$J2D>T3.*%<0*/IN8H( 5L! 811("4DG4G L5.JMM) ]S2VL_D73 7V9^ M<(V37/YXK^(;AS:9J/+&S#3^^\#YE^ U4>P($D-M4+W=WF3'&=AF\SU%\; X M8(4C^9;)W6,_.Z$G<\]KY25YSZ:F'Q48=K1%&Q3/2)HI9BTN&E@_=K&X]]7 MDY ?)<%@89S@>#$R!-1]?1,T/Q R>Q:=T.92O07/[ M\WF;)\IGU111_5/..0;>NI/=G3$'3#7??AIQ\S]DGRVY%P589%6C/J=UP#M@ M-%,U!!V@&)."1SC[W K/TQR3MZBYAND-<$5-9JTD)JP=I&RT[/,F6?$# BBL M#$C?&#^0P;'9X42^)'39K[',RJTG+?$(:DINS&A!,^ M08>7.>@F"QX%J86?FWKE ^D(S=N-Z_>[(6S3D$"WH14>JVQ(V8L;/:&7:F] MYWU7=*_G_YAC2-5X<>C7R9Q44#0QU4>/YH,- 6*P>1FMJ=KI=7D MEL3D9R">*F,62[^%=#@?X/ILC;B_*;0,:"T >#4Q#LM5(.SU2T "S++",]1U M'%DCW;^$B-%L+(PVGX6=4W.(@$M\767>A3AFR;"]HZH2"'FU!9Y$N#NDKXGA MME-M>B/DXG7#S8YZ52Q3]@_EN*QKT$G4#;LG#1(-0W:8 /9W+'1<%R#&F#=H MS05W UQD@GRNG7/?M6W4]U(TK7Z_*6IH7\&.5N]DM*9<^'B4#WF^6/KTIPZ% M7[98$;@>?_-<:14F@F.&\\W#C.F3FML(FN5XBZ_HY8?GUW3*K8]DXDU5[(Y5 ME=U]S4V8Q?@H^'A7_RD@IB!%(Y8H4,%1OX=_.=R$&6+3XP,3KC5U1-34+BVM MZ''HB'ILOK[S];6>/E\,R)XEL>FTS+G'6D!)^\B>^Q%L.T2I7-..&0E(DX%\3+%1E7'MSHZ$_PVU MDKO6',0)R;X8SW?EI@4^V1BN9A8@W(-IMJIJR% ME+B0_"67T*_]2)LOGX3E^SKVVV3(%:058'/ ".S+2/#?'9N]0@EJ!8KCY_IO MM_>/X:/;$<=?5XEC0;#,@P"2 :@(QA2YGICSZD2# ;<>![,,]V$KD&])K+99 M,^0.(0V3,.F3,N!08"Q0UQ\MVSW8?M MKA)BTRL+:^+O']9WQAHYW^0@\X;U(4,BGUJ. UD1KL8Z&,T^'BYS'##YU_DE M@,[C;+6VM6SIRHJ(YB8,HSX8#-$5,GYM@"ORQ7:^ED'$BI$,XL$G[;C@1 2$ MUGWC(NM#R9IGA_G^IQ PV$=@%>0YXGXS]9Y1CW)R;J*%@,]FO-U>UIA7:[_/ MDC_:/19F?*Z]\F,:K[*.+* 2F)9B19I/U=KO/35*OGWHDGY@!$V\N?6!X8_T ML);VYE\."9I8XU;<7W,M)Q&:C5-R-9H@Q+R$$32P'!'BO6V3R-?5=@ZJ^7;M MJ=G-KWJ]%=)OK@*$S',AO!SA!?XE3KJOPR06?:#?EPV"S+X*K8VGF?88]?1Z M';'K29UA5V(M6W1'BQLC1^)\DH0_^ 2[=9$;*)VH8I(RK_AYV7I,LA:R%MAD MN)7HDN4QF?GAF2''HHY4D/.+:*L7&LP7M0*-6)&80&-[8U6T^7Q*\ZASL(4RH MFD,@0U*W"5]7?,N*--*D)X33[ M(MBF(%V*Z#P.F!%OZ45F>"5H^0_;W07G@ZP-';7T[_IOQT93ZUM4G;J.T0X$ M9J#)=),FTR+41KMS&@8NX1';:EIG'B0E;^J8>=84!*VIS;$)>?J0:[B-\4$G M1A+XV [X2M/I-N$N$.E1AOMXR@C5\+EI< !Y=A+B/6]Y3$))!(=(TG] /CME M_$LR9+6<<-/93$4CK]P!9C2="L]%+=/36I?EHDP;^)'@2IO=:Y; YY"?0[B' M/ TD=\F_B.E$!85> @X\T0L13G4'WEJZ3>RI$Z?0J\ M@I/>Y 7?]7.02''#IJ.^?BO"# M:/7\\@K3ZIVEYG>/H9X"DS6L4P;K^T=N[IZU N^K.,A:C4=$'[T,^DPN'8OP MJ2.'_MS6^XRM>T6P1(>#G[Y]$B=YUY S8#_=R>FXYR_[\+R7AAGW S+?S&PH MH"O#1B-/LK '=?O]GV#@R>*"IQ-%DT*S!S6N3V@:5#Y=H]BK[^K9JM\4)?M) M\5]F;_NB?N/UH_;M]^5+](5?R!E=?I^V>]='N>VK*B8]=^Z)O!V;Q9UF=RZG M[H9JJ2[/NIY)O$O<9#;PJ'Q_R_XM_L.SJ;_U_C,?';I72DK MM\R[3],J]4025FV?]5:I28*YH9SG"?,)D_\,P#1\M&P_3XW[BCOW?WC'?=3* MCE)K77H\<_&K*N\H_Q4_%6R_MMZNW!?TLU>EZ*AF=&N,9D^;LN9_AIS]'5;+ M._YX/N!5NW_H8\7C0^I'C%_]6OML;M&MTC=61=%[F+A+=PHY7>;>PA,5R9*F MKN"Y(WGG?X8VG9W7OM2+W?TQ_]B%5_NLKJ5?5-]R/:N9Y.ZAZWLAPT<[EWW:69-FQ=.=YG\6R#O7:']\N_^H?UN<\,>Y2S??C*YH M]MIZ57G;U.TF2AG3?%L>I*Q[DU)ZM-2T]8$]6^9^OAI!8">(*^.D4J:5W'RV MV1F;MCW_M+ WV?=LX[1#/?.>JVW/&+@#W4T]B7+; M.):_@LW4S-A5LFS9.>UT5SF.T^V:Q/$D[NF:VMK:@DA(0DR1'!Y2U%^_[P! MD*)DR;GH7G=U$DD$<3P\O/L]O/ROO;WS>"+C0(7BU^MW;T68!.54Q84(,B4+ M^'6NBXFX3M)4QN*=RC(=1>)5IL.Q$F)PT'_2'QP>]@_V]GY^"7V=F9>2^%@< M[0\.]P\/#A^+P>'QX.GQX7-Q]4[L_'9]MDNM7[\_N_[WU3D/>_7;J[<79^+1 MWO[^[T=G^_NOKU_S@\?]@X&XSF2@B4C^_W+?_C25V5C'>T62'A\=I,4)O+D/ MCQMM/N_-=5A,C@<'!W\]2648ZGB\%ZE1<3P8])\]K7[+]'A2_9CPXHXS%'T&>D8^6&Z1\]/RG4YV)/1GH,$\5?3WA> MQP80:1D M!A M)B=-3&M#H"\'[P FL[29/KP'_<&+U?"&%8N#Z@_.28I83F%*__MK=#-X M\N3YTQ?/'[_ ]4]N!KKD.5 M(=G !M\0X9H ^%3FA1XM5D/@>J+SYOSLS'>*B1)_^\OSP\.#D[6GB=OCLJCU MX&17A"H/,CV$A6 G>2'C4&9A+I*1: 46/!>ZR$5>#F$N6F8:7MUX F?)%-A! M?08 ]X+7TZ/> UGFN#CLTSR V?3HNWD?WQT\.X%9J*#, (-A#DE6^S82@ #(GZL\!_3'YE/@/YF6D8B3."V' "AH,THR^!U: M] 5M@ $X?(+C!5L!L(B+1!3S1*0R*_)CFN5(9WE!/X@T2XB Y6XI,+"=6: S MX)D(\P#FA6N7:1KA'*%/">PRU)D*BB0#X">CD8;WN)F:IE&R4+Q.#R[T$+[K M3&0J3^%=.-)V8_1TJF##"I@?(;"8JND0>NR9G; O(Q@3^$CSUU. $HR#G2%P MD#@Q.W4+@I&*3 ?X:^LB=O2N'*9*QHRTD ^8*1MT!H>S)S'[-I[C#Y';F[9OO:3UE!LXW43$78Z%_PLK@" M2,,@(&(1E(?)3,$0P]W6DU&-H>-9$LT(5:FE#(*DC O<.NQGI&/ /]S;3*5) M1K^/RMCL9QV_Z(#NPTG;"78!/(.G!RX:&"LF7,BN$P MOW30 J )=(9N(4Q=85#O8[MJ('H:,"J%*:=EQO3#/!DIV&?XW:/4D9SG2%!A MI998BCS9"X!T '@M[3*,S]"%]#!+RO'$'B)2<(BNU% =-^E& >8$.J=C@XLI,U 90/6AHT)C,B;&+O]5<$S>@,:ED6NZX,C MAU-N"YB8CV&0O%@"*Q)X6C6M &A6H5.F;'#,$V S($-P#\.%F.D,L3M:T,GG M/<"="J*2.P,6P;]"%WF>!+K2'FND1S,*^0NJ2)L[EW9C?:9F'KFM=N@#*\9] M4-D4%@%G>PX[Y9WQ%1RS8I@9[OF($(6(:R4AE#$"[ I9Z$5/?%1$3L41T( >IZ445@!%D%E.93C_;B]EG8!3B=B6"Z,W!-%=:1A2C^4N\AG9)JK8_O!)X6H0^AT+ MM@3 /ZM(+5$M6,_[?"Z!; 4H%1">X 8(8NII&RA/T@@> 6P5['2>E\B.2Z \ M0&S23(U4AC*#3?3#FY;'*6"UL(=Z1L83?P9,OI!& MM8F\K:ME<=6 92.&OQF$EJ!#@ B1.1<3D,X\VNRM;(MEU?HP2ZNM# 2PC(4- M(X-9[ !9+-Q8%F/%?9YD-Z2C&,G(BB_WX$PXQ:.ASF^DH]ZJYJ_2[PUC3)NV M2("V87M? TZX^-5@,F09WU^FIP=M(/=,U\B/9]HH3HOCB0Y!"8;N$-,.CDY> M[F-7FY@^J4=C5SWRC*??S/KM]I__.RO M)T8&X]\.EEP6W\<5\KT='P\>A>_K4;B53C=EQ&?;RXB''9(1?U$Q65:8\QR+ MR\1Y"8!1GAF;NOWI=VL#OZK9P-]93GSI./%%Q8F[)'FN55/0X(J3!1BL5Z+A MB'\GT9@QI8M%OV-MG(0J?U_;>JT[)9KK$&\A1D6H%JU*M; M,8$1!1%J *17==$RO7Z[@^]!*X1/!"P:^,K ^HBZH:,NF\2QJ)(HR/9^5QZ M8I&4(I^093E6,V/ 5V2N1T X8[VOX._4(,3.+%+FX9W+0*3,_.SC# M&0$"M.\LF:%CS8L>,$!Z;]![APW1Z-!?Q\L"P\-V[PEFJ-UEYRI""=&EX;D4 M4QC*$KP??K&I!?W,& ?-0AY> UXC9[FNZ=$+^FT3>$V#M/7%X[S3ZV M<(%9K3$Q0&45QPFAQBZ2&)A3BS,3J9LAGIX_(PKZO[.$4QJQ30KM,C66&X4YRI:,55J0+\N+!?M_ M6<<@0 ,V"!XD]VN!.'O.$(&=.89";K MX.\,%_ W+%3P$DS9T=Y1$L'^XD]Y.?P$L"2\+ >8NLR]FSQR,DE.C7+ M2 +'UT7)WMCCKBP=_4<5BA48GQV/*=RIU=$"C(@LY?E)=Q;06,$<4%KMAH"HKHP1\BXC3XPE1^0ID?]*BN 7Z&D:,TNUL.-TP%<(AP MR7@%EWUH75J6KNT8AQ*#>MJI*5+4+<@S"1YDF2T I%E&[,3,\\'7]N!K>_"U M_0E];5N2#\LE/[<0:R_6?*J*21+F'.4,HK_ND@@#,*7&"&M!48W [:-P3C08(C!D6(XFJ^; LR 4"V)28 M0TOFTT_*2ZU"TT0@\R+OB]]1S3?A7V0N$:,2$860KJC"'*5!KAINL5999$E8 MLOF5Z%T,$$KY-S:8IXE&]:PPX=HN]#IA5#=MZ[H?^X71,HGVS\)OTQ5J[Y<6(ND!4*>,$G1KQHJ1FFR% MNM@U.3>T@ PF[%&\H?/DA2S2!H0:$IJ&3[HEQ0DWF\:>2P ;:B^1&5W%G(L.O!K$*T0&DVA53#3H M#A:<(7)Q&KX),PS4X"E%"V\K#9G"@0.D.%@+9>E=]VIG))W+E6$<1GSIE*^@ M!LN9U!%Y@N@4Y0J3C@5:>%*.6)'1(F?;^S!+;E1FS/ DBYOT=X>HW5%*D+\ MX71XQ8(EN[],_H7Q!.$JLW)*E05\Z8)_H]9S(!& I52C(,)3W2V=@/2OY21& M2R=!'LJ@#R8[?IR"$0'C$>G'2+,Y2Y+/N;04 VA74H(HP3;E96>M&VB*?)^2 M^F-*%*8T<7RJ**\P='DJQH=)5! 3P0T%WW"\G1@_HBL6:TUXE":_)R$IIR;Q M\S\E:K2FM,#4=U7K2BA$OK5.+$2Q#SD8@)?AUR8?^C%"JP1$U-?7"V25-$P< MBD@SL 5.5G5(5(EK#U;Q!ZOX@U7\P2J^1>CQC]&X!O,[CW*X7E=DSVG^V:(C>F&HT-\R83WX<2]+K! MP?#)WL!X9=J+L3QV4=W?-^CXKDF*P-P.'V\?AVRS!#H1B'SA,D;><)+&.S9> M;3=!X$2F^AB]YPNT:UYE#0I>?L..,*\PE2,Q5#K/ZN^A? 5;G_6(K>)BZ$+[A M78I"Q9)#NNRR=CG"+9BPA3W A)1\(C/K/YK@W#&6F=V:T&0YHZD!J;ZOZ'22 M!FR!@X\[E'3P*@+]$*VKP(MT$G8J\^ 4^.Q&_!,E2>LC0&,.502L&/0MQ=M" M%F2&%A(I0X++JW"ZT5=E0'_FC(Q_EL"_H>5"M"+6!GK+QMNFOW0;E M=HN 06YTO*U3#^V =-+)F4VF6?MHVV3MU8!O%N+IZC'_H0[=]R0 W/&(OVD6 M;.W9XF.+5&U2";%*7/"5K1T;HN$%P%!G;5%;B$MH&DM<%%BQV0,79A-V=DGD#D-V,< 7SJU6Y)E2;*E4TDOXR!40IX^#/ M3MD[M>>GS=1,JSD:]+AP/"_5B"(M9EY8:J1D7@!WG2GR?Y*)RV3\H]RD<.WD MZK#5^7=0^],C&HOBLS)K1C3!=QS&JT)N88DXM>&8QBK,Y3O,=_;!D?C@ M2'QP)-;3:YAPFMKN1L"(;0EV$L\X]!?E7<5LB&-:U.=49TYFI0(IIIYPA&6" M$E3W]D"2L=HMR4(CS6%\'F\#V0!GL?-JUUI?T9#:5+-ZIOK04K>8X&B568PG MPMII A-O0.-5(/<2;>2P.1ER^5JDPK;R[30)*17'Q8Y@/YZ5_X0B;!>[33VZ MTIV=1EU7GNNQ@9MIT!3?V%2-UVO&=<48E&R_QCVHM"Y.R-H'8(RJ2+JW4 HB M) @A_T)O)\X&=H"#P%'J 9ZG0)1"F>'PH!VP)E84^NOCM,CQM&3[T>X)JI!!FC,%/+,M!L^X1RMN-:7;-)$N935*Y-C4DC0YAPXR0 8.@45%E4H8;SLM%ZI4I"DF%PR#+ M8I)D)CR:[TPR6G^5^(5X0YE?O=HM(*3P)%$+B[@5C.@$$E&"5HB<1_-GZ0+1 MK4'M+A40B;H#(\.\4;Q'R/(HI\R-431C7ML:HAAR1[6D9R)W?7J'&Q%82 ]\:)*;W5+8S2##M* MX]"7"]3-I!9PQU MAF-;P-@X%F,RDTW+$^6%=&7=%Z,5%]*TT'\;FNNT6C;-8006\=^%J4C,.8#2 M7$/6#CJL6DD)=#!X%3=K6<9C,N^8]OXL]GZSW>"X*FYA!69.W.V1))@5EMT$DN=";$=EZ5C<. M72S_P@6"%B;U=;LK/]?2^U^JW#7R4'"H#@Y-MNFU[ZX)AEP/P.IZELT*\7(Z M&0)Y R]VJ]:\VN-<=Q0W=^\6QS&2G\T\QZ :>Z[RAL.==9206"Q19<_I7JUA MFF!;\Y/5KP']\HFAC',Z8GX?5M.W843.:Y_A,^(MS*-9O&&QLW8ZWV2QN>HF>Q*-1X5!DMW2BO\:HM94LJ:PVB=-V;69;98 ML@$1K#)15R>B/7@.'CP'#YZ#!\^!!U\7#E(E/:.IV3DFF_FDQ)[08D,F'60[ MKJ;'1>SN_UX.#N%2&BW4&%VO*R,L5L;F#W=9W2 ".V7W+,H!I/P GJ"PPBR^ M/AC68V$18<6 E)N+NG>'%9DM-):G'=)8UL5O_)@9$:J?&1?2^6>5!=H$_7^D M$CSOC0VJ2]K5]61%3$L]56$YQ(7,:KQ$DEMIA?8BR'$F*4>O"E!IBAI >0<& M+!G7E]/=;!@_.BRR&V>#6KZB 423NLET+/.DPM MZF:/HX/MS1[/.D1$_J63J/+RVGH]UACR5LX[E4API6*03% \)_^MO7&-7=?N M,ALJ\;=>(4!-?BNN[<5)@JXTC.1V6$=D.*$:TN M!C5*CHE[SDO@?FR_9,^A5Z5%?)*H5_ EZ$%&=0HC='JCZAC X'@_NUTE78M+ MO_DYJ3K^5,;V&NY?7+T>6HRY\(@,#TEA:FZX#GO^S35&Z:\G? X!,@*PQ?!6W<,8GDTS>RVFUZ!92 M\5B.;2QNX[[GY<)[30/?Q-U S[=(;'9>\'+VP-;#\BM9.K0FI'6Q!1C:CP6: M*E1G9%SPQ1(SND6Q("PB+]<4"]@RITM&>'/%F._9JFJHRUF"9L?NA/?7Y'3I M;VFA4V--RJMBDP!&.(!6,:CMFW'UP6NI8H\J]#)M[%250G*;0?4:^S%FR6&= M"9-T,%4-4I/+V%:_S/V95/7"T#Z(D[ Z I=:K'HA4Y&+::#7T13'IA?>4A-& MSF*777MG:,RU623"C+8K5^JFANA-&DW+\9(J8Z M#I ML!R[35)[>X[2CY%8K;9Q84B08[K];=/:Q9V2Q6M,FW&/F%'\5.A1"KHP*M,4T/Q4)2!CVJ7'UHU'*U@3-HX!JJC\ZIYYQSM IP'QVE"O979XY*L(6(S_Q013R!H"11C*H M,KT;"I/U$_\9#L9SH\G5E_CT#J[P[IROTP"+[0*[&3MJ=T:!>R:6LTOZX%:) MY;Y,BHERC,-%@17Y@3\N+SOPE_WGH.0O;#!Y=_#M(L9ML4I31Q#+E,Q>&P]5 M>2V9;.8M9L--(Z,>/(D/GL0'3V(W/8GX)H'AITA2L@!F=XPFS.K9>:?>U9N[K$[C>R++]2?#_[Q@)G=>&KN2[]%B,K MF45 OJ![0:A.=MWO;P38G-+'.,_$C$8E&4<9CN$7::B';LFF\[X]&. )ZW4] M%\S,=\"W%4ZL69QOJ09Q/[;:&#H^-M,GU)23Z\@5-,P-J+#8'U64ZJ%]J8$7 M@M(U?:Q O;RW,C#19LYP6@T&QL55U4F7F9+:O9\DY5.8ZL#SJFB^QT M!)($9Q.VC&TC+ 4"U=@VO;Z=2]H9X;KC(MBH"LAUNWDFGTB*P<&RHL+5GJ(: M5T@05%[P_4.!TC,3M>-:T1=$E69S5TN!R^?8KWWQ6TSN_4S-DALT)4DV()%' M!@U,''5IW"2'*'$^%Y$=F[#:+*5%UP3P?F(!&.G")^QU MXT!U(FVC&M#JK;S:_4O)/*[PC(= 55XS#VLD@W8& ME @QUJ>O6,V#$:KB]IE)T82C&;FKF)E0VAS2%2:Y(K$[Q%3;30&(CS'YC^A& M,&_&=B87)EZYOAS$!&\#,6$1O8>*S>3^$'1G6*P59^[%U04M-0X#E(9*,QD] MN-:!NV?O-I:P[E1T*DAH_?DU)5^O:@ WR;G.Z#2JW0?HTD+9#>I%'5.MG%49 M6C;:;GU) 8JYPS($B)Z7M:(%=,]9J&X9YTZ5#%KNR$.GF,_5,!YI[*+)HQ( MQC>36FFK-@//D];DJ?<#:]7N[9DSE\M2#6(177(UUB/.V-A23JE*2=L:4%CM M*U#K($I9'Z:9YV^HA!63@,QSNG=RRE;GS7' %6J%ID1 Z*3 M.N+Y:\JQIPH7+7!8GJ&YO*P 33 A)VA>YG91GHQ;]^K:$%Z:_PC %&AY;P+J MABL0#?W>CJV;$ D"^RT95<@Y4"3R!,^8+AG,=5$7M'>P.Y/9;4:";[L;9&V9 M?:/8IB"2>5[/OLCU9TY/S*LK S'EC(39:'E5)H":J'"/IN5IRXJUNZL@JWC&%IJ[?8!:4EU^$.0.7.JRQ[K&\SHY-5 M8_6W[5S7"D%5*Z\5LQ$3%8X-($ V :GY#W/%:LW@@7>YP+1EK3@-0ROA*C:Y M.2PH9U'@"B& ^Y(R8(L_*QG3\6.ZH_[*!_-96:M4:ZO719G/&M.0\6G/ *O MW$VSNLTYU4/#/3N;2+2G.+'_58+C&OF/_WFYKQN+LHPX!FP]J:WP#/H?9AI6]*N*9@H#&'!U@,=[ M9HDU,)^T'BWD[B;L>81RL1 M"J=S,HH26?!' \K'!_TG3> ]>])_[LNQU.*//0TJY>?CO1>'AT='SV#'GSX] M.!I XZ?/&_-IDZ*KT*+;Q.B&^/P%(GY]'DVQW$/1[WZ,6I4/HL<(Y+CP](BC MIV:^?+KN?!COD?+Q+;GF[3RE8?[>/%;-3OGY*F/WT_90K+M"M$4G.SW[Q^7[ MW]^>O_[E';!?<7KY6IR=?[B^>'-Q=HK6F!BK ?S RP* MF^,%&O1P L^P""]EP.VR#FPOYL%R#.-,N;*[8U268T[SJ34L.%:+X+C"7.E; M/2N39_T*,0Z\B$=T5Y*6D4DS;T\\I0WM6-3LDZ\0-/N%E,@)G8[N#%;0RR\Z M YOR& RT_4Z ^^)HXY5GUB6S?",2LF[L_[WUOQ\RK9V/= D8J/J[C8CJAZ/R M__FH=!5=3>1U=;7/:.!#^*SHZ MO;0SL0WDM29EAI)I#KW4?9%EBM;#&R@'*__E:V(0YQVD[B)"85,X"1 M+*UWM8^>E2RCHS\,XSCT<>@2#YT.S_K(X^XT(*%$KB!80NJ<2A\-^62"0W1& MA*",H;:@WI@@5*N:>V:M7C>KAM$\@KHZ:2$>VFC'JM6M>K6^BVIUN[9OUP_1 MY1EZ=SWLO(_/[EYTAO]>'B=B+Z_;_5X'50S+^K+3L:SNL)MD[)K5&AH*'$94 M4AYB9EG'YQ54\:6Z6 Z:>%*)6[0%JJ>*/T"P17(_K^O--;;_: (U43F%*_:RM7$ S$4_66(/K M]J#7[;6N>L<#=/$)=5K=*P#U1;_;.S\9;*/>><>,V_#AAJPTB[;9SQPAUV:% M>,+=UJH?IG(,0+CD@7T(I\QH1!W*J%S8/O4\$L;NV7V^3B-)1XO" M;%%I#GV"1IPQ/H>>$&%!4#1U(NI1+"B4Y2/4P1ZDGH*#P1D1^%#HF@C'65WB MDL A(L'23FT; <74$0X])*'>KU-!(X^ZJE.,$ W1W*>NK[(6L20@"AR"WI[Y M+##\5:-A'XRU%;?Q_E[]X,.JD0L#C:*3N$$_5A0?*>+##B/+NATN/"(,%YH% M3R)B+P^R&NZ#%JERBH9EMCE,I&<92@L52ZM)4B7FDMTR?$:&, MS5(7# !C*2U[-;-O<.W6Y6,GXFPJ24/%!'N@FE11RHB+P(Z/H#1Y5]TV(.O]F@62R"']E-X/ M5$^ZA+1XW3S8>4'-T^XI%GS'" ]5\%;;[NV:^P>OK6TM*93/%^;?FQXRQ'(\ MXG*!E:U5G\.%_:8:O^[DJLNTIR%T3NKH3G9\238T%E6Q2(<',$Q9K$+& K&U MT4%'-OS,DD*1T-1N>:];#B1T%Q!ZH+\RT8D*9B"NX6*2%K(NDM@D_G';A1_6 MA3C8_386'*[2?N.ZA(Q&+]!\Q86- SR" )%!I+>-^OW.K_MQ#LZ?VS2YT"\U MT$OA/$_7.5::70@!YC DN&.F3>'KIT 6.F'=4RXB,N%S(C1A:<(J&]@V&5D#$KHXS$P0:I;2+*59ZD'6.2.><5Q$ MI*/ZO> MI9$4U)FJ.WMZH*59JVS(VV28]?$\(*%:&UD[:$0%0TWC2M/7;TI?UR%53W+ MEUKVIBE,4UBIT;?)4,M$BCUEY1"[\:-.:&"V3.01U#'_UC.'FL?NO8/SG;I< MLUB>;=2S)MGE3:#9!)WR<(P^JX\^#13+:2[37/88+ULYE":S?,2=$[526OUN M:RK35':O\YP3Z2>.$FD^RQV5M=I9=/6I]*>Y=PPU@R4H*^Y96\U[=^?>[G4_ MS7LQ[PTNK_J:[5X:AZ\+=&W"QG0::'[,'PO'JQE72X/1M9ZI+"4F2^%W3PI3 M026-?-3A;!HXFB+5$C?LTA%U%4T2N4"7@GM35Q:PCDLC4K/DFJ]U<(@]O9 R M/U0=G*#KSP"[&8ED_&=O*[K4$Z+E!6@IO/ I,0N!6SQV4N\OF)&BYH V&:N9 M(25 -L5I(3#5F-2D^4P +$7/]528[$M//X501FR6PNLV$:Z;C,U^N[5<1)/\ M7[#FRK+@48/O=^1*$L)07(\K2XS+4GC<)D)UDW&IYH!Z$K-%[C30P!0FTW.R M+P[-UX7#V-\T3>:9Y@I[6* ^P6K]$^I2Y5$\+ *'FC4U:[XX6C<9FIT%9M,@ M\U@\)9'^,Y=R@/!U(4X_D/A#' [1H#58VQ5$4V,)45D*Q]L@H&XT*G/84>%4 M<^-+H_!U0>Z34)L4Y@/.BK;,[-+C+_: M#^FFXUS;?B*S ^#MC/0"UWVMNG2T[-Z#:=*MK0?3M-6VAA,\)D:R8PX>00O: M>,:IESK6P;ZYJ[KW9*^H)*VJ#& EVR7&^R\V_P=02P,$% @ _(-L6%O9 M)RM7! WQ4 !@ !C9')E+3(P,C,Q,C,Q>&5X,C-D,2YH=&WM6/UOXC88 M_E<\3EVO4O/- 0T4:4?;];;2H8[JM!^=V!#OG#AR#"G[Z_-['SA,/?C",RR3"24@)NIZ.;Q 1X2*FB4*AI%C!:,Y4A*8B37&" MQE1*QCGZ*!F94X0;3R/4,BSKLS>RK(OI17FA;=H.FDJ<9$PQ MD6!N69>W+=2*E$I]R\KSW,P]4\BY-;VS(A7SML6%R*A)%&D-!WH$CA23X2"F M"J,PPC*CZKQU/[TR>F"AF.)T.+#JW](V$&0U'!"V1)E:<7K>BK&QR2;1X^#HBS.EY1C MQ994>_]*[$8,,$QKLYE(E#'#,>,K_WB$.0LD.SX]OJ9\214+,9QG@*.14O44,_0I M(32E<("_=W3.,H@+2^-D$7 6HI_"4"P2!6L!NF(RWB<]=D*P+S+HOCD=>]]M M>X[2?RXRQ6:K0W'Z55'X*19(?YWJY%O[^YFBL&*Q$DA%%+$D%#(5$NLE&@4K M).D,N RB 2X5%K+@=V60*= 6D-DZ/VM,)'G>8;;<7J.=P+" %T)&:/?C1[" M"6D8=!W/[9WHB5,9>/I<+"0XA]@*D4)9C+$,(U 4ITA+B]-2GDB:I31A(Z;(AV1JQ!/B? M<9'7@-7_C5SBU ] ^7\Q<@#D63E;M:'(HS;% 1U9FH5\GXY_1S:%*RMU*TJZA:6X#5D,;NX#;NWPIGE.C%!UXIJCT\5(P M4J':[9CM[E&_$J#EF%T0K-RY++9"AW\#4$L#!!0 ( /R#;%A/*.LU5@@ M )HI 8 8V1R92TR,#(S,3(S,7AE>#,Q9#$N:'1M[5IA4^,X$OTK.J9N M!JJ2. DPRR4,50P#M:F= 8K*U-9]E&TYUF%;7DE.R/WZ>RTYB1-@!V89CMV% M*I)8;K5:W4^O6Y8/_]%NGQ8I+R(1LY_'7SZS6$55+@K+(BVX1>M,VI2-55GR M@GT16LLL8Q^UC">"L5ZWL]_I]?N=;KM]= A=)W4G50S8;M#K!_UN?X_U^H/> M^T'_)W;YA6U_'9_L..E/%R?C?U^>^F$OOW[\/#IA6^T@^'7W) @^C3_Y&WN= M;H^--2^,M%(5/ N"T_,MMI5:6PZ"8#:;=6:[':4GP?@J2&V>[0694D9T8AMO M'1U2"SX%CX\.]E0Q?.CPUA.F;'S M3'S8RKF>R*)M53G8[99VB)X!;F_(W+1G,K;IH-?M_G-8\CB6Q:2=B<0.]CL' M!ZLF+2?ILDWYJ0VTR+B54T&Z&UJC3' ]")5-AYL#W-6S7/1+5&';"<]E-A^\ M&\M<&'8N9NQ*Y;QXU_(M^#9"R^3=T$D;^5\!U9B>%3>VS3,Y@7*R=>CG/ZBG M'JX-,A-N.J'*8MP\O4EE*"W;[75ZAT$(/Y4_P*H(&!5ZPRP2O]>RJ32P*Y-V M/DAE'(L"/=Z^.>AW=X>' 4D_IZ6_Y\"3TZOQZ&QT79RSBS-V>34Z/QE= M'G]F9Z/S8_S$KXLS2)Q>/;&#[W?GLWIOS8Q1B_W*M18%^]AAO_ B%MJT6"2T ME,:N1*FT M!0VS,Z5S\'3[%Z82=L)C+=C/@!E("$X<%5%G^(Q6OUQ_]COL(S5E@A%PB,T M::9R<*)57NZ60"$B80S7P M!&N#S5(9IY><2X%BZ@") ,,T&.9P(H"C-I4NI!8CG8AQB(KF-IHDR9 M"OV(E[3*?&1+K5#6H]FP;00R%D"&C];I#&M MZ.W'_LI?2JI@"H\HTL^(%QI \X$G6QX\4+(V4(*!:)Z;\(,$);FG3/!_4DBQ MQ?_^GC-SF^_ T0;"\+0C^V_#H$5Y*.*5>7@72@BA6(WD4XRJ-!2 ",@_1"^0 M$H730_78BIB:Y.8W*SD5I5QJIY !G5&6<.!33063A_./P^&*R ^E3&A MD!M5<"):;H!@JJ0(FES'"Y@ N))[)U.*O&M86C0.40XL'N]KHHU*S/'Y33VA MLM+8Q2,*E-*C2.G8&>!JLHDHD*DS8!9W1$F+@410;WI<8M'($I3ZBLQ'(C/: M86+*L\KQ"X5-) G*)SF%P\T=95"=NA_ EO[R[KK(P1 =P73&5U^AJNS]XS^$ MS_E26E!IF7R[>&?AHFAU*ZOV ^P9DO)7)#T.2?'.(DRWPTU[P[KZ<7?N0-0C M>(W2JHJB2E-(&SGLELY<&8M6>NH$32:"FM\J)$ HWKZS0P)<@FTV9&N3L3L0 M;D-+>UWW:,';M.,M2KE9)GOB*8=C$3L"=YZHR76.;>NUR.K=[89\ZP\ZYUF1 M^W(K1 R\_]V;#O/$9'(Y;D<0^HZG(-'8 -5%4MGS8-H+4VGE)AP?N1-&ZW4C=,01XA6Y'*LMX:<1@\:,Y]'N, ME_HC)#HAI!G#D\,F:'AEU:+!'SZZEK4C2C)[_8"26AKGC5O,H>##EC_2HL-3 MO;"S'K_GIV[CY<0IZ:"PJ %D55EKW(?"AK_J@1>^:YQ_-C13#.E1Y<*'B^OV M3/-R$((PKMLS..R;9ZK+^SPT*JNL&-+![N9T%T>\]:>-'S:QO^B\]OZ4$PNL M)I@^ 21_ $5\ AT.WK[IO>\.OW"-M-?KMQB],N'(X$D ]P.L_C@?/,H^ DY- M8Z&R5N6 Q@US3_C8FZ[[>]X)!":X?:2\FM+30>:E1O"L-IZD4B3L]$9$%9$YN_#[3?9WBI/G]9<=I^U+_Q09!?&M8.UL M!"MP=>DBN;Z0@KF9[]-E,1KRZ'JB557$5#@K/5BP5.-=NO4;=8CSZ'U!+ P04 " #\@VQ8B.DQ<&T( #?*0 & &-DU:?U/;N!;]*GITMH69)$X"='@.9::E,)O9EC), M^G[\*=LRUL.VO)*=/+%%Q78C2LE@+;M$ZDS9C$U55O&2?A=8RS]D'+9-+P=B@W]OO M#8;#7K_;/3K$6,=-)U6&;#<8#(-A?[C'!L-P\#;<>\O./[/MKY/C'6?]\QP$'R"7"DC>HE-MHX.J04_!4^.#@MA.8LSKHVP M[[:^3DZ[!["PTN;BZ#!8_/:VD4KF1X>)G#)CY[EXMU5P?2G+KE55N-NO[ @] M ]S>L+GNSF1BLW#0[_\TJGB2R/*RFXO4AON]@X-5DY:7V;)-^:6%6N3ONGX%OPV M0LOTS)4_0"O8F!4Z VWR/Q.SZ;2P*]<7X[/C\?G[3^SD7R?'7R?C?YR@&18G M%X\S;HL3'+^%0P+:92S$"X-I.&O2_+FN?L0E1*6W P.U6Z $EW?V$J9<<\T8+] M#(R!@1#$<1GW1D_H]?.-Y[#'/G#C9(L5L+JVN!;R$[#G91* Y*W"E)5*1\AA-FJD"A&B5M[MA4(I8&,/UG$P* M?B4P;VM,@[8$SF#*G'B"YB"#6&IH-)$*S62;CC)F:?JSZXZD1S2"T M@$(:: K!P*N[%J82L7.0QJW@FDJPS"FZ)2R:M\/P@ACR;/$0YB3C^CO,ZP9C(F1C_B):URG]E**]3T:#9L&XE, M!)#ALW5RC1JX1/G^'H_\19W#8K#+NX/];>&]&.PG_LI?2BI?2H\H&I\1+[2 MYA-/OMQ[HG1MHA03T3HWX0<+$KG'%/@_**38XO_^GG-SF^\@T ;&B+0C^V_# MH$,Z%//:W+\+"4(D5C-YB5&UQ@ @ HH/T0NL1.G&H7IL14QM378H2 M2IT#L[@C*GH8R 3UIL+=Q8MBE;W9#5Q M@#\C&OP%20]#4K*S2-/-=-/>L*E^W)U;$/4 7B-957%<:TII2\-NC%DH8]%* MKYPPDHDQS*\U!! #;]_:(04NP38;MHW+V!T(MZ&EO:Y[M>!]VO$>9=PLQ9YX MRN%8)([ 720:5+D/M\*$1/O?_>FP[U*6D*YLV() M(JTVI%:$0;!X@*3?J/H:WSCJ/JNT66JH:\" 12&M%>)..HX4-)KN)A*^N2&V M 3NPGR%VQ6^J/1?/B?BUEG#=/15U&;O][\[+ON+6?06]6Z "2@(DM VC#5TL M!5+:2-RROI\)?D6:Y0L8IUJN]'(OO!;O&1X$E*84]YO@6]B#)^AHQ)(\[@!5 M4ZZA ["!JJKC9=- ,TU=8/F(CEM*0]:WOH]YD<3O*_M)^5*-Y[B#; K'/<"# M>^W8 *?CY4.64Y5/!6E(R2^;MZ>ZH2M15+F:"]R=9TZ' M!^XXT;K=2-,Q GB%[L8JSWEE1+CXHSWU6\R7^?,C.AZD%2.2HS9H>&W5HL&? M/+J6M?-)-6\RAX-V6/\^BDU.]\+.9?^"7;I/EPDET4%@T +*J M:D;<[_<&^S^U0];,O0A?Z_RS-3BED=Y6+L*XN.[.-*_"")QQU9TA9M\\4UW> MYY%1>6W%B YV-U>\..)M?MKD?FO[DZYK;Z]WL/='7%M@-8'U<8#Y [CB(W@Q M?/UJ\+8_^LPU]&\P[##Z<,*QPJ/ [@=X_6$>/LB_!CX-I47*6E6$@QZIAWO? MQU[UW;^G745@@HW3Y=6B'A4WSS6-9[P0OR>1] S^W[/XE\[@A#Y<^JX4/JF; M:Q41ZGPKNJ;BL0@K+9P6T)T9:U/;./"O[*73%F;B9P(7G#0S(80I MTT(8,-/K1]F68UT5RR+> /IJ._8_GD_+8\ZO# M]R=C:!F6]:$SMJPC_ZA=?B0N34C%34&@[T#'Y2$@T'1T[4WW<:>'R%LR-L6212CS'ME_V M,Q)%+)T9G,;*VS-[O=LIR6;)>DZ4K'F2W;[&5$XNH31T?3+:MOL='>E[^+5)V4D*H4A3&NJX5^8FE5 8I>F"<+B@F9 *1 QC$DD*;U'2&&[S-IRDH0D[ M&E23[MK]L9AC1EL5(Z>_BQD+CH6<8THSWD$L9($V0QI%!#2-:/3JA;-O]X]H M2.6HX[11.VZG70Y)#C'C=<[4""YIN) 8HU$&)(U@)\T[); M*#?.JV2]'N<9":LQ[I#X%]7'5$FYAP14NVIB+!4U :^U/D+"*P8*7K"FZ"\3 MIJBA3Z >*DD2G+H3Y\/(L:IHL+!08NXU9G2-@6\,=9[>0V!9?SXA";8]5 M((@7G*\P8,PSKEUP[9:2_K5@DNHZ-]>&>FOV.P1#@01G;R?:71OWK1.O';BR M<.>@T^UKU[Z5B:4MPRH,ZJ'DL%%(%@;Q!<:+*8;Q(%6>40#=>@74?\7\EHM4 M,BV0Z]-^N M)M@/XC:D!A,P+F3H2WF[V!6S%#M+/8\(HZ)5*=(@0BUXZ7D"4VQQ9EY[6Y68 MS9_/HYXF/8X@QS7=HV-CAPKBI> 9AD<,<@H+BURA.HL[@"I.1A"L-K)^@I5! M0!$TD^*:87&DRX*&\@HM+_5-0:"#;65+B&0;)E[(E.7)+8+_4C!)8&@\2&4< MPR+#&4TFS97Y@%+\YHI"-_"%%MZTM!VTZH!982GCIA$*SDF64Z_^ITG'/AZ> ME"V#;ORU4Z)2-FVW::=P1%'&W/K7"YI1EO<(A!^NO/]'8FE!59"LBADGNP'4)XO@A5W\ M/"T/5FY]WGEO%2D/93O/6)5G9$Z_19G:%;^S)G]I<>CKQXY[J?%)R;SC6@M^ M/H654?_9*VSG7#+L^#+L*C[3VNX='5V9@)])V=ZL"9)UW1R0\--,BD4:Z8I= M2*^.6XVWNM(UWP3K&::3X+;CXT9F5&CK(!(C*VV1ZX% MBRH]]WJFVUW'UW+.+LRY?,0L7D6'_P!02P,$% @ _(-L6&ERTP$$!@ MYQP !@ !C9')E+3(P,C,Q,C,Q>&5X,S)D,BYH=&WM67M3VT80_RI;9]+ MC/6TH48VS!AC)DP#9D!,FS]/TLFZYJ133V>,^^F[IX>1W9"VA!#2E &;N]O; MV]?M;U<:_6 8TRPA64@C>.N?OX-(A(N49@I"28G"V253"?@BSTD&YU1*QCD< M2Q;-*8!CFWNFX[JF;1A'(^0UJ3>)S(.>Y;B6:[M]<%S/V??Z!W!Y#CLW_F2W MI#Z93?SWE]/JV,N;XW=G$^@8EO5+;V)9)_Y)M= W;0=\2;*"*28RPBUK>M&! M3J)4[EG6P**(9[OCQU<"U>\.1I:F?4])/ M&7 RO?+/3L\F8_]L=H$WX^KZ9GSA@S][9FM^2D9G #?FM3DQX7HZ*>5T>GMV M]P5).+Z&\O% 3-H8[L/=A=@K^VREQA/?+WB MVO;7O$A?Z][\MB@4BU>;DIUE$(HLHZ'.>Q4VJ83".,L6A,,5S854(&*8D$A2 M>(N6QG1;=.$L"TW8T:1:=-<>3D2*B+8J1\YP%Q$+3H5,$=*,GR$6LF2;HXPB M II%-/KQE;-O#T]H2-. RFK4<[KH';?7K8:D@)CQ!C,U@VL:+B3F:+0!R2*8 MWB'\9(B<>'K*BD+K@+^:,D+)F^(=-2BJ*621 8DHX4QN^-T!>.P](".VBZN$^4]8WP\)G(5 M"3B%0,B(RL..W4&[<5XC]7I:G^$ MA-<*E+I@03%<)DQ10Y] /722)#CU(,^GL6-=SF!5H43JM69T@?. H3M'.\YN M:;$MO5Z0A#H>ZRP0+SA?8;9('U[ZPAW#GK]H;[7]S:Q=&1894 ]K1W^#^_G"&_W6PAOEB$\I:2, M6<1"I<$@PEEHQSYA$H,_E[308=[5RP0;-]R&TB!&X$*.<5]TRUWQ&CN0853V M%"5>(=6"5[=$(!:69Q;-S:@1U'S9T?\\L#.& M=TXXO=$AJ35T9BF'8P>2B: MH11H^K*QKO-/!,%J TT31-R (FDNQ2W#BD/#;6NOT.=!*K_8Y,MFGB MATXF<[4W?%I1<..[JI[C3)K>92 MY3@C%)R3O*!>\T];CGT\/*GJ<-U-ZPN$3MGLU>W[M%1WZGJFU7B7.;(YM>;F M5%H]G Y%D_;Z ]-V7[>ML95A6LU_B[E AC$7R\9"S=C0&=4+)"4?C"5:X&\? M**S725 (OE!TV.2<316KYQOUYZ=3_;UNYL'>?U6UGTS;^19U*]/R)J8_/C:_ M0"8XP+ MX)5=_CRO#E9A;3646WC^5('S@OUX05+Z.9[4]_ KN_%[=Z&OG]X_RH?/*N9& MT=/NB[!2+P%!/_[]^.,<@'8E]%TYM\*&%^_T78O5, M^WW8]INVG,RI4=5)),;VU2.W@D6UGP<#T^VO$W$U9Y?A7+W!*U\)'OT)4$L# M!!0 ( /R#;%@;!F_]/QH +C* 8 8V1R92TR,#(S,3(S,7AE>#DW M9#$N:'1M[5T+;]O&LOXK>WQP;FU LB7;L1T[#9 X[JF!YH'8O0?%Q<7%BEQ9 MVU"DNDM*5G_]G<=MKX&19(+5'DOG?GFYEOAJ_^T>V>I2.91BH6/U^^ M_T7$652,59J+R"B9P]69SD?B,IM,9"K>*V-TDHBW1L=72HA^;_O%=G]W=[O7 M[;Y^!66=NH>R]%CL[?1W=W9[N_NBOWOLLEBXW^O]ZV0BXUBG5]U$#?/C?G_[\*"Z9O35 MJ+J8<>>.C4IDKJ<*2U]3]QB^C!25L'< WX,ZX<&)?VR8I7EW*,R>O=O!&;NG"1$>)D@8ZEX].FG.^;"KO MH:<1;%EE&EV5(I5CJ/;_?DZ^]/;LGOD*N["ELBS M\?$1/'/+O?7L5L3FFSB;H R4*?R;3$PV)8$H/L"'\4 9<= 1(!;W.G2'&@Y5 MA >%D%9D0_$QRC.\:9=OVKKS1?3TEDPN!XD2@\S$RORXT=L0D4H2)UC+[W8B M(__=]8>?Z$99DLB)5PBX?_18#WT MEG)7"(+V'M6I_'MA5(B;>9-#&>L^^T@7,W,U9L MYG =QV"W=T(_T^?^R1;>Y@?E&S;C5,9&B9]A F&76 !(:;1]!]74^G6:C4%_ MFY<]TU9(%%/0 I&/X!O>H%(K<>N(SRH"667FXE.6Z&B.)<$MKBB^5I:49P)% MG(Z5P/J"BOJ')Q:T2#A*C)8DZ^#&2%DKAID1ANO !D1P#$F="E NLU1EA14Z M19D-0K$[D!:D9Q2V3LY@CN BU SE !!/4;Y2B4JCK!W,RR*SX5##9Y*L0?.@ M OJJIJCIPF^@V\HHRHJ41L0HFX,:2VHP?"X2NCHTV5B,)74G$6F68JL2C;HS M*\E#G<(7_-&H269<47\4L-*P*"L*6.5&_+I]L2VLB@H8&@V3FLB9W8;1[1_T M3BYQH-VHPZ=86=@JW%>J;P5__$^I496^AS#DV";L*5D3(* M1M&.)-PZDE.>_K&2*:YJZ%^.TPQMA9M\Y=647MY_YD=-"GF<)>78?$>1Y MA]N1+ [V&2*>IP=P[F-4-E[_!.)N4IA)9I5MG*D=.H>'L,^S&1[M<;5 4!N% M^I[+,#R]Q?&@Z-?!MS>P!J#E*$X^P9V91[LK)/ER0?ZBE=SM6B*M8JSS7*GZ M&L*E0VNH!MLC?[.'J*1KM0NI74BXD "7@5)Q=@UJ$>I]]J^<2OOM8FH74^_D MK+2HOP-EW2\D7#FV:5UO%TR[8&#!!&:1:JG@<8.%_9:9+^(BSZ(OI?VD73;M MLJF6#9K8%I?.167@J]GB /ST7^[M=]#=)\<*VMMBH'8YP7+ZJ;0>?RZMQ^^5 MM(5I'$P2_^)E6&?/)]Z5M$(_],1ZQM MS['8E%NE*\#2T0[C$,%SFP/T:.38NY$T"JI"B[U1>6%2^#7:@L]3E1;*PK=X M2Z2 0S4Z O!9M47>"+)_#Q3 4P6_PRB3)T"U9\M06]^:/0,>R7W8#V+%J8TTSS6H5C,LZ* 0R<%&MV!DP - RG=Z#JZ_[6 M:Y<6$JX6MU_@K@1K*'?+Q=EI>T*W)W3OY+ST2KXEKV3H,VTY+3NX^GAWP4%%A2X>;QDO9IFC1W/L'9;K=D5P_BT]CF6:%O#<($L+ M-"#CULV@"MR44%"7+B19>M5%L<(G1NF1M6Q@QN'!=LQ&&C8W].RV?,E8VTDB MY\?DG6BLLUN06X-":R5UT0'6].YPL=^<'GMT/S2JH^T75-C^T<%>]_!E[T7W MZ&CW2$SW%HJ.S!*?NG*(:RO8YG,Y-RZ23H\V-X_]/Y QZOM+;"A M[X=E?3^LZN^!G.Q/[#L[H , O.84Q;/8#N=X*JX'%8!/ANAQ12!RE!W9RDM"4"X_';@!F(;E7V7 F=+#S6T M4\$/V9S&?$(.1*<)@6Z'7*=\7F$% ?+9\;7*&;U-NW+05=25CDH=(E!A, 0H MT"U([4#%BZMV=='PXK[PU=56S01T%I!"-*EPL/@N\V)J-@;[M68J;*L:M*I! M[^1SQ1AL:@*KB(5QH?#T(Z_6VG8B@:JJSPB9(7K0%E+M,XR:EAPPMX;'Y]>60:C/+ MBB1V)$U6W\N"QO!LV1/-8\E=$#,%M2)@A+%RW:NL!C!BAIF?.+C^I*R5IY9 MF$)+BWU$M-B]1T2+?1,#J-8$)!\R%NC!]]7W?!R'L11,(QH UG<+@^A&H'+5 MM;I-@ D(P#+4%E"',:@\ [#!D\4M1K40AH[&4D"\#<6[1T+&.U MN![*90/M!=QL0:?M$!9-J) !3*6;,[Q/$O&(L&"LISHN9-*JAZTL?XJR?/\1 MR?)%8Z1+*A+.?,Q:-L617#QIMV%^(L56WU]:%Q1*RS0V2]ZL$+[D@4(PZ5ZU*-8:_EIN";W!7 MR4:KX"(.R5C.V2!-UD[$"_@7I!K*6 XN':@FGG #W>SE#=2:SE+>!1(S-*Z0 MCN<;@0!=&._PQ\K>L^3'P%CEIVH3D1@-,))NT!WA(4?SUHZ+3,!4 4FB##&. MYF(*OW7+=A)$&<%"5FS]KNH> A(,889W3*PJC2#+EISPR+EZ=[TC!JX493:1943='<(>VR4V4NNQ+2.:=*NI\!:U_JX5%MSW*GSF7 MXH$3&VV\WKU?L]LW;?U7+:&6(])R1/XJ1Z35S1Z1;O;B$>EFF"FFF*"'[00 M;8FU G=HJZM]C[K:>9A?A_R\M>P[MO(\L[MW@FY@&:X;LI3F*SC;0YWXS+2. MH>V%L6Z\#*+RH=(Y,H0HI]%<(.4*E)6U_*TP;Q(^LX#: M0]TY'QFTD^]M>880.>Z5IN::4DZ;2)I$X]K.1!;! MVL&YQ4B+HX M^WBLV/@2K%L[(H(&!7#[F^+.7SL2F#BBPZYC?PN3XUZX*@"O($_,.)4X45<2 MR8-!WS"KL_.YV%KUJZJ\D\1LO$0O<'RKS>SY(TB9))M#K>-T+@P4NRGPU $< M@WTF]F'FMBUWA7Q2WO\@O@":@+/R2O&\V EH[TXJ"4)X;L:AZK#;C6W4TE=: M7\6CQ<,'CP@/G]TL;P$HCQ$GBXO*X.H3+K9@^7L$RX@>)*\)EOI.*A#$Y7.? M< "O+2>YUT*Z3=A249&X5S&0 5MUD\X*T2_RUNV M,IB44"\3/3U$KL#?.OI^1:9W9:]M*W':*6,K$=01/JV"MX!N]U]^>WB+:IQG MT$[DW*L;%(IRJ_5(N!4Z@,8\7E5IS ]*3Y6] Z!UF^CBVRA(RP)$$KIW/9@ P+F7^3\1>1.&-<#C*D40<08'>*B]UJ3*K'X/%A57+P2WH MTXDU!TAC!91D?LG=H:LTU/;".!.WT-GS _>O&P!&ZM&6+\OY:/'Y$'7[IM$9 M 5 ^D7R^$9TG4).US:OSH%3O:_ZOU(>&!,^I\,ZE=T!]F0O>>F#(^_0<4\]P M<#9>_X<X\6FK M<5&.5%B9.6K:(/R6UH5>I\Z""_EN3GDDWIX45QGN88EV*RA1C\EHX?I(]#7_ MK6:*X]J"3!ED3UB1)X-CNRI)>)NQ<\$4?&AN:O\X:L-+#&1C$(.4WMN_K$KZ MDW"1F%B*F=(HH:J>NZ3DE+V<'ZT5Z,"*/W%:KW6K(#]%!?GP$2G([U4^R@C[ M5:ZCYZ'UMI+U1B6W3F&OE+C."@YW*$L#69C(6<=E Z7%Y%\G44P\;KV-R$%) M3VZ9CA,V2)-S"+]3VEB)VD8/,'YG(S6[=VK>ER'G25E;91#7B,HP8W2KU!O[Y9MCF@ ==::AQ_G9*0^'>6L3)*#@W1S8P5G-TNE]EDL-EIR/(T*C34*9[$".$8\&DHR^P5#[ MS#%/"PC74X26VBW1-I%07 >ZX^<45_<5-I@Z?0> G4J1UK-H0^ @$4VON2IP M@P4I7[P%,J#'A2!V(2F_);=I>6H(6!N7$A2RZ M?!Q($5CNJO#NHI!*4>+4.N$#"VQV4-](N&5*"M^5+X&XY2O><)>&I^$5;>\LCLK<-4 M#Z%/[$R$K7V>VL(@/'@>AI>6;O!U@O>#T@3FPF,Z77=.VP#:@4#1;DG-F5+F MIY+9[[ +<3^C!OE&-+X0!2/8(J)GXJ"%X$E^!*<4L4V9CFVGAT\SJ IL@',K4_7C?&8:'? MZG7JV'KRRJ@@QY:Z5N-);F_V+#N04$7">G?L3%(0Z#*FPHJYK6[@O)5_!;,L M33 ?I)[@ ->JM010;(&>;^4JIP>JZHU_@P.,4:J<7(0[L7]((4KS*F2H]EYN M:-#7O5&[>DL)V\4"YY0I$LY7&Z34Q3>M5P:PB[/33JW$SM=0F98$F%0!_0&S MR; ]0]((,8.JE:VM;'V"LK7?>T3"U4>>T1HZ$1>%F>JI^]J*VN]3U"Y),ZC* M=U#*DK%??R_EMD 9C3*UF;#/E4(OZ_;!73>S[;6ML8X74Z\(IA-7'.QZ>SK" ML[Q)(;N1K4=2?XID='(Z[^D&8 4B#RXB81+Z3LW+57O0E,EN*IV<]'5"$QATN7;<>+8XD!B1 M!ALI?/]*BCRV?*!2-=0Y9RERU!/?O66N$)Q[;!)]&.@J0>&R5=/RE]O#J'X8 M.5L+"BCE<7ZNTX+RK2,0+IW"Y$VN4V;7F;R"'5CBZ77VN!9WMLF>'@=!:_\) M>P];@E9+T&J3/7UWRF__,2F_F"F'DSU=5G"A57N_3Z39U-0HCU)-D5U,.KN" MYT^I:UGK72AD:3KX5061"W.(F4A]1AC.^+Y@@749F6Z5H#?C7$?!&YB6QU\? M]8Y>'A[VOGW\]2.V*=]AV/;B"O,Z2L-34<4N;XL/BZH-W$N>=WZHG/&^U]$I M%S!Y,M*,UY\/<%\((UQKZ?&FDY5%,*5@TUD2F%O+A #.G,?$ ,PQ;7S,VD?:HI^)UJ_LB7@'HC3),$E)B^J>#*JKHY## MW;V#@]W]NTAR6(F_,B4*IGBDG"BA>&'<6$B('L4ICJ(EAJ]*]):1:%K MLOI!$%!8YD)@BK*+B0519'!^D:G4"9V,2(#(FQY\+W:7/8^R.'QU9@,75/90 MO FF+"_\3Y&>Z@2YB)&B1)@^/Z+/".0\ V/8=ED:%V6H:QE'<(4#Q&\X=A0. ME(<-B%1E1@B!*N6)*?=SIY';P$?PH$2OD2%J60&K&;\57N[4PG3=.RPON^O@MI!@"6;/?C=:+F/O?K M;J^W*\K7CP;-6)'^-1II-5SRAA"RJM-O"R^L"*>(*X]3S+5(NT7::Y'V8WH!*AANT+/87<]P<$J[ M*8D -B+YF(O;YFM?'W,!PC+!(FR87MJ9GEA\^'6)J4+8%N62B1!<%[RF*1D^ MX5:+D'"JH8LH=J&]C+P2-45JRU!&.;]Z+-(&\"6:B:(%@!K8\,J <.Q'D(W, MY>BJYT"Y9=JU6J>$'G*JEDEA;$$O45LR%-[\-^)1\-;90RLA1E[AA(60?0H9R0KV4X?H/;Q 9[]Z@#^'-WMWSYFR_% M)2*S].:N"^&*UZ1!,Z54X]J:HZ-RU+96!N)_H)O+V"SJ0S3 M,.3RNOM' 4<')6]%GX-[OP-C2,:I;-!T9"\V70Y,)F-,15^"P9;U<7^LCQ?E@=-B^6;3YMO;X4?,;<(!34IE:\U(.WW^H @-OM[6R@BRJM] MO%HEO(9EFU)^[ZE"5N5I%BM^L=#10?ABH9;^V*K33U&=?DSO +\H(@29F7FX M=W\+_X_&ZJ&=5*'8[7WW*O427L9 >P)([(VDK%^XA!1XVY+H%*>H:-(ZW)+K M.# ?>?,L_FX[SA_0-+)FQC;>087^'J,LJRC3A^/#/_KS_Z%TC6]XD-6/K?_Y MK#!7.6J%'X?B$V!>@@TI,V) (?P%]J]X"\KCE__E@ZU5!^]<'3QHU<%OJP[^ M?=T/7\QRD^JW@R_O@S^C?)R\_G]02P$"% ,4 " #\@VQ8_2O/$$$: !% M'P$ $0 @ $ 8V1R92TR,#(S,3(S,2YX>H6 !G6@$ %0 @ %P&@ 8V1R92TR M,#(S,3(S,5]C86PN>&UL4$L! A0#% @ _(-L6-'ED]WX10 RB$% !4 M ( !C3$ &-D&UL4$L! A0#% M @ _(-L6/0/7N!3TP, -OTI !4 ( !7IX! &-D1Q!0!C9')E+3(P,C,Q,C,Q>#$P:S P,2YJ<&=02P$"% ,4 M " #\@VQ8&H0[(1)U !3=P & @ %^Q@4 8V1R92TR M,#(S,3(S,7@Q,&LP,#(N:G!G4$L! A0#% @ _(-L6)AT&IPH- X3< M !@ ( !QCL& &-D#$P:S P-"YJ<&=02P$"% ,4 " #\@VQ81L*]H:XD M ",U0 & @ $5] 8 8V1R92TR,#(S,3(S,7AE>#$Y9#$N M:'1M4$L! A0#% @ _(-L6+>;TODP!P 5'( !@ ( ! M^1@' &-D&5X M,C-D,2YH=&U02P$"% ,4 " #\@VQ83RCK-58( ":*0 & M @ 'L) < 8V1R92TR,#(S,3(S,7AE>#,Q9#$N:'1M4$L! A0#% @ M_(-L6(CI,7!M" WRD !@ ( !>"T' &-D&5X,S)D,2YH=&U02P$"% ,4 M " #\@VQ8:7+3 00& #G' & @ %Y/ < 8V1R92TR M,#(S,3(S,7AE>#,R9#(N:'1M4$L! A0#% @ _(-L6!L&;_T_&@ N,H M !@ ( !LT(' &-D XML 129 cdre-20231231x10k_htm.xml IDEA: XBRL DOCUMENT 0001860543 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0001860543 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0001860543 us-gaap:OverAllotmentOptionMember 2021-11-03 2021-11-03 0001860543 us-gaap:CommonStockMember 2021-01-01 2021-12-31 0001860543 us-gaap:RetainedEarningsMember 2023-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001860543 us-gaap:RetainedEarningsMember 2022-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001860543 us-gaap:RetainedEarningsMember 2021-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001860543 us-gaap:RetainedEarningsMember 2020-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001860543 cdre:AfcoCreditCorporationMember us-gaap:LoansPayableMember 2023-12-31 0001860543 cdre:AfcoCreditCorporationMember us-gaap:LoansPayableMember 2022-12-31 0001860543 us-gaap:OverAllotmentOptionMember 2022-07-14 0001860543 cdre:SecondaryOfferingMember 2022-06-09 0001860543 us-gaap:IPOMember 2021-11-03 0001860543 2023-12-31 2023-12-31 0001860543 cdre:StockIncentivePlan2021Member 2023-12-31 0001860543 cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2023-01-01 2023-12-31 0001860543 cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2023-12-31 0001860543 us-gaap:RestrictedStockUnitsRSUMember 2022-12-31 0001860543 cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2022-12-31 0001860543 cdre:MarketConditionRestrictedSharesMember 2022-12-31 0001860543 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001860543 cdre:StockIncentivePlan2021Member 2021-11-04 2021-11-04 0001860543 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001860543 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001860543 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001860543 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001860543 us-gaap:PhantomShareUnitsPSUsMember 2023-01-01 2023-12-31 0001860543 cdre:RadarLeatherDivisionS.r.lMember 2023-01-01 2023-12-31 0001860543 2025-01-01 2023-12-31 0001860543 2024-01-01 2023-12-31 0001860543 us-gaap:NonUsMember 2023-01-01 2023-12-31 0001860543 country:US 2023-01-01 2023-12-31 0001860543 cdre:U.s.stateAndLocalAgenciesMember 2023-01-01 2023-12-31 0001860543 cdre:U.s.FederalAgenciesMember 2023-01-01 2023-12-31 0001860543 cdre:OtherMember 2023-01-01 2023-12-31 0001860543 cdre:InternationalMember 2023-01-01 2023-12-31 0001860543 cdre:CommercialMember 2023-01-01 2023-12-31 0001860543 us-gaap:NonUsMember 2022-01-01 2022-12-31 0001860543 country:US 2022-01-01 2022-12-31 0001860543 cdre:U.s.stateAndLocalAgenciesMember 2022-01-01 2022-12-31 0001860543 cdre:U.s.FederalAgenciesMember 2022-01-01 2022-12-31 0001860543 cdre:OtherMember 2022-01-01 2022-12-31 0001860543 cdre:InternationalMember 2022-01-01 2022-12-31 0001860543 cdre:CommercialMember 2022-01-01 2022-12-31 0001860543 us-gaap:NonUsMember 2021-01-01 2021-12-31 0001860543 country:US 2021-01-01 2021-12-31 0001860543 cdre:U.s.stateAndLocalAgenciesMember 2021-01-01 2021-12-31 0001860543 cdre:U.s.FederalAgenciesMember 2021-01-01 2021-12-31 0001860543 cdre:OtherMember 2021-01-01 2021-12-31 0001860543 cdre:InternationalMember 2021-01-01 2021-12-31 0001860543 cdre:CommercialMember 2021-01-01 2021-12-31 0001860543 srt:MinimumMember us-gaap:MachineryAndEquipmentMember 2023-12-31 0001860543 srt:MinimumMember us-gaap:FurnitureAndFixturesMember 2023-12-31 0001860543 srt:MinimumMember us-gaap:ComputerEquipmentMember 2023-12-31 0001860543 srt:MinimumMember us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001860543 srt:MaximumMember us-gaap:MachineryAndEquipmentMember 2023-12-31 0001860543 srt:MaximumMember us-gaap:FurnitureAndFixturesMember 2023-12-31 0001860543 srt:MaximumMember us-gaap:ComputerEquipmentMember 2023-12-31 0001860543 srt:MaximumMember us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001860543 us-gaap:MachineryAndEquipmentMember 2023-12-31 0001860543 us-gaap:LandMember 2023-12-31 0001860543 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001860543 us-gaap:ConstructionInProgressMember 2023-12-31 0001860543 us-gaap:ComputerEquipmentMember 2023-12-31 0001860543 us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001860543 us-gaap:MachineryAndEquipmentMember 2022-12-31 0001860543 us-gaap:LandMember 2022-12-31 0001860543 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001860543 us-gaap:ConstructionInProgressMember 2022-12-31 0001860543 us-gaap:ComputerEquipmentMember 2022-12-31 0001860543 us-gaap:BuildingAndBuildingImprovementsMember 2022-12-31 0001860543 cdre:AlphaSafetyIntermediateLlcMember us-gaap:SubsequentEventMember 2024-03-01 2024-03-12 0001860543 cdre:IcorTechnologyInc.Member us-gaap:SubsequentEventMember 2024-01-01 2024-01-31 0001860543 cdre:CyalumeAcquisitionMember 2022-05-04 2022-05-04 0001860543 cdre:RadarLeatherDivisionS.r.lMember 2022-01-11 2022-01-11 0001860543 cdre:KandersCompanyIncMember cdre:SecondaryOfferingMember 2022-06-09 2022-06-09 0001860543 cdre:KandersCompanyIncMember us-gaap:IPOMember 2021-11-03 2021-11-03 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:NewCreditAgreementAugust2021Member 2023-01-01 2023-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0001860543 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0001860543 2023-10-31 2023-10-31 0001860543 2022-10-31 2022-10-31 0001860543 2021-10-31 2021-10-31 0001860543 2021-09-01 2021-09-30 0001860543 srt:MinimumMember cdre:CanadianCreditFacilityMember 2023-01-01 2023-12-31 0001860543 srt:MaximumMember cdre:CanadianCreditFacilityMember 2023-01-01 2023-12-31 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:CanadianCreditFacilityMember 2021-10-14 0001860543 us-gaap:LetterOfCreditMember cdre:CanadianCreditFacilityMember 2021-10-14 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:NewCreditAgreementAugust2021Member 2021-08-20 0001860543 us-gaap:LetterOfCreditMember cdre:NewCreditAgreementAugust2021Member 2021-08-20 0001860543 cdre:SwingLineLoansMember cdre:NewCreditAgreementAugust2021Member 2021-08-20 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:CanadianCreditFacilityMember 2022-12-31 0001860543 us-gaap:LetterOfCreditMember cdre:NewCreditAgreementAugust2021Member 2023-12-31 0001860543 srt:MaximumMember 2023-12-31 0001860543 us-gaap:TradeNamesMember 2023-12-31 0001860543 us-gaap:TradeNamesMember 2022-12-31 0001860543 cdre:CyalumeAcquisitionMember 2023-01-01 2023-12-31 0001860543 cdre:ProductsMember 2023-01-01 2023-12-31 0001860543 cdre:ProductsMember 2022-01-01 2022-12-31 0001860543 cdre:RadarLeatherDivisionS.r.lMember cdre:ProductsMember 2022-01-01 2022-12-31 0001860543 cdre:CyalumeAcquisitionMember cdre:ProductsMember 2022-01-01 2022-12-31 0001860543 cdre:RadarLeatherDivisionS.r.lMember 2022-01-01 2022-12-31 0001860543 cdre:CyalumeAcquisitionMember 2022-01-01 2022-12-31 0001860543 cdre:ProductsMember 2023-12-31 0001860543 cdre:DistributionServicesMember 2023-12-31 0001860543 cdre:ProductsMember 2022-12-31 0001860543 cdre:DistributionServicesMember 2022-12-31 0001860543 cdre:ProductsMember 2021-12-31 0001860543 cdre:DistributionServicesMember 2021-12-31 0001860543 cdre:NewCreditAgreementAugust2021Member 2021-01-01 2021-12-31 0001860543 us-gaap:TradeNamesMember 2023-12-31 0001860543 us-gaap:TechnologyBasedIntangibleAssetsMember 2023-12-31 0001860543 us-gaap:NoncompeteAgreementsMember 2023-12-31 0001860543 us-gaap:CustomerRelationshipsMember 2023-12-31 0001860543 us-gaap:TradeNamesMember 2022-12-31 0001860543 us-gaap:TechnologyBasedIntangibleAssetsMember 2022-12-31 0001860543 us-gaap:NoncompeteAgreementsMember 2022-12-31 0001860543 us-gaap:CustomerRelationshipsMember 2022-12-31 0001860543 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001860543 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001860543 us-gaap:EmployeeStockOptionMember 2023-12-31 0001860543 cdre:MarketConditionRestrictedSharesMember 2023-12-31 0001860543 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0001860543 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0001860543 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0001860543 cdre:InterestRateSwapTwoMember 2023-05-31 0001860543 us-gaap:InterestRateSwapMember 2023-12-31 0001860543 cdre:InterestRateSwapTwoMember 2023-12-31 0001860543 cdre:InterestRateSwapOneMember 2023-12-31 0001860543 us-gaap:OtherCurrentAssetsMember us-gaap:InterestRateSwapMember 2023-12-31 0001860543 us-gaap:OtherAssetsMember us-gaap:InterestRateSwapMember 2023-12-31 0001860543 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001860543 us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001860543 us-gaap:OtherCurrentAssetsMember us-gaap:InterestRateSwapMember 2022-12-31 0001860543 us-gaap:OtherAssetsMember us-gaap:InterestRateSwapMember 2022-12-31 0001860543 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001860543 us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001860543 cdre:NewCreditAgreementAugust2021Member 2023-12-31 0001860543 cdre:NewCreditAgreementAugust2021Member 2022-12-31 0001860543 cdre:AfcoCreditCorporationMember us-gaap:LoansPayableMember 2023-07-01 2023-07-31 0001860543 cdre:AfcoCreditCorporationMember us-gaap:LoansPayableMember 2022-07-01 2022-07-31 0001860543 cdre:InterestRateSwapTwoMember 2023-01-01 2023-12-31 0001860543 cdre:InterestRateSwapOneMember 2023-01-01 2023-12-31 0001860543 cdre:TermLoanMember cdre:NewCreditAgreementAugust2021Member 2021-08-20 2021-08-20 0001860543 cdre:TermLoanMember 2023-12-31 0001860543 cdre:AfcoCreditCorporationMember us-gaap:LoansPayableMember 2023-07-31 0001860543 cdre:AfcoCreditCorporationMember us-gaap:LoansPayableMember 2022-07-31 0001860543 cdre:IncrementalTermLoanMember us-gaap:SubsequentEventMember 2024-03-12 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:NewCreditAgreementAugust2021Member 2023-12-31 0001860543 cdre:TermLoanMember cdre:NewCreditAgreementAugust2021Member 2023-12-31 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:NewCreditAgreementAugust2021Member 2022-12-31 0001860543 cdre:TermLoanMember cdre:NewCreditAgreementAugust2021Member 2022-12-31 0001860543 cdre:TermLoanMember cdre:NewCreditAgreementAugust2021Member 2021-08-20 0001860543 srt:MinimumMember cdre:NewCreditAgreementAugust2021Member us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-05-31 2023-12-31 0001860543 srt:MinimumMember cdre:NewCreditAgreementAugust2021Member us-gaap:BaseRateMember 2023-05-31 2023-12-31 0001860543 srt:MaximumMember cdre:NewCreditAgreementAugust2021Member us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-05-31 2023-12-31 0001860543 srt:MaximumMember cdre:NewCreditAgreementAugust2021Member us-gaap:BaseRateMember 2023-05-31 2023-12-31 0001860543 srt:MinimumMember cdre:CanadianCreditFacilityMember us-gaap:BaseRateMember 2023-01-01 2023-12-31 0001860543 srt:MinimumMember cdre:CanadianCreditFacilityMember cdre:LondonInterbankOfferedRateMember 2023-01-01 2023-12-31 0001860543 srt:MaximumMember cdre:CanadianCreditFacilityMember us-gaap:BaseRateMember 2023-01-01 2023-12-31 0001860543 srt:MaximumMember cdre:CanadianCreditFacilityMember cdre:LondonInterbankOfferedRateMember 2023-01-01 2023-12-31 0001860543 us-gaap:OperatingSegmentsMember cdre:ProductsMember 2023-01-01 2023-12-31 0001860543 us-gaap:OperatingSegmentsMember cdre:DistributionServicesMember 2023-01-01 2023-12-31 0001860543 us-gaap:MaterialReconcilingItemsMember 2023-01-01 2023-12-31 0001860543 us-gaap:OperatingSegmentsMember cdre:ProductsMember 2022-01-01 2022-12-31 0001860543 us-gaap:OperatingSegmentsMember cdre:DistributionServicesMember 2022-01-01 2022-12-31 0001860543 us-gaap:MaterialReconcilingItemsMember 2022-01-01 2022-12-31 0001860543 us-gaap:OperatingSegmentsMember cdre:ProductsMember 2021-01-01 2021-12-31 0001860543 us-gaap:OperatingSegmentsMember cdre:DistributionServicesMember 2021-01-01 2021-12-31 0001860543 us-gaap:MaterialReconcilingItemsMember 2021-01-01 2021-12-31 0001860543 us-gaap:CommonStockMember 2023-12-31 0001860543 us-gaap:CommonStockMember 2022-12-31 0001860543 us-gaap:CommonStockMember 2021-12-31 0001860543 us-gaap:CommonStockMember 2020-12-31 0001860543 us-gaap:SubsequentEventMember 2024-01-23 2024-01-23 0001860543 2021-11-11 2021-11-11 0001860543 2020-12-31 0001860543 2021-12-31 0001860543 cdre:ExecutiveCompensationPlanMember us-gaap:SellingGeneralAndAdministrativeExpensesMember cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2023-01-01 2023-12-31 0001860543 us-gaap:RestrictedStockUnitsRSUMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-12-31 0001860543 us-gaap:EmployeeStockOptionMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-12-31 0001860543 cdre:MarketConditionRestrictedSharesMember 2023-01-01 2023-12-31 0001860543 cdre:ExecutiveCompensationPlanMember cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2022-03-09 2022-03-09 0001860543 cdre:ExecutiveCompensationPlanMember us-gaap:SellingGeneralAndAdministrativeExpensesMember cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2022-01-01 2022-12-31 0001860543 us-gaap:RestrictedStockUnitsRSUMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0001860543 us-gaap:EmployeeStockOptionMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0001860543 cdre:MarketConditionRestrictedSharesMember 2022-01-01 2022-12-31 0001860543 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0001860543 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0001860543 2023-10-01 2023-12-31 0001860543 2023-06-30 0001860543 2024-03-08 0001860543 cdre:MarketConditionRestrictedSharesMember 2021-11-04 0001860543 srt:BoardOfDirectorsChairmanMember 2021-01-01 2021-12-31 0001860543 cdre:KandersCompanyIncMember 2023-01-01 2023-12-31 0001860543 cdre:KandersCompanyIncMember 2022-01-01 2022-12-31 0001860543 us-gaap:OverAllotmentOptionMember 2022-07-14 2022-07-14 0001860543 cdre:SecondaryOfferingMember 2022-06-09 2022-06-09 0001860543 us-gaap:IPOMember 2021-11-03 2021-11-03 0001860543 us-gaap:SubsequentEventMember 2024-01-23 0001860543 srt:MinimumMember cdre:NewCreditAgreementAugust2021Member 2023-12-31 0001860543 srt:MaximumMember cdre:NewCreditAgreementAugust2021Member 2023-12-31 0001860543 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-12-31 0001860543 cdre:MarketConditionRestrictedSharesMember 2021-11-04 2021-11-04 0001860543 cdre:NewCreditAgreementAugust2021Member us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-05-31 2023-12-31 0001860543 cdre:ScenarioPeriodThreeMember cdre:NewCreditAgreementAugust2021Member 2023-01-01 2023-12-31 0001860543 cdre:EachQuarterStartingWithQuarterEndedDecember312022Member cdre:NewCreditAgreementAugust2021Member 2023-01-01 2023-12-31 0001860543 us-gaap:RevolvingCreditFacilityMember cdre:CanadianCreditFacilityMember 2023-12-31 0001860543 cdre:TermLoanMember cdre:NewCreditAgreementAugust2021Member 2023-01-01 2023-12-31 0001860543 cdre:NewCreditAgreementAugust2021Member 2023-01-01 2023-12-31 0001860543 cdre:TermLoanMember cdre:NewCreditAgreementAugust2021Member 2022-01-01 2022-12-31 0001860543 cdre:ScenarioPeriodOneMember cdre:NewCreditAgreementAugust2021Member 2023-01-01 2023-12-31 0001860543 2021-03-01 2021-03-31 0001860543 2021-01-01 2021-12-31 0001860543 cdre:ExecutiveCompensationPlanMember cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2023-12-31 0001860543 cdre:ExecutiveCompensationPlanMember cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2023-01-01 2023-12-31 0001860543 cdre:ExecutiveCompensationPlanMember cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2022-03-18 0001860543 cdre:ExecutiveCompensationPlanMember cdre:TwoThousandTwentyOnePhantomRestrictedSharePlanMember 2022-03-09 0001860543 cdre:CyalumeAcquisitionMember 2022-05-04 0001860543 cdre:RadarLeatherDivisionS.r.lMember 2022-01-11 0001860543 2023-12-31 0001860543 2022-12-31 0001860543 2023-01-01 2023-12-31 0001860543 2022-01-01 2022-12-31 iso4217:USD iso4217:USD shares shares pure cdre:warehouse cdre:item cdre:installment iso4217:CAD cdre:segment http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent false FY 2023 0001860543 --12-31 2023 FY false 37587436 http://fasb.org/us-gaap/2023#OtherAssetsCurrent http://fasb.org/us-gaap/2023#OtherAssetsCurrent http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent 37332271 37332271 P1Y P20D P3Y 0 0 P10Y 10-K true 2023-12-31 false 001-40698 CADRE HOLDINGS, INC. DE 38-3873146 13386 International Parkway Jacksonville FL 32218 904 741-5400 Common Stock, $0.0001 Par Value per Share CDRE NYSE No No Yes Yes Accelerated Filer false true false false false false 300482938 37587436 185 KPMG LLP Jacksonville, Florida 87691000 45286000 58360000 64557000 80976000 70273000 11930000 10091000 6886000 6811000 245843000 197018000 44647000 45285000 6554000 8489000 4004000 2255000 43472000 50695000 81667000 81576000 4992000 6634000 431179000 391952000 28418000 23406000 44524000 38720000 9944000 4584000 12320000 12211000 95206000 78921000 127812000 137476000 3186000 4965000 4843000 3508000 2970000 1192000 234017000 226062000 0.0001 0.0001 10000000 10000000 0 0.0001 0.0001 190000000 190000000 37587436 4000 4000 212630000 206540000 634000 2087000 -16106000 -42741000 197162000 165890000 431179000 391952000 482532000 457837000 427288000 281806000 282159000 256598000 200726000 175678000 170690000 140519000 153129000 114962000 2192000 4355000 3430000 1496000 1478000 579000 144207000 158962000 118971000 56519000 16716000 51719000 4531000 6206000 16425000 -15155000 936000 -1137000 -947000 -3595000 -7343000 -32527000 52924000 9373000 19192000 14283000 3553000 6531000 38641000 5820000 12661000 1.03 0.16 0.44 1.02 0.16 0.44 37533818 36109844 28598692 37920488 36122374 28598692 38641000 5820000 12661000 775000 6444000 767000 3157000 618000 -146000 -2382000 5826000 913000 929000 -1822000 30000 -1453000 4004000 943000 37188000 9824000 13604000 258000 2148000 256000 -1052000 -206000 -49000 257000 587000 24000 38641000 5820000 12661000 15737000 15651000 13718000 479000 740000 3193000 4255000 -15155000 -210000 -1087000 4772000 9368000 31858000 355000 66000 417000 -188000 602000 -1517000 -102000 -381000 -170000 -6602000 11536000 4641000 10223000 -1162000 3189000 302000 7711000 4564000 14034000 5493000 2720000 73209000 46409000 40094000 6727000 4494000 2832000 207000 411000 55543000 -6520000 -59626000 -2832000 43000000 257980000 43000000 258612000 198716000 10000000 10116000 266000000 3949000 3989000 5010000 3973000 4952000 3061000 2198000 4217000 2725000 6300000 83421000 56329000 2953000 4841000 12006000 11509000 12751000 33000 -25000 -43000 -24722000 24463000 -6596000 438000 183000 318000 42405000 11429000 30984000 45286000 33857000 2873000 87691000 45286000 33857000 8729000 1395000 1158000 10090000 6109000 13336000 234000 172000 197000 27483350 3000 48670000 -2860000 -36962000 8851000 12661000 12661000 6900000 78581000 78581000 12751000 12751000 355000 355000 30000 30000 913000 913000 34383350 3000 127606000 -1917000 -37052000 88640000 5820000 5820000 2550000 1000 53376000 53377000 11509000 11509000 30706000 30706000 580990 1152000 1152000 -182069 -6300000 -6300000 -1822000 -1822000 5826000 5826000 37332271 4000 206540000 2087000 -42741000 165890000 38641000 38641000 12006000 12006000 8782000 8782000 395837 -142077 -2725000 -2725000 1405 33000 33000 929000 929000 -2382000 -2382000 37587436 4000 212630000 634000 -16106000 197162000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">1.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">SIGNIFICANT ACCOUNTING POLICIES</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Nature of Operations and Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 21 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Principles of Consolidation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The accompanying consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (“GAAP” or “U.S. GAAP”) and include the accounts of Cadre Holdings, Inc. and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Emerging Growth Company</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of these consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Fair Value Measurements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, <i style="font-style:italic;">Fair Value Measurements and Disclosures, </i>which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 18pt;">Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 17.45pt;">Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 17.45pt;">Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company’s financial instruments consist principally of cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Cash and Cash Equivalents</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Included in cash and cash equivalents are deposits with banks, cash on hand in stores, amounts due from credit card transactions and money market funds. We have no restrictions on our cash and cash equivalents. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Accounts Receivable</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Trade accounts receivable consists of amounts owed to the Company and is stated net of allowances for known and potential losses. The Company’s outstanding accounts receivable balances are exposed to credit risk and valuation allowances are established for estimated losses resulting from non-collection of outstanding amounts due from customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The estimate of expected credit losses is based on the Company’s historical loss experience, adjusted for current and reasonable and supportable forecasts of economic conditions and other pertinent factors affecting the Company’s customers such as known credit risk or industry trends. In addition, specific reserves are established for customer accounts as known collection problems occur due to insolvency, disputes, or other collection issues. The amounts of these specific reserves are estimated by management based on the customer’s financial position, the age of the customer’s receivables and the reasons for any disputes. The allowance for doubtful accounts is reduced by any write-off of uncollectible customer accounts.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Inventories</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Inventories are stated at the lower of cost, determined using the first-in, first-out (“FIFO”) or average cost methods, or net realizable value. Elements of cost in the Company’s manufactured inventories generally include raw materials, direct labor, indirect labor, manufacturing overhead and freight-in. The Company periodically reviews its inventories considering sales forecasts and historical experience to identify excess, close-out, or slow-moving items and makes provisions as necessary to properly reflect inventory value at the lower of cost or net realizable value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Property and Equipment</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Property and equipment, including those acquired under capital lease agreements, is stated at cost less accumulated depreciation and amortization, except for assets acquired using acquisition accounting, which are initially recorded at fair value. Depreciation is computed using the straight-line method over the following estimated useful lives:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Buildings and improvements</b></p></td><td style="vertical-align:top;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">   </p></td><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">5 to 39 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Furniture and fixtures</b></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2 to 10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Computer hardware and software</b></p></td><td style="vertical-align:top;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 to 5 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Machinery and equipment</b></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 to 8 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Leasehold improvements are amortized over the lesser of the estimated useful life of the improvement or the life of the lease. Major replacements, which extend the useful lives of property and equipment, are capitalized and depreciated over the remaining useful life of the asset. Normal repair and maintenance items are expensed as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The recoverability of the carrying amount of property and equipment is assessed when events or changes in circumstances indicate that the carrying amount of an asset or asset group may not be recoverable. If it is determined that the carrying amount of an asset or asset group is not recoverable based upon expected undiscounted future cash flows of the asset or asset group, an impairment loss equal to the excess of the carrying amount over the estimated fair value of the asset or asset group is recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Lease assets and lease liabilities are recognized at the commencement of an arrangement where it is determined at inception that a lease exists.  Lease assets represent the right to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the lease.  These assets and liabilities are initially recognized based on the present value of lease payments over the lease term calculated using our incremental borrowing rate.  Lease terms include options to extend or terminate the lease when it is reasonably certain that those options will be exercised.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Variable lease payments are generally expensed as incurred and include certain non-lease components, such as common area maintenance and other services provided by the lessor, and other charges such as utilities, insurance and property taxes included in the lease.  Leases with an initial term of 12 months or less are not recorded on the balance sheet, and the expense for these short-term leases and for operating leases is recognized on a straight-line basis over the lease term. Non-lease components are excluded from the right-of-use (“ROU”) asset and lease liability present value computations. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Goodwill and Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company classifies intangible assets into three categories: i) intangible assets with definite lives subject to amortization, ii) intangible assets with indefinite lives not subject to amortization and iii) goodwill. The Company determines the useful lives of its identifiable intangible assets after considering the specific facts and circumstances related to each intangible asset. Factors the Company considers when determining useful lives include the contractual term of any agreement related to the asset, the historical performance of the asset, the Company’s long-term strategy for using the asset, any laws or other local regulations which could impact the useful life of the asset, and other economic factors, including competition and specific market conditions. Intangible assets that are deemed to have definite lives are amortized on a straight-line basis over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company tests goodwill and intangible assets determined to have indefinite useful lives for impairment annually, or more frequently if events or circumstances indicate that assets might be impaired. The Company performs these annual impairment tests as of October 31<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">st</sup> each year. Goodwill is evaluated for impairment at the reporting unit level, which is defined as an operating segment or one level below an operating segment. As of October 31, 2023, 2022 and 2021, the Company had three reporting units: Safariland, Med-Eng, and Distribution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In evaluating goodwill for impairment, qualitative factors are considered to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. Some of these qualitative factors may include macroeconomic conditions, industry and market considerations, a change in financial performance, or entity-specific events. If, through this qualitative assessment, the conclusion is made that it is more likely than not that a reporting unit’s fair value is less than its carrying amount, the Company compares the fair value of a reporting unit to its carrying value. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company would generally determine the fair value of reporting units based on a combination of the income approach and market approach, weighted based on the circumstances. Under the income approach, the discounted cash flow model determines fair value based on the present value of projected cash flows over a specific projection period and a residual value related to future cash flows beyond the projection period. Both values are discounted using a rate that reflects the Company’s best estimate of the weighted average cost of capital of a market participant and is adjusted for appropriate risk factors. The Company performs sensitivity tests with respect to growth rates and discount rates used in the income approach. Under the market approach, valuation multiples are derived based on a selection of comparable companies and acquisition transactions and applied to projected operating data for each reporting unit to arrive at an indication of fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For all periods presented, the Company performed the qualitative assessment of goodwill and determined it was more likely than not that the fair value of each of its reporting units would be greater than its carrying amount. Therefore, the Company determined it was not necessary to perform the quantitative goodwill impairment test.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For indefinite-lived intangible assets other than goodwill, the impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount exceeds the fair value, an impairment charge is recognized in an amount equal to that excess.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company tests definite-lived intangible assets for recoverability when changes in circumstances indicate the carrying value may not be recoverable. Events that trigger a test for recoverability include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">material adverse changes in projected revenues and expenses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">significant underperformance relative to historical and projected future operating results;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">significant negative industry or economic trends; and,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a significant adverse change in the manner in which an asset group is used or in its physical condition.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Future adverse changes in these or other unforeseeable factors could result in an impairment charge that could materially impact future results of operations and financial position in the reporting period identified.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When a triggering event occurs, a test for recoverability is performed by comparing projected undiscounted future cash flows to the carrying value of the asset group. If the test for recoverability identifies a possible impairment, the asset group’s fair value is measured relying primarily on a discounted cash flow method. An impairment charge is recognized for the amount by which the carrying value of the asset group exceeds its estimated fair value. When an impairment loss is recognized for assets to be held and used, the adjusted carrying amount of those assets is depreciated over their remaining useful life. We did not have any events or circumstances indicating impairment of our long-lived assets for the years presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Accounts Payable</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts payable represents amounts owed by us to third parties at the end of the period. Accounts payable includes $1,055 and $188 of book cash overdrafts in excess of cash balances in such accounts as of December 31, 2023 and 2022, respectively. We include the change in book cash overdrafts in operating cash flows in the consolidated statements of cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Revenue Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Product Warranty</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements and is recorded in cost of goods sold in the Company’s consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth the changes in the Company’s accrued warranties, which is recorded in accrued liabilities in the consolidated balance sheets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,256</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Current period claims</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (886)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (278)</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for current period sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,262</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,234</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Cost of Goods Sold</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Cost of goods sold includes raw material purchases, manufacturing-related labor costs, contracted labor, shipping costs, reimbursable research and development costs, allocated manufacturing overhead, facility costs, depreciation and amortization, and product warranty costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Selling, General &amp; Administrative Expenses</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Selling, general and administrative expense includes personnel-related costs, including stock-based compensation, professional services, marketing and advertising expense, research and development and depreciation and amortization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Advertising Expenses</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Advertising costs are expensed in the period incurred. Advertising expenses primarily consist of marketing, promotions, catalog and trade show expenses and were $6,145, $4,711 and $3,120 for the years ended December 31, 2023, 2022 and 2021, respectively. Advertising expenses are included in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Research and Development</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Research and development expenses are expensed as incurred and included within selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income. Total research and development costs were $6,954, $7,086 and $6,460 for the years ended December 31, 2023, 2022 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Debt Issuance Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The<span style="letter-spacing:-0.85pt;"> </span>Company<span style="letter-spacing:-0.85pt;"> </span>capitalizes<span style="letter-spacing:-0.85pt;"> </span>costs<span style="letter-spacing:-0.85pt;"> </span><span style="letter-spacing:-0.15pt;">related</span><span style="letter-spacing:-0.85pt;"> </span>to<span style="letter-spacing:-0.8pt;"> </span>the<span style="letter-spacing:-0.85pt;"> </span>issuance<span style="letter-spacing:-0.85pt;"> </span>of<span style="letter-spacing:0.05pt;"> </span>debt<span style="letter-spacing:-0.85pt;"> </span>under<span style="letter-spacing:-0.85pt;"> </span>the<span style="letter-spacing:-0.85pt;"> </span><span style="letter-spacing:-0.15pt;">provisions</span><span style="letter-spacing:-0.8pt;"> </span>of<span style="letter-spacing:0.05pt;"> </span>ASC<span style="letter-spacing:-0.85pt;"> </span>Subtopic<span style="letter-spacing:-0.85pt;"> </span>835-30, <i style="font-style:italic;">Interest — Imputation of Interest. </i>Debt issuance costs related to a recognized debt liability are presented in the consolidated balance sheets as a direct deduction from the carrying amount of that debt liability and subsequently amortized on a straight-line method which approximates the effective interest method<span style="letter-spacing:-1pt;"> </span><span style="letter-spacing:-0.15pt;">over </span>the life of the related loan. Debt issuance costs related to line-of-credit are presented in the consolidated balance sheets as an asset and subsequently amortized ratably over the term of the respective arrangement. Amortization of debt issuance costs is included as a component of interest expense in the Company’s consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Stock-Based Compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company records compensation expense for all stock-based awards granted based on the fair value of the award at the time of the grant. </span>The fair value of each option award is estimated on the date of grant using the Black-Scholes option pricing model that uses assumptions and estimates that the Company believes are reasonable. The fair value of restricted stock awards is measured based on the closing market value of the Company’s common stock on the date of the grant. <span style="background:#ffffff;">For restricted stock awards subject to market conditions, the fair value of each restricted stock award has been estimated as of the date of grant using a Monte-Carlo pricing model. The Company recognizes the cost of the stock-based awards on a straight-line basis over the requisite service period of the award and recognizes forfeitures in the period they occur. </span>Stock options granted have contractual terms of up to ten years. <span style="background:#ffffff;">Upon vesting of restricted stock awards, the Company issues shares from those authorized and reserved for issuance.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Derivatives</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company mitigates the impact of changes in interest rates with interest rate swaps that are accounted for as designated hedges pursuant to ASC Topic 815,</span><i style="font-style:italic;background:#ffffff;"> Derivatives and Hedging</i><span style="background:#ffffff;"> ("ASC 815"). ASC 815 requires that an entity recognize all derivatives as either assets or liabilities on the balance sheet, measure those instruments at fair value and recognize changes in the fair value of derivatives in earnings in the period of change unless the derivative qualifies as designated cash flow hedge that offsets certain exposures. Certain criteria must be satisfied in order for derivative financial instruments to be classified and accounted for as a cash flow hedge. Changes in the fair value of derivatives that are not elected for hedge accounting treatment are recorded immediately into earnings.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company would discontinue hedge accounting prospectively (i) if it is determined that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item, (ii) when the derivative expires or is sold, terminated, or exercised, (iii) if it becomes probable that the forecasted transaction being hedged by the derivative will not occur, (iv) if a hedged firm commitment no longer meets the definition of a firm commitment, or (v) if it is determined that designation of the derivative as a hedge instrument is no longer appropriate.</span><span style="background:#ffffff;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Restructuring Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restructuring costs consist primarily of termination benefits and relocation of employees, termination of operating leases and other contracts related to consolidating or closing facilities. The Company applies the provisions of ASC Topic 420, <i style="font-style:italic;">Exit or Disposal Cost Obligations </i>(“ASC 420”) and ASC Topic 712, <i style="font-style:italic;">Nonretirement Postemployment Benefits </i>(“ASC 712”) in the recording of severance costs. Severance costs accounted for under ASC 420 are recognized when management with the proper level of authority commits to a restructuring plan and communicates those actions to employees and other applicable criteria. Severance<span style="letter-spacing:-0.2pt;"> </span>costs<span style="letter-spacing:-0.15pt;"> </span>accounted<span style="letter-spacing:-0.15pt;"> for </span>under<span style="letter-spacing:-0.15pt;"> </span>ASC<span style="letter-spacing:-0.15pt;"> </span>712<span style="letter-spacing:-0.15pt;"> </span>are<span style="letter-spacing:-0.15pt;"> </span>recognized<span style="letter-spacing:-0.15pt;"> </span>when<span style="letter-spacing:-0.2pt;"> </span>it<span style="letter-spacing:-0.15pt;"> </span>is<span style="letter-spacing:-0.15pt;"> probable </span>that<span style="letter-spacing:-0.15pt;"> </span>employees<span style="letter-spacing:-0.15pt;"> </span>are<span style="letter-spacing:-0.15pt;"> </span>entitled to benefits and the amount could be reasonably estimated. Other exit costs are accounted for under ASC 420 and are either deferred or expensed as incurred based on the nature of the<span style="letter-spacing:-0.85pt;"> </span>expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;">The Company accounts for income taxes under the provisions of ASC Topic 740, </span><i style="color:#231f20;font-style:italic;">Income Taxes</i><span style="color:#231f20;">. Deferred tax assets and liabilities are determined based on differences between the financial statement carrying amounts and tax bases of assets and liabilities and are classified as noncurrent in the consolidated balance sheets.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of<span style="letter-spacing:0.5pt;"> </span>changes<span style="letter-spacing:-0.45pt;"> </span>in<span style="letter-spacing:-0.4pt;"> </span>tax<span style="letter-spacing:-0.4pt;"> </span>rates<span style="letter-spacing:-0.4pt;"> </span>on<span style="letter-spacing:-0.4pt;"> </span>deferred<span style="letter-spacing:-0.4pt;"> </span>tax<span style="letter-spacing:-0.4pt;"> </span>assets<span style="letter-spacing:-0.4pt;"> </span>and<span style="letter-spacing:-0.4pt;"> </span>liabilities<span style="letter-spacing:-0.4pt;"> </span>is<span style="letter-spacing:-0.4pt;"> </span>recognized<span style="letter-spacing:-0.45pt;"> </span>in<span style="letter-spacing:-0.4pt;"> </span>income<span style="letter-spacing:-0.4pt;"> </span>in<span style="letter-spacing:-0.4pt;"> </span>the<span style="letter-spacing:-0.4pt;"> </span>period<span style="letter-spacing:-0.4pt;"> </span>that<span style="letter-spacing:-0.4pt;"> </span>includes the enactment <span style="letter-spacing:-0.2pt;">date. </span>Changes in tax <span style="letter-spacing:-0.2pt;">laws </span>and rates could <span style="letter-spacing:-0.25pt;">have </span>a material impact on the deferred tax assets and liabilities<span style="letter-spacing:-0.4pt;"> </span>recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deferred tax assets are reduced by a <span style="letter-spacing:-0.15pt;">valuation allowance </span>when, in the opinion of management, it is more <span style="letter-spacing:-0.15pt;">likely</span><span style="letter-spacing:-0.3pt;"> </span>than<span style="letter-spacing:-0.3pt;"> </span>not<span style="letter-spacing:-0.3pt;"> </span>that<span style="letter-spacing:-0.3pt;"> </span>some<span style="letter-spacing:-0.3pt;"> </span>portion<span style="letter-spacing:-0.3pt;"> </span>or<span style="letter-spacing:-0.3pt;"> </span><span style="letter-spacing:-0.15pt;">all</span><span style="letter-spacing:-0.3pt;"> </span>of<span style="letter-spacing:0.75pt;"> </span>the<span style="letter-spacing:-0.3pt;"> </span>deferred<span style="letter-spacing:-0.3pt;"> </span>tax<span style="letter-spacing:-0.3pt;"> </span>assets<span style="letter-spacing:-0.3pt;"> </span>will<span style="letter-spacing:-0.3pt;"> </span>not<span style="letter-spacing:-0.3pt;"> </span>be<span style="letter-spacing:-0.25pt;"> </span>realized.<span style="letter-spacing:-0.3pt;"> </span>Significant<span style="letter-spacing:-0.3pt;"> </span>estimates<span style="letter-spacing:-0.3pt;"> </span>are used in the <span style="letter-spacing:-0.15pt;">evaluation </span>of the need <span style="letter-spacing:-0.15pt;">for </span>a <span style="letter-spacing:-0.15pt;">valuation allowance </span>including estimates regarding future taxable income.<span style="letter-spacing:-0.3pt;"> </span>Changes<span style="letter-spacing:-0.25pt;"> </span>to<span style="letter-spacing:-0.25pt;"> </span>those<span style="letter-spacing:-0.25pt;"> </span>estimates<span style="letter-spacing:-0.25pt;"> </span>could<span style="letter-spacing:-0.25pt;"> </span>impact<span style="letter-spacing:-0.25pt;"> </span>management’s<span style="letter-spacing:-0.25pt;"> </span>conclusions<span style="letter-spacing:-0.25pt;"> </span>regarding<span style="letter-spacing:-0.25pt;"> </span>the<span style="letter-spacing:-0.25pt;"> </span>need<span style="letter-spacing:-0.25pt;"> </span><span style="letter-spacing:-0.15pt;">for</span><span style="letter-spacing:-0.25pt;"> valuation </span>allowances on some or <span style="letter-spacing:-0.15pt;">all </span>of the deferred tax assets. The Company releases the income tax effects of deferred tax balances that <span style="letter-spacing:-0.25pt;">have </span>a <span style="letter-spacing:-0.15pt;">valuation allowance </span>from accumulated other comprehensive income once the reason the tax effects were established ceases to<span style="letter-spacing:-1.6pt;"> </span>exist.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company is subject to income taxes in the United States and <span style="letter-spacing:-0.15pt;">several </span>foreign jurisdictions. In the United <span style="letter-spacing:-0.15pt;">States, </span>the Company files a consolidated income tax return with its domestic subsidiaries. When tax returns are filed, it is highly certain that some positions <span style="letter-spacing:-0.2pt;">taken </span>would be sustained upon examination by taxing<span style="letter-spacing:-0.3pt;"> </span>authorities,<span style="letter-spacing:-0.25pt;"> </span>while<span style="letter-spacing:-0.3pt;"> </span>others<span style="letter-spacing:-0.25pt;"> </span>are<span style="letter-spacing:-0.25pt;"> </span>subject<span style="letter-spacing:-0.3pt;"> </span>to<span style="letter-spacing:-0.25pt;"> </span>uncertainty<span style="letter-spacing:-0.25pt;"> </span>about<span style="letter-spacing:-0.3pt;"> </span>the<span style="letter-spacing:-0.25pt;"> </span>merits<span style="letter-spacing:-0.3pt;"> </span>of<span style="letter-spacing:0.95pt;"> </span>the<span style="letter-spacing:-0.25pt;"> </span>position<span style="letter-spacing:-0.3pt;"> </span><span style="letter-spacing:-0.2pt;">taken</span><span style="letter-spacing:-0.25pt;"> </span>or<span style="letter-spacing:-0.25pt;"> </span>the<span style="letter-spacing:-0.3pt;"> </span>amount of the position that would be ultimately sustained. The benefit of a tax position is recognized in<span style="letter-spacing:0.7pt;"> </span>the consolidated financial statements in the period during which, based on <span style="letter-spacing:-0.15pt;">all </span><span style="letter-spacing:-0.2pt;">available </span>evidence, it is more <span style="letter-spacing:-0.15pt;">likely </span>than not that the position will be sustained upon examination, including the resolution of appeals or litigation<span style="letter-spacing:-0.45pt;"> </span>processes,<span style="letter-spacing:-0.4pt;"> </span>if<span style="letter-spacing:0.6pt;"> </span><span style="letter-spacing:-0.4pt;">any. </span><span style="letter-spacing:-0.25pt;">Tax</span><span style="letter-spacing:-0.45pt;"> </span>positions<span style="letter-spacing:-0.4pt;"> </span><span style="letter-spacing:-0.2pt;">taken</span><span style="letter-spacing:-0.45pt;"> </span>are<span style="letter-spacing:-0.4pt;"> </span>not<span style="letter-spacing:-0.45pt;"> </span>offset<span style="letter-spacing:-0.4pt;"> </span>or<span style="letter-spacing:-0.45pt;"> </span>aggregated<span style="letter-spacing:-0.4pt;"> </span>with<span style="letter-spacing:-0.45pt;"> </span>other<span style="letter-spacing:-0.4pt;"> </span>positions.<span style="letter-spacing:-0.45pt;"> </span><span style="letter-spacing:-0.25pt;">Tax</span><span style="letter-spacing:-0.4pt;"> </span>positions that meet the more-likely than-not threshold are measured as the largest amount of tax benefit that<span style="letter-spacing:-0.95pt;"> </span>is <span style="color:#231f20;">more than 50% likely of being realized upon settlement with the applicable taxing authority. The portion of the benefits associated with tax positions taken that exceeds the amount measured as described above is reflected as a liability for unrecognized tax benefits in the accompanying balance sheets along with any associated interest and penalties that would be payable to the taxing authorities upon examination.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Further information regarding the Company’s tax positions is included in Note 15<i style="font-style:italic;">, Income Taxes</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Accumulated Other Comprehensive Income</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Comprehensive income represents all changes in equity of the Company that result from recognized transactions and other economic events during the period. Other comprehensive (loss) income refers to revenues, expenses, gains, and losses that under GAAP are included in comprehensive income but excluded from net income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Foreign Currency</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Translation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Assets and liabilities of subsidiaries operating outside the United States with a functional currency other than U.S. Dollars are translated into U.S. Dollars using the exchange rates in effect at the balance sheet date. Results of operations are translated using the average exchange rate prevailing throughout the period. The effects of unrealized exchange rate fluctuations on translating foreign currency assets and liabilities into U.S. dollars are accumulated as the cumulative translation adjustment included in accumulated other comprehensive income in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Transaction</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Transactions denominated in foreign currency are recorded at the exchange rate on the date of each transaction. Realized gains and losses on foreign currency transactions are included in other income (expense), net in the consolidated statements of operations and comprehensive income, except on certain intercompany balances which the Company has determined are of a long-term investment nature, which are included in accumulated other comprehensive income in the consolidated balance sheets. Monetary assets and liabilities are remeasured at the balance sheet date at end-of-period exchange rates. Unrealized gains and losses arising from remeasurement of foreign currency-denominated monetary assets and liabilities are included in other income (expense), net in the consolidated statements of operations and comprehensive income in the period in which they occur.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Net Income per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic income or loss per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. <span style="background:#ffffff;">Diluted income or loss per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method.</span> The calculation of weighted average shares outstanding and net income per share are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:42.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,641</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,661</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,533,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,109,844</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,598,692</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of dilutive securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,530</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,920,488</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,122,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,598,692</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.44</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.44</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:normal;font-weight:normal;">There were </span><span style="font-style:normal;font-weight:normal;">no</span><span style="font-style:normal;font-weight:normal;"> dilutive instruments outstanding for the year ended December 31, 2021.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Risk and Uncertainties</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Concentration of Credit Risk</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Financial instruments that potentially subject the Company to concentration of credit risk consist principally of cash and accounts receivable. Risks associated with cash within the United States and foreign countries are mitigated by banking with federally insured, creditworthy institutions, although certain of our cash deposits exceed the federally insured limits. As of December 31, 2023 and 2022, the Company had deposits of $9,757 and $10,142, respectively, at foreign financial institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable are financial instruments that also expose the Company to concentration of credit risk. Such exposure is limited by the large number of customers comprising the Company’s customer base and their dispersion across different geographic areas. In addition, the Company routinely assesses the financial strength of its customers and maintains an allowance for doubtful accounts that management believes will adequately provide for credit losses. Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses as considered necessary by management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Recent Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Recently Adopted Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In June 2016, the FASB issued ASU 2016-13, <i style="font-style:italic;">Financial Instruments — Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i><span style="white-space:pre-wrap;">. ASU 2016-13 includes an impairment model (known as the current expected credit loss model) that is based on expected losses rather than incurred losses. Under the new guidance, an entity recognizes as an allowance its estimate of expected credit losses, which the FASB believes will result in more timely recognition of such losses. The use of forecasted information is intended to incorporate more timely information in the estimate of expected credit loss. In November 2019, the FASB issued additional guidance which extends the effective date of ASU 2016-13 for emerging growth companies to begin in fiscal years beginning after December 15, 2022. The Company adopted this standard on January 1, 2023. The adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In March 2020, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2020-04, <i style="font-style:italic;">Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting and related amendments</i>. This ASU provides temporary optional expedients and exceptions to existing guidance on contract modifications and hedge accounting to facilitate the market transition from existing reference rates, such as the London Inter-Bank Offered Rate (“LIBOR”) which began to be phased out in 2021, to alternate reference rates, such as the Secured Overnight Financing Rate </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">(“SOFR”). On May 31, 2023, we amended our 2021 credit agreement and interest rate swap agreements to affect the transition from LIBOR to SOFR. In connection with these amendments, the Company adopted ASU 2020-04 in the second quarter of 2023. In doing so, the Company elected to adopt the suite of optional expedients when analyzing the amendment to the credit agreement and related interest swaps. As such, the amendments to the Company’s 2021 credit agreement and swap agreements, and the adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Accounting Pronouncements Not Yet Adopted</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Nature of Operations and Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Cadre Holdings, Inc., D/B/A The Safariland Group (the “Company”, “Cadre”, “we”, “us”, and “our”), a Delaware corporation, began operations on April 12, 2012. The Company, headquartered in Jacksonville, Florida, is a global leader in manufacturing and distributing safety equipment and other related products for the law enforcement, first responder, military and nuclear markets. The business operates through 21 manufacturing plants within the U.S., Mexico, Canada, the United Kingdom, Italy, France and Lithuania, and sells its products worldwide through its direct sales force, distribution channel and distribution partners, online stores, and third-party resellers.</p> 21 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Principles of Consolidation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The accompanying consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (“GAAP” or “U.S. GAAP”) and include the accounts of Cadre Holdings, Inc. and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Emerging Growth Company</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are an “emerging growth company,” as defined in the Jumpstart Our Business Startups Act of 2012 (the “JOBS Act”). As such, we are eligible for exemptions from various reporting requirements applicable to other public companies that are not emerging growth companies, including, but not limited to, not being required to comply with the auditor attestation requirements of Section 404 of the Sarbanes-Oxley Act of 2002, reduced disclosure obligations regarding executive compensation and an exemption from the requirements to obtain a non-binding advisory vote on executive compensation or golden parachute arrangements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, an emerging growth company can take advantage of an extended transition period for complying with new or revised accounting standards. This provision allows an emerging growth company to delay the adoption of certain accounting standards until those standards would otherwise apply to private companies. We have elected to avail ourselves of this provision of the JOBS Act. As a result, we will not be subject to new or revised accounting standards at the same time as other public companies that are not emerging growth companies. Therefore, our consolidated financial statements may not be comparable to those of companies that comply with new or revised accounting pronouncements as of public company effective dates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of these consolidated financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from these estimates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Fair Value Measurements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company follows the guidance of Accounting Standards Codification (“ASC”) Topic 820, <i style="font-style:italic;">Fair Value Measurements and Disclosures, </i>which defines fair value, establishes a framework for measuring fair value and expands disclosures about fair value measurements. This guidance also establishes the following three-level hierarchy based upon the transparency of inputs to the valuation of an asset or liability on the measurement date:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 18pt;">Level 1: Observable inputs that reflect unadjusted quoted prices for identical assets or liabilities traded in active markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 17.45pt;">Level 2: Inputs other than quoted prices included within Level 1 that are observable for the asset or liability, either directly or indirectly, for substantially the full term of the asset or liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 17.45pt;">Level 3: Unobservable inputs that reflect assumptions about what market participants would use in pricing assets or liabilities based on the best information available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company’s financial instruments consist principally of cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities, income tax payable and debt. The carrying amounts of certain of these financial instruments, including cash, accounts receivable, prepaid expenses, other current assets, accounts payable, accrued liabilities and income tax payable approximate their current fair value due to the relatively short-term nature of these accounts</span>.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Cash and Cash Equivalents</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Included in cash and cash equivalents are deposits with banks, cash on hand in stores, amounts due from credit card transactions and money market funds. We have no restrictions on our cash and cash equivalents. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Accounts Receivable</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Trade accounts receivable consists of amounts owed to the Company and is stated net of allowances for known and potential losses. The Company’s outstanding accounts receivable balances are exposed to credit risk and valuation allowances are established for estimated losses resulting from non-collection of outstanding amounts due from customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The estimate of expected credit losses is based on the Company’s historical loss experience, adjusted for current and reasonable and supportable forecasts of economic conditions and other pertinent factors affecting the Company’s customers such as known credit risk or industry trends. In addition, specific reserves are established for customer accounts as known collection problems occur due to insolvency, disputes, or other collection issues. The amounts of these specific reserves are estimated by management based on the customer’s financial position, the age of the customer’s receivables and the reasons for any disputes. The allowance for doubtful accounts is reduced by any write-off of uncollectible customer accounts.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Inventories</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Inventories are stated at the lower of cost, determined using the first-in, first-out (“FIFO”) or average cost methods, or net realizable value. Elements of cost in the Company’s manufactured inventories generally include raw materials, direct labor, indirect labor, manufacturing overhead and freight-in. The Company periodically reviews its inventories considering sales forecasts and historical experience to identify excess, close-out, or slow-moving items and makes provisions as necessary to properly reflect inventory value at the lower of cost or net realizable value.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Property and Equipment</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Property and equipment, including those acquired under capital lease agreements, is stated at cost less accumulated depreciation and amortization, except for assets acquired using acquisition accounting, which are initially recorded at fair value. Depreciation is computed using the straight-line method over the following estimated useful lives:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Buildings and improvements</b></p></td><td style="vertical-align:top;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">   </p></td><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">5 to 39 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Furniture and fixtures</b></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2 to 10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Computer hardware and software</b></p></td><td style="vertical-align:top;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 to 5 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Machinery and equipment</b></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 to 8 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Leasehold improvements are amortized over the lesser of the estimated useful life of the improvement or the life of the lease. Major replacements, which extend the useful lives of property and equipment, are capitalized and depreciated over the remaining useful life of the asset. Normal repair and maintenance items are expensed as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The recoverability of the carrying amount of property and equipment is assessed when events or changes in circumstances indicate that the carrying amount of an asset or asset group may not be recoverable. If it is determined that the carrying amount of an asset or asset group is not recoverable based upon expected undiscounted future cash flows of the asset or asset group, an impairment loss equal to the excess of the carrying amount over the estimated fair value of the asset or asset group is recorded.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Buildings and improvements</b></p></td><td style="vertical-align:top;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">   </p></td><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">5 to 39 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Furniture and fixtures</b></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2 to 10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Computer hardware and software</b></p></td><td style="vertical-align:top;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 to 5 years</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 28.8pt;"><b style="font-weight:bold;">Machinery and equipment</b></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 to 8 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> P5Y P39Y P2Y P10Y P3Y P5Y P3Y P8Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Lease assets and lease liabilities are recognized at the commencement of an arrangement where it is determined at inception that a lease exists.  Lease assets represent the right to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the lease.  These assets and liabilities are initially recognized based on the present value of lease payments over the lease term calculated using our incremental borrowing rate.  Lease terms include options to extend or terminate the lease when it is reasonably certain that those options will be exercised.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Variable lease payments are generally expensed as incurred and include certain non-lease components, such as common area maintenance and other services provided by the lessor, and other charges such as utilities, insurance and property taxes included in the lease.  Leases with an initial term of 12 months or less are not recorded on the balance sheet, and the expense for these short-term leases and for operating leases is recognized on a straight-line basis over the lease term. Non-lease components are excluded from the right-of-use (“ROU”) asset and lease liability present value computations. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Goodwill and Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company classifies intangible assets into three categories: i) intangible assets with definite lives subject to amortization, ii) intangible assets with indefinite lives not subject to amortization and iii) goodwill. The Company determines the useful lives of its identifiable intangible assets after considering the specific facts and circumstances related to each intangible asset. Factors the Company considers when determining useful lives include the contractual term of any agreement related to the asset, the historical performance of the asset, the Company’s long-term strategy for using the asset, any laws or other local regulations which could impact the useful life of the asset, and other economic factors, including competition and specific market conditions. Intangible assets that are deemed to have definite lives are amortized on a straight-line basis over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company tests goodwill and intangible assets determined to have indefinite useful lives for impairment annually, or more frequently if events or circumstances indicate that assets might be impaired. The Company performs these annual impairment tests as of October 31<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">st</sup> each year. Goodwill is evaluated for impairment at the reporting unit level, which is defined as an operating segment or one level below an operating segment. As of October 31, 2023, 2022 and 2021, the Company had three reporting units: Safariland, Med-Eng, and Distribution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In evaluating goodwill for impairment, qualitative factors are considered to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. Some of these qualitative factors may include macroeconomic conditions, industry and market considerations, a change in financial performance, or entity-specific events. If, through this qualitative assessment, the conclusion is made that it is more likely than not that a reporting unit’s fair value is less than its carrying amount, the Company compares the fair value of a reporting unit to its carrying value. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company would generally determine the fair value of reporting units based on a combination of the income approach and market approach, weighted based on the circumstances. Under the income approach, the discounted cash flow model determines fair value based on the present value of projected cash flows over a specific projection period and a residual value related to future cash flows beyond the projection period. Both values are discounted using a rate that reflects the Company’s best estimate of the weighted average cost of capital of a market participant and is adjusted for appropriate risk factors. The Company performs sensitivity tests with respect to growth rates and discount rates used in the income approach. Under the market approach, valuation multiples are derived based on a selection of comparable companies and acquisition transactions and applied to projected operating data for each reporting unit to arrive at an indication of fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For all periods presented, the Company performed the qualitative assessment of goodwill and determined it was more likely than not that the fair value of each of its reporting units would be greater than its carrying amount. Therefore, the Company determined it was not necessary to perform the quantitative goodwill impairment test.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For indefinite-lived intangible assets other than goodwill, the impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount exceeds the fair value, an impairment charge is recognized in an amount equal to that excess.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company tests definite-lived intangible assets for recoverability when changes in circumstances indicate the carrying value may not be recoverable. Events that trigger a test for recoverability include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">material adverse changes in projected revenues and expenses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">significant underperformance relative to historical and projected future operating results;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">significant negative industry or economic trends; and,</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a significant adverse change in the manner in which an asset group is used or in its physical condition.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Future adverse changes in these or other unforeseeable factors could result in an impairment charge that could materially impact future results of operations and financial position in the reporting period identified.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When a triggering event occurs, a test for recoverability is performed by comparing projected undiscounted future cash flows to the carrying value of the asset group. If the test for recoverability identifies a possible impairment, the asset group’s fair value is measured relying primarily on a discounted cash flow method. An impairment charge is recognized for the amount by which the carrying value of the asset group exceeds its estimated fair value. When an impairment loss is recognized for assets to be held and used, the adjusted carrying amount of those assets is depreciated over their remaining useful life. We did not have any events or circumstances indicating impairment of our long-lived assets for the years presented.</p> 3 3 3 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Accounts Payable</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts payable represents amounts owed by us to third parties at the end of the period. Accounts payable includes $1,055 and $188 of book cash overdrafts in excess of cash balances in such accounts as of December 31, 2023 and 2022, respectively. We include the change in book cash overdrafts in operating cash flows in the consolidated statements of cash flows.</p> 1055000 188000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Revenue Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company derives revenue primarily from the sale of physical products. The Company recognizes such revenue at point-in-time when a contract exists with a customer that specifies the goods and services to be provided at an agreed upon sales price and when the performance obligation is satisfied by transferring the goods or service to the customer. The performance obligation is considered satisfied when control transfers, which is generally determined when products are shipped or delivered to the customer but could be delayed until the receipt of customer acceptance, depending on the terms of the contract. Sales are made on normal and customary short-term credit terms or upon delivery for point of sale transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contractual arrangements primarily with customers in the form of individual customer orders which specify the goods, quantity, pricing, and associated order terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">At the time of revenue recognition, the Company also provides for estimated sales returns and miscellaneous claims from customers as reductions to revenues. The estimates are based on historical rates of product returns and claims. The Company accrues for such estimated returns and claims with an estimated accrual and associated reduction of revenue. Additionally, the Company records inventory that it expects to be returned as part of inventories, with a corresponding reduction to cost of goods sold.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Charges for shipping and handling fees billed to customers are included in net sales and the corresponding shipping and handling expenses are included in cost of goods sold in the accompanying consolidated statements of operations and comprehensive income. We consider our costs related to shipping and handling after control over a product has transferred to a customer to be a cost of fulfilling the promise to transfer the product to the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales commissions paid to employees as compensation are expensed as incurred for contracts with service periods less than a year. For contracts with service periods greater than a year, these costs have historically been immaterial and are capitalized and amortized over the life of the contract. Commission costs are recorded in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Product Warranty</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Some of the Company’s manufactured products carry limited warranty provisions for defects in quality and workmanship. A warranty reserve is established at the time of sale to cover estimated costs based on the Company’s history of warranty repairs and replacements and is recorded in cost of goods sold in the Company’s consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth the changes in the Company’s accrued warranties, which is recorded in accrued liabilities in the consolidated balance sheets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,256</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Current period claims</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (886)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (278)</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for current period sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,262</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,234</p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,256</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Current period claims</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (886)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (278)</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for current period sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,262</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256</p></td></tr><tr><td style="vertical-align:bottom;width:74.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending accrued warranty expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,234</p></td></tr></table> 1234000 1256000 886000 278000 1262000 256000 1610000 1234000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Cost of Goods Sold</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Cost of goods sold includes raw material purchases, manufacturing-related labor costs, contracted labor, shipping costs, reimbursable research and development costs, allocated manufacturing overhead, facility costs, depreciation and amortization, and product warranty costs.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Selling, General &amp; Administrative Expenses</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Selling, general and administrative expense includes personnel-related costs, including stock-based compensation, professional services, marketing and advertising expense, research and development and depreciation and amortization.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Advertising Expenses</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Advertising costs are expensed in the period incurred. Advertising expenses primarily consist of marketing, promotions, catalog and trade show expenses and were $6,145, $4,711 and $3,120 for the years ended December 31, 2023, 2022 and 2021, respectively. Advertising expenses are included in selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income.</p> 6145000 4711000 3120000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Research and Development</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Research and development expenses are expensed as incurred and included within selling, general and administrative expenses in the Company’s consolidated statements of operations and comprehensive income. Total research and development costs were $6,954, $7,086 and $6,460 for the years ended December 31, 2023, 2022 and 2021, respectively.</p> 6954000 7086000 6460000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Debt Issuance Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The<span style="letter-spacing:-0.85pt;"> </span>Company<span style="letter-spacing:-0.85pt;"> </span>capitalizes<span style="letter-spacing:-0.85pt;"> </span>costs<span style="letter-spacing:-0.85pt;"> </span><span style="letter-spacing:-0.15pt;">related</span><span style="letter-spacing:-0.85pt;"> </span>to<span style="letter-spacing:-0.8pt;"> </span>the<span style="letter-spacing:-0.85pt;"> </span>issuance<span style="letter-spacing:-0.85pt;"> </span>of<span style="letter-spacing:0.05pt;"> </span>debt<span style="letter-spacing:-0.85pt;"> </span>under<span style="letter-spacing:-0.85pt;"> </span>the<span style="letter-spacing:-0.85pt;"> </span><span style="letter-spacing:-0.15pt;">provisions</span><span style="letter-spacing:-0.8pt;"> </span>of<span style="letter-spacing:0.05pt;"> </span>ASC<span style="letter-spacing:-0.85pt;"> </span>Subtopic<span style="letter-spacing:-0.85pt;"> </span>835-30, <i style="font-style:italic;">Interest — Imputation of Interest. </i>Debt issuance costs related to a recognized debt liability are presented in the consolidated balance sheets as a direct deduction from the carrying amount of that debt liability and subsequently amortized on a straight-line method which approximates the effective interest method<span style="letter-spacing:-1pt;"> </span><span style="letter-spacing:-0.15pt;">over </span>the life of the related loan. Debt issuance costs related to line-of-credit are presented in the consolidated balance sheets as an asset and subsequently amortized ratably over the term of the respective arrangement. Amortization of debt issuance costs is included as a component of interest expense in the Company’s consolidated statements of operations and comprehensive income.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Stock-Based Compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company records compensation expense for all stock-based awards granted based on the fair value of the award at the time of the grant. </span>The fair value of each option award is estimated on the date of grant using the Black-Scholes option pricing model that uses assumptions and estimates that the Company believes are reasonable. The fair value of restricted stock awards is measured based on the closing market value of the Company’s common stock on the date of the grant. <span style="background:#ffffff;">For restricted stock awards subject to market conditions, the fair value of each restricted stock award has been estimated as of the date of grant using a Monte-Carlo pricing model. The Company recognizes the cost of the stock-based awards on a straight-line basis over the requisite service period of the award and recognizes forfeitures in the period they occur. </span>Stock options granted have contractual terms of up to ten years. <span style="background:#ffffff;">Upon vesting of restricted stock awards, the Company issues shares from those authorized and reserved for issuance.</span></p> ten years <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Derivatives</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company mitigates the impact of changes in interest rates with interest rate swaps that are accounted for as designated hedges pursuant to ASC Topic 815,</span><i style="font-style:italic;background:#ffffff;"> Derivatives and Hedging</i><span style="background:#ffffff;"> ("ASC 815"). ASC 815 requires that an entity recognize all derivatives as either assets or liabilities on the balance sheet, measure those instruments at fair value and recognize changes in the fair value of derivatives in earnings in the period of change unless the derivative qualifies as designated cash flow hedge that offsets certain exposures. Certain criteria must be satisfied in order for derivative financial instruments to be classified and accounted for as a cash flow hedge. Changes in the fair value of derivatives that are not elected for hedge accounting treatment are recorded immediately into earnings.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company would discontinue hedge accounting prospectively (i) if it is determined that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item, (ii) when the derivative expires or is sold, terminated, or exercised, (iii) if it becomes probable that the forecasted transaction being hedged by the derivative will not occur, (iv) if a hedged firm commitment no longer meets the definition of a firm commitment, or (v) if it is determined that designation of the derivative as a hedge instrument is no longer appropriate.</span><span style="background:#ffffff;"> </span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Restructuring Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restructuring costs consist primarily of termination benefits and relocation of employees, termination of operating leases and other contracts related to consolidating or closing facilities. The Company applies the provisions of ASC Topic 420, <i style="font-style:italic;">Exit or Disposal Cost Obligations </i>(“ASC 420”) and ASC Topic 712, <i style="font-style:italic;">Nonretirement Postemployment Benefits </i>(“ASC 712”) in the recording of severance costs. Severance costs accounted for under ASC 420 are recognized when management with the proper level of authority commits to a restructuring plan and communicates those actions to employees and other applicable criteria. Severance<span style="letter-spacing:-0.2pt;"> </span>costs<span style="letter-spacing:-0.15pt;"> </span>accounted<span style="letter-spacing:-0.15pt;"> for </span>under<span style="letter-spacing:-0.15pt;"> </span>ASC<span style="letter-spacing:-0.15pt;"> </span>712<span style="letter-spacing:-0.15pt;"> </span>are<span style="letter-spacing:-0.15pt;"> </span>recognized<span style="letter-spacing:-0.15pt;"> </span>when<span style="letter-spacing:-0.2pt;"> </span>it<span style="letter-spacing:-0.15pt;"> </span>is<span style="letter-spacing:-0.15pt;"> probable </span>that<span style="letter-spacing:-0.15pt;"> </span>employees<span style="letter-spacing:-0.15pt;"> </span>are<span style="letter-spacing:-0.15pt;"> </span>entitled to benefits and the amount could be reasonably estimated. Other exit costs are accounted for under ASC 420 and are either deferred or expensed as incurred based on the nature of the<span style="letter-spacing:-0.85pt;"> </span>expense.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;">The Company accounts for income taxes under the provisions of ASC Topic 740, </span><i style="color:#231f20;font-style:italic;">Income Taxes</i><span style="color:#231f20;">. Deferred tax assets and liabilities are determined based on differences between the financial statement carrying amounts and tax bases of assets and liabilities and are classified as noncurrent in the consolidated balance sheets.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of<span style="letter-spacing:0.5pt;"> </span>changes<span style="letter-spacing:-0.45pt;"> </span>in<span style="letter-spacing:-0.4pt;"> </span>tax<span style="letter-spacing:-0.4pt;"> </span>rates<span style="letter-spacing:-0.4pt;"> </span>on<span style="letter-spacing:-0.4pt;"> </span>deferred<span style="letter-spacing:-0.4pt;"> </span>tax<span style="letter-spacing:-0.4pt;"> </span>assets<span style="letter-spacing:-0.4pt;"> </span>and<span style="letter-spacing:-0.4pt;"> </span>liabilities<span style="letter-spacing:-0.4pt;"> </span>is<span style="letter-spacing:-0.4pt;"> </span>recognized<span style="letter-spacing:-0.45pt;"> </span>in<span style="letter-spacing:-0.4pt;"> </span>income<span style="letter-spacing:-0.4pt;"> </span>in<span style="letter-spacing:-0.4pt;"> </span>the<span style="letter-spacing:-0.4pt;"> </span>period<span style="letter-spacing:-0.4pt;"> </span>that<span style="letter-spacing:-0.4pt;"> </span>includes the enactment <span style="letter-spacing:-0.2pt;">date. </span>Changes in tax <span style="letter-spacing:-0.2pt;">laws </span>and rates could <span style="letter-spacing:-0.25pt;">have </span>a material impact on the deferred tax assets and liabilities<span style="letter-spacing:-0.4pt;"> </span>recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deferred tax assets are reduced by a <span style="letter-spacing:-0.15pt;">valuation allowance </span>when, in the opinion of management, it is more <span style="letter-spacing:-0.15pt;">likely</span><span style="letter-spacing:-0.3pt;"> </span>than<span style="letter-spacing:-0.3pt;"> </span>not<span style="letter-spacing:-0.3pt;"> </span>that<span style="letter-spacing:-0.3pt;"> </span>some<span style="letter-spacing:-0.3pt;"> </span>portion<span style="letter-spacing:-0.3pt;"> </span>or<span style="letter-spacing:-0.3pt;"> </span><span style="letter-spacing:-0.15pt;">all</span><span style="letter-spacing:-0.3pt;"> </span>of<span style="letter-spacing:0.75pt;"> </span>the<span style="letter-spacing:-0.3pt;"> </span>deferred<span style="letter-spacing:-0.3pt;"> </span>tax<span style="letter-spacing:-0.3pt;"> </span>assets<span style="letter-spacing:-0.3pt;"> </span>will<span style="letter-spacing:-0.3pt;"> </span>not<span style="letter-spacing:-0.3pt;"> </span>be<span style="letter-spacing:-0.25pt;"> </span>realized.<span style="letter-spacing:-0.3pt;"> </span>Significant<span style="letter-spacing:-0.3pt;"> </span>estimates<span style="letter-spacing:-0.3pt;"> </span>are used in the <span style="letter-spacing:-0.15pt;">evaluation </span>of the need <span style="letter-spacing:-0.15pt;">for </span>a <span style="letter-spacing:-0.15pt;">valuation allowance </span>including estimates regarding future taxable income.<span style="letter-spacing:-0.3pt;"> </span>Changes<span style="letter-spacing:-0.25pt;"> </span>to<span style="letter-spacing:-0.25pt;"> </span>those<span style="letter-spacing:-0.25pt;"> </span>estimates<span style="letter-spacing:-0.25pt;"> </span>could<span style="letter-spacing:-0.25pt;"> </span>impact<span style="letter-spacing:-0.25pt;"> </span>management’s<span style="letter-spacing:-0.25pt;"> </span>conclusions<span style="letter-spacing:-0.25pt;"> </span>regarding<span style="letter-spacing:-0.25pt;"> </span>the<span style="letter-spacing:-0.25pt;"> </span>need<span style="letter-spacing:-0.25pt;"> </span><span style="letter-spacing:-0.15pt;">for</span><span style="letter-spacing:-0.25pt;"> valuation </span>allowances on some or <span style="letter-spacing:-0.15pt;">all </span>of the deferred tax assets. The Company releases the income tax effects of deferred tax balances that <span style="letter-spacing:-0.25pt;">have </span>a <span style="letter-spacing:-0.15pt;">valuation allowance </span>from accumulated other comprehensive income once the reason the tax effects were established ceases to<span style="letter-spacing:-1.6pt;"> </span>exist.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company is subject to income taxes in the United States and <span style="letter-spacing:-0.15pt;">several </span>foreign jurisdictions. In the United <span style="letter-spacing:-0.15pt;">States, </span>the Company files a consolidated income tax return with its domestic subsidiaries. When tax returns are filed, it is highly certain that some positions <span style="letter-spacing:-0.2pt;">taken </span>would be sustained upon examination by taxing<span style="letter-spacing:-0.3pt;"> </span>authorities,<span style="letter-spacing:-0.25pt;"> </span>while<span style="letter-spacing:-0.3pt;"> </span>others<span style="letter-spacing:-0.25pt;"> </span>are<span style="letter-spacing:-0.25pt;"> </span>subject<span style="letter-spacing:-0.3pt;"> </span>to<span style="letter-spacing:-0.25pt;"> </span>uncertainty<span style="letter-spacing:-0.25pt;"> </span>about<span style="letter-spacing:-0.3pt;"> </span>the<span style="letter-spacing:-0.25pt;"> </span>merits<span style="letter-spacing:-0.3pt;"> </span>of<span style="letter-spacing:0.95pt;"> </span>the<span style="letter-spacing:-0.25pt;"> </span>position<span style="letter-spacing:-0.3pt;"> </span><span style="letter-spacing:-0.2pt;">taken</span><span style="letter-spacing:-0.25pt;"> </span>or<span style="letter-spacing:-0.25pt;"> </span>the<span style="letter-spacing:-0.3pt;"> </span>amount of the position that would be ultimately sustained. The benefit of a tax position is recognized in<span style="letter-spacing:0.7pt;"> </span>the consolidated financial statements in the period during which, based on <span style="letter-spacing:-0.15pt;">all </span><span style="letter-spacing:-0.2pt;">available </span>evidence, it is more <span style="letter-spacing:-0.15pt;">likely </span>than not that the position will be sustained upon examination, including the resolution of appeals or litigation<span style="letter-spacing:-0.45pt;"> </span>processes,<span style="letter-spacing:-0.4pt;"> </span>if<span style="letter-spacing:0.6pt;"> </span><span style="letter-spacing:-0.4pt;">any. </span><span style="letter-spacing:-0.25pt;">Tax</span><span style="letter-spacing:-0.45pt;"> </span>positions<span style="letter-spacing:-0.4pt;"> </span><span style="letter-spacing:-0.2pt;">taken</span><span style="letter-spacing:-0.45pt;"> </span>are<span style="letter-spacing:-0.4pt;"> </span>not<span style="letter-spacing:-0.45pt;"> </span>offset<span style="letter-spacing:-0.4pt;"> </span>or<span style="letter-spacing:-0.45pt;"> </span>aggregated<span style="letter-spacing:-0.4pt;"> </span>with<span style="letter-spacing:-0.45pt;"> </span>other<span style="letter-spacing:-0.4pt;"> </span>positions.<span style="letter-spacing:-0.45pt;"> </span><span style="letter-spacing:-0.25pt;">Tax</span><span style="letter-spacing:-0.4pt;"> </span>positions that meet the more-likely than-not threshold are measured as the largest amount of tax benefit that<span style="letter-spacing:-0.95pt;"> </span>is <span style="color:#231f20;">more than 50% likely of being realized upon settlement with the applicable taxing authority. The portion of the benefits associated with tax positions taken that exceeds the amount measured as described above is reflected as a liability for unrecognized tax benefits in the accompanying balance sheets along with any associated interest and penalties that would be payable to the taxing authorities upon examination.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Further information regarding the Company’s tax positions is included in Note 15<i style="font-style:italic;">, Income Taxes</i>.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Accumulated Other Comprehensive Income</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Comprehensive income represents all changes in equity of the Company that result from recognized transactions and other economic events during the period. Other comprehensive (loss) income refers to revenues, expenses, gains, and losses that under GAAP are included in comprehensive income but excluded from net income.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Foreign Currency</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Translation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Assets and liabilities of subsidiaries operating outside the United States with a functional currency other than U.S. Dollars are translated into U.S. Dollars using the exchange rates in effect at the balance sheet date. Results of operations are translated using the average exchange rate prevailing throughout the period. The effects of unrealized exchange rate fluctuations on translating foreign currency assets and liabilities into U.S. dollars are accumulated as the cumulative translation adjustment included in accumulated other comprehensive income in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Transaction</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Transactions denominated in foreign currency are recorded at the exchange rate on the date of each transaction. Realized gains and losses on foreign currency transactions are included in other income (expense), net in the consolidated statements of operations and comprehensive income, except on certain intercompany balances which the Company has determined are of a long-term investment nature, which are included in accumulated other comprehensive income in the consolidated balance sheets. Monetary assets and liabilities are remeasured at the balance sheet date at end-of-period exchange rates. Unrealized gains and losses arising from remeasurement of foreign currency-denominated monetary assets and liabilities are included in other income (expense), net in the consolidated statements of operations and comprehensive income in the period in which they occur.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Net Income per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic income or loss per share is computed by dividing net income by the weighted average number of common shares outstanding during the periods presented. <span style="background:#ffffff;">Diluted income or loss per share is calculated by adjusting weighted average shares outstanding for the dilutive effect of potential common shares, determined using the treasury-stock method.</span> The calculation of weighted average shares outstanding and net income per share are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:42.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,641</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,661</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,533,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,109,844</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,598,692</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of dilutive securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,530</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,920,488</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,122,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,598,692</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.44</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.44</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:normal;font-weight:normal;">There were </span><span style="font-style:normal;font-weight:normal;">no</span><span style="font-style:normal;font-weight:normal;"> dilutive instruments outstanding for the year ended December 31, 2021.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:42.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,641</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,661</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,533,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,109,844</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,598,692</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of dilutive securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,530</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,920,488</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,122,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,598,692</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.44</p></td></tr><tr><td style="vertical-align:bottom;width:55.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.44</p></td></tr></table> 38641000 5820000 12661000 37533818 36109844 28598692 386670 12530 37920488 36122374 28598692 1.03 0.16 0.44 1.02 0.16 0.44 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Risk and Uncertainties</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Concentration of Credit Risk</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Financial instruments that potentially subject the Company to concentration of credit risk consist principally of cash and accounts receivable. Risks associated with cash within the United States and foreign countries are mitigated by banking with federally insured, creditworthy institutions, although certain of our cash deposits exceed the federally insured limits. As of December 31, 2023 and 2022, the Company had deposits of $9,757 and $10,142, respectively, at foreign financial institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable are financial instruments that also expose the Company to concentration of credit risk. Such exposure is limited by the large number of customers comprising the Company’s customer base and their dispersion across different geographic areas. In addition, the Company routinely assesses the financial strength of its customers and maintains an allowance for doubtful accounts that management believes will adequately provide for credit losses. Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses as considered necessary by management.</p> 9757000 10142000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Recent Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Recently Adopted Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In June 2016, the FASB issued ASU 2016-13, <i style="font-style:italic;">Financial Instruments — Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i><span style="white-space:pre-wrap;">. ASU 2016-13 includes an impairment model (known as the current expected credit loss model) that is based on expected losses rather than incurred losses. Under the new guidance, an entity recognizes as an allowance its estimate of expected credit losses, which the FASB believes will result in more timely recognition of such losses. The use of forecasted information is intended to incorporate more timely information in the estimate of expected credit loss. In November 2019, the FASB issued additional guidance which extends the effective date of ASU 2016-13 for emerging growth companies to begin in fiscal years beginning after December 15, 2022. The Company adopted this standard on January 1, 2023. The adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In March 2020, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2020-04, <i style="font-style:italic;">Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting and related amendments</i>. This ASU provides temporary optional expedients and exceptions to existing guidance on contract modifications and hedge accounting to facilitate the market transition from existing reference rates, such as the London Inter-Bank Offered Rate (“LIBOR”) which began to be phased out in 2021, to alternate reference rates, such as the Secured Overnight Financing Rate </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">(“SOFR”). On May 31, 2023, we amended our 2021 credit agreement and interest rate swap agreements to affect the transition from LIBOR to SOFR. In connection with these amendments, the Company adopted ASU 2020-04 in the second quarter of 2023. In doing so, the Company elected to adopt the suite of optional expedients when analyzing the amendment to the credit agreement and related interest swaps. As such, the amendments to the Company’s 2021 credit agreement and swap agreements, and the adoption of this ASU did not have a material impact on our consolidated financial statements and disclosures.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;">Accounting Pronouncements Not Yet Adopted</p> <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">2.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">ACQUISITIONS</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Radar Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On January 11, 2022, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of Radar Leather Division S.r.l. (“Radar”), a premiere family-owned duty gear business based in Italy that specializes in the production of high-quality holsters, belts, duty belts, and other accessories.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Total consideration, net of cash acquired, was $19,365 for 100% of the equity interests in Radar. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="background:#ffffff;">The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the Radar acquisition is included in the Product segment and reflects </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,365</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,347</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,874</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 682</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 665</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,053</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,200</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,101</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,922</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,120</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,787</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,106</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 544</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,557</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,365</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The full amount of goodwill of </span><span style="background:#ffffff;">$7,101</span><span style="background:#ffffff;"> is expected to be non-deductible for tax purposes. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;background:#ffffff;">Cyalume Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 6pt 0pt;">On May 4, 2022, Safariland, LLC, a wholly-owned subsidiary of the Company, completed the acquisition of <span style="background:#ffffff;">Cyalume Technologies, Inc, CT SAS Holdings, Inc. and Cyalume Technologies SAS (collectively “Cyalume”)</span>. Cyalume is <span style="background:#ffffff;">engaged in the design and manufacture of proprietary chemical illumination solutions for a diverse range of products, including light sticks, infrared products, safety markings and non-pyrophoric training ammunition</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 10pt 0pt;">Total consideration, net of cash acquired, was $36,178 for 100% of the equity interests in Cyalume. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt;"><span style="background:#ffffff;">The following table summarizes the final purchase price consideration and the amounts recognized for the assets acquired and liabilities assumed, which have been estimated at their fair values. During fiscal 2023, in the measurement period, we have decreased goodwill by </span><span style="background:#ffffff;">$393</span><span style="background:#ffffff;"> for changes in assumptions used to fair value property, equipment, and customer relationships, and deferred income taxes for certain book and tax basis differences as we complete the tax return filings for the pre-acquisition period. The excess of purchase consideration over the assets acquired and liabilities assumed is recorded as goodwill. Goodwill for the Cyalume acquisition </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><span style="background:#ffffff;">is included in the Product segment and reflects synergies and additional legacy growth and profitability expected from this acquisition through expansion into new markets and customers.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,178</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,302</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,908</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 255</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,492</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,100</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,708</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,775</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,080</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,652</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,577</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 288</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,597</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,178</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:10.8pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The full amount of goodwill of </span><span style="background:#ffffff;">$8,708</span> <span style="background:#ffffff;">is expected to be non-deductible for tax purposes.</span></p> 19365000 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,365</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,347</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,874</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 682</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 665</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,053</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,200</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,101</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,922</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,120</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,787</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,106</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 544</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,557</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,365</p></td></tr></table> 19365000 2347000 1874000 682000 665000 3053000 10200000 7101000 25922000 1120000 2787000 2106000 544000 6557000 19365000 7101000 36178000 1 -393000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total consideration, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,178</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,302</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,908</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 255</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,492</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,100</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,708</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,775</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,080</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,652</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,577</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 288</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,597</p></td></tr><tr><td style="vertical-align:bottom;width:85.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net assets acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,178</p></td></tr></table> 36178000 3302000 10908000 255000 10000 12492000 8100000 8708000 43775000 1080000 4652000 1577000 288000 7597000 36178000 8708000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">3.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">ACCOUNTS RECEIVABLE, NET</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following is a reconciliation of the changes in our allowance for doubtful accounts during 2023 and 2022:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 924</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 645</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 417</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (355)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (138)</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 635</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 924</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 924</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 645</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 417</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (355)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (138)</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 635</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 924</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 924000 645000 66000 417000 355000 138000 635000 924000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">4.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">REVENUE RECOGNITION</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following tables disaggregate net sales by channel and geography:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. state and local agencies (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 282,318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 250,680</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 231,095</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,406</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,860</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. federal agencies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,447</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,575</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107,503</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,042</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,255</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 482,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457,837</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 427,288</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;">(a) Includes all Distribution sales</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 385,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 351,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 319,785</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107,503</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 482,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457,837</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 427,288</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenue by product is not disclosed, as it is impractical to do so.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Contract Liabilities</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Contract liabilities are recorded as a component of other liabilities when customers remit cash payments in advance of the Company satisfying performance obligations. Contract liabilities are recognized into revenue when the performance obligation is satisfied. Contract liabilities are included in accrued liabilities in the Company’s consolidated balance sheets and totaled $4,246 and $4,615, as of December 31, 2023 and 2022, with $2,937 of the 2022 contract liabilities being recognized in revenue during the year ended December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Remaining Performance Obligations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023, we had $24,721 of remaining unfulfilled performance obligations, which included amounts that will be invoiced and recognized in future periods. The remaining performance obligations are limited only to arrangements that meet the definition of a contract under Topic 606, <i style="font-style:italic;">Revenue from Contracts with Customers</i>, as of December 31, 2023. We expect to recognize approximately 54% of this balance over the next twelve months and expect the remainder to be recognized in the following two years.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following tables disaggregate net sales by channel and geography:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. state and local agencies (a)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 282,318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 250,680</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 231,095</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,406</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,860</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. federal agencies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,447</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,575</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107,503</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,042</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,255</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 482,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457,837</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 427,288</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="color:#231f20;">(a) Includes all Distribution sales</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 385,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 351,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 319,785</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107,503</p></td></tr><tr><td style="vertical-align:bottom;width:64.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 482,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457,837</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 427,288</p></td></tr></table> 282318000 250680000 231095000 42406000 45357000 34860000 57447000 51165000 47575000 97058000 106593000 107503000 3303000 4042000 6255000 482532000 457837000 427288000 385474000 351244000 319785000 97058000 106593000 107503000 482532000 457837000 427288000 4246000 4615000 2937000 24721000 0.54 P12M P2Y <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">5.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">FAIR VALUE MEASUREMENTS</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and 2022 consisted of the following: </p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:27.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:27.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:20.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:20.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets:</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Interest rate swap (Note 10)</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,505</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,505</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,985</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,985</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Liabilities:</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Interest rate swap (Note 10)</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 427</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 427</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">There were no transfers of assets or liabilities between levels during the years ended December 31, 2023 and 2022.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and 2022 consisted of the following: </p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:27.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:27.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:20.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying </b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:20.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Assets:</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Interest rate swap (Note 10)</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,505</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,505</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,985</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,985</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Liabilities:</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Interest rate swap (Note 10)</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 427</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 427</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p> 6505000 6505000 8985000 8985000 427000 427000 0 0 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">6.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">INVENTORIES</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth a summary of inventories stated at lower of cost or net realizable value, as of December 31, 2023 and 2022:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,674</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,208</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,466</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Raw materials and supplies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,829</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,599</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80,976</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 70,273</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:9pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:1pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">7.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:normal;margin-bottom:12pt;margin-left:0pt;margin-right:0pt;visibility:hidden;">​</span></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,674</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,208</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,466</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Raw materials and supplies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40,829</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,599</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80,976</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 70,273</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:9pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:1pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">7.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:normal;margin-bottom:12pt;margin-left:0pt;margin-right:0pt;visibility:hidden;">​</span></td></tr></table> 31674000 25208000 8473000 7466000 40829000 37599000 80976000 70273000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">7.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">PROPERTY AND EQUIPMENT</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Property and equipment consist of the following:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,545</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Building and improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,992</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,966</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,400</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Computer hardware and software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,140</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Machinery and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,770</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,464</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,438</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 95,615</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87,979</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (50,968)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (42,694)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 44,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 45,285</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recorded depreciation expense of $7,943, $6,851 and $5,143 for the years ended December 31, 2023, 2022 and 2021, respectively, of which $4,590, $3,433 and $2,144 was included in cost of goods sold in the consolidated statements of operations and comprehensive income for the respective years.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Property and equipment consist of the following:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,545</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Building and improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,992</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,966</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,400</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Computer hardware and software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,140</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Machinery and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31,770</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,464</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,438</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 95,615</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87,979</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (50,968)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (42,694)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 44,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 45,285</p></td></tr></table> 7614000 7545000 24433000 22992000 1966000 1400000 25145000 24140000 31770000 28464000 4687000 3438000 95615000 87979000 50968000 42694000 44647000 45285000 7943000 6851000 5143000 4590000 3433000 2144000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">8.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">GOODWILL AND OTHER INTANGIBLE ASSETS</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Goodwill</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes the changes in goodwill during the years ended December 31, 2023 and 2022:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Product</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63,646</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,262</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Radar acquisition</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,101</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cyalume acquisition</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,101</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (888)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (888)</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 78,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 81,576</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Measurement period adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (393)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (393)</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 484</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,051</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 81,667</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Impairment of Goodwill</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:16.2pt;margin:0pt 0pt 12pt 0pt;">No impairment losses were recorded during the years ended December 31, 2023, 2022 and 2021. Gross goodwill and accumulated impairment losses was $89,252 and $7,585, respectively, as of December 31, 2023 and $89,161 and $7,585, respectively, as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:16.2pt;margin:0pt 0pt 12pt 0pt;">Intangible assets such as certain customer relationships and patents on core technologies and product technologies are amortizable over their estimated useful lives. Certain trade names and trademarks which provide exclusive and perpetual rights to manufacture and sell their respective products are deemed indefinite-lived and are therefore not subject to amortization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:16.2pt;margin:0pt 0pt 12pt 0pt;">Intangible assets consisted of the following as of December 31, 2023 and 2022:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Definite lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (65,650)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">11</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,111</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11,979)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">8</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,492)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,003)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110,357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (84,124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Indefinite lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 127,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (84,124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Definite lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 85,847</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (59,122)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">11</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11,309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,320</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">8</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,254)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 973</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (973)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 108,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (75,658)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 33,275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Indefinite lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 126,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (75,658)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recorded amortization expense of $7,794, $8,800 and $8,575 for the years ended December 31, 2023, 2022 and 2021, respectively, of which $465, $439 and $666 was included in cost of goods sold in the consolidated statements of operations and comprehensive income for the respective years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The estimated amortization expense for definite-lived intangible assets for the next five years and thereafter is presented below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,115</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,139</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,736</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,553</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,553</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,137</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,233</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">9.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;margin-bottom:12pt;margin-left:0pt;margin-right:0pt;visibility:hidden;">​</span></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Product</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 63,646</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66,262</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Radar acquisition</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,101</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cyalume acquisition</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,101</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (888)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (888)</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 78,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 81,576</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Measurement period adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (393)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (393)</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 484</p></td></tr><tr><td style="vertical-align:bottom;width:65.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance, December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,051</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 81,667</p></td></tr></table> 63646000 2616000 66262000 7101000 7101000 9101000 9101000 -888000 -888000 78960000 2616000 81576000 -393000 -393000 484000 484000 79051000 2616000 81667000 0 0 0 89252000 7585000 89161000 7585000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Definite lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (65,650)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">11</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,111</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11,979)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">8</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,492)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,003)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 110,357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (84,124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Indefinite lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 127,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (84,124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Definite lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 85,847</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (59,122)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">11</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11,309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,320</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">8</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,254)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 973</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (973)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 108,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (75,658)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 33,275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Indefinite lived intangibles:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Indefinite</p></td></tr><tr><td style="vertical-align:bottom;width:52.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 126,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (75,658)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p> 86621000 65650000 20971000 P11Y 16111000 11979000 4132000 P8Y 6622000 5492000 1130000 P4Y 1003000 1003000 P4Y 110357000 84124000 26233000 17239000 17239000 127596000 84124000 43472000 85847000 59122000 26725000 P11Y 15629000 11309000 4320000 P8Y 6484000 4254000 2230000 P4Y 973000 973000 P4Y 108933000 75658000 33275000 17420000 17420000 126353000 75658000 50695000 7794000 8800000 8575000 465000 439000 666000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,115</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,139</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,736</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,553</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,553</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,137</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 26,233</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">9.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;margin-bottom:12pt;margin-left:0pt;margin-right:0pt;visibility:hidden;">​</span></td></tr></table> 5115000 3139000 2736000 2553000 2553000 10137000 26233000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">9.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">ACCRUED LIABILITIES</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accrued liabilities as of December 31, 2023 and 2022 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,656</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued compensation and payroll tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,420</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued interest payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 73</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued warranties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,234</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities and customer credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,937</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,773</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,627</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 44,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,720</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">10.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;margin-bottom:12pt;margin-left:0pt;margin-right:0pt;visibility:hidden;">​</span></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,656</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued compensation and payroll tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,420</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued interest payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 73</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued warranties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,234</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities and customer credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,937</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,773</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,627</p></td></tr><tr><td style="vertical-align:bottom;width:76.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 44,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38,720</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">10.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;margin-bottom:12pt;margin-left:0pt;margin-right:0pt;visibility:hidden;">​</span></td></tr></table> 4384000 3656000 24621000 20420000 137000 73000 1610000 1234000 5122000 5937000 3510000 3773000 5140000 3627000 44524000 38720000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">10.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">DEBT</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company’s debt is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term debt:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Insurance premium financing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,187</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,211</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Current portion of term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,000</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Current portion of other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,320</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,211</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term debt:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Revolver</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 138,564</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 512</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,962</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139,076</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unamortized debt discount and debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,600)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 127,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 137,476</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following summarizes the aggregate principal payments of our long-term debt, excluding debt discount and debt issuance costs, for the next five years and thereafter:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,133</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,133</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 118,697</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 132</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total principal payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139,095</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">2021 Credit Facility</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="background:#ffffff;">On August 20, 2021 (the “Closing Date”), the Company refinanced its existing credit facilities and entered into a new credit agreement whereby Safariland, LLC, as borrower (the “Borrower”), the Company and certain domestic subsidiaries of the Borrower, as guarantors (the “Guarantors”), closed on and received funding under a credit agreement (initially entered into on July 23, 2021), pursuant to a First Amendment to Credit Agreement (collectively, the “2021 Credit Agreement”) with PNC Bank, National Association (“PNC”), as administrative agent, and the several lenders from time to time party thereto (together with PNC, the “Lenders”) pursuant to which the Borrower (i) borrowed </span><span style="background:#ffffff;">$200,000</span><span style="background:#ffffff;"> under a term loan (the “Term Loan”), and (ii) may borrow up to </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">$100,000</span><span style="background:#ffffff;"> under a revolving credit facility (including up to </span><span style="background:#ffffff;">$15,000</span><span style="background:#ffffff;"> for letters of credit and up to </span><span style="background:#ffffff;">$10,000</span><span style="background:#ffffff;"> for swing line loans) (the “Revolving Loan”). Each of the Term Loan and the Revolving Loan mature on July 23, 2026. Commencing December 31, 2021, the Term Loan requires scheduled quarterly payments in amounts equal to </span><span style="background:#ffffff;">1.25</span><span style="background:#ffffff;">% per quarter of the original aggregate principal amount of the Term Loan, with the balance due at maturity. The 2021 Credit Agreement is guaranteed, jointly and severally, by the Guarantors and, subject to certain exceptions, secured by a first-priority security interest in substantially all of the assets of the Borrower and the Guarantors pursuant to a Security and Pledge Agreement and a Guaranty and Suretyship Agreement, each dated as of the Closing Date</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company performed an analysis on a creditor-by-creditor basis for debt modifications and extinguishments to determine the appropriate accounting treatment of associated issuance costs. In connection with the refinancing, the Company recorded a loss on debt extinguishment of $15,155 for the year ended December 31, 2021 related to early extinguishments fees and the <span style="color:#231f20;">write-off of unamortized debt discount and debt issuance costs</span>. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In connection with the 2021 Credit Agreement, the Company paid financing costs totaling $4,114, of which $2,749 related to the Term Loan and $1,365 related to the Revolving Loan. Total financing costs consisted of $1,916 of fees paid to lenders and $2,198 of debt issuance costs. Costs incurred in connection with the Term Loan were deferred and recorded as an offset to long-term debt. Costs incurred in connection with the Revolving Loan were deferred and recorded to other assets. All deferred debt costs are amortized to interest expense over the term of the loan using the effective interest method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023 and 2022, the Company had an unamortized debt discount of $537 and $748 and unamortized debt issuance costs of $613 and $851, respectively, included as an offset to debt in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">There were no amounts outstanding under any revolving loans as of December 31, 2023 and 2022. As of December 31, 2023, there were $2,584 in outstanding letters of credit and $97,416 of availability<span style="color:#231f20;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023 and 2022, the term loan outstanding principal balance was $138,564 and $148,564 and bore interest at 6.96% and 6.14%, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Borrower may elect to have the Revolving Loan and Term Loan under the 2021 Credit Agreement bear interest at a base rate or LIBOR, in each case, plus an applicable margin. However, in connection with the market transition away from applicable LIBOR rates to SOFR, on May 31, 2023, the Company, the Borrowers and the Lenders entered into the third amendment to the 2021 Credit Agreement (the “Third Amendment”) pursuant to which the 2021 Credit Agreement was amended to implement the SOFR rates. </span>The applicable interest rates for these borrowings are, at the Company’s option, either (a) a base rate plus an applicable margin between 0.50% and 1.50% or (b) a Term SOFR rate, plus a SOFR adjustment equal to 0.10%, plus an applicable margin equal to 1.50% to 2.50%.<span style="background:#ffffff;"> The 2021 Credit Agreement also requires the Borrower to pay a commitment fee on the unused portion of the loan commitments. Such commitment fee ranges between </span><span style="background:#ffffff;">0.175</span><span style="background:#ffffff;">% and </span><span style="background:#ffffff;">0.25</span><span style="background:#ffffff;">% per annum, and is also based upon the level of the Company’s consolidated total net leverage ratio. The 2021 Credit Agreement also contains customary representations and warranties, and affirmative and negative covenants, including limitations on additional indebtedness, dividends, and other distributions, entry into new lines of business, use of loan proceeds, capital expenditures, restricted payments, restrictions on liens on the assets of the Borrowers or any Guarantor, transactions with affiliates, amendments to organizational documents, accounting changes, sale and leaseback transactions, dispositions, and mandatory prepayments in connection with certain liquidity events. The 2021 Credit Agreement contains certain restrictive debt covenants, which require us to: (i) maintain a minimum fixed charge coverage ratio of </span><span style="background:#ffffff;">1.25</span><span style="background:#ffffff;"> to 1.00, starting with the quarter ended December 31, 2021, which is to be determined for each quarter end on a trailing four quarter basis and (ii) maintain a quarterly maximum consolidated total net leverage ratio of </span><span style="background:#ffffff;">3.75</span><span style="background:#ffffff;"> to 1.00 from the quarter ended December 31, 2022 until the quarter ended September 30, 2022, and thereafter </span><span style="background:#ffffff;">3.50</span><span style="background:#ffffff;"> to 1.00, which is in each case to be determined on a trailing four quarter basis; provided that under certain circumstances and subject to certain limitations, in the event of a material acquisition, we may temporarily increase the consolidated total net leverage ratio by up to </span><span style="background:#ffffff;">0.50</span><span style="background:#ffffff;"> to 1.00 for four fiscal quarters following such acquisition. The 2021 Credit Agreement contains customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material </span>indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions. Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the 2021 Credit Agreement may be accelerated and the Lenders could foreclose on their security interests in the assets of the Borrowers and the Guarantors<span style="background:#ffffff;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Canadian Credit Facility</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On October 14, 2021, Med-Eng Holdings ULC and Pacific Safety Products Inc., the Company’s Canadian subsidiaries, as borrowers (the “Canadian Borrowers”), and Safariland, LLC, as guarantor (the “Canadian Guarantor”), closed on a line of credit pursuant to a Loan Agreement (the “Canadian Loan Agreement”) and a Revolving Line of Credit Note (the “Note”) with PNC Bank Canada Branch (“PNC Canada”), as lender pursuant to which the Canadian Borrowers may borrow up to CDN$10,000 under a revolving line of credit (including up to $3,000 for letters of credit) (the “Revolving Canadian Loan”). <span style="background:#ffffff;">The Revolving Canadian Loan matures on July 23, 2026. The Canadian Loan Agreement is guaranteed by the Canadian Guarantor pursuant to a Guaranty and Suretyship Agreement </span>(the “Canadian Guaranty Agreement”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Canadian Borrowers may elect to have borrowings either in United States dollars or Canadian dollars under the Canadian Loan Agreement, which will bear interest at a base rate or SOFR, in each case, plus an applicable margin, in the case of borrowings in United States dollars, or at a Canadian Prime Rate (as announced from time to time by PNC Canada) or a Canadian deposit offered rate (“CDOR”) as determined from time to time by PNC Canada in accordance with the Canadian Loan Agreement. The applicable margin for these borrowings range from 0.50% to 1.50% per annum, in the case of base rate borrowings and Canadian Prime Rate borrowings, and 1.50% to 2.50% per annum, in the case of SOFR borrowings and CDOR borrowings. The Canadian Loan Agreement also requires the Canadian Borrowers to pay (i) an unused line fee on the unused portion of the loan commitments in an amount ranging between 0.175% and 0.25% per annum, based upon the level of the Company’s consolidated total net leverage ratio, and (ii) an upfront fee equal to 0.25% of the principal amount of the Note.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">There were no amounts outstanding under the Revolving Canadian Loan as of December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Canadian Loan Agreement also contains customary representations and warranties, and affirmative and negative covenants, including, among others, limitations on additional indebtedness, entry into new lines of business, entry into guarantee agreements, making of any loans or advances to, or investments in, any other person, restrictions on liens on the assets of the Canadian Borrowers and mergers, transfers of assets and acquisitions. The Canadian Loan Agreement and Note also contain customary events of default that include, among others, non-payment of principal, interest or fees, violation of covenants, inaccuracy of representations and warranties, failure to make payment on, or defaults with respect to, certain other material indebtedness, bankruptcy and insolvency events, material judgments and change of control provisions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Upon the occurrence of an event of default, and after the expiration of any applicable grace period, payment of any outstanding loans under the Canadian Loan Agreement may be accelerated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Short-Term Debt</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In July 2022, the Company entered into a short-term loan facility for insurance premiums with AFCO Credit Corporation for $3,989 with a maturity date of June 27, 2023. The loan has fixed annual interest of 5.75% on the outstanding balance and requires monthly payments of principal and interest of $373. As of December 31, 2022, $2,211 was outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;"> In July 2023, the Company entered into a short-term loan facility for insurance premiums with First Insurance Funding for </span>$3,948 with a maturity date of June 27, 2024. The loan has fixed annual interest of 7.49% on the outstanding balance and requires monthly payments of principal and interest of $373. As of December 31, 2023, $2,187 was outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Fair Value of Debt</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The fair value of our Term Loan is based upon established market prices for the securities using Level 2 inputs. The fair value of our Term Loan as of December 31, 2023 was </span><span style="background:#ffffff;">$141,340</span><span style="background:#ffffff;"> compared to its carrying value of </span><span style="background:#ffffff;">$138,564</span><span style="background:#ffffff;">. </span>The Company classifies its long-term debt within Level 2 of the fair value hierarchy</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Interest Rate Swaps</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We entered into interest rate swap agreements to hedge forecasted monthly interest rate payments on our floating rate debt. As of December 31, 2023, we had the following interest rate swap agreements (the “Swap Agreements”):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:74.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Effective Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Notional Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fixed Rate</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">September 30, 2021 through July 23, 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">May 31, 2023 through July 23, 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,125</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On May 31, 2023, concurrent with the third amendment to the 2021 Credit Agreement, we amended our September 30, 2021 swap agreement to reflect the change from LIBOR to SOFR. In addition, we entered into an additional $50,000 notional amount interest <span style="background:#ffffff;">rate swap to further mitigate our interest rate exposure on our floating rate debt. Under the terms of the Swap Agreements, we receive payments based on the 1-month SOFR (</span><span style="background:#ffffff;">5.36%</span><span style="background:#ffffff;"> as of December 31, 2023).</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-indent:18pt;margin:0pt;"><span style="background:#ffffff;">During the year ended December 31, 2023, there were no interest rate swap agreements that expired.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;text-indent:18pt;background:#ffffff;margin:0pt;">We designated the Swap Agreements as cash flow hedges. A portion of the amount included in accumulated other comprehensive income is reclassified into interest expense, net as a yield adjustment as interest is either paid or received on the hedged debt. The fair value of our Swap Agreements is based upon Level 2 inputs. We have considered our own credit risk and the credit risk of the counterparties when determining the fair value of our Swap Agreements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;text-indent:18pt;background:#ffffff;margin:0pt;">It is our policy to execute such instruments with creditworthy banks and not to enter into derivative financial instruments for speculative purposes. We believe our interest rate swap counterparty will be able to fulfill their obligations under our agreements, and we believe we will have debt outstanding through the expiration date of the swap agreements such that the occurrence of future cash flow hedges remains probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;background:#ffffff;margin:0pt 0pt 12pt 0pt;">The estimated fair value of our Swap Agreements in the consolidated balance sheets was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Accounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_JGnbbl27S0ONuaID_BQBSw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,619</p></td></tr><tr><td style="vertical-align:bottom;width:74.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Hmlzwlu6BEGpszyt3CkUEg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,366</p></td></tr><tr><td style="vertical-align:bottom;width:74.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_tiNRiLHYhUyewQltYS9QkQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 427</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;background:#ffffff;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;text-indent:18pt;background:#ffffff;margin:0pt;">A cumulative gain, net of tax, of $4,357 and $6,739 is recorded in accumulated other comprehensive income as of December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;text-indent:18pt;background:#ffffff;margin:0pt;">The amount of gain, net of tax, recognized in other comprehensive income for the years ended December 31, 2023, 2022 and 2021 was $775, $6,444 and $767, respectfully. There was a gain, net of tax, of $3,157 and $618 and a loss, net of tax, of $146 reclassified from accumulated other comprehensive income into earnings for the years ended December 31, 2023, 2022 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;background:#ffffff;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023, approximately $3,552 is expected to be reclassified from accumulated other comprehensive income into interest expense over the next 12 months.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term debt:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Insurance premium financing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,187</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,211</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Current portion of term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,000</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Current portion of other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,320</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,211</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Long-term debt:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Revolver</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 138,564</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 512</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 128,962</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139,076</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unamortized debt discount and debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,600)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total long-term debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 127,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 137,476</p></td></tr></table> 2187000 2211000 10000000 10000000 133000 12320000 12211000 128564000 138564000 398000 512000 128962000 139076000 1150000 1600000 127812000 137476000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,133</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,133</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 118,697</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 132</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total principal payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139,095</p></td></tr></table> 10133000 10133000 118697000 132000 139095000 200000000 100000000 15000000 10000000 0.0125 -15155000 4114000 2749000 1365000 1916000 2198000 537000 748000 613000 851000 0 0 2584000 97416000 138564000 148564000 6.96 6.14 0.0050 0.0150 0.0010 0.0150 0.0250 0.00175 0.0025 1.25 3.75 3.50 0.50 10000000 3000000 0.0050 0.0150 0.0150 0.0250 0.00175 0.0025 0.0025 0 0 3989000 0.0575 373000 2211000 3948000 0.0749 373000 2187000 141340000 138564000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:74.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Effective Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Notional Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fixed Rate</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">September 30, 2021 through July 23, 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 88,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">May 31, 2023 through July 23, 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,125</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table> 2021-09-30 2026-07-23 88750000 0.00812 2023-05-31 2026-07-23 48125000 0.03905 50000000 0.0536 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Accounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_JGnbbl27S0ONuaID_BQBSw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,619</p></td></tr><tr><td style="vertical-align:bottom;width:74.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Hmlzwlu6BEGpszyt3CkUEg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,366</p></td></tr><tr><td style="vertical-align:bottom;width:74.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_tiNRiLHYhUyewQltYS9QkQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 427</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> 3655000 3619000 2850000 5366000 427000 4357000 6739000 775000 6444000 767000 3157000 618000 -146000 3552000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">11.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">SHAREHOLDERS’ EQUITY</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Initial Public Offering</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On November 3, 2021, the Company completed its initial public offering (“IPO”) in which the Company issued and sold </span><span style="background:#ffffff;">6,900,000</span><span style="background:#ffffff;"> shares, which included </span><span style="background:#ffffff;">900,000</span><span style="background:#ffffff;"> shares that were offered and sold pursuant to the full exercise of the underwriters’ over-allotment option, of common stock at a public offering price of </span><span style="background:#ffffff;">$13.00</span><span style="background:#ffffff;"> per share. The Company’s net proceeds from the sale of shares in the IPO was </span><span style="background:#ffffff;">$78,581</span><span style="background:#ffffff;"> after underwriter discounts and commissions, fees and expenses of </span><span style="background:#ffffff;">$11,119</span><span style="background:#ffffff;">, of which </span><span style="background:#ffffff;">$2,250</span><span style="background:#ffffff;"> was paid to Kanders &amp; Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Secondary Offering</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On June 9, 2022, the Company completed a secondary offering in which the Company issued and sold </span><span style="background:#ffffff;">2,250,000</span><span style="background:#ffffff;"> shares of common stock at a price of </span><span style="background:#ffffff;">$23.50</span><span style="background:#ffffff;"> per share. The Company’s net proceeds from the sale of shares were </span><span style="background:#ffffff;">$46,988</span><span style="background:#ffffff;"> after underwriter discounts and commissions, fees and expenses of </span><span style="background:#ffffff;">$2,715</span><span style="background:#ffffff;">, of which </span><span style="background:#ffffff;">$2,000</span><span style="background:#ffffff;"> was paid to Kanders &amp; Company, Inc., a company controlled by Warren B. Kanders, our Chief Executive Officer</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On July 14, 2022, the underwriters exercised a portion of their over-allotment option and purchased an additional 300,000 shares of common stock <span style="background:#ffffff;">at a price of </span><span style="background:#ffffff;">$23.50</span><span style="background:#ffffff;"> per share, resulting in net proceeds to the Company of </span><span style="background:#ffffff;">$6,389</span><span style="background:#ffffff;"> after underwriter discounts and commissions, fees and expenses of </span><span style="background:#ffffff;">$661</span><span style="background:#ffffff;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Dividends</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On January 23, 2024, the Company announced that its board of directors approved the initiation of a quarterly cash dividend policy of $0.0875 per share of the Company’s common stock (the “Quarterly Cash Dividend”) or $0.35 per share on an annualized basis, representing an increase of 3 cents over the previous annualized dividend of $0.32 per share. <span style="background:#ffffff;">The declaration and payment of future Quarterly Cash Dividends is subject to the discretion of and approval of the Company’s board of directors. Our Quarterly Cash Dividends totaled </span><span style="background:#ffffff;">$12,006</span><span style="background:#ffffff;">, </span><span style="background:#ffffff;">$11,509</span><span style="background:#ffffff;"> and </span><span style="background:#ffffff;">$2,751</span><span style="background:#ffffff;"> for the years ended December 31, 2023, 2022 and 2021, respectively.</span> </p> 6900000 900000 13.00 78581000 11119000 2250000 2250000 23.50 46988000 2715000 2000000 300000 23.50 6389000 661000 0.0875 0.35 0.03 0.32 12006000 11509000 2751000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">12.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">STOCK-BASED COMPENSATION</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">2021 Phantom Restricted Share Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The Company maintains a cash-based executive compensation plan for certain employees. The Company’s board of directors awarded </span><span style="background:#ffffff;">1,433,500</span><span style="background:#ffffff;"> interests in the plan (“units”). Each unit represents an unfunded and unsecured right, subject to certain conditions as set forth by the plan. One-third of the units granted to any holder will vest on each of the first, second, and third anniversaries of March 18, 2021 during the term of such holder’s employment with the Company. Payment of a holder’s vested balance is dependent upon a transaction or series of related transactions constituting a qualifying exit event, as defined by the executive compensation plan. The plan will expire on March 18, 2025, at which time the plan and all awarded units will be terminated for no consideration if a qualifying exit event has not occurred before that date. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On March 9, 2022, the Company’s board of directors modified the performance condition, specifically the definition of a qualifying exit event. In addition, the board of directors approved the settlement of vested and unvested units in common stock rather than cash, which resulted in a change in classification of the outstanding units from liability to equity. As a result, modification of the units occurred on March 9, 2022 with a grant date fair value of </span><span style="background:#ffffff;">$23.45</span><span style="background:#ffffff;">, the closing stock price of the Company on the date of modification. There were </span><span style="background:#ffffff;">632,500</span><span style="background:#ffffff;"> units that vested March 18, 2022 and </span><span style="background:#ffffff;">791,667</span><span style="background:#ffffff;"> units that will vest in equal amounts on the second and third anniversaries of the plan. The Company recognized compensation expense of </span><span style="background:#ffffff;">$22,100</span><span style="background:#ffffff;"> on March 9, 2022, the date the performance condition became probable. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A summary of our phantom award activity for the year ended December 31, 2023 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 791,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (418,174)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 373,493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The total fair value of phantom awards vested in 2023 was $9,806.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Compensation cost related to phantom awards was $4,371 and $28,578 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $626 of unrecognized compensation cost related to phantom awards, which is expected to be recognized over a weighted-average period of 0.2 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">2021 Stock Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In November 2021, we adopted the 2021 Stock Incentive Plan (the “2021 Plan”). The 2021 Plan provides for the grant of incentive stock options to our employees and any parent and subsidiary companies’ employees, and for the grant of non-statutory stock options, restricted stock, restricted stock units (“RSUs”), stock appreciation rights (“SARs”), performance units, and performance shares to our employees, directors, and consultants and our parent and subsidiary companies’ employees and consultants. The maximum aggregate number of shares of common stock that may be issued under the 2021 Plan is 9,650,000 shares. As of December 31, 2023, 5,776,326 shares of common stock were reserved and available for issuance under the 2021 Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Market Condition Restricted Shares</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On November 4, 2021, the Company issued and granted to certain employees a total of </span><span style="background:#ffffff;">2,600,000</span><span style="background:#ffffff;"> RSUs under the 2021 Plan, of which </span><span style="background:#ffffff;">2,600,000 </span><span style="background:#ffffff;">RSUs will vest if, on or before November 8, 2031, the Fair Market Value (as defined in the Plan) of the Company’s common stock shall have equaled or exceeded </span><span style="background:#ffffff;">$40.00</span><span style="background:#ffffff;"> per share for </span><span style="-sec-ix-hidden:Hidden_6OmFm4qS90a752ihNWKuYg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;background:#ffffff;">twenty</span></span><span style="background:#ffffff;"> consecutive trading days. For computing the fair value of the </span><span style="background:#ffffff;">2,600,000</span><span style="background:#ffffff;"> </span><span style="background:#ffffff;">RSUs with a market condition, the fair value of the RSU grant has been estimated as of the date of grant using the Monte-Carlo pricing model with the assumptions below. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Number issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">2,600,000</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vesting period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$40.00 stock price target</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Grant price (per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$4.65 </p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">0.0%</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">32.08%</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1.59%</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">5.67</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value (per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$4.65</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A summary of our market condition RSU activity for the year ended December 31, 2023 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,600,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.65</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,600,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.65</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Compensation cost related to market condition RSUs was $2,132, $2132 and $355 for the years ended December 31, 2023, 2022 and 2021 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $7,470 of unrecognized compensation cost related to market condition RSUs, which is expected to be recognized over a weighted-average period of 3.5 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Stock Options</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Stock options granted under the 2021 Plan are non-qualified and are granted with an exercise price equal to the market value of the Company’s common stock on the date of grant, and vest from <span style="-sec-ix-hidden:Hidden_JNyz2FHfLEmOojgYq3GWNg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> to three years from the date of grant. Stock options are granted with <span style="-sec-ix-hidden:Hidden_Ls3zlqqsR0uANRO-A-TCLQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">ten</span></span>-year terms. We recorded compensation expense for employee stock options based on the estimated fair value of the options </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">on the date of grant using the Black-Scholes option-pricing model. The model uses various assumptions, including a risk-free interest rate, the expected term of the options, the expected stock price volatility, and the expected dividend yield. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The fair value of each option grant has been estimated as of the date of grant with the following assumptions:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Number issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">395,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">373,479</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vesting period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1 - 3 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1 - 3 years</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Grant price (per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$20.53 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$23.45 - $23.70</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1.56%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1.35% - 1.36%</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">31.40%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">33.22%</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">3.68%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1.12%</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4.68 - 6.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4.61 - 6.00</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value (per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$6.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$6.69</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A summary of our stock option activity for the year ended December 31, 2023 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining Contractual</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Life (in years)</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 367,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9.2</p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 395,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,405)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 761,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.7</p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 227,806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22.77</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.5</p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and expected to vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 761,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.7</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:12pt 0pt 12pt 0pt;">Compensation cost related to stock options was $1,619 and $974 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $2,374 of unrecognized compensation cost related to stock options, which is expected to be recognized over a weighted-average period of 1.9 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Units</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted stock units<span style="background:#ffffff;"> vest in </span><span style="background:#ffffff;">three</span><span style="background:#ffffff;"> equal installments over a </span><span style="background:#ffffff;">three-year</span><span style="background:#ffffff;"> period from the date of grant and have a grant date fair value of the closing stock price of the Company on the date of grant</span>. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A summary of our RSU activity for the year ended December 31, 2023 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 83,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.53</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (27,838)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,676)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.53</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 167,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.50</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Compensation cost related to RSUs was $1,267 and $531 for the years ended December 31, 2023 and 2022 and is recorded in selling, general, and administrative expense. As of December 31, 2023, there was $2,453 of unrecognized compensation cost related to RSUs, which is expected to be recognized over a weighted-average period of 1.9 years.</p> 1433500 23.45 632500 791667 22100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 791,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (418,174)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 373,493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td></tr></table> 791667 418174 23.45 373493 23.45 9806000 4371000 28578000 626000 P0Y2M12D 9650000 5776326 2600000 2600000 40.00 2600000 2600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Number issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">2,600,000</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vesting period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$40.00 stock price target</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Grant price (per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$4.65 </p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">0.0%</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">32.08%</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1.59%</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">5.67</p></td></tr><tr><td style="vertical-align:bottom;width:77.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value (per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$4.65</p></td></tr></table> 2600000 40.00 4.65 0.000 0.3208 0.0159 P5Y8M1D 4.65 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,600,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.65</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,600,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.65</p></td></tr></table> 2600000 4.65 2600000 4.65 2132000 2132000 355000 7470000 P3Y6M P3Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Number issued</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">395,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">373,479</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vesting period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1 - 3 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1 - 3 years</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Grant price (per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$20.53 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$23.45 - $23.70</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1.56%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1.35% - 1.36%</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">31.40%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">33.22%</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">3.68%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">1.12%</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4.68 - 6.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">4.61 - 6.00</p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value (per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$6.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">$6.69</p></td></tr></table> 395253 373479 P1Y P3Y P1Y P3Y 20.53 23.45 23.70 0.0156 0.0156 0.0135 0.0136 0.3140 0.3322 0.0368 0.0112 P4Y8M4D P6Y P4Y7M9D P6Y 6.34 6.69 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining Contractual</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Life (in years)</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 367,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9.2</p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 395,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,405)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 761,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.7</p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 227,806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22.77</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.5</p></td></tr><tr><td style="vertical-align:bottom;width:55.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and expected to vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 761,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.7</p></td></tr></table> 367611 23.46 P9Y2M12D 395253 20.53 1405 23.45 12000 761459 21.98 8310000 P8Y8M12D 227806 22.77 2305000 P8Y6M 761459 21.98 8310000 P8Y8M12D 1619000 974000 2374000 P1Y10M24D 3 P3Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 83,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 113,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.53</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (27,838)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23.45</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,676)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20.53</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 167,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.50</p></td></tr></table> 83494 23.45 113097 20.53 27838 23.45 1676 20.53 167077 21.50 1267000 531000 2453000 P1Y10M24D <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">13.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">COMPENSATION AND DEFINED CONTRIBUTION PLANS</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company and its wholly owned subsidiaries sponsor Internal Revenue Code Section 401(k) defined contribution plans for the benefit of all full-time and part-time employees. Employees are entitled to make tax- deferred contributions up to the maximum allowed by law of their eligible compensation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company sponsors various other non-U.S. Defined Contribution and Defined Profit-Sharing Plans that are offered by the Company’s foreign subsidiaries. Many of these plans were assumed through the Company’s acquisitions or are required by local regulatory requirements. The Company may deposit funds for these plans with insurance companies, or into government-managed accounts consistent with local regulatory requirements, as applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Contribution to the plans are made by both the employee and the Company. The Company’s contributions to the plans was $2,380, $3,198 and $1,780 for the years ended December 31, 2023, 2022 and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;background:#ffffff;">Long-Term Incentive Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2021, the Company initiated a cash-based long-term incentive plan. Each award granted under the plan shall be eligible to vest in three equal annual installments over a period of <span style="-sec-ix-hidden:Hidden_Aym8_gdsUkWM_8HiGqNAWw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> consecutive one-year performance periods, with each installment of the award vesting on the last day of the applicable performance period, subject to the achievement of the performance metrics established by the board of directors for the applicable annual performance period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On March 9, 2022, the Company’s board of directors approved the common stock settlement of vested awards of the long-term incentive plan. The board of directors also approved the option to settle unvested awards in common stock. Modification accounting was not applied as this change did not affect the fair value of the awards, vesting conditions, or the liability classification of the awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Total compensation expense related to this plan was </span><span style="background:#ffffff;">$860</span><span style="background:#ffffff;">, </span><span style="background:#ffffff;">$1,369</span><span style="background:#ffffff;"> and </span><span style="background:#ffffff;">$2,162</span><span style="background:#ffffff;"> for the years ended December 31, 2023, 2022 and 2021, respectively, and is included in selling, general and administrative in the Company’s consolidated statements of operations and comprehensive income.</span></p> 2380000 3198000 1780000 3 860000 1369000 2162000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">14.</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">COMMITMENTS AND CONTINGENCIES</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Legal Proceedings</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:0.2pt;">In September 2021, Safariland, LLC, a wholly-owned subsidiary of the Company, received a jury verdict awarding </span><span style="letter-spacing:0.2pt;">$7,500</span><span style="letter-spacing:0.2pt;white-space:pre-wrap;"> to a plaintiff relating to a personal injury case wherein the plaintiff alleged various product liability claims against Safariland, LLC. The plaintiff in the proceeding, Mr. David Hakim, instituted the proceeding on July 24, 2015, through the filing of a complaint with the United States District Court, Northern District of Illinois, Eastern Division. In the proceeding, the plaintiff, a SWAT officer with the DuPage County Sheriff’s Office (“DCSO”), alleged that he suffered injuries during a training exercise conducted by DCSO in which a Defense Technology Shotgun Breaching TKO round was deployed and passed through a door and lower-floor ceiling causing a fragment to strike plaintiff’s back resulting in injury. Prior to the jury rendering its verdict, the court deferred ruling on Safariland, LLC’s Motion for Judgment as a Matter of Law (“JMOL”). On November 8, 2021, Safariland, LLC filed its post-trial motions, including a supplemental JMOL, motion for new trial and remittitur. On April 18, 2022, the court denied Safariland, LLC’s JMOL, motion for new trial and remittitur and, accordingly, entered a judgment in favor of plaintiff, David Hakim, as to the Third Claim. In response, Safariland, LLC timely filed its notice of appeal with the United States Court of Appeals for the Seventh Circuit (the “Seventh Circuit”). Safariland and Plaintiff have filed their appeal briefs, and oral arguments were held on October 25, 2022. On August 21, 2023, the Seventh Circuit affirmed the judgment of the district court. In accordance with the Company’s applicable insurance policies, the Company was fully indemnified. The insurer satisfied the judgment and a release of the judgment was entered on September 11, 2023. Accordingly, this matter is now closed.</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company is also involved in various legal disputes and other legal proceedings and claims that arise from time to time in the ordinary course of business. The Company vigorously defends itself against all lawsuits and evaluates the amount of reasonably possible losses that the Company could incur as a result of these matters. While any litigation contains an element of uncertainty, the Company believes that the reasonably possible losses that the Company could incur in excess of insurance coverage would not have a material adverse effect on the Company’s consolidated financial position, results of operations, or liquidity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">Insurance</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company has various insurance policies, including product liability insurance, covering risks and in amounts it considers adequate. There can be no assurance that the insurance coverage maintained by the Company is sufficient or will be available in adequate amounts or at a reasonable cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;margin:0pt 0pt 12pt 0pt;">International</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As an international company, we are, from time to time, the subject of investigations relation to the Company’s international operations, including under U.S. export control laws (such as ITAR), the FCPA and other similar U.S. and foreign laws. To the best of the Company’s knowledge, there are not any potential or pending investigations at this time.</p> 7500000 <table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">15.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </span><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">INCOME TAXES</b></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Consolidated income from continuing operations before provision for income taxes consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:middle;white-space:nowrap;width:35.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="color:#231f20;font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="color:#231f20;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="color:#231f20;font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="color:#231f20;font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">U.S. operations</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 49,603</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 6,455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 18,243</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">Foreign operations</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 3,321</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 2,918</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 949</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">Income before provision for income taxes</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 52,924</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 9,373</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 19,192</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The provision for income taxes is detailed below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:middle;white-space:nowrap;width:35.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#231f20;font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#231f20;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#231f20;font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#231f20;font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current tax provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,711</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 624</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 907</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 852</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total current provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,640</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,759</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax (benefit) provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,704</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 897</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,224)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,058)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (829)</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred (benefit) provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (210)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,087)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,772</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,553</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,531</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following is a reconciliation of the statutory federal income tax rate to the effective rate reported in the Company’s consolidated financial statements:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increase (decrease) in income taxes resulting from:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State income taxes, net of federal income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Current year tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Difference between foreign and federal tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Permanent items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reserve for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 34.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deferred taxes have not been recognized for the excess financial reporting basis over the tax basis of investments of foreign subsidiaries. It is the Company’s intent to permanently reinvest the earnings of those foreign subsidiaries in those jurisdictions. It is not practical to determine the amount of any unrecognized deferred tax liability on this item.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deferred income tax assets and liabilities are determined based on the difference between the financial reporting carrying amounts and tax bases of existing assets and liabilities and operating loss and tax credit carryforwards. The tax effects of temporary differences giving rise to significant components of the Company’s deferred income tax assets and liabilities are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net operating loss and other carry forwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,335</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,351</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Reserves and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,039</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">263A uniform capitalization costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 201</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,741</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,232</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,158</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,872)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,888)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,056</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,270</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,832)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,789)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,017)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,447)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,512)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,560)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (534)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (727)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,895)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,523)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (839)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,253)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In assessing the realizability of deferred income tax assets, the Company performs an evaluation of whether it is more likely than not that some portion, or all, of its deferred income tax assets will not be realized. During the course of this evaluation, the Company considers all available positive and negative evidence and if, based upon the weight of available evidence, it is more likely than not the deferred tax assets will not be realized, a valuation allowance is recorded. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023, the Company had net operating loss carryforwards that expire in varying amounts beginning in 2024 through 2039 and tax credit carryforwards that expire in varying amounts beginning in 2024 through 2038.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The total amount of unrecognized benefits on uncertain tax positions that, if recognized, would affect the Company’s effective tax rate was $2,052. A reconciliation of the change in the unrecognized income tax benefit for the years ended December 31, 2023 and 2022 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Beginning unrecognized tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,090</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Current period unrecognized tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 39</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> Foreign currency fluctuations</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (143)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ending unrecognized tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,986</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes interest expense and penalties related to unrecognized tax benefits as income tax expense. No amounts representing penalties and interest were recorded as income tax expense during the years ended December 31, 2023, 2022 and 2021. The Company had no interest or penalties accrued in the consolidated balance sheets as of December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company and its subsidiaries file income tax returns in the U.S. federal, various state and local, and certain foreign jurisdictions. As of December 31, 2023, the Company’s tax years subsequent to 2017 are subject to examination by tax authorities with few exceptions. One of the Company’s Canadian subsidiaries underwent an examination of its tax filings for the period June 1, 2016 through December 31, 2017. In January 2022, the Company received notification that the Canadian tax authority has completed its examination and proposed no changes to the tax filings.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:middle;white-space:nowrap;width:35.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="color:#231f20;font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="color:#231f20;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="color:#231f20;font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="color:#231f20;font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">U.S. operations</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 49,603</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 6,455</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 18,243</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">Foreign operations</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 3,321</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 2,918</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 949</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">Income before provision for income taxes</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 52,924</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 9,373</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="color:#231f20;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="color:#231f20;"> 19,192</span></p></td></tr></table> 49603000 6455000 18243000 3321000 2918000 949000 52924000 9373000 19192000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:middle;white-space:nowrap;width:35.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#231f20;font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#231f20;font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#231f20;font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#231f20;font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current tax provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,711</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 624</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 907</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 852</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total current provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,640</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,759</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax (benefit) provision:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,704</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 897</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,224)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,058)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (829)</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred (benefit) provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (210)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,087)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,772</p></td></tr><tr><td style="vertical-align:bottom;width:63.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,553</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,531</p></td></tr></table> 9969000 2711000 1811000 624000 907000 2713000 1305000 852000 14493000 4640000 1759000 1692000 -24000 4704000 322000 -5000 897000 -2224000 -1058000 -829000 -210000 -1087000 4772000 14283000 3553000 6531000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Federal statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increase (decrease) in income taxes resulting from:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State income taxes, net of federal income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Current year tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Difference between foreign and federal tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Permanent items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reserve for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 34.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table> 0.210 0.210 0.210 0.046 0.056 0.084 0.008 0.007 0.065 0.047 0.007 0.054 0.028 0.016 0.122 0.052 0.005 -0.002 -0.003 0.005 0.270 0.379 0.340 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net operating loss and other carry forwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,335</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,351</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Reserves and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,039</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">263A uniform capitalization costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 201</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,741</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,232</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,158</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,872)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,888)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,056</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,270</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,832)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,789)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,017)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,447)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,512)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,560)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (534)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (727)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,895)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,523)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (839)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,253)</p></td></tr></table> 4667000 7335000 4656000 3351000 2749000 3039000 115000 201000 6741000 5232000 18928000 19158000 1872000 1888000 17056000 17270000 4832000 5789000 4017000 4447000 8512000 7560000 534000 727000 17895000 18523000 839000 1253000 2052000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Beginning unrecognized tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,090</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Current period unrecognized tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 39</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;"> Foreign currency fluctuations</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (143)</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Ending unrecognized tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,986</p></td></tr></table> 1986000 2090000 39000 66000 143000 2052000 1986000 0 0 0 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">16.</b></span>LEASES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company leases certain manufacturing and office space, retail locations, and equipment. Operating lease assets and liabilities are recognized at the commencement date based on the present value of lease payments over the lease term. The Company has elected the practical expedient and does not recognize a lease liability or right-of-use (“ROU”) asset for short-term leases (leases with a term of twelve months or less). The Company uses its incremental borrowing rate based on the information available at the commencement date in determining the present value of lease payments. The Company’s incremental borrowing rate is the rate for collateralized borrowings based on the current economic environment, credit history, credit rating, value of leases, currency in which the lease obligation is satisfied, rate sensitivity, lease term and materiality. Our operating leases have remaining contractual terms of up to five years, some of which include options to extend the leases for up to five years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The amount of assets and liabilities related to our operating leases were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:50.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Accounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease assets</p></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,489</p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current:</p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_1Jz-pUHb9Eu0EyHec-vFlQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,773</p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term:</p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,965</p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,738</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the consolidated statements of operations and comprehensive income. The components of lease expense were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fixed operating lease costs<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,047</p></td></tr><tr><td style="vertical-align:bottom;width:74.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Variable operating lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,441</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,329</p></td></tr><tr><td style="vertical-align:bottom;width:74.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,376</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:12pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt 0pt 12pt 0pt;"> (1) Includes short-term leases, which are immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The weighted average remaining lease term and weighted average discount rate is as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average remaining lease term (years):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.62</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.06%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">2.96%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:12pt 0pt 12pt 0pt;">The approximate future minimum lease payments under operating leases as of December 31, 2023 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,438</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,039</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 965</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 325</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 190</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,988</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Amount representing interest </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (292)</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,696</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Supplemental cash flow information related to leases is as follows:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating cash flows - operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,047</p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> P5Y P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:50.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Accounts</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease assets</p></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,489</p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current:</p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_1Jz-pUHb9Eu0EyHec-vFlQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,773</p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term:</p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;width:50.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Long-term operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,965</p></td></tr><tr><td style="vertical-align:bottom;width:29.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;width:50.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,738</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The components of lease expense are recorded to cost of sales and selling, general and administration expenses in the consolidated statements of operations and comprehensive income. The components of lease expense were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fixed operating lease costs<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,047</p></td></tr><tr><td style="vertical-align:bottom;width:74.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Variable operating lease costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,441</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,329</p></td></tr><tr><td style="vertical-align:bottom;width:74.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,376</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:12pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt 0pt 12pt 0pt;"> (1) Includes short-term leases, which are immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The weighted average remaining lease term and weighted average discount rate is as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average remaining lease term (years):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.62</p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.06%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">2.96%</p></td></tr></table> 6554000 8489000 3510000 3773000 3186000 4965000 6696000 8738000 3981000 4047000 1441000 1329000 5422000 5376000 P2Y6M10D P2Y7M13D 0.0306 0.0296 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,438</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,039</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 965</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 325</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 190</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 31</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,988</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Amount representing interest </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (292)</p></td></tr><tr><td style="vertical-align:bottom;width:83.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,696</p></td></tr></table> 3438000 2039000 965000 325000 190000 31000 6988000 292000 6696000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating cash flows - operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,047</p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 4044000 4047000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:12pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">17.</b></span>RELATED PARTY TRANSACTIONS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company leases 4 distribution warehouses and retail stores from certain employees. The Company recorded rent expense related to these leases of $496, $478 and $579 for the years ended December 31, 2023, 2022 and 2021, respectively. Rent expense related to these leases is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:0.2pt;">For the year ended December 31, 2023, the Company made the following payments to Kanders &amp; Company, Inc., a company controlled by Warren Kanders, our Chief Executive Officer:</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:39pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;">$</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;">1,000</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;"> for services related to the acquisition of ICOR,</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;background:#ffffff;"> which is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;"> </span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:0.2pt;">For the year ended December 31, 2022, the Company made the following payments to Kanders &amp; Company, Inc.:</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:39pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;">$1,000</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;"> for services related to the acquisition of Cyalume,</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;background:#ffffff;"> which is included in related party expense in the Company’s consolidated statements of operations and comprehensive income.</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;"> </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:39pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;">$2,000</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;background:#ffffff;"> for services related to the Company’s secondary offering, which is included in direct offering costs and recorded against offering proceeds in additional paid in capital in the Company’s consolidated balance sheets.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:0.2pt;">For the year ended December 31, 2021, the Company made the following payments to Kanders &amp; Company, Inc.:</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:39pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;">$2,250</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;"> for services related to the Company’s initial public offering, which is included in direct offering costs and recorded against offering proceeds in additional paid in capital in the Company’s consolidated balance sheets.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:39pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;">$1,000</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;"> for services related to the execution of the 2021 Credit Agreement, which is included in debt issuance costs and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">recorded as an offset to long-term debt </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;letter-spacing:0.2pt;">in the Company’s consolidated balance sheets.</span></td></tr></table><div style="margin-top:12pt;"></div> 4 496000 478000 579000 1000000 1000000 1000000 2000000 2250000 1000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">18.</b></span>SEGMENT DATA</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our operations are comprised of two reportable segments: Product and Distribution. Segment information is consistent with how the chief operating decision maker (“CODM”), our chief executive officer, reviews the business, makes investing and resource allocation decisions and assesses operating performance. Senior management evaluates segment performance based on segment profit. Each segment’s profit is measured as gross profit. The CODM is not provided asset information or operating expenses by segment as that information is not available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 410,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,371</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (30,664)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 482,532</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 233,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 78,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (30,466)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 281,806</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 176,888</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (198)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 200,726</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 385,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 97,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24,692)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 457,837</p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 230,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24,719)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 282,159</p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 155,178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 175,678</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:12.25pt;margin:0pt 0pt 0pt 7.2pt;"><span style="margin-bottom:12pt;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 362,189</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 90,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24,944)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 427,288</p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 213,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24,932)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 256,598</p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,308</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (12)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 170,690</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.</span></td></tr></table><div style="margin-top:12pt;"></div> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 410,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 102,371</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (30,664)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 482,532</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 233,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 78,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (30,466)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 281,806</p></td></tr><tr><td style="vertical-align:bottom;width:59.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 176,888</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (198)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 200,726</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 385,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 97,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24,692)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 457,837</p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 230,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24,719)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 282,159</p></td></tr><tr><td style="vertical-align:bottom;width:59.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 155,178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 175,678</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:12.25pt;margin:0pt 0pt 0pt 7.2pt;"><span style="margin-bottom:12pt;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Reconciling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    Product    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> Items</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">      Total      </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 362,189</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 90,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24,944)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 427,288</p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 213,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24,932)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 256,598</p></td></tr><tr><td style="vertical-align:bottom;width:59.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,308</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (12)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 170,690</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#231f20;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Reconciling items consist primarily of intercompany eliminations and items not directly attributable to operating segments.</span></td></tr></table><div style="margin-top:12pt;"></div> 410825000 102371000 -30664000 482532000 233937000 78335000 -30466000 281806000 176888000 24036000 -198000 200726000 385423000 97106000 -24692000 457837000 230245000 76633000 -24719000 282159000 155178000 20473000 27000 175678000 362189000 90043000 -24944000 427288000 213881000 67649000 -24932000 256598000 148308000 22394000 -12000 170690000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">19. SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Acquisitions</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">In January 2024, The Company acquired ICOR Technology Inc. (“ICOR”) for approximately </span>CDN$<span style="background:#ffffff;">52,000</span><span style="background:#ffffff;"> (approximately </span><span style="background:#ffffff;">$38,800</span><span style="background:#ffffff;">), net of cash acquired. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">In March 2024, the Company acquired Alpha Safety Intermediate, LLC (“Alpha Safety”) for approximately </span>$106.5<span style="background:#ffffff;"> million, net of cash acquired</span>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The acquisitions will be accounted for using the acquisition method of accounting whereby the acquired assets and liabilities of the acquired companies will be recorded at their respective fair values and added to those of the Company, including an amount for goodwill representing the difference between the acquisition consideration and the fair value of the identifiable net assets. Results of operations of the acquired companies will be included in the operations of the Company beginning with the respective Closing Dates. As of the date of the filing of this Form 10-K, the initial purchase price allocations have not been prepared as there has not been sufficient time to complete the related activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">During the fiscal year ended December 31, 2023, the Company recognized related transaction costs of $1,601, of which $601 is included in Restructuring and transaction costs and $1,000 is included in Related party expenses in the accompanying consolidated statements of operations and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Long-Term Debt</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2024, in connection with the acquisition of Alpha Safety, the Borrower entered into an $80,000 Incremental Term Loan (“ITL”) under the 2021 Credit Agreement.  The ITL has the same terms and conditions as the Term Loan including such items as interest rate, quarterly amortization payment requirements, and maturity date.</p> 52000000 38800000 106500000 1601000 601000 1000000 80000000 false false false false