0001558370-21-001828.txt : 20210225 0001558370-21-001828.hdr.sgml : 20210225 20210225161811 ACCESSION NUMBER: 0001558370-21-001828 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 100 CONFORMED PERIOD OF REPORT: 20201231 FILED AS OF DATE: 20210225 DATE AS OF CHANGE: 20210225 FILER: COMPANY DATA: COMPANY CONFORMED NAME: COMFORT SYSTEMS USA INC CENTRAL INDEX KEY: 0001035983 STANDARD INDUSTRIAL CLASSIFICATION: ELECTRICAL WORK [1731] IRS NUMBER: 760526487 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-13011 FILM NUMBER: 21680600 BUSINESS ADDRESS: STREET 1: 675 BERING DRIVE STREET 2: SUITE 400 CITY: HOUSTON STATE: TX ZIP: 77057 BUSINESS PHONE: 7138309600 MAIL ADDRESS: STREET 1: 675 BERING DRIVE STREET 2: SUITE 400 CITY: HOUSTON STATE: TX ZIP: 77057 10-K 1 fix-20201231x10k.htm 10-K
350000true00P1Y350000P30D0001035983--12-312020FYfalseus-gaap:OperatingLeaseLiabilityCurrentus-gaap:OperatingLeaseLiabilityCurrentus-gaap:OperatingLeaseLiabilityNoncurrentus-gaap:OperatingLeaseLiabilityNoncurrentP3Y3200000P45D0001035983us-gaap:StateAndLocalJurisdictionMember2020-01-012020-12-3100010359832020-10-012020-10-310001035983fix:Deduction179dMember2020-07-012020-09-300001035983fix:StockRepurchaseProgram2007Member2020-12-310001035983fix:StockRepurchaseProgram2007Member2020-01-012020-12-310001035983fix:StockRepurchaseProgram2007Member2007-03-292020-12-310001035983fix:StockRepurchaseProgram2007Member2007-03-290001035983srt:CumulativeEffectPeriodOfAdoptionAdjustmentMemberus-gaap:RetainedEarningsMember2020-12-310001035983us-gaap:TreasuryStockMember2020-12-310001035983us-gaap:RetainedEarningsMember2020-12-310001035983us-gaap:AdditionalPaidInCapitalMember2020-12-310001035983srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember2020-12-310001035983srt:CumulativeEffectPeriodOfAdoptionAdjustmentMemberus-gaap:AccountingStandardsUpdate201613Member2020-01-010001035983us-gaap:TreasuryStockMember2019-12-310001035983us-gaap:RetainedEarningsMember2019-12-310001035983us-gaap:AdditionalPaidInCapitalMember2019-12-310001035983us-gaap:TreasuryStockMember2018-12-310001035983us-gaap:RetainedEarningsMember2018-12-310001035983us-gaap:AdditionalPaidInCapitalMember2018-12-310001035983us-gaap:TreasuryStockMember2017-12-310001035983us-gaap:RetainedEarningsMember2017-12-310001035983us-gaap:AdditionalPaidInCapitalMember2017-12-310001035983fix:EmployeeAndNonemployeeStockOptionMemberfix:ExercisePriceRangeFromDollars35.01To42.50Member2020-01-012020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMemberfix:ExercisePriceRangeFromDollars15.01To35.00Member2020-01-012020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMemberfix:ExercisePriceRangeFromDollars11.21To42.50Member2020-01-012020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMemberfix:ExercisePriceRangeFromDollars11.21To15.00Member2020-01-012020-12-310001035983fix:ExercisePriceRangeFromDollars35.01To42.50Member2020-01-012020-12-310001035983fix:ExercisePriceRangeFromDollars15.01To35.00Member2020-01-012020-12-310001035983fix:ExercisePriceRangeFromDollars11.21To42.50Member2020-01-012020-12-310001035983fix:ExercisePriceRangeFromDollars11.21To15.00Member2020-01-012020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMemberfix:ExercisePriceRangeFromDollars35.01To42.50Member2020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMemberfix:ExercisePriceRangeFromDollars15.01To35.00Member2020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMemberfix:ExercisePriceRangeFromDollars11.21To42.50Member2020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMemberfix:ExercisePriceRangeFromDollars11.21To15.00Member2020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMember2019-12-310001035983fix:EmployeeAndNonemployeeStockOptionMember2019-01-012019-12-310001035983fix:OmnibusIncentivePlan2017Member2020-12-310001035983fix:EquityIncentivePlan2012Member2020-12-310001035983fix:OmnibusIncentivePlan2017Member2017-05-310001035983fix:EquityIncentivePlan2012Member2012-05-310001035983fix:EmployeeAndNonemployeeStockOptionMember2018-01-012018-12-310001035983fix:RestrictedStockAndRestrictedStockUnitsRSUMember2019-12-310001035983fix:RestrictedStockAndRestrictedStockUnitsRSUMember2019-01-012019-12-310001035983fix:RestrictedStockAndRestrictedStockUnitsRSUMember2018-01-012018-12-310001035983fix:TECIndustrialConstructionAndMaintenanceMember2020-01-012020-12-310001035983fix:TasEnergyIncMember2020-01-012020-12-310001035983fix:TasEnergyIncMember2020-04-012020-12-310001035983srt:MinimumMember2021-01-012020-12-310001035983srt:MaximumMember2021-01-012020-12-3100010359832021-01-012020-12-310001035983fix:AmendedSeniorRevolvingCreditFacilityMember2020-01-012020-12-310001035983srt:MinimumMemberus-gaap:TransportationEquipmentMember2020-01-012020-12-310001035983srt:MinimumMemberus-gaap:MachineryAndEquipmentMember2020-01-012020-12-310001035983srt:MinimumMemberus-gaap:FurnitureAndFixturesMember2020-01-012020-12-310001035983srt:MinimumMemberfix:ComputerAndTelephoneEquipmentMember2020-01-012020-12-310001035983srt:MinimumMemberfix:BuildingAndLeaseholdImprovementsMember2020-01-012020-12-310001035983srt:MaximumMemberus-gaap:TransportationEquipmentMember2020-01-012020-12-310001035983srt:MaximumMemberus-gaap:MachineryAndEquipmentMember2020-01-012020-12-310001035983srt:MaximumMemberus-gaap:FurnitureAndFixturesMember2020-01-012020-12-310001035983srt:MaximumMemberfix:ComputerAndTelephoneEquipmentMember2020-01-012020-12-310001035983srt:MaximumMemberfix:BuildingAndLeaseholdImprovementsMember2020-01-012020-12-310001035983us-gaap:TransportationEquipmentMember2020-12-310001035983us-gaap:MachineryAndEquipmentMember2020-12-310001035983us-gaap:LandMember2020-12-310001035983us-gaap:FurnitureAndFixturesMember2020-12-310001035983us-gaap:ConstructionInProgressMember2020-12-310001035983fix:ComputerAndTelephoneEquipmentMember2020-12-310001035983fix:BuildingAndLeaseholdImprovementsMember2020-12-310001035983us-gaap:TransportationEquipmentMember2019-12-310001035983us-gaap:MachineryAndEquipmentMember2019-12-310001035983us-gaap:LandMember2019-12-310001035983us-gaap:FurnitureAndFixturesMember2019-12-310001035983us-gaap:ConstructionInProgressMember2019-12-310001035983fix:ComputerAndTelephoneEquipmentMember2019-12-310001035983fix:BuildingAndLeaseholdImprovementsMember2019-12-310001035983us-gaap:IntersegmentEliminationMember2020-01-012020-12-310001035983us-gaap:IntersegmentEliminationMember2019-01-012019-12-310001035983us-gaap:IntersegmentEliminationMember2018-01-012018-12-310001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-12-202019-12-310001035983us-gaap:DomesticCountryMember2020-12-310001035983us-gaap:StateAndLocalJurisdictionMember2020-04-010001035983us-gaap:DomesticCountryMember2020-04-010001035983fix:SubordinateDebtAndPromissoryNoteMember2019-12-310001035983fix:CustomerMemberus-gaap:PendingLitigationMemberus-gaap:PerformanceGuaranteeMember2020-01-012020-12-310001035983fix:AmendedSeniorRevolvingCreditFacilityMember2020-12-310001035983us-gaap:RevolvingCreditFacilityMember2019-12-200001035983us-gaap:LetterOfCreditMember2019-12-200001035983fix:TermLoanMember2019-12-200001035983srt:MinimumMember2020-12-310001035983us-gaap:TaxYear2018Member2020-10-012020-10-310001035983us-gaap:TaxYear2017Member2020-10-012020-10-310001035983us-gaap:TaxYear2016Member2020-10-012020-10-310001035983fix:TaxYears2016To2018Member2020-10-012020-10-310001035983us-gaap:InternalRevenueServiceIRSMember2020-09-300001035983us-gaap:OperatingSegmentsMemberfix:MechanicalServicesMember2020-01-012020-12-310001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesMember2020-01-012020-12-310001035983us-gaap:OperatingSegmentsMemberfix:MechanicalServicesMember2019-01-012019-12-310001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesMember2019-01-012019-12-310001035983us-gaap:OperatingSegmentsMemberfix:MechanicalServicesMember2018-01-012018-12-310001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesMember2018-01-012018-12-310001035983us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsNonrecurringMember2020-01-012020-12-310001035983fix:MechanicalServicesIndustryMember2020-01-012020-12-310001035983fix:ElectricalServicesIndustryMember2020-01-012020-12-310001035983fix:MechanicalServicesIndustryMember2019-01-012019-12-310001035983fix:ElectricalServicesIndustryMember2019-01-012019-12-310001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember2020-12-310001035983fix:MechanicalServicesIndustryMember2020-12-310001035983fix:ElectricalServicesIndustryMember2020-12-310001035983fix:MechanicalServicesIndustryMember2019-12-310001035983fix:ElectricalServicesIndustryMember2019-12-310001035983fix:MechanicalServicesIndustryMember2018-12-310001035983srt:MinimumMemberus-gaap:TradeNamesMember2020-01-012020-12-310001035983srt:MinimumMemberus-gaap:OrderOrProductionBacklogMember2020-01-012020-12-310001035983srt:MinimumMemberus-gaap:CustomerRelationshipsMember2020-01-012020-12-310001035983srt:MinimumMemberfix:CustomerRelationshipsNonCompeteAgreementsAndTradenamesMember2020-01-012020-12-310001035983srt:MaximumMemberfix:CustomerRelationshipsNonCompeteAgreementsAndTradenamesMember2020-01-012020-12-310001035983us-gaap:TradeNamesMember2020-01-012020-12-310001035983us-gaap:OrderOrProductionBacklogMember2020-01-012020-12-310001035983us-gaap:CustomerRelationshipsMember2020-01-012020-12-310001035983us-gaap:TradeNamesMember2020-12-310001035983us-gaap:OrderOrProductionBacklogMember2020-12-310001035983us-gaap:CustomerRelationshipsMember2020-12-310001035983us-gaap:TradeNamesMember2019-12-310001035983us-gaap:OrderOrProductionBacklogMember2019-12-310001035983us-gaap:CustomerRelationshipsMember2019-12-310001035983fix:ContingentConsiderationObligationsMember2020-12-310001035983fix:ContingentConsiderationObligationsMember2019-12-310001035983fix:ContingentConsiderationObligationsMember2018-12-310001035983fix:ContingentConsiderationObligationsMember2020-01-012020-12-310001035983fix:ContingentConsiderationObligationsMember2019-01-012019-12-310001035983fix:RestrictedStockAndRestrictedStockUnitsRSUMember2020-01-012020-12-310001035983us-gaap:PerformanceSharesMember2020-12-310001035983fix:RestrictedStockAndRestrictedStockUnitsRSUMember2020-12-310001035983fix:EmployeeAndNonemployeeStockOptionMember2020-12-3100010359832020-10-012020-12-3100010359832020-07-012020-09-3000010359832020-04-012020-06-3000010359832020-01-012020-03-3100010359832019-07-012019-09-3000010359832019-04-012019-06-3000010359832019-01-012019-03-310001035983us-gaap:RetainedEarningsMember2020-01-012020-12-310001035983us-gaap:RetainedEarningsMember2019-01-012019-12-310001035983us-gaap:RetainedEarningsMember2018-01-012018-12-310001035983us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember2020-12-310001035983us-gaap:InterestRateSwapMemberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember2020-12-310001035983us-gaap:StateAndLocalJurisdictionMember2020-12-310001035983srt:MaximumMember2020-12-310001035983us-gaap:RevolvingCreditFacilityMember2019-12-310001035983fix:TermLoanMember2019-12-310001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-12-190001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMemberus-gaap:LoansPayableMember2020-12-310001035983fix:TECIndustrialConstructionAndMaintenanceMemberus-gaap:LoansPayableMember2020-12-310001035983fix:TasEnergyMemberus-gaap:LoansPayableMember2020-12-310001035983fix:ElectricalContractorNorthCarolinaMemberus-gaap:LoansPayableMember2020-12-310001035983fix:TermLoanMember2020-12-310001035983fix:DebtInstrumentVariableRateSixMonthLIBORMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-12-310001035983fix:DebtInstrumentVariableRateOneMonthLIBORMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-12-310001035983fix:DebtInstrumentVariableRateOneMonthLIBORMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-01-012020-12-310001035983fix:DebtInstrumentVariableRateFederalFundsRateMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeTwoMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeTwoMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeThreeMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeThreeMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeOneMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeOneMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeFourMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeFourMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-01-012020-12-310001035983us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2019-01-012019-12-310001035983srt:MinimumMemberfix:SalesRevenueMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-12-310001035983us-gaap:CommonStockMember2020-12-310001035983us-gaap:CommonStockMember2019-12-310001035983us-gaap:CommonStockMember2018-12-310001035983us-gaap:CommonStockMember2017-12-310001035983us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001035983us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-3100010359832017-12-310001035983us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001035983us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-310001035983fix:TECIndustrialConstructionAndMaintenanceMemberus-gaap:TradeNamesMember2020-12-310001035983fix:TECIndustrialConstructionAndMaintenanceMemberus-gaap:OrderOrProductionBacklogMember2020-12-310001035983fix:TECIndustrialConstructionAndMaintenanceMemberus-gaap:CustomerRelationshipsMember2020-12-310001035983fix:TasEnergyIncMemberus-gaap:TradeNamesMember2020-04-010001035983fix:TasEnergyIncMemberus-gaap:OrderOrProductionBacklogMember2020-04-010001035983fix:TasEnergyIncMemberus-gaap:CustomerRelationshipsMember2020-04-010001035983us-gaap:OperatingSegmentsMemberfix:MechanicalServicesMember2020-12-310001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesMember2020-12-310001035983us-gaap:IntersegmentEliminationMember2020-12-310001035983us-gaap:OperatingSegmentsMemberfix:MechanicalServicesMember2019-12-310001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesMember2019-12-310001035983us-gaap:IntersegmentEliminationMember2019-12-310001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2020-01-012020-12-310001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2019-01-012019-12-310001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2018-01-012018-12-310001035983srt:RestatementAdjustmentMemberus-gaap:AccountingStandardsUpdate201613Member2020-01-012020-01-010001035983us-gaap:ProductAndServiceOtherMember2020-12-310001035983fix:ServicesActivityMember2020-12-310001035983fix:ConstructionActivitiesMember2020-12-310001035983us-gaap:ProductAndServiceOtherMember2019-12-310001035983fix:ServicesActivityMember2019-12-310001035983fix:ConstructionActivitiesMember2019-12-3100010359832018-12-310001035983us-gaap:PerformanceSharesMember2019-01-012019-12-310001035983us-gaap:PerformanceSharesMember2018-01-012018-12-310001035983fix:TECIndustrialConstructionAndMaintenanceMemberus-gaap:TradeNamesMember2020-12-012020-12-310001035983fix:TECIndustrialConstructionAndMaintenanceMemberus-gaap:OrderOrProductionBacklogMember2020-12-012020-12-310001035983fix:TECIndustrialConstructionAndMaintenanceMemberus-gaap:CustomerRelationshipsMember2020-12-012020-12-310001035983fix:TasEnergyIncMemberus-gaap:TradeNamesMember2020-04-012020-04-010001035983fix:TasEnergyIncMemberus-gaap:OrderOrProductionBacklogMember2020-04-012020-04-010001035983fix:TasEnergyIncMemberus-gaap:CustomerRelationshipsMember2020-04-012020-04-010001035983fix:ScenarioTwoImpairmentTestingMember2019-01-012019-12-310001035983fix:ScenarioOneImpairmentTestingMember2019-01-012019-12-310001035983fix:StockRepurchaseProgram2007Member2020-12-080001035983us-gaap:AdditionalPaidInCapitalMember2020-01-012020-12-310001035983us-gaap:AdditionalPaidInCapitalMember2019-01-012019-12-310001035983us-gaap:AdditionalPaidInCapitalMember2018-01-012018-12-310001035983us-gaap:TreasuryStockMember2020-01-012020-12-310001035983us-gaap:TreasuryStockMember2019-01-012019-12-310001035983us-gaap:TreasuryStockMember2018-01-012018-12-310001035983fix:EmployeeAndNonemployeeStockOptionMember2020-01-012020-12-310001035983fix:EmployeeMedicalMember2020-12-310001035983fix:EmployeeMedicalPlanTwoMember2020-12-310001035983fix:EmployeeMedicalPlanOneMember2020-12-310001035983fix:EmployersLiabilityMember2020-12-310001035983fix:EmployeeMedicalPlanThreeMember2020-12-310001035983us-gaap:GeneralLiabilityMember2020-12-310001035983fix:WorkersCompensationMember2020-12-310001035983fix:AutoLiabilityMember2020-12-310001035983srt:MaximumMemberus-gaap:GeneralLiabilityMember2020-12-310001035983srt:MaximumMemberfix:EmployersLiabilityMember2020-12-310001035983srt:MaximumMemberfix:AutoLiabilityMember2020-12-310001035983fix:SystemInstallationInNewlyConstructedFacilitiesMember2020-01-012020-12-310001035983fix:MaintenanceRepairAndReplacementServiceMember2020-01-012020-12-310001035983fix:TermLoanMember2019-12-202019-12-200001035983fix:TermLoanMember2019-12-192019-12-190001035983us-gaap:ProductAndServiceOtherMember2020-01-012020-12-310001035983srt:MinimumMemberus-gaap:PerformanceSharesMember2020-01-012020-12-310001035983srt:MaximumMemberus-gaap:PerformanceSharesMember2020-01-012020-12-310001035983us-gaap:PerformanceSharesMember2020-01-012020-12-310001035983us-gaap:OtherCustomerMember2020-01-012020-12-310001035983fix:ServiceProjectsMember2020-01-012020-12-310001035983fix:ServiceCallsMaintenanceAndMonitoringMember2020-01-012020-12-310001035983fix:RetailRestaurantsAndEntertainmentMember2020-01-012020-12-310001035983fix:OfficeBuildingCustomerMember2020-01-012020-12-310001035983fix:NewConstructionMember2020-01-012020-12-310001035983fix:MultiFamilyAndResidentialMember2020-01-012020-12-310001035983fix:MechanicalServicesMember2020-01-012020-12-310001035983fix:IndustrialPropertyCustomerMember2020-01-012020-12-310001035983fix:HealthcareSectorCustomerMember2020-01-012020-12-310001035983fix:GovernmentCustomerMember2020-01-012020-12-310001035983fix:ExistingBuildingConstructionMember2020-01-012020-12-310001035983fix:ElectricalServicesMember2020-01-012020-12-310001035983fix:EducationMember2020-01-012020-12-310001035983us-gaap:OtherCustomerMember2019-01-012019-12-310001035983fix:ServiceProjectsMember2019-01-012019-12-310001035983fix:ServiceCallsMaintenanceAndMonitoringMember2019-01-012019-12-310001035983fix:RetailRestaurantsAndEntertainmentMember2019-01-012019-12-310001035983fix:OfficeBuildingCustomerMember2019-01-012019-12-310001035983fix:NewConstructionMember2019-01-012019-12-310001035983fix:MultiFamilyAndResidentialMember2019-01-012019-12-310001035983fix:MechanicalServicesMember2019-01-012019-12-310001035983fix:IndustrialPropertyCustomerMember2019-01-012019-12-310001035983fix:HealthcareSectorCustomerMember2019-01-012019-12-310001035983fix:GovernmentCustomerMember2019-01-012019-12-310001035983fix:ExistingBuildingConstructionMember2019-01-012019-12-310001035983fix:ElectricalServicesMember2019-01-012019-12-310001035983fix:EducationMember2019-01-012019-12-310001035983us-gaap:OtherCustomerMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Memberfix:ServiceProjectsMember2018-01-012018-12-310001035983us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Memberfix:ServiceCallsMaintenanceAndMonitoringMember2018-01-012018-12-310001035983us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Memberfix:NewConstructionMember2018-01-012018-12-310001035983us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Memberfix:ExistingBuildingConstructionMember2018-01-012018-12-310001035983fix:RetailRestaurantsAndEntertainmentMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:OfficeBuildingCustomerMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:MultiFamilyAndResidentialMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:MechanicalServicesMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:IndustrialPropertyCustomerMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:HealthcareSectorCustomerMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:GovernmentCustomerMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:ElectricalServicesMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:EducationMemberus-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2018-01-012018-12-310001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember2019-01-012019-12-310001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember2020-01-012020-12-310001035983srt:MinimumMemberus-gaap:SuretyBondMember2020-01-012020-12-310001035983srt:MaximumMemberus-gaap:SuretyBondMember2020-01-012020-12-310001035983srt:MaximumMember2020-01-012020-12-310001035983fix:TermLoanMember2019-12-202019-12-310001035983us-gaap:RevolvingCreditFacilityMember2019-12-202019-12-310001035983srt:MinimumMember2020-01-012020-12-310001035983us-gaap:PendingLitigationMemberus-gaap:PerformanceGuaranteeMember2020-01-012020-12-310001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-12-200001035983fix:DebtCovenantRatioRangeTwoMemberus-gaap:RevolvingCreditFacilityMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeThreeMemberus-gaap:RevolvingCreditFacilityMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeOneMemberus-gaap:RevolvingCreditFacilityMember2020-01-012020-12-310001035983fix:DebtCovenantRatioRangeFourMemberus-gaap:RevolvingCreditFacilityMember2020-01-012020-12-3100010359832019-10-012019-12-310001035983us-gaap:InterestRateSwapMember2020-01-012020-12-310001035983us-gaap:InterestRateSwapMemberus-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember2021-11-300001035983us-gaap:InterestRateSwapMemberus-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember2020-12-3100010359832018-01-012018-12-310001035983fix:DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-12-310001035983fix:DebtInstrumentVariableRateSixMonthLIBORMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-12-310001035983fix:DebtInstrumentVariableRateOneMonthLIBORMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-12-310001035983fix:DebtInstrumentVariableRateOneMonthLIBORMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-12-310001035983fix:DebtInstrumentVariableRateFederalFundsRateMemberus-gaap:RevolvingCreditFacilityMemberfix:DebtInstrumentVariableRateBaseRateMember2020-12-310001035983srt:MinimumMemberfix:ScenarioCovenantRequirementMemberus-gaap:RevolvingCreditFacilityMember2020-12-310001035983srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2020-12-310001035983fix:ThroughMaturityMemberus-gaap:RevolvingCreditFacilityMember2020-12-310001035983srt:MinimumMemberus-gaap:RevolvingCreditFacilityMember2020-12-310001035983us-gaap:RevolvingCreditFacilityMember2020-12-310001035983fix:SubordinateDebtAndPromissoryNoteMember2020-12-310001035983srt:MinimumMemberfix:TECIndustrialConstructionAndMaintenanceMember2020-12-012020-12-310001035983srt:MaximumMemberfix:TECIndustrialConstructionAndMaintenanceMember2020-12-012020-12-310001035983srt:MinimumMemberfix:TasEnergyIncMember2020-04-012020-04-010001035983srt:MaximumMemberfix:TasEnergyIncMember2020-04-012020-04-010001035983fix:TasEnergyIncMember2020-04-010001035983fix:TECIndustrialConstructionAndMaintenanceMember2020-12-310001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember2019-04-012019-06-300001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember2019-06-300001035983fix:TECIndustrialConstructionAndMaintenanceMember2020-12-012020-12-310001035983fix:TasEnergyIncMember2020-04-012020-04-010001035983us-gaap:RevolvingCreditFacilityMember2020-01-012020-12-310001035983us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001035983us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001035983us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-310001035983us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2019-12-3100010359832018-01-012018-03-310001035983fix:ServicesActivityMember2020-01-012020-12-310001035983fix:ConstructionActivitiesMember2020-01-012020-12-3100010359832019-01-012019-12-3100010359832020-12-3100010359832019-12-3100010359832020-06-3000010359832021-02-1900010359832020-01-012020-12-31xbrli:sharesiso4217:USDxbrli:purefix:itemfix:Optioniso4217:USDxbrli:sharesfix:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

Form 10-K

(Mark One)

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

For the fiscal year ended December 31, 2020

OR

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

For the transition period from to

Commission file number: 1-13011

Comfort Systems USA, Inc.

(Exact name of registrant as specified in its charter)

Delaware
(State or Other Jurisdiction of
Incorporation or Organization)

76-0526487
(I.R.S. Employer
Identification No.)

675 Bering Drive

Suite 400

Houston, Texas 77057

(713830-9600

(Address and telephone number of Principal Executive Offices)

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

Title of Each Class

  Trading Symbol(s)

Name of Each Exchange on which Registered

Common Stock, $.01 par value

FIX

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 15(d) of the Act. Yes  No 

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

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

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

Large accelerated filer 

Accelerated filer 

Non-accelerated filer 

Smaller reporting company 

Emerging growth company 

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

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

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

The aggregate market value of the voting stock held by non-affiliates of the registrant at June 30, 2020 was approximately $1.45 billion, based on the $40.75 last sale price of the registrant’s common stock on the New York Stock Exchange on June 30, 2020.

As of February 19, 2021, 36,185,179 shares of the registrant’s common stock were outstanding (excluding treasury shares of 4,938,186).

DOCUMENTS INCORPORATED BY REFERENCE

The information required by Part III (other than the required information regarding executive officers) is incorporated by reference from the registrant’s definitive proxy statement, which will be filed with the Commission not later than 120 days following December 31, 2020.

TABLE OF CONTENTS

Part I

Item 1.

Business

3

Item 1A.

Risk Factors

10

Item 1B.

Unresolved Staff Comments

23

Item 2.

Properties

23

Item 3.

Legal Proceedings

23

Item 4.

Mine Safety Disclosures

23

Item 4A.

Executive Officers of the Registrant

23

Part II

Item 5.

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

24

Item 6.

Selected Financial Data

26

Item 7.

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

27

Item 7A.

Quantitative and Qualitative Disclosures about Market Risk

42

Item 8.

Financial Statements and Supplementary Data

44

Item 9.

Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

85

Item 9A.

Controls and Procedures

85

Item 9B.

Other Information

85

Part III

Item 10.

Directors, Executive Officers and Corporate Governance

86

Item 11.

Executive Compensation

86

Item 12.

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

86

Item 13.

Certain Relationships and Related Transactions, and Director Independence

86

Item 14.

Principal Accounting Fees and Services

86

Part IV

Item 15.

Exhibits and Financial Statement Schedules

86

Item 16.

Form 10-K Summary

86

1

FORWARD-LOOKING STATEMENTS

Certain statements and information in this Annual Report on Form 10-K may constitute forward-looking statements within the meaning of applicable securities laws and regulations. The words “believe,” “expect,” “anticipate,” “plan,” “intend,” “foresee,” “should,” “would,” “could,” or other similar expressions are intended to identify forward-looking statements, which are generally not historic in nature. These forward-looking statements are based on the current expectations and beliefs of Comfort Systems USA, Inc. and its subsidiaries (collectively, the “Company”) concerning future developments and their effect on the Company. While the Company’s management believes that these forward-looking statements are reasonable as and when made, there can be no assurance that future developments affecting the Company will be those that it anticipates. All comments concerning the Company’s expectations for future revenue and operating results are based on the Company’s forecasts for its existing operations and do not include the potential impact of any future acquisitions. The Company’s forward-looking statements involve significant risks and uncertainties (some of which are beyond the Company’s control) and assumptions that could cause actual future results to differ materially from the Company’s historical experience and its present expectations or projections. Known material factors that could cause the Company’s actual results to differ from those in the forward-looking statements are those described in Part I, “Item 1A. Risk Factors.”

Readers are cautioned not to place undue reliance on forward-looking statements, which speak only as of the date hereof. The Company undertakes no obligation to publicly update or revise any forward-looking statements after the date they are made, whether as a result of new information, future events, or otherwise.

2

PART I

The terms “Comfort Systems,” “we,” “us,” or “the Company” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.

ITEM 1. Business

Comfort Systems USA, Inc., a Delaware corporation, was established in 1997. We provide mechanical and electrical contracting services. Our mechanical segment principally includes heating, ventilation and air conditioning (“HVAC”), plumbing, piping and controls, as well as off-site construction, monitoring and fire protection. Our electrical segment includes installation and servicing of electrical systems. We build, install, maintain, repair and replace mechanical, electrical and plumbing (“MEP”) systems throughout our 37 operating units with 139 locations in 114 cities throughout the United States.

We operate primarily in the commercial, industrial and institutional MEP markets and perform most of our services in industrial, healthcare, education, office, technology, retail and government facilities. Substantially all of our consolidated 2020 revenue was derived from commercial, industrial and institutional customers and multi-family residential projects. Approximately 46.7% of our revenue was attributable to installation services in newly constructed facilities and 53.3% was attributable to renovation, expansion, maintenance, repair and replacement services in existing buildings. Our consolidated 2020 revenue was derived from the following service industries:

    

Percentage of

 

Service Activity

Revenue

 

Mechanical Services

 

84.5

%

Electrical Services

15.5

%

Total

 

100.0

%

Industry Overview

We believe that commercial, industrial, and institutional mechanical and electrical contracting generate annual revenue in the United States of approximately $200 billion. Mechanical and electrical systems are necessary to virtually all commercial, industrial and institutional buildings. Because most buildings are sealed, HVAC systems provide the primary method of circulating fresh air in such buildings. Replacing an aging building’s existing systems with modern, energy-efficient systems significantly reduces a building’s energy consumption, carbon footprint, and operating costs while improving air quality and overall system effectiveness. Older commercial, industrial and institutional facilities frequently have poor air quality and provide less comfortable environments, and older HVAC systems result in significantly higher energy consumption than do modern systems. As electrical systems age they require service and replacement, and changing building configurations and technological power load requirements lead to the need to reconfigure and improve electrical systems in buildings on a regular basis.

Many factors affect mechanical and electrical services industry growth, including but not limited to, (i) population growth, which increases the need for commercial, industrial and institutional space, (ii) an aging installed base of buildings and equipment, (iii) increasing sophistication, complexity and efficiency of mechanical and electrical systems, and (iv) growing emphasis on internal air quality, environmental sustainability and energy efficiency.

Our industry can be broadly divided into two categories:

construction of and installation in new buildings, which provided approximately 46.7% of our revenue in 2020, and
renovation, expansion, maintenance, repair and replacement in existing buildings, which provided the remaining 53.3% of our 2020 revenue.

Construction, Installation, Expansion and Renovation Services— Construction, installation, expansion and renovation services consist of “design and build” and “plan and spec” projects. In “design and build” projects, the commercial MEP company is responsible for designing, engineering and installing a cost-effective, energy-efficient system customized to the specific needs of the building owner. Costs and other project terms are normally negotiated

3

between the building owner or its representative and the contracting company. Companies that specialize in “design and build” projects use a consultative approach with customers and tend to develop long-term relationships with building owners and developers, general contractors, architects, consulting engineers and property managers. “Plan and spec” installation refers to projects in which a third-party architect or consulting engineer designs the MEP systems and the installation project is “put out for bid.” We believe that “plan and spec” projects usually take longer to complete and frequently results in less efficient outcomes than “design and build” projects because the system design and installation process are not integrated, thus resulting in more frequent adjustments to project specifications, work requirements and schedules. Our investments in design and building information modeling enable us to collaborate with our customers to achieve reliable and energy efficient construction outcomes and to eliminate unnecessary waste.

Maintenance, Repair and Replacement Services—These services include maintaining, repairing, replacing, reconfiguring and monitoring previously installed systems and building automation controls. The growth and aging of the installed base of MEP and related systems, changing requirements due to increasing technology deployment, and the demand for more efficient systems and more capable building automation controls have fueled growth in these services. The increasing complexity of these systems leads many commercial, industrial and institutional building owners and property managers to outsource maintenance and repair, often through service agreements with service providers. State-of-the-art control and monitoring systems feature electronic sensors and microprocessors that are crucial to energy efficient operations. These systems require specialized training to install, maintain and repair. We believe that the work that we perform to optimize and upgrade systems and to enable wise controls helps Comfort Systems USA to optimize energy use and fundamentally reduce our nation’s carbon footprint.

Strategy

We focus on strengthening core operating competencies, leading in sustainability, efficiency and technological improvement, and on increasing profit margins. The key objectives of our strategy are to improve profitability and generate growth in our operations, to enable sustainable and efficient building environments, to improve the productivity of our workforce, and to acquire complementary businesses. In order to accomplish our objectives, we are currently focused on the following elements:

Achieve Excellence in Core Competencies—We have identified seven core competencies that we believe are critical to attracting and retaining customers, increasing operating income and cash flow and maximizing the productivity of our increasingly valuable skilled labor force. The seven core competencies are: (i) safety, (ii) customer service, (iii) design and build expertise, (iv) effective pre-construction processes, (v) job and cost tracking, (vi) leadership in energy efficient and sustainable design, and (vii) best-in-class servicing of existing building systems.

Achieve Operating Efficiencies—We think we can achieve operating efficiencies and cost savings through purchasing economies, adopting operational “best practices,” and focusing on job management to deliver services in a cost-effective and efficient manner. We are continually improving the “job loop” at our locations—qualifying, estimating, pricing and executing projects effectively and efficiently. We also use our combined spend to gain purchasing advantages on products and services such as MEP components, raw materials, services, vehicles, bonding, insurance and employee benefits.

Attract, Retain and Invest in our Employees—We seek to attract and retain quality employees by providing them an enhanced career path that offers a stable income, attractive benefits packages and excellent advancement opportunities. We continually invest in training, including programs for project managers, field superintendents, service managers, service technicians, sales managers, estimators, and leadership and development of key managers and leaders. We believe that skilled labor forces in the building and services trades have become increasingly scarce and valuable, and we are increasing our national and local focus on growing and improving our skilled labor force, including through recruitment, development and skills training for our hourly workers.

Focus on Industrial, Commercial and Institutional Markets—We focus on the industrial, commercial and institutional building markets, including construction, maintenance, repair and replacement services. We believe that these complex markets are attractive because of their growth opportunities, large and diverse customer base, attractive margins and potential for long-term relationships with building owners.

Leverage Resources and Capabilities—We believe significant operating efficiencies can be achieved by leveraging resources among our operating locations. We have shifted certain fabrication activities to centralized

4

locations in order to increase asset utilization. We opportunistically allocate our engineering, field and supervisory labor from one operation to another to use our employee base more fully, meet our customers’ needs and share expertise. Our ability to share resources frequently allows us to pursue work that would otherwise not be available to us and allows us to provide a more diversified and steady deployment of our labor. We believe we have realized scale benefits from coordinated purchasing, technical innovation, insurance, benefits, bonding and financing activities across our operations.

Maintain a Diverse Customer, Geographic and Project Base—We have a distribution of revenue across end-use sectors that we believe reduces our exposure to negative developments in any given sector. We also have significant geographical diversification across all regions of the United States, again reducing our exposure to negative developments in any given region. Our distribution of revenue in 2020 by end-use sector was as follows:

Industrial

    

38.9

%  

Education

 

17.1

%  

Office Buildings

 

11.2

%  

Healthcare

 

13.0

%  

Government

 

5.7

%  

Retail, Restaurants and Entertainment

 

8.4

%  

Multi-Family and Residential

 

3.0

%  

Other

 

2.7

%  

Total

 

100.0

%  

Approximately 87.0% of our revenue is earned on a project basis for installation of systems in newly constructed or existing facilities. As of December 31, 2020, we had 5,687 projects in process with an aggregate contract value of approximately $5.0 billion. Our average project takes six to nine months to complete, with an average contract price of approximately $871,000. This average project size, when taken together with the approximately 13.0% of our revenue derived from maintenance and service, provides us with a broad base of work in the construction services sector. A stratification of projects in progress as of December 31, 2020, by contract price, is as follows:

    

    

Aggregate

 

Contract

 

No. of

Price Value

 

Contract Price of Project

Projects

(millions)

 

Under $1 million

 

4,905

$

644.0

$1 million - $5 million

 

575

 

1,283.4

$5 million - $10 million

 

94

 

692.3

$10 million - $15 million

 

56

 

684.9

Greater than $15 million

 

57

 

1,648.3

Total

 

5,687

$

4,952.9

Develop and Adopt Leading Technologies—We are improving productivity by increasing use of innovative techniques in prefabrication, project design and planning, as well as in coordination and production methods. We have invested in the refinement and adoption of prefabrication practices. We work to identify, develop and implement new materials, products and methods that can achieve greater productivity and more efficient and sustainable outcomes. Above all, we have concluded that as technology develops in our industry the fundamental prerequisite for leadership in adopting such opportunities is the quality, accuracy and buildability of our designs. Accordingly, we have invested in the experts, training, and internal and external knowledge transfer to ensure that we are properly scaling, achieving true buildability and fundamentally and continuously improving our design capabilities to meet our customers’ evolving requirements. Our goal is to use our scale and strategic investments to maintain a leading position in design and modeling excellence, and we believe that will enable us to optimize productivity and quality today, and especially will position us to wisely capitalize from ongoing or future technological developments.

Excel at Modular and Off-Site Construction—We believe that modular and off-site construction – the ability to build superior quality plants and systems away from the construction site – will become increasingly important in complex construction projects. Accordingly, through our acquisitions, we have invested in that capability, and after acquisition we have further invested in improving and growing that service offering. This has led to meaningful growth in our ability to provide this expertise. Through recent and ongoing development and acquisitions, we plan to continue to improve on our unmatched capability in mechanical off-site or modular construction. With our recent acquisition of

5

Starr Electric Company, Incorporated in North Carolina and TAS Energy Inc. in Texas, we significantly improved our off-site construction capabilities and offerings and will continue to invest in the improvement of these offerings. Although complex modular construction is a small percentage of our current revenue, we believe that it is ripe for investment and growth and that it helps us to sell work and improve outcomes across our businesses.

Service Growth Initiative—Over the last several years we have made substantial investments to expand our service and maintenance revenue by increasing the value we can offer to service and maintenance customers. We are actively concentrating managerial and sales resources on training and hiring experienced employees to sell and profitably perform service work. In many locations we have added or upgraded our capability, and we believe our investments and efforts have provided customer value and stimulated growth in all aspects of our businesses.

Seek Growth through Acquisitions—We believe that we can further increase our cash flow and operating income by continuing to opportunistically enter new markets or service lines through acquisition. We have dedicated a significant portion of our cash flow on an ongoing basis to seeking opportunities to acquire businesses that have strong assembled workforces, excellent historical safety performance, leading design and energy efficiency capabilities, attractive market positions, a record of consistent positive cash flow, and desirable market locations.

Operations and Services Provided

We provide a wide range of construction, renovation, expansion, maintenance, repair and replacement services for MEP and related systems in commercial, industrial and institutional properties. Our local management teams maintain responsibility for day-to-day operating decisions. Local management is augmented by regional leadership that focuses on core business competencies, regional financial performance, cooperation and coordination between locations, implementing best practices and corporate initiatives. In addition to senior management, local personnel generally include design engineers, energy efficiency and sustainability experts, sales personnel, customer service personnel, installation and service technicians, sheet metal and prefabrication technicians, estimators and administrative personnel. We have centralized certain administrative functions such as insurance, employee benefits, training, safety programs, marketing and cash management to enable our local operating management to focus on pursuing new business opportunities and improving operating efficiencies.

Construction and Installation Services for New Buildings—Our installation business related to newly constructed facilities, which comprised approximately 46.7% of our consolidated 2020 revenue, involves the design, engineering, integration, installation and start-up of MEP and related systems. We provide “design and build” and “plan and spec” installation services for office buildings, retail centers, manufacturing plants, healthcare, education and government facilities and other commercial, industrial and institutional facilities. In a “design and build” installation, we work with the customer to determine the needed capacity and to optimize energy efficiency of the MEP systems that best suit the proposed facility. The final design, terms, price and timing of the project are then negotiated with the customer or its representatives, after which any necessary modifications are made to the system plan. In “plan and spec” installation, we participate in a bid process to provide labor, equipment, materials and installation based on the end user’s plans and engineering specifications.

Once an agreement has been reached, we order the necessary materials and equipment for delivery to meet the project schedule. In many instances we fabricate ductwork, conduit and piping and assemble certain components for the system based on the mechanical drawing specifications. Finally, we install the systems at the project site, working closely with the owner or general contractor. Our average project takes six to nine months to complete, with an average contract price of approximately $871,000. We also perform larger project work, with 782 contracts in progress at December 31, 2020 with contract prices in excess of $1 million. Our largest project in progress at December 31, 2020 had a contract price of $78.3 million. Project contracts typically provide for periodic billings to the customer as we meet progress milestones or incur cost on the project. Project contracts in our industry also frequently allow for a small portion of progress billings or contract price to be withheld by the customer until after we have completed the work. Amounts withheld under this practice are known as retention or retainage.

Renovation, Expansion, Maintenance, Monitoring, Repair and Replacement Services for Existing Buildings—Our renovation, expansion, maintenance, monitoring, repair and replacement services in existing buildings comprised approximately 53.3% of our consolidated 2020 revenue. Maintenance and repair services are provided either in response to service calls or under a service agreement. Service calls are coordinated by customer service representatives or dispatchers that use computer and communication technology to process orders, arrange service calls, dispatch

6

technicians and communicate with and invoice customers. Service technicians work from service vehicles equipped with commonly used parts, supplies and tools to complete a variety of jobs. Optimal maintenance is crucial to energy efficient operations. Commercial, industrial and institutional service agreements usually have terms of one or more years, with automatic annual renewals, and frequently include thirty- to sixty-day cancellation notice periods. We also provide remote monitoring of power usage, temperature, pressure, humidity and air flow for MEP and other building systems.

Sources of Supply

The raw materials and components we use include MEP system components, ductwork, pipe, conduit, wire, electrical fixtures, steel, sheet metal and copper tubing and piping. These raw materials and components are generally available from a variety of domestic or foreign suppliers at competitive prices. Delivery times are typically short for most raw materials and standard components, but during periods of peak demand, may extend to one month or more. We estimate that direct purchase of commodities and finished products comprises between 25% and 30% of our average project cost. We have procedures to reduce commodity cost exposure such as purchasing commodities early for particular projects, as well as selectively using time or market-based escalation and escape provisions in bids and contracts.

Chillers for large applications typically have the longest delivery time and frequently have lead times of up to six months. The major components of commercial MEP systems are compressors and chillers that are manufactured primarily by Carrier, Lennox, Daikin, Trane and York. The major suppliers of building automation control systems are Automated Logic, Cisco, Delta, Distech Controls, Honeywell, Johnson Controls, Rockwell Automation, Schneider Electric, Siemens, Trane and York. We do not have any significant contracts guaranteeing us a supply of raw materials or components.

Cyclicality and Seasonality

The construction industry is subject to business cycle fluctuation. As a result, our volume of business, particularly in new construction projects and renovation, may be adversely affected by declines in new installation and replacement projects in various geographic regions of the United States during periods of economic weakness.

The mechanical and electrical contracting industries are also subject to seasonal variations. The demand for new installation and replacement is generally lower during the winter months (the first quarter of the year) due to reduced construction activity during inclement weather and less use of air conditioning during the colder months. Demand for our services is generally higher in the second and third calendar quarters due to increased construction activity and increased use of air conditioning during the warmer months. Accordingly, we expect our revenue and operating results generally will be lower in the first calendar quarter.

Sales and Marketing

We have a diverse customer base, with our top customer representing 5% of consolidated 2020 revenue, and our largest customer often changes from year to year. Management and a dedicated sales force are responsible for developing and maintaining successful long-term relationships with key customers. Customers generally include building owners and developers and property managers, as well as general contractors, architects and consulting engineers. We intend to continue our emphasis on developing and maintaining long-term relationships with our customers by providing superior, high-quality service in a professional manner. We believe we can continue to leverage the diverse technical and marketing strengths at individual locations to expand the services offered in other local markets. With respect to multi-location service opportunities, we maintain a national sales force in our national accounts group.

Human Capital Resources

Employees—As of December 31, 2020, we had approximately 11,100 employees as compared to approximately 12,000 employees as of December 31, 2019. We have collective bargaining agreements covering less than ten employees. We have not experienced and do not expect any significant strikes or work stoppages and believe our relations with employees covered by collective bargaining agreements are good.

Culture and Core Values—Our values define, inform, and guide the way we operate on a daily basis, both within our Company and in the communities where we do business. Our core values are: be safe; be honest; be

7

respectful; be innovative; and be collaborative. These values set the foundation for our Code of Conduct, which applies to all employees, officers, and directors of the Comfort Systems USA family of companies. The Code of Conduct is regularly reinforced to the Company’s employees and management through periodic ethics, equal opportunity employment, and anti-corruption trainings. In addition, certain business partners, such as consultants, agents, suppliers, contractors, and other third parties, serve as an extension of the Company. They are expected to follow the spirit of our Code of Conduct, all applicable laws, and any applicable contractual provisions when working on our behalf.

We believe that the way we conduct business is just as important as the business we do. Operating with integrity helps us deliver on the promises we have made to each other, our customers, and the communities where we live and work. It is also the basis for ensuring continued growth and success. Everyone at our Company shares a responsibility for doing business ethically and in a sustainable manner, preserving our good name. We ensure that this responsibility applies at every level in our organization, and everyone from corporate officers, to members of our Board of Directors, to our field personnel is responsible for overseeing these efforts.

Recruiting and Training—Our continued success depends, in part, on our ability to continue to attract, retain and motivate qualified engineers, service technicians, field supervisors and project managers. We believe our success in retaining qualified employees will be based on the quality of our recruiting, training, compensation, employee benefits programs and opportunities for advancement. We provide numerous training programs for management, sales and leadership, as well as on-the-job training, technical training, apprenticeship programs, attractive benefit packages and career advancement opportunities within our Company.

Safety—We have established comprehensive safety programs throughout our operations to ensure that all employees comply with safety standards we have established and that are established under federal, state and local laws and regulations. Safety leadership establishes safety programs and benchmarking to improve safety across the Company. Additionally, our employment screening process seeks to determine that prospective employees have requisite skills, sufficient background references and acceptable driving records, if applicable. Our rate of incidents recordable under the standards of the Occupational Safety and Health Administration (“OSHA”) per one hundred employees per year, also known as the OSHA recordable rate, was 1.36 during 2020. This level was 20% better than the most recently published OSHA rate for our industry.

Diversity and Inclusion—We are an equal opportunity employer, and we welcome and celebrate our teams’ differences, experiences, and beliefs. We expect all employees to be treated with dignity and respect in an environment free from discrimination and harassment regardless of race, color, religion, sex, sexual orientation, gender identity or expression, national origin, age, disability, veteran status, genetic information or any other protected class. We know that diversity is truly a competitive advantage that helps drive growth and innovation, and we have increasingly focused on diversity and inclusion programs within our Company. Diversity and inclusion is among our leadership team’s top priorities, with clearly outlined near-term actions to accelerate progress in outreach, representation, development and advancement of underrepresented groups within our Company. Our Board of Directors and Board committees provide oversight on certain human capital matters, including our diversity and inclusion strategy.

Insurance and Litigation

The primary insured risks in our operations are bodily injury, property damage and workers’ compensation injuries. We retain the risk for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims resulting from uninsured deductibles per-incident or occurrence. Because we have very large per incident deductibles, the vast majority of our claims are paid by us, so as a practical matter we self-insure the great majority of these risks. Losses up to such per-incident deductible amounts are estimated and accrued based upon known facts, historical trends and industry averages using the assistance of an actuary to project the extent of these obligations.

We are subject to certain claims and lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in our consolidated financial statements. While we cannot predict the outcome of these proceedings, in our opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.

We typically warrant labor for the first year after installation on new MEP systems that we build and install, and we pass through to the customer manufacturers’ warranties on equipment. We generally warrant labor for thirty days after servicing existing MEP systems. We do not expect warranty claims to have a material adverse effect on our financial position or results of operations.

8

Competition

The mechanical and electrical contracting industries are highly competitive and consist of thousands of local and regional companies. We believe that purchasing decisions in the commercial, industrial and institutional markets are based on (i) competitive price, (ii) relationships, (iii) quality, timeliness and reliability, (iv) tenure, financial strength and access to bonding, (v) range of capabilities, and (vi) scale of operation. To improve our competitive position, we focus on both the consultative “design and build” installation market and the maintenance, repair and replacement market in order to develop and strengthen customer relationships. In addition, we believe our ability to provide multi-location coverage and a broad range of services gives us a strategic advantage over smaller competitors who may have more limited resources and capabilities.

We believe that we are larger than most of our competitors, which are generally small, owner-operated companies in a specific area. However, there are divisions of larger contracting companies, utilities and MEP equipment manufacturers that provide MEP services in some of the same service lines and geographic areas we serve. Some of these competitors and potential competitors have greater financial resources than we do to finance development opportunities and support their operations. We believe our smaller competitors generally compete with us based on price and their long-term relationships with local customers. Our larger competitors compete with us on those factors but may also provide attractive financing and comprehensive service and product packages.

Vehicles

We operate a fleet of various owned or leased service trucks, vans and support vehicles. We believe these vehicles generally are well maintained and sufficient for our current operations.

Governmental Regulation and Environmental Matters

Our operations are subject to various federal, state and local laws and regulations, including: (i) licensing requirements applicable to engineering, construction and service technicians, (ii) building and MEP codes and zoning ordinances, (iii) regulations relating to consumer protection, including those governing residential service agreements, (iv) special bidding and procurement requirements on government projects, (v) wage and hour regulations, and (vi) regulations relating to worker safety and protection of the environment. For example, our operations are subject to the requirements of OSHA and comparable state laws directed towards protection of employees. We believe we have all required licenses to conduct our operations and are in substantial compliance with applicable regulatory requirements. If we fail to comply with applicable regulations, we could be subject to substantial fines or revocation of our operating licenses.

Many state and local regulations governing the MEP services trades require individuals to hold permits and licenses. In some cases, a required permit or license held by a single individual may be sufficient to authorize specified activities for all of our service technicians who work in the state or county that issued the permit or license. We seek to ensure that, where possible, we have two employees who hold any such permits or licenses that may be material to our operations in a particular geographic region.

Our operations are subject to the federal Clean Air Act, as amended, which governs air emissions and imposes specific requirements on the use and handling of ozone-depleting refrigerants generally classified as chlorofluorocarbons (“CFCs”) or hydrochlorofluorocarbons (“HCFCs”). Clean Air Act regulations promulgated by the United States Environmental Protection Agency (“USEPA”) require the certification of service technicians involved in the service or repair of equipment containing these refrigerants and also regulate the containment and recycling of these refrigerants. These requirements have increased our training expenses and expenditures for containment and recycling equipment. The Clean Air Act is intended ultimately to eliminate the use of ozone-depleting substances such as CFCs and HCFCs in the United States and to require alternative refrigerants to be used in replacement HVAC systems. Some replacement refrigerants, already in use, and classified as hydrofluorocarbons (“HFCs”) are not ozone-depleting substances. HFCs are considered by USEPA to have high global warming potential. USEPA may at some point require the phase-out of HFCs and expand existing technician certification requirements to cover the handling of HFCs. We do not believe the existing regulations governing technician certification requirements for the handling of ozone-depleting substances or possible future regulations applicable to HFCs will materially affect our business on the whole because, although they require us to incur modest ongoing training costs, our competitors also incur such costs, and such regulations may encourage or require our customers to update their MEP systems.

9

Additional Information

Our Internet address is www.comfortsystemsusa.com. We make available free of charge on or through our website our annual report on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K, and amendments to those reports filed or furnished pursuant to Section 13(a) or 15(d) of the Exchange Act as soon as reasonably practicable after we electronically file such material with, or furnish it to, the Securities and Exchange Commission (the “SEC”). These materials are also available at www.sec.gov. Our website also includes our code of ethics, titled the “Code of Conduct,” together with other governance materials including our corporate governance standards and our Board committee charters for the audit committee, the compensation committee, and the governance and nominating committee; the executive committee, formed in 2019, operates under written grants of authority that may be amended from time to time by the Board. Printed versions of our code of ethics and our corporate governance standards may be obtained upon written request to our Corporate Compliance Officer at our headquarters address.

The content of our websites is not incorporated by reference into this annual report on Form 10-K or in any other report or document we file with the SEC, and any references to our websites are intended to be inactive textual references only.

ITEM 1A. Risk Factors

Our business is subject to a variety of risks and uncertainties, including, but not limited to, the risks and uncertainties described below. The risks and uncertainties described below are not the only ones facing us. Additional risks and uncertainties not known to us or which we have not determined to be material may also impair our business operations. You should carefully consider the risks described below, together with all other information included in this report, including information contained in the “Business,” “Management’s Discussion and Analysis of Financial Condition and Results of Operations” and “Quantitative and Qualitative Disclosures about Market Risk” sections. Our business, financial condition, results of operations or cash flows could be adversely affected by the occurrence of any of these events, which could cause actual results to differ materially from expected and historical results, and the trading price of our common stock could decline.

Risks Related to Our Business

Economic downturns in the markets in which we operate may materially and adversely affect our business because our business is dependent on levels of construction activity.

The demand for our services is dependent upon the existence of construction projects and service requirements within the markets in which we operate. Any period of economic recession, including the ongoing recession caused by the Coronavirus Disease 2019 (“COVID-19”) pandemic, affecting a market or industry in which we transact business is likely to adversely impact our business. Many of the projects we work on have long lifecycles from conception to completion, and the bulk of our performance generally occurs late in a construction project’s lifecycle. We experience the results of economic trends well after an economic cycle begins, and therefore have generally continued to experience the results of an economic recession well after conditions in the general economy have improved.

The industries and markets in which we operate have always been and will continue to be vulnerable to macroeconomic downturns because they are cyclical in nature. When there is a reduction in demand, it often leads to greater price competition as well as decreased revenue and profit. The lasting effects of a recession can also increase economic instability with our vendors, subcontractors, developers, and general contractors, which can increase our liability exposure and result in us not being paid in full or at all on some projects, thus decreasing our revenue and profit. Further, to the extent some of our vendors, subcontractors, developers, or general contractors seek bankruptcy protection, such bankruptcy will likely force us to incur additional costs in attorneys’ fees, as well as other professional consultants, and will result in decreased revenue and profit. Additionally, because 5.7% of our revenue for the year ended December 31, 2020 was attributable to projects in the government sector, a reduction in federal, state, or local government spending in our industries and markets could result in decreased revenue and profit for us.

10

Because we bear the risk of cost overruns in most of our contracts, we may experience reduced profits or, in some cases, losses under these contracts if costs increase above our estimates.

Our contract prices are established largely based on estimates and assumptions of our projected costs, including assumptions about: future economic conditions; prices, including commodity prices; availability of labor, including the costs of providing labor, equipment, and materials; and other factors outside our control. If our estimates or assumptions prove to be inaccurate, circumstances change in a way that renders our assumptions and estimates inaccurate or we fail to successfully execute the work, cost overruns may occur, and we could experience reduced profits or a loss for affected projects. For instance, unanticipated technical problems may arise, we could have difficulty obtaining permits or approvals, local laws, labor costs or labor conditions could change, bad weather could delay construction, raw materials prices could increase, our suppliers or subcontractors may fail to perform as expected or site conditions may be different than we expected. We are also exposed to increases in energy prices, particularly as they relate to gasoline prices. Additionally, in certain circumstances, we guarantee project completion or the achievement of certain acceptance and performance testing levels by a scheduled date. Failure to meet schedule or performance requirements typically results in additional costs to us, and in some cases, we may also create liability for consequential and liquidated damages. Performance problems for existing and future projects could cause our actual results of operations to differ materially from those we anticipate and could damage our reputation within our industry and our customer base.

Our backlog is subject to unexpected adjustments and cancellations, which means that amounts included in our backlog may not result in actual revenue or translate into profits.

Backlog reflects revenue still to be recognized under contracted or committed installation and replacement project work. Our backlog as of December 31, 2020 was $1.51 billion. The predictive value of backlog information is limited to indications of general revenue direction over the near term, and we cannot guarantee that the revenue projected from our backlog will be realized or, if realized, will be profitable. Projects may remain in our backlog for an extended period of time, or project cancellations or scope adjustments may occur with respect to contracts reflected in our backlog. Such changes may adversely affect the revenues and profit we ultimately realize on these projects.

The effects of the COVID-19 pandemic and related economic repercussions have materially affected how we and our customers, vendors, subcontractors, developers, and general contractors are operating our businesses, and the duration and extent to which this will negatively impact our future results of operations and overall financial performance remains uncertain.

The COVID-19 pandemic has negatively impacted the global economy, disrupted consumer spending and global supply chains, and created significant volatility and disruption of financial markets. We have experienced some resulting disruptions to our business operations, and we expect the COVID-19 pandemic could have a material adverse impact on our business and financial performance. The extent of the impact of the COVID-19 pandemic on our business and financial performance, including our ability to execute our near-term and long-term business strategies and initiatives in the expected time frame, will depend on future developments, including the duration and severity of the pandemic, the resulting governmental and other measures implemented to address the pandemic and the development and availability of effective treatments and vaccines, which are uncertain and cannot be predicted at this time.

We have been negatively impacted by the COVID-19 pandemic as a result of the shelter-in-place restrictions and work disruptions in some of our service areas creating disruptions to portions of our operations, particularly in major metropolitan markets that have been meaningfully impacted by the pandemic. We have also experienced permitting and regulatory delays attributable to the COVID-19 pandemic. In addition to these current dynamics, the COVID-19 pandemic may create or exacerbate risks related to our operations and regulatory and compliance matters, including as a result of:

evolving governmental guidance or requirements, including travel and movement restrictions, that continue to impact our ability to perform services or complete projects in accordance with required delivery schedules, which could result in additional costs or penalties (e.g., liquidated damages);
additional delays with respect to permitting and regulatory matters;
additional project deferrals, delays, and cancellations and changes in customer spending patterns and strategic plans as a result of, among other things, lack of available financing for our customers’ businesses or termination of, or force majeure events arising under, existing customer agreements;

11

governmental guidance or requirements, including work-from-home policies, or potential illness that negatively impact the availability or productivity of our key personnel or a significant number of employees or cause other disruptions to our business, corporate governance or financial reporting processes;
increased payment risk associated with customers experiencing financial difficulties (including bankruptcy) and an increase in disputes with customers relating to billing and payment under contracts and change orders;
potential liabilities and reputational harm related to occupational health and safety matters associated with COVID-19;
our inability to execute our business strategy, including with respect to certain capital investments such as acquisitions, investments and service offering expansions;
limitations on the ability of our suppliers, vendors and subcontractors to perform;
asset impairment charges related to property and equipment, goodwill, other intangible assets, other long-lived assets and investments;
additional costs associated with restructuring, severance and related matters, potential mandated increases in pay for critical infrastructure workers or other increased employment-related costs (e.g., workers’ compensation insurance claims); and
an increase in cyber-attacks and attempted intrusions into our information technology systems as a result of, among other things, increased reliance on such systems.

As a result of these factors, the extent of the impact of the COVID-19 pandemic on our business is highly uncertain. At this point, we cannot reasonably estimate the duration and severity of the COVID-19 pandemic, or its ultimate impact on our business, financial condition, results of operations or cash flows.

Intense competition in our industry could reduce our market share and our profit.

The markets we serve are highly fragmented and competitive. Our industry is characterized by many small companies whose activities are geographically concentrated. We compete on the basis of our technical expertise and experience, financial and operational resources, nationwide presence, industry reputation and dependability. While we believe our customers consider a number of these factors in awarding available contracts, a large portion of our work is awarded through a bid process. Consequently, price is often the principal factor in determining which contractor is selected, especially on smaller, less complex projects. Smaller competitors are sometimes able to win bids for these projects based on price alone due to their lower cost and financial return requirements. We expect competition to continue in our industry, presenting us with significant challenges in our ability to maintain strong growth rates and acceptable profit margins. We also expect increased competition from in-house service providers, because some of our customers have employees who perform service work similar to the services we provide. Vertical consolidation could also contribute to competition in our industry. If we are unable to meet these competitive challenges, we will lose market share to our competitors and experience an overall reduction in our profits. In addition, our profitability would be impaired if we have to reduce our prices to remain competitive.

Our recent and future acquisitions may not be successful.

We expect to continue pursuing selective acquisitions of businesses. We cannot guarantee that we will be able to identify acquisitions or that we will be able to consummate transactions on terms and conditions acceptable to us, or that acquired businesses will be profitable. Acquisitions may expose us to additional business risks different than those we have traditionally experienced. We also may encounter difficulties integrating acquired businesses and successfully managing the growth we expect to experience from these acquisitions.

We may choose to finance future acquisitions with debt, equity, cash or a combination of the three. Future acquisitions could dilute earnings or disrupt the payment of a stockholder dividend. To the extent we make acquisitions, a number of risks will result, including:

the assumption of material liabilities (including for environmental-related costs);
failure of due diligence to uncover situations that could result in legal exposure or to quantify the true liability exposure from known risks;

12

the diversion of management’s attention from the management of daily operations to the integration of operations;
difficulties in the assimilation and retention of employees, in the assimilation of different cultures and practices, in the assimilation of broad and geographically dispersed personnel and operations, and the retention of employees generally;
the risk of additional financial and accounting challenges and complexities in areas such as tax planning, treasury management, financial reporting and internal controls; and
we may not be able to realize the cost savings or other financial benefits we anticipated prior to the acquisition.

The failure to successfully integrate acquisitions could have an adverse effect on our business, financial condition and results of operations.

Third parties contribute significantly to our completion of many projects.

We hire third-party subcontractors to perform work and depend on third-party suppliers to provide equipment and materials necessary to complete our projects. If we are unable to retain qualified subcontractors or suppliers, or if our subcontractors or suppliers do not perform as anticipated for any reason, our execution, reputation and profitability could be harmed.

Earnings for future periods may be impacted by impairment charges for goodwill and intangible assets.

We carry a significant amount of goodwill and identifiable intangible assets on our consolidated Balance Sheets. Goodwill is the excess of purchase price over the fair value of the net assets of acquired businesses. We assess goodwill for impairment each year, and more frequently if circumstances suggest an impairment may have occurred. We have determined in the past and may again determine in the future that a significant impairment has occurred in the value of our unamortized intangible assets or fixed assets, which could require us to write off a portion of our assets and could adversely affect our financial condition or our reported results of operations.

Our use of the percentage-of-completion method of accounting could result in a reduction or reversal of previously recorded revenue or profits.

A material portion of our revenue is recognized using the percentage-of-completion method of accounting, which results in our recognizing contract revenue and earnings ratably over the contract term in the proportion that our actual costs bear to our estimated contract costs. The earnings or losses recognized on individual contracts are based on estimates of contract revenue, costs and profitability. We review our estimates of contract revenue, costs and profitability on an ongoing basis. Prior to contract completion, we may adjust our estimates on one or more occasions as a result of change orders to the original contract, collection disputes with the customer on amounts invoiced or claims against the customer for increased costs incurred by us due to customer-induced delays and other factors. Contract losses are recognized in the fiscal period when the loss is determined. Contract profit estimates are also adjusted in the fiscal period in which it is determined that an adjustment is required. As a result of the requirements of the percentage-of-completion method of accounting, the possibility exists, for example, that we could have estimated and reported a profit on a contract over several periods and later determined, usually near contract completion, that all or a portion of such previously estimated and reported profits were overstated. If this occurs, the full aggregate amount of the overstatement will be reported for the period in which such determination is made, thereby eliminating all or a portion of any profits from other contracts that would have otherwise been reported in such period or even resulting in a loss being reported for such period. On a historical basis, we believe that we have made reasonably reliable estimates of the progress towards completion on our long-term contracts. However, given the uncertainties associated with these types of contracts, it is possible for actual costs to vary from estimates previously made, which may result in reductions or reversals of previously recorded revenue and profits.

13

A significant portion of our business depends on our ability to provide surety bonds. Any difficulties in the financial and surety markets may adversely affect our bonding capacity and availability.

In the past we have expanded, and it is possible we will continue to expand, the number and percentage of total contract dollars that require an underlying bond. Historically surety market conditions have experienced times of difficulty as a result of significant losses incurred by many surety companies and the results of macroeconomic trends outside of our control. Consequently, during times when less overall bonding capacity is available in the market, surety terms have become more expensive and more restrictive. As such, we cannot guarantee our ability to maintain a sufficient level of bonding capacity in the future, which could preclude our ability to bid for certain contracts or successfully contract with some customers. Additionally, even if we continue to be able to access bonding capacity to sufficiently bond future work, we may be required to post collateral to secure bonds, which would decrease the liquidity we would have available for other purposes. Our surety providers are under no commitment to guarantee our access to new bonds in the future; thus, our ability to access or increase bonding capacity is at the sole discretion of our surety providers. If our surety companies were to limit or eliminate our access to bonds, our alternatives would include seeking bonding capacity from other surety companies, increasing business with clients that do not require bonds and posting other forms of collateral for project performance, such as letters of credit or cash. We may be unable to secure these alternatives in a timely manner, on acceptable terms, or at all. As such, if we were to experience an interruption or reduction in the availability of bonding capacity, it is likely we would be unable to compete for or work on certain projects.

If we experience delays and/or defaults in customer payments, we could be unable to recover all expenditures.

Because of the nature of our contracts, at times we commit resources to projects prior to receiving payments from the customer in amounts sufficient to cover expenditures on projects as they are incurred. Delays in customer payments may require us to make a working capital investment. If a customer defaults in making their payments on a project to which we have devoted resources, it could have a material negative effect on our financial condition and results of operations.

Our business may be affected by the work environment.

We may need to perform our work under a variety of conditions, including but not limited to, difficult terrain, difficult site conditions and busy urban centers where delivery of materials and availability of labor may be impacted, clean-room environments where strict procedures must be followed and sites that may have been exposed to harsh and hazardous conditions and outbreaks of infectious disease, such as the ongoing COVID-19 pandemic. If we are unable to manage the conditions required for certain of our jobs, including the availability of sufficient labor, adherence to environmental, health and safety or other standards, and adequately addressing harsh or hazardous conditions, our business and financial condition could be adversely affected.

We are susceptible to adverse weather conditions, which may harm our business and financial results.

Our business can be highly cyclical and subject to seasonal and other variations that can result in significant differences in operating results from quarter to quarter. Moreover, our business may be adversely affected by severe weather in areas where we have significant operations. Repercussions of severe weather conditions may include:

curtailment of services;
suspension of operations;
inability to meet performance schedules in accordance with contracts and potential liability for liquidated damages;
injuries or fatalities;
weather-related damage to our facilities;
disruption of information systems;

14

inability to receive machinery, equipment and materials at jobsites; and
loss of productivity.

Future climate change could adversely affect us.

Climate change may create physical and financial risk to our business. Physical risks from climate change could, among other things, include an increase in extreme weather events (such as floods or hurricanes), rising sea levels and limitations on water availability and quality. Such extreme weather conditions may limit the availability of resources, increasing the costs of our projects, or may cause projects to be delayed or cancelled.

Legislation, nationwide protocols, regulation or other restrictions related to climate change could negatively impact our operations or our customers’ operations. Such legislation or restrictions could increase the costs of projects for our customers or, in some cases, prevent a project from going forward, which could in turn have an adverse effect on our financial condition and results of operations.

Continuing worldwide political and economic uncertainties may adversely affect our revenue and profitability.

The last several years have been periodically marked by political and economic concerns, including the ongoing COVID-19 pandemic, decreased consumer confidence, the lingering effects of international conflicts, tariffs, energy costs and inflation. This instability can make it extremely difficult for our customers, our vendors and us to accurately forecast and plan future business activities, and could cause constrained spending on our services, delays and a lengthening of our business development efforts, the demand for more favorable pricing or other terms, and/or difficulty in collection of our accounts receivable. Our government clients may face budget deficits that prohibit them from funding proposed and existing projects. Further, ongoing economic instability in the global markets, including from the ongoing COVID-19 pandemic, could limit our ability to access the capital markets at a time when we would like, or need, to raise capital, which could have an impact on our ability to react to changing business conditions or new opportunities. If economic conditions remain uncertain or weaken, or government spending is reduced, our revenue and profitability could be adversely affected.

Risks Related to Our Operations

If we are unable to attract and retain qualified managers and employees, we will be unable to operate efficiently, which could reduce our profitability.

Our business is labor intensive, and many of our operations experience a high rate of employee turnover. At times of low unemployment rates in the United States, it is typically more difficult for us to find qualified personnel at low cost in some geographic areas where we operate. Additionally, our business is managed by a small number of key executive and operational officers. We may be unable to hire and retain the sufficient skilled labor force necessary to operate efficiently and to support our growth strategy. Our labor expenses may increase as a result of a shortage in the supply of skilled personnel. Labor shortages, increased labor costs or the loss of key personnel could reduce our profitability and negatively impact our business. Further, our relationships with some customers could suffer if we are unable to retain the employees with whom those customers primarily work and have established relationships.

Future growth could also impose significant additional responsibilities on members of our senior management, including the need to recruit and integrate new senior level managers and executives. To the extent that we are unable to manage our growth effectively, or are unable to attract and retain additional qualified management, we may not be able to expand our operations or successfully execute our business plan.

We are a decentralized company and place significant decision making powers with our subsidiaries’ management, which presents certain risks.

We believe that our practice of placing significant decision making powers with local management is important to our successful growth and allows us to be responsive to opportunities and to our customers’ needs. However, this practice presents certain risks, including the risk that we may be slower or less effective in our attempts to identify or react to problems affecting an important business than we would under a more centralized structure or that we would be slower to identify a misalignment between a subsidiary’s and the Company’s overall business strategy. Further, if a

15

subsidiary location fails to follow the Company’s compliance policies, we could be made party to a contract, arrangement or situation that requires the assumption of large liabilities or has less advantageous terms than is typically found in the market.

Information technology system failures, network disruptions or cybersecurity breaches could adversely affect our business.

We use and rely significantly on sophisticated information technology systems, networks, and infrastructure in conducting our day to day operations, providing services to certain customers and protecting sensitive Company information. In addition, we also rely on third-party software and information technology for certain of our critical accounting, project management and financial information systems. We also collect and retain information about our customers, stockholders, vendors and employees, with the expectation by such third parties being that we will adequately protect such information.

Information technology system failures, including suppliers’ or vendors’ system failures, could disrupt our operations by causing transaction errors, processing inefficiencies, the loss of customers, other business disruptions or the loss of employee or other third-party personal information. We have in the past experienced system interruptions and delays and expect that such interruptions and delays may occur in the future, given the increasing diversity and sophistication of cybersecurity threats. In addition, our systems, networks and infrastructure could be damaged or interrupted by natural disasters, power loss, telecommunications failures, intentional or inadvertent user misuse or error, failures of information technology solutions, computer viruses, malicious code, ransomware attacks and acts of terrorism. We may also be subject to physical or electronic security breaches, including breaches by computer hackers or cyber-terrorists or unauthorized access to or disclosure of our or our customers’ data. These events could impact our customers, employees and reputation and lead to financial losses from remediation actions, loss of business or access to our business data, potential liability or an increase in expenses, all of which may have a material adverse effect on our business. Similar risks could affect our customers and vendors, indirectly affecting us.

While we have security, internal control and technology measures in place to protect our systems and networks, these measures could fail as a result of a cyber-attack, other third-party action, employee error, malfeasance or other security failure. In the ordinary course of business, we have been targeted by malicious cyber-attacks. In April 2019, for example, our information technology infrastructure was impacted by a ransomware attack virus, which caused a substantial majority of our operating locations to experience loss of access to certain data and outages affecting systems including accounting, payroll, billing, job report and management and other software environments. These disruptions created challenges in key back office functions that required workarounds and alternative procedures. Because the techniques used to obtain unauthorized access or sabotage systems change frequently and generally are not identified until they are launched against a target, we may be unable to anticipate these techniques or to implement adequate preventative measures. As a result, we may be required to expend significant resources to protect against the threat of system disruptions and security breaches or to alleviate problems caused by these disruptions and breaches. Any of these events could damage our reputation and, while the April 2019 incident did not have such effects, have a material adverse effect on our business, results of operations, financial condition and cash flows.

In addition, current and future laws and regulations governing data privacy and the unauthorized disclosure of confidential information may pose complex compliance challenges and result in additional costs. A failure to comply with such laws and regulations could result in penalties or fines, legal liabilities or reputational harm. The continuing and evolving threat of cyber-attacks has also resulted in increased regulatory focus on risk management and prevention. New cyber-related regulations or other requirements could require significant additional resources and cause us to incur significant costs, which could have an adverse effect on our results of operations and cash flows.

We regularly evaluate the need to upgrade or replace our systems and network infrastructure to protect our information technology environment, to stay current on vendor supported products and to improve the efficiency and scope of our systems and information technology capabilities. The implementation of new systems and information technology could adversely impact our operations by requiring substantial capital expenditures, diverting management’s attention, or causing delays or difficulties in transitioning to new systems. In addition, our systems implementations may not result in productivity improvements at the levels anticipated. Systems implementation disruption and any other information technology disruption, if not anticipated and appropriately mitigated, could have an adverse effect on our business.

16

Our insurance policies against many potential liabilities require high deductibles, and our risk management policies and procedures may leave us exposed to unidentified or unanticipated risks. Additionally, difficulties in the insurance markets may adversely affect our ability to obtain necessary insurance.

We insure various general liability, workers’ compensation, property and auto risks as well as other risks through a variety of direct insurance policies and a captive insurance company that are reinsured for risks above certain deductibles and retentions. All of our insurance policies and programs are subject to high deductibles and retentions; as such, we are, in effect, self-insured for substantially all of our typical claims. We hire an actuary to determine any liabilities for unpaid claims and associated expenses for the three major lines of coverage (workers’ compensation, general liability and auto liability). The determination of these claims and expenses and the appropriateness of the estimated liability are reviewed and updated quarterly. However, insurance liabilities are difficult to assess and estimate due to the many relevant factors, the effects of which are often unknown, including the severity of an injury, the determination of our liability in proportion to other parties, the number of incidents that have occurred but are not reported and the effectiveness of our safety program. Our accruals are based on known facts, historical trends (both internal trends and industry averages) and our reasonable estimate of our future expenses. We believe our accruals are adequate. However, our risk management strategies and techniques may not be fully effective in mitigating our risk exposure in all market environments or against all types of risk. If any of the variety of instruments, processes or strategies we use to manage our exposure to various types of risk are not effective, we may incur losses that are not covered by our insurance policies or that exceed our accruals or coverage limits.

Additionally, we typically are contractually required to provide proof of insurance for projects on which we work. Historically, insurance market conditions become more difficult for insurance consumers during periods when insurance companies suffer significant investment losses as well as casualty losses. Consequently, it is possible that insurance markets will become more expensive and restrictive. Also, our prior casualty loss history might adversely affect our ability to procure insurance within commercially reasonable ranges. As such, we may not be able to maintain commercially reasonable levels of insurance coverage in the future, which could preclude our ability to work on many projects and increase our overall risk exposure. Our insurance providers are under no commitment to renew our existing insurance policies in the future; therefore, our ability to obtain necessary levels or kinds of insurance coverage is subject to market forces outside our control. If we were unable to obtain necessary levels of insurance, it is likely we would be unable to compete for or work on most projects.

Failure to remain in compliance with covenants under our credit agreement, service our indebtedness, or fund our other liquidity needs could adversely impact our business.

Our credit agreement and related restrictive and financial covenants are more fully described in Note 9 of “Notes to the Consolidated Financial Statements.” Our failure to comply with any of these covenants under the credit agreement, or to pay principal, interest or other amounts when due thereunder, would constitute an event of default under the credit agreement. Default under our credit agreement could result in (1) us no longer being entitled to borrow under the agreement; (2) termination of the agreement; (3) acceleration of the maturity of outstanding indebtedness under the agreement; and/or (4) foreclosure on any collateral securing the obligations under the agreement. If we are unable to service our debt obligations or fund our other liquidity needs, we could be forced to curtail our operations, reorganize our capital structure (including through bankruptcy proceedings) or liquidate some or all of our assets in a manner that could cause holders of our securities to experience a partial or total loss of their investment in us. In addition, in July 2017, the U.K. Financial Conduct Authority, which regulates LIBOR, announced that it intends to stop compelling banks to submit rates for calculation of LIBOR after 2021. At this time, it is not clear that LIBOR will cease to exist, and if so, what alternative benchmark rate will replace LIBOR, though it is likely that the lenders under our credit agreement would select as an alternative benchmark rate the forward-looking term rate based on the secured overnight financing rate published by the Federal Reserve Bank of New York. Under the Eurodollar Rate Loan Option under the Facility (defined below), the interest rate is determined based on the one- to six-month Eurodollar Rate, which rate corresponds very closely to rates described in various general business media sources as LIBOR. Any new benchmark rate will likely not exactly replicate LIBOR, which could impact the determination of interest rates under the Eurodollar Rate Loan Option.

Our inability to properly utilize our workforce could have a negative impact on our profitability.

The extent to which we utilize our workforce affects our profitability. Underutilizing our workforce could result in lower gross margins and, consequently, a decrease in short-term profitability. On the other hand, overutilization of our

17

workforce could negatively impact safety, employee satisfaction and project execution, leading to a potential decline in future project awards. The utilization of our workforce is impacted by numerous factors, including:

our estimate of headcount requirements and our ability to manage attrition;
efficiency in scheduling projects and our ability to minimize downtime between project assignments; and
productivity.

If we do not effectively manage the size and cost of our operations, our existing infrastructure may become either strained or over-burdensome, and we may be unable to increase revenue growth.

The growth that we have experienced in the past, and that we may experience in the future, may provide challenges to our organization, requiring us to expand our personnel and our operations. Future growth may strain our infrastructure, operations and other managerial and operating resources. We have also experienced in the past severe constriction in the markets in which we operate and, as a result, in our operating requirements. Failing to maintain the appropriate cost structure during a particular economic cycle may result in our incurring costs that affect our profitability. If our business resources become strained or over-burdensome, our earnings may be adversely affected, and we may be unable to increase revenue growth. Further, we may undertake contractual commitments that exceed our labor, managerial or other resources, which could also adversely affect our earnings and our ability to increase revenue growth.

Increases and uncertainty in our health insurance costs could adversely impact our results of operations and cash flows.

The costs of employee health insurance have been increasing in recent years due to rising health care costs, legislative changes, and general economic conditions. Additionally, we may incur additional costs as a result of the Patient Protection and Affordable Care Act (the “Affordable Care Act”) that was signed into law in March 2010. Future legislation could also have an impact on our business. The status of the Affordable Care Act, any amendment, repeal or replacement thereof, is currently uncertain. For example, in December 2019, the United States Court of Appeals for the Fifth Circuit struck down a central provision of the Affordable Care Act, ruling that the requirement that people have health insurance was unconstitutional, sending the case back to a federal district judge in Texas to determine which of the law’s many parts could survive without the mandate. On March 2, 2020, the United States Supreme Court granted certiorari to review this case, which is expected to be decided by mid-2021. Because of the continued uncertainty about the implementation of the Affordable Care Act, including the potential for further legal challenges or repeal of that legislation, it is unclear what the impact of the Affordable Care Act, its amendment thereof, or its potential repeal or replacement will have on our financial position or results of operations.

Regulatory and Legal Risks

Actual and potential claims, lawsuits and proceedings could ultimately reduce our profitability and liquidity and weaken our financial condition.

We are likely to continue to be named as a defendant in legal proceedings claiming damages from us in connection with the operation of our business. These actions and proceedings may involve claims for, among other things, compensation for alleged personal injury, workers’ compensation, employment discrimination, breach of contract or property damage. In addition, we may be subject to class action lawsuits involving allegations of violations of the Fair Labor Standards Act and state wage and hour laws. Due to the inherent uncertainties of litigation, we cannot accurately predict the ultimate outcome of any such actions or proceedings. We also are, and are likely to continue to be, from time to time a plaintiff in legal proceedings against customers, in which we seek to recover payment of contractual amounts we are owed as well as claims for increased costs we incur. When appropriate, we establish provisions against possible exposures, and we adjust these provisions from time to time according to ongoing exposure. If our assumptions and estimates related to these exposures prove to be inadequate or inaccurate, we could experience a reduction in our profitability and liquidity and a weakening of our financial condition. In addition, claims, lawsuits and proceedings may harm our reputation or divert management resources away from operating our business.

18

We typically warrant the services we provide, guaranteeing the work performed against defects in workmanship and the material we supply. Historically, warranty claims have not been material as our customers evaluate much of the work we perform for defects shortly after work is completed. However, if warranty claims occur, we could be required to repair or replace warrantied items at our cost. In addition, our customers may elect to repair or replace the warrantied item by using the services of another provider and require us to pay for the cost of the repair or replacement. Costs incurred as a result of warranty claims could adversely affect our operating results and financial condition.

Misconduct by our employees, subcontractors or partners or our overall failure to comply with laws or regulations could harm our reputation, damage our relationships with customers, reduce our revenue and profits, and subject us to criminal and civil enforcement actions.

Misconduct, fraud, non-compliance with applicable laws and regulations, or other improper activities by one or more of our employees, directors, executive officers, subcontractors or partners could have a significant negative impact on our business and reputation. Examples of such misconduct include employee or subcontractor theft, personal misconduct and failure to comply with safety standards, including regulatory, company or site-specific COVID-19 safety protocols, laws and regulations, customer requirements, environmental laws and any other applicable laws or regulations. While we take precautions to prevent and detect these activities, such precautions may not be effective and are subject to inherent limitations, including human error and fraud. Our failure to comply with applicable laws or regulations or acts of misconduct could subject us to fines and penalties, harm our reputation, lead to loss of the services of employees or members of management, damage our relationships with customers, reduce our revenue and profits and subject us to criminal and civil enforcement actions.

We have subsidiary operations through the United States and are exposed to multiple state and local regulations, as well as federal laws and requirements applicable to government contractors. Changes in law, regulations or requirements, or a material failure of any of our subsidiaries or us to comply with any of them, could increase our costs and have other negative impacts on our business.

Our 139 locations are located in 27 states, which exposes us to a variety of different state and local laws and regulations, particularly those pertaining to contractor licensing requirements. These laws and regulations govern many aspects of our business, and there are often different standards and requirements in different locations. In addition, our subsidiaries that perform work for federal government entities are subject to additional federal laws and regulatory and contractual requirements. Changes in any of these laws, or any of our subsidiaries’ material failure to comply with them, can adversely impact our operations by, among other things, increasing costs, distracting management’s time and attention from other items, and harming our reputation.

As government contractors, our subsidiaries are subject to a number of rules and regulations, and their contracts with government entities are subject to audit. Violations of the applicable rules and regulations could result in a subsidiary being barred from future government contracts.

Government contractors must comply with many regulations and other requirements that relate to the award, administration and performance of government contracts. A violation of these laws and regulations could result in imposition of fines and penalties, the termination of a government contract or debarment from bidding on government contracts in the future. Further, despite our decentralized nature, a violation at one of our locations could impact other locations’ ability to bid on and perform government contracts. Additionally, because of our decentralized nature, we face risks in maintaining compliance with all local, state and federal government contracting requirements. Because 5.7% of our revenue for the year ended December 31, 2020 was attributable to projects in the government sector, prohibitions against bidding on future government contracts could have an adverse effect on our financial condition and results of operations.

Past and future environmental, safety and health regulations could impose significant additional costs on us that could reduce our profits.

HVAC systems are subject to various environmental statutes and regulations, including the Clean Air Act and those regulating the production, servicing and disposal of certain ozone-depleting refrigerants used in HVAC systems. There can be no assurance that the regulatory environment in which we operate will not change significantly in the future. Various local, state and federal laws and regulations impose licensing standards on technicians who install and service HVAC systems. Additional laws, regulations and standards apply to contractors who perform work that is being funded by public money, particularly federal public funding. Our failure to comply with these laws and regulations could

19

subject us to substantial fines, the loss of our licenses or potentially debarment from future publicly funded work. It is impossible to predict the full nature and effect of judicial, legislative or regulatory developments relating to health and safety regulations and environmental protection regulations applicable to our operations. Additionally, industries in which our customers or potential customers operate may be affected by new or changing environmental, safety, health or other regulatory requirements, leading to decreased demand for our services and potentially impacting our business, financial condition, results of operations, cash flows and ability to grow.

Unsatisfactory safety performance may subject us to penalties, affect customer relationships, result in higher operating costs, negatively impact employee morale and result in higher employee turnover.

Our projects are conducted at a variety of sites including construction sites and industrial facilities. Each location is subject to numerous safety risks, including electrocutions, fires, explosions, mechanical failures, weather-related incidents, transportation accidents, damage to equipment and, with respect to indoor sites, an increased risk of COVID-19 outbreaks. These hazards can cause personal injury and loss of life, severe damage to or destruction of property and equipment and other consequential damages and could lead to suspension of operations, large damage claims and, in extreme cases, criminal liability. While we have taken what we believe are appropriate precautions to minimize safety risks, we have experienced serious accidents, including fatalities, in the past and may experience additional accidents in the future. Serious accidents may subject us to penalties, civil litigation or criminal prosecution. Claims for damages to property or persons, including claims for bodily injury or loss of life, could result in significant costs and liabilities, which could adversely affect our financial condition and results of operations. Poor safety performance could also jeopardize our relationships with our customers, negatively impact employee morale and harm our reputation.

Changes in United States trade policy, including the imposition of tariffs and the resulting consequences, may have a material adverse impact on our business and results of operations.

As a result of policy changes or shifting proposals by the U.S. government, there may be greater restrictions and economic disincentives on international trade. For example, the U.S. government has pursued a new approach to trade policy, including renegotiating or terminating certain existing bilateral or multi-lateral trade agreements. It has also imposed tariffs on certain foreign goods and has raised the possibility of imposing significant, additional tariff increases or expanding the tariffs to capture other types of goods. These tariffs and other changes in U.S. trade policy have in the past and could continue to trigger retaliatory actions by affected countries, and certain foreign governments have instituted or are considering imposing retaliatory measures on certain U.S. goods. We, our suppliers and our customers import certain raw materials, components and other products from foreign suppliers. As such, the adoption and expansion of trade restrictions, the occurrence of a trade war, or other governmental action related to tariffs or trade agreements or policies has the potential to adversely impact demand for our products, our costs, our customers, our suppliers, and the United States economy, which in turn could have an adverse effect on our business, financial condition and results of operations.

Tax matters, including changes in corporate tax laws and disagreements with taxing authorities, could impact our results of operations and financial condition.

We conduct business across the United States and file income taxes in various tax jurisdictions. Our effective tax rates could be affected by many factors, some of which are outside of our control, including changes in tax laws and regulations in the various tax jurisdictions in which we file income taxes. For instance, the Tax Cuts and Jobs Act was enacted into law in December 2017. While certain portions of the Tax Cuts and Jobs Act seem to have had a positive impact on the Company’s results of operations, the overall impact of the Tax Cuts and Jobs Act is uncertain and our business and financial condition could be adversely affected. Furthermore, to the extent that certain of our customers are negatively affected by the Tax Cuts and Jobs Act and/or any uncertainty around its implementation or enforcement, they may reduce spending and defer, delay or cancel projects or contracts. Reduced government revenue resulting from changes to tax law may also lead to reduced government spending, which may negatively impact our government contracting business. It is also unknown if and to what extent various states will conform to the changes enacted by the Tax Cuts and Jobs Act. 

Issues relating to tax audits or examinations and any related interest or penalties and uncertainty in obtaining deductions or credits claimed in various jurisdictions could also impact our effective tax rates. Our results of operations are reported based on our determination of the amount of taxes we owe in various tax jurisdictions. Significant judgment

20

is required in determining our provision for income taxes and our determination of tax liability is always subject to review or examination by tax authorities in applicable tax jurisdictions. An adverse outcome of such a review of examination could adversely affect our operating results and financial condition. Further, the results of tax examinations and audits could have a negative impact on our financial results and cash flows where the results differ from the liabilities recorded in our financial statements.

Risks Related to Our Common Stock

Our common stock, which is listed on the New York Stock Exchange, has from time to time experienced significant price and volume fluctuations. These fluctuations are likely to continue in the future, and our stockholders may suffer losses.

The market price of our common stock may change significantly in response to various factors and events beyond our control. A variety of events may cause the market price of our common stock to fluctuate significantly, including the following: (i) the risk factors described in this Annual Report on Form 10-K; (ii) a shortfall in operating revenue or net income from that expected by securities analysts and investors; (iii) quarterly fluctuations in our operating results; (iv) changes in securities analysts’ estimates of our financial performance or that of our competitors or companies in our industry generally; (v) general conditions in our customers’ industries, including as a result of the ongoing COVID-19 pandemic; (vi) general conditions in the securities markets; (vii) our announcements of significant contracts, milestones and acquisitions; (viii) our relationship with other companies; (ix) our investors’ view of the sectors and markets in which we operate; and (x) additions or departures of key personnel. Some companies that have volatile market prices for their securities have been subject to security class action suits filed against them. If a suit were to be filed against us, regardless of the outcome, it could result in substantial costs and a diversion of our management’s attention and resources. This could have a material adverse effect on our business, results of operations and financial condition.

Future sales of our common stock may depress our stock price.

Sales of a substantial number of shares of our common stock in the public market or otherwise, either by us, a member of management or a major stockholder, or the perception that these sales could occur, could depress the market price of our common stock and impair our ability to raise capital through the sale of additional equity securities.

Our charter contains certain anti-takeover provisions that may inhibit or delay a change in control.

Our certificate of incorporation authorizes our Board of Directors to issue, without stockholder approval, one or more series of preferred stock having such preferences, powers and relative, participating, optional and other rights (including preferences over the common stock respecting dividends and distributions and voting rights) as the Board of Directors may determine. The issuance of this “blank-check” preferred stock could render more difficult or discourage an attempt to obtain control by means of a tender offer, merger, proxy contest or otherwise. Additionally, certain provisions of the Delaware General Corporation Law or even certain provisions of our credit agreement may also discourage takeover attempts that have not been approved by the Board of Directors.

General Risk Factors

Failure or circumvention of our disclosure controls and procedures or internal controls over financial reporting could seriously harm our financial condition, results of operations, and our business.

We plan to continue to maintain and strengthen internal controls and procedures to enhance the effectiveness of our disclosure controls and internal controls over financial reporting. Any system of controls, however well designed and operated, is based in part on certain assumptions and can provide only reasonable, and not absolute, assurances that the objectives of the system are met. Any failure of our disclosure controls and procedures or internal controls over financial reporting could harm our financial condition and results of operations.

21

Force majeure events, including natural disasters, outbreaks of infectious disease, such as COVID-19, and terrorists’ actions, could negatively impact our business, which may affect our financial condition, results of operations or cash flows.

Force majeure or extraordinary events beyond the control of the contracting parties, such as natural and man-made disasters, as well as outbreaks of infectious disease (e.g., COVID-19) and terrorist actions, could negatively impact us. We typically negotiate contract language where we are granted certain relief from force majeure events in private client contracts and review and attempt to mitigate force majeure events in both public and private client contracts. We remain obligated to perform our services after most extraordinary events subject to relief that may be available to us pursuant to a force majeure clause. If we are not able to react quickly to force majeure events, our operations may be affected significantly, which would have a negative impact on our financial position, results of operations, cash flows and liquidity and could also negatively affect our reputation in the marketplace.

Deliberate, malicious acts, including terrorism and sabotage, could damage our facilities, disrupt our operations or injure employees, contractors, customers or the public and result in liability to us.

Intentional acts of destruction could damage or destroy our facilities, reducing our operational production capacity and potentially requiring us to repair or replace our facilities at substantial cost. Additionally, employees, contractors and the public could suffer substantial physical injury from acts of terrorism for which we could be liable. Governmental authorities may also impose security or other requirements that could make our operations more difficult or costly. The consequences of any such actions could adversely affect our financial condition and results of operations.

We are required to assess and report on our internal controls each year. Findings of inadequate internal controls could reduce investor confidence in the reliability of our financial information.

As directed by the Sarbanes-Oxley Act, the SEC adopted rules generally requiring public companies, including us, to include in their annual reports on Form 10-K a report of management that contains an assessment by management of the effectiveness of our internal control over financial reporting. In addition, the independent registered public accounting firm auditing our financial statements must report on the effectiveness of our internal control over financial reporting. A company’s internal control over financial reporting is a process designed by, or under the supervision of, the company’s principal executive and principal financial officers, or persons performing similar functions, and effected by the company’s board of directors, management, and other personnel to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles and that receipts and expenditures of the company are being made only in accordance with authorizations of management and records of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.

We may discover in the future that we have deficiencies in the design and operation of our internal controls. If any of the deficiencies in our internal control, either by itself or in combination with other deficiencies, becomes a “material weakness”, such that there is a reasonable possibility that a material misstatement of the annual or interim financial statements will not be prevented or detected on a timely basis, we may be unable to conclude that we have effective internal control over financial reporting. In such event, investors could lose confidence in the reliability of our financial statements, which may significantly harm our business and cause our stock price to decline. In addition, the failure to maintain effective internal controls could also result in unauthorized transactions.

Rising inflation and/or interest rates could have an adverse effect on our business, financial condition and results of operations.

Economic factors, including inflation and fluctuations in interest rates, could have a negative impact on our business. If our costs were to become subject to significant inflationary pressures or interest rate increases, we may not be able to fully offset such higher costs through price increases. Our inability or failure to do so could harm our financial position and results of operations.

22

Changes in accounting rules and regulations could adversely affect our financial results.

Accounting rules and regulations are subject to review and interpretation by the Financial Accounting Standards Board (the “FASB”), the SEC and various other governing bodies. A change in U.S. GAAP could have a significant effect on our reported financial results. Additionally, the adoption of new or revised accounting principles could require that we make significant changes to our systems, processes and controls. We cannot predict the effect of future changes to accounting principles, which could have a significant effect on our reported financial results and/or our results of operations, cash flows and liquidity.

ITEM 1B. Unresolved Staff Comments

None.

ITEM 2. Properties

As of December 31, 2020, we owned 16 properties. Other than these owned properties, we lease the real property and buildings from which we operate. Our facilities are located in 27 states and consist of offices, shops and fabrication, maintenance and warehouse facilities. Generally, leases range from three to ten years and are on terms we believe to be commercially reasonable. A majority of these premises are leased from individuals or entities with whom we have no other business relationship. In certain instances, these leases are with current or former employees. To the extent we renew, enter into leases or otherwise change leases with current or former employees, we enter into such agreements on terms that reflect a fair market valuation for the properties. Leased premises range in size from approximately 1,000 square feet to 110,000 square feet. To maximize available capital, we generally intend to continue to lease our properties, but may consider further purchases of property where we believe ownership would be more economical. We believe that our facilities are sufficient for our current needs.

We lease our executive and administrative offices in Houston, Texas.

ITEM 3. Legal Proceedings

We are subject to certain claims and lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in our Consolidated Financial Statements. While we cannot predict the outcome of these proceedings, in our opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.

ITEM 4. Mine Safety Disclosures

Not applicable.

ITEM 4A. Executive Officers of the Registrant

Executive officers are appointed by our Board of Directors and hold office until their successors are elected and duly qualified. The following persons serve as executive officers of the Company.

Brian E. Lane, age 63, has served as our Chief Executive Officer and President since December 2011 and as a director since November 2010. Mr. Lane served as our President and Chief Operating Officer from March 2010 until December 2011. Mr. Lane joined the Company in October 2003 and served as Vice President and then Senior Vice President for Region One of the Company until he was named Executive Vice President and Chief Operating Officer in January 2009. Prior to joining the Company, Mr. Lane spent fifteen years at Halliburton, the global service and equipment company devoted to energy, industrial, and government customers. During his tenure at Halliburton, he held various positions in business development, strategy, and project initiatives. He departed as the Regional Director of Europe and Africa. Mr. Lane’s additional experience includes serving as a Regional Director of Capstone Turbine Corporation, a distributed power manufacturer. He also was a Vice President of Kvaerner, an international engineering and construction company where he focused on the chemical industry. Mr. Lane holds a Bachelor of Science in Chemistry from the University of Notre Dame and a Master of Business Administration from Boston College.

23

William George, age 56, has served as our Executive Vice President and Chief Financial Officer since May 2005, was our Senior Vice President, General Counsel and Secretary from May 1998 to May 2005, and was our Vice President, General Counsel and Secretary from March 1997 to April 1998. Since October 2011, Mr. George has also served as Regional Vice President for Region 5. Mr. George was a member of our founding management team in connection with our formation in 1997. From October 1995 to February 1997, Mr. George was Vice President and General Counsel of American Medical Response, Inc., a publicly-traded healthcare transportation company. From September 1992 to September 1995, Mr. George practiced corporate and antitrust law at Ropes & Gray, a Boston, Massachusetts, law firm. Mr. George holds a Bachelor of Science in Economics from Brigham Young University and a Juris Doctorate from Harvard Law School.

Julie S. Shaeff, age 55, has served as our Senior Vice President and Chief Accounting Officer since May 2005, was our Vice President and Corporate Controller from March 2002 to May 2005, and was our Assistant Corporate Controller from September 1999 to February 2002. From 1996 to August 1999, Ms. Shaeff was Financial Accounting Manager—Corporate Controllers Group for Browning-Ferris Industries, Inc., a publicly-traded waste services company. From 1987 to 1995, she held various positions with Arthur Andersen LLP. Ms. Shaeff is a Certified Public Accountant and holds a Bachelor of Business Administration in Accounting from Texas A&M University.

Trent T. McKenna, age 48, has served as Chief Operating Officer and Senior Vice President since January 2021. Mr. McKenna previously served as our Senior Vice President and Vice President – Region 4 from January 2019 to December 2020; Senior Vice President, General Counsel and Secretary from August 2013 to December 2018; Vice President, General Counsel and Secretary from May 2005 to August 2013; and Associate General Counsel from August 2004 to May 2005. From February 1999 to August 2004, Mr. McKenna was a practicing attorney in the area of complex commercial litigation in the Houston, Texas, office of Akin Gump Strauss Hauer & Feld LLP, an international law firm. Mr. McKenna earned a Bachelor of Arts degree in English from Brigham Young University and his Juris Doctorate from Duke University School of Law.

Laura F. Howell, age 33, has served as Vice President and General Counsel for the Company since January 2019. Prior to her current position, Ms. Howell served as the Associate General Counsel from January 2018 to December 2018 and as Senior Counsel, Corporate from November 2014 to December 2017. Prior to joining the Company, she was an associate in the corporate department of the Houston office of Latham & Watkins, LLP from November 2013 to October 2014. From September 2012 to October 2013, Ms. Howell was an associate in the corporate department of the Silicon Valley office of Fenwick & West, LLP. Ms. Howell holds a Bachelor of Arts in Economics from Wake Forest University and a Juris Doctorate from Stanford Law School.

Terry A. Young, age 58, has served as Senior Vice President of Service for the Company since January 2019. Prior to his current position, Mr. Young served as a Regional Vice President of Service for the Company from June 2013 to December 2018 and as Director of Business Development from May 2011 to June 2013. Mr. Young joined the Company after working in various Executive GM and VP positions in Asia Pacific and North American organizations, including Triple M Mechanical, Daikin (formerly McQuay International) and the Trane Company. He has spent more than 35 years in the commercial HVAC construction and services industry in various roles including technical, engineering, business development, project and strategic activities. Mr. Young has 6Sigma & PMI certifications and is a graduate of the TAFE College of New South Wales, Australia where he completed studies in F&M Engineering.

PART II

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

Our Common Stock is traded under the symbol FIX on the New York Stock Exchange.

As of February 19, 2021, there were approximately 319 stockholders of record of our Common Stock, and the last reported sale price on that date was $60.56 per share.

We expect to continue paying cash dividends quarterly, although there is no assurance as to future dividends because they depend on future earnings, capital requirements, and financial condition. In addition, our credit agreement may limit the amount of dividends we can pay at any time that our Total Leverage Ratio exceeds 2.00 to 1.00.

24

The following Corporate Performance Graph and related information shall not be deemed “soliciting material” or to be “filed” with the SEC, nor shall such information be incorporated by reference into any future filing under the Securities Act or the Exchange Act, except to the extent that we specifically incorporate it by reference into such filing.

Graphic

Recent Sales of Unregistered Securities

None.

Issuer Purchases of Equity Securities

On March 29, 2007, our Board of Directors (the “Board”) approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On December 8, 2020, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 10.3 million shares to be repurchased. As of December 31, 2020, we have repurchased a cumulative total of 9.3 million shares at an average price of $19.63 per share under the repurchase program.

The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the twelve months ended December 31, 2020, we repurchased 0.7 million shares for approximately $30.1 million at an average price of $43.99 per share.

25

During the year ended December 31, 2020, we purchased our common shares in the following amounts at the following average prices:

    

    

    

Total Number of Shares

    

Maximum Number of

 

Purchased as Part of

Shares that May Yet Be

 

Total Number of

Average Price

Publicly Announced Plans

Purchased Under the Plans

 

Period

Shares Purchased

Paid Per Share

or Programs (1)

or Programs

 

January 1 - January 31

 

26,606

$

49.04

 

8,653,973

 

894,196

February 1 - February 29

 

17,724

$

47.58

 

8,671,697

 

876,472

March 1 - March 31

 

193,029

$

35.42

 

8,864,726

 

683,443

April 1 - April 30

 

$

 

8,864,726

 

683,443

May 1 - May 31

 

3,000

$

36.72

 

8,867,726

 

680,443

June 1 - June 30

 

49,991

$

38.22

 

8,917,717

 

630,452

July 1 - July 31

 

24,455

$

39.22

 

8,942,172

 

605,997

August 1 - August 31

 

23,966

$

51.00

 

8,966,138

 

582,031

September 1 - September 30

 

109,387

$

51.10

 

9,075,525

 

472,644

October 1 - October 31

 

37,442

$

46.62

 

9,112,967

 

435,202

November 1 - November 30

 

166,325

$

47.63

 

9,279,292

 

268,877

December 1 - December 31

 

32,709

$

51.21

 

9,312,001

 

981,750

 

684,634

$

43.99

 

9,312,001

 

981,750

(1)Purchased as part of a program announced on March 29, 2007 under which, since the inception of this program, 10.3 million shares have been approved for repurchase.

Under our 2012 Equity Incentive Plan and 2017 Omnibus Incentive Plan, employees may elect to have us withhold common shares to satisfy statutory federal, state and local tax withholding obligations arising on the vesting of restricted stock awards and exercise of options. When we withhold these shares, we are required to remit to the appropriate taxing authorities the market price of the shares withheld, which could be deemed a purchase of the common shares by us on the date of withholding.

ITEM 6. Selected Financial Data

The following selected historical financial data has been derived from our audited financial statements and should be read in conjunction with the historical Consolidated Financial Statements and related notes:

 

Year Ended December 31,

 

2020

 

2019

 

2018

 

2017

 

2016

 

(in thousands, except per share amounts)

STATEMENT OF OPERATIONS DATA:

    

    

    

    

    

    

    

    

    

    

Revenue

$

2,856,659

$

2,615,277

$

2,182,879

$

1,787,922

$

1,634,340

Operating income (1)

$

190,651

$

163,639

$

150,238

$

99,260

$

101,569

Net income

$

150,139

$

114,324

$

112,903

$

55,272

$

64,896

Basic income per share from continuing operations

$

4.11

$

3.10

$

3.03

$

1.48

$

1.74

Diluted income per share from continuing operations

$

4.09

$

3.08

$

3.00

$

1.47

$

1.72

Cash dividends per share

$

0.425

$

0.395

$

0.330

$

0.295

$

0.275

BALANCE SHEET DATA:

Working capital

$

118,948

$

182,187

$

142,642

$

115,629

$

98,276

Total assets (2)

$

1,757,355

$

1,505,012

$

1,062,564

$

881,120

$

708,903

Total debt, net

$

235,733

$

226,135

$

76,918

$

60,539

$

2,811

Total stockholders’ equity

$

696,429

$

585,304

$

498,047

$

417,945

$

376,633

(1)Included in operating income is a goodwill impairment charge of $1.1 million for 2017. There were no goodwill impairment charges for 2020, 2019, 2018 or 2016.
(2)The impact of adoption of the new lease accounting standard is reflected in total assets in 2019.

26

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

The following discussion and analysis should be read in conjunction with the Consolidated Financial Statements and related notes included elsewhere in this annual report on Form 10-K. Also see “Forward-Looking Statements” discussion.

Introduction and Overview

We are a national provider of comprehensive mechanical and electrical installation, renovation, maintenance, repair and replacement services within the mechanical and electrical services industries. We operate primarily in the commercial, industrial and institutional markets and perform most of our work in industrial, healthcare, education, office, technology, retail and government facilities. We operate our business in two business segments: mechanical and electrical.

Nature and Economics of Our Business

In our mechanical business segment, customers hire us to ensure HVAC systems deliver specified or generally expected heating, cooling, conditioning and circulation of air in a facility. This entails installing core system equipment such as packaged heating and air conditioning units, or in the case of larger facilities, separate core components such as chillers, boilers, air handlers, and cooling towers. We also typically install connecting and distribution elements such as piping and ducting.

In our electrical business segment, our principal business activity is electrical construction and engineering in the commercial and industrial field. We also perform electrical logistics services, electrical service work, and electrical construction and engineering services.

In both our mechanical and electrical business segments, our responsibilities usually require conforming the systems to pre-established engineering drawings and equipment and performance specifications, which we frequently participate in establishing. Our project management responsibilities include staging equipment and materials to project sites, deploying labor to perform the work, and coordinating with other service providers on the project, including any subcontractors we might use to deliver our portion of the work.

Approximately 87.0% of our revenue is earned on a project basis for installation services in newly constructed facilities or for replacement of systems in existing facilities. When competing for project business, we usually estimate the costs we will incur on a project, and then propose a bid to the customer that includes a contract price and other performance and payment terms. Our bid price and terms are intended to cover our estimated costs on the project and provide a profit margin to us commensurate with the value of the installed system to the customer, the risk that project costs or duration will vary from estimate, the schedule on which we will be paid, the opportunities for other work that we might forego by committing capacity to this project, and other costs that we incur to support our operations but which are not specific to the project. Typically, customers will seek pricing from competitors for a given project. While the criteria on which customers select a provider vary widely and include factors such as quality, technical expertise, on-time performance, post-project support and service, and company history and financial strength, we believe that price for value is the most influential factor for most customers in choosing a mechanical or electrical installation and service provider.

After a customer accepts our bid, we generally enter into a contract with the customer that specifies what we will deliver on the project, what our related responsibilities are, and how much and when we will be paid. Our overall price for the project is typically set at a fixed amount in the contract, although changes in project specifications or work conditions that result in unexpected additional work are usually subject to additional payment from the customer via what are commonly known as change orders. Project contracts typically provide for periodic billings to the customer as we meet progress milestones or incur cost on the project. Project contracts in our industry also frequently allow for a small portion of progress billings or contract price to be withheld by the customer until after we have completed the work. Amounts withheld under this practice are known as retention or retainage.

Labor, materials and overhead costs account for the majority of our cost of service. Labor management and utilization have the most impact on our project performance. Given the fixed price nature of much of our project work, if our initial estimate of project costs is wrong or we incur cost overruns that cannot be recovered in change orders, we can

27

experience reduced profits or even significant losses on fixed price project work. We also perform some project work on a cost-plus or a time and materials basis, under which we are paid our costs incurred plus an agreed-upon profit margin, and such projects are sometimes subject to a guaranteed maximum cost. These margins are frequently less than fixed-price contract margins because there is less risk of unrecoverable cost overruns in cost-plus or time and materials work.

As of December 31, 2020, we had 5,687 projects in process. Our average project takes six to nine months to complete, with an average contract price of approximately $871,000. Our projects generally require working capital funding of equipment and labor costs. Customer payments on periodic billings generally do not recover these costs until late in the job. Our average project duration together with typical retention terms as discussed above generally allow us to complete the realization of revenue and earnings in cash within one year. We have what we consider to be a well-diversified distribution of revenue across end-use sectors that we believe reduces our exposure to negative developments in any given sector. Because of the integral nature of our services to most buildings, we have the legal right in almost all cases to attach liens to buildings or related funding sources when we have not been fully paid for installing systems, except with respect to some government buildings. The service work that we do, which is discussed further below, usually does not give rise to lien rights.

We also perform larger projects. Taken together, projects with contract prices of $1 million or more totaled $4.3 billion of aggregate contract value as of December 31, 2020, or approximately 85%, out of a total contract value for all projects in progress of $5.0 billion. Generally, projects closer in size to $1 million will be completed in one year or less. It is unusual for us to work on a project that exceeds two years in length.

A stratification of projects in progress as of December 31, 2020, by contract price, is as follows:

    

    

Aggregate

 

Contract

 

No. of

Price Value

 

Contract Price of Project

Projects

(millions)

 

Under $1 million

 

4,905

$

644.0

$1 million - $5 million

 

575

 

1,283.4

$5 million - $10 million

 

94

 

692.3

$10 million - $15 million

 

56

 

684.9

Greater than $15 million

 

57

 

1,648.3

Total

 

5,687

$

4,952.9

In addition to project work, approximately 13.0% of our revenue represents maintenance and repair service on already installed HVAC, electrical, and controls systems. This kind of work usually takes from a few hours to a few days to perform. Prices to the customer are based on the equipment and materials used in the service as well as technician labor time. We usually bill the customer for service work when it is complete, typically with payment terms of up to thirty days. We also provide maintenance and repair service under ongoing contracts. Under these contracts, we are paid regular monthly or quarterly amounts and provide specified service based on customer requirements. These agreements typically are for one or more years and frequently contain thirty- to sixty-day cancellation notice periods.

A relatively small portion of our revenue comes from national and regional account customers. These customers typically have multiple sites and contract with us to perform maintenance and repair service. These contracts may also provide for us to perform new or replacement systems installation. We operate a national call center to dispatch technicians to sites requiring service. We perform the majority of this work with our own employees, with the balance being subcontracted to third parties that meet our performance qualifications.

Profile and Management of Our Operations

We manage our 37 operating units based on a variety of factors. Financial measures we emphasize include profitability and use of capital as indicated by cash flow and by other measures of working capital principally involving project cost, billings and receivables. We also monitor selling, general, administrative and indirect project support expense, backlog, workforce size and mix, growth in revenue and profits, variation of actual project cost from original estimate, and overall financial performance in comparison to budget and updated forecasts. Operational factors we emphasize include project selection, estimating, pricing, management and execution practices, labor utilization, safety,

28

training, and the make-up of both existing backlog as well as new business being pursued, in terms of project size, technical application, facility type, end-use customers and industries and location of the work.

Most of our operations compete on a local or regional basis. Attracting and retaining effective operating unit managers is an important factor in our business, particularly in view of the relative uniqueness of each market and operation, the importance of relationships with customers and other market participants, such as architects and consulting engineers, and the high degree of competition and low barriers to entry in most of our markets. Accordingly, we devote considerable attention to operating unit management quality, stability, and contingency planning, including related considerations of compensation and non-competition protection where applicable.

Economic and Industry Factors

As a mechanical and electrical services provider, we operate in the broader nonresidential construction services industry and are affected by trends in this sector. While we do not have operations in all major cities of the United States, we believe our national presence is sufficiently large that we experience trends in demand for and pricing of our services that are consistent with trends in the national nonresidential construction sector. As a result, we monitor the views of major construction sector forecasters along with macroeconomic factors they believe drive the sector, including trends in gross domestic product, interest rates, business investment, employment, demographics and the fiscal condition of federal, state and local governments.

Spending decisions for building construction, renovation and system replacement are generally made on a project basis, usually with some degree of discretion as to when and if projects proceed. With larger amounts of capital, time, and discretion involved, spending decisions are affected to a significant degree by uncertainty, particularly concerns about economic and financial conditions and trends. We have experienced periods of time when economic weakness caused a significant slowdown in decisions to proceed with installation and replacement project work.

Operating Environment and Management Emphasis

Nonresidential building construction and renovation activity, as reported by the federal government, declined steeply over the four-year period from 2009 to 2012, and 2013 and 2014 activity levels were relatively stable at the low levels of the preceding years. During the five-year period from 2015 to 2019, there was an increase in overall activity levels, and then in early 2020 the advent of a global pandemic led to some delays in service and construction, including the potential for delayed project starts and air pockets as the year ended.

We have a credit facility in place, with terms we believe are favorable, that does not expire until January 2025. As of December 31, 2020, we had $330.5 million of credit available to borrow under our credit facility. We have strong surety relationships to support our bonding needs, and we believe our relationships with the surety markets are strong and benefit from our operating history and financial position. We have generated positive free cash flow in each of the last twenty-two calendar years and will continue our emphasis in this area. We believe that the relative size and strength of our Balance Sheet and surety relationships as compared to most companies in our industry represent competitive advantages for us.

As discussed at greater length in “Results of Operations” below, we expect price competition to continue as our customers and local and regional industry participants compete for customers. We will continue to invest in our service business, to pursue the more active sectors in our markets, and to emphasize our regional and national account business.

Critical Accounting Policies

Our critical accounting policies are based upon the significance of the accounting policy to our overall financial statement presentation, as well as the complexity of the accounting policy and our use of estimates and subjective assessments. Our most critical accounting policy is revenue recognition. We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is

29

based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.

As discussed elsewhere in this annual report on Form 10-K, our business has two service functions: (i) installation, which we account for under the percentage of completion method, and (ii) maintenance, repair and replacement, which we account for as the services are performed, or in the case of replacement, under the percentage of completion method. In addition, we identified other critical accounting policies related to our allowance for credit losses, accounting for leases, the recording of our self-insurance liabilities, valuation of deferred tax assets, accounting for acquisitions and the recoverability of goodwill and identifiable intangible assets. These accounting policies, as well as others, are described in Note 2 to the Consolidated Financial Statements included elsewhere in this annual report on Form 10-K.

Percentage of Completion Method of Accounting

Approximately 87.0% of our revenue was earned on a project basis and recognized through the percentage of completion method of accounting during 2020. Under this method, contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non-labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.

We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtainment or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.

Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in our Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption “Billings in excess of costs and estimated earnings.”

30

The percentage of completion method of accounting is also affected by changes in job performance, job conditions, and final contract settlements. These factors may result in revisions to estimated costs and, therefore, revenue. Such revisions are frequently based on further estimates and subjective assessments. The effects of these revisions are recognized in the period in which revisions are determined. When such revisions lead to a conclusion that a loss will be recognized on a contract, the full amount of the estimated ultimate loss is recognized in the period such conclusion is reached, regardless of the percentage of completion of the contract.

Revisions to project costs and conditions can give rise to change orders under which there is an agreement between the customer and us that the customer pays an additional or reduced contract price. Revisions can also result in claims we might make against the customer to recover project variances that have not been satisfactorily addressed through change orders with the customer. Except in certain circumstances, we do not recognize revenue or margin based on change orders or claims until they have been agreed upon with the customer. The amount of revenue associated with unapproved change orders and claims was immaterial for the year ended December 31, 2020.

Variations from estimated project costs could have a significant impact on our operating results, depending on project size, and the recoverability of the variation via additional customer payments.

Accounting for Allowance for Credit Losses

Effective January 1, 2020, we adopted the requirements of Accounting Standards Update (ASU) No. 2016-13, “Financial Instruments – Credit Losses (Topic 326).” For additional information on the new standard and the impact on our results of operations, refer to our Summary of Significant Accounting Policies in Note 2 to the Consolidated Financial Statements.

We are required to estimate and record the expected credit losses over the contractual life of our financial assets measured at amortized cost, including billed and unbilled accounts receivable, other receivables and costs and estimated earnings in excess of billings. Accounts receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. Our trade receivables are contractually due in less than a year.

We estimate our credit losses using a loss-rate method for each of our identified portfolio segments. Our portfolio segments are construction, service and other. While our construction and service financial assets are often with the same subset of customers and industries, our construction financial assets will generally have a lower loss-rate than service financial assets due to lien rights, which we are more likely to have on construction jobs. These lien rights result in lower credit loss expenses on average compared to receivables that do not have lien rights. Financial assets classified as Other include receivables that are not related to our core revenue producing activities, such as receivables related to our acquisition activity from former owners, our vendor rebate program or receivables for estimated losses in excess of our insurance deductible, which are accrued with a corresponding accrued insurance liability.

Loss rates for our portfolios are based on numerous factors, including our history of credit loss expense by portfolio, the financial strength of our customers and counterparties in each portfolio, the aging of our receivables, our expectation of likelihood of payment, macroeconomic trends in the U.S. and the current and forecasted non-residential construction market trends in the U.S.

In addition to the loss-rate calculations discussed above, we also record allowance for credit losses for specific receivables that are deemed to have a higher risk profile than the rest of the respective pool of receivables, such as concerns about a specific customer going bankrupt and no longer being able to pay the receivables due to us. These estimates are evaluated and adjusted as needed when additional information is received.

Accounting for Leases

We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.

31

The lease terms generally range from three to ten years. Some leases include one or more options to renew, which may be exercised to extend the lease term. We include the exercise of lease renewal options in the lease term when it is reasonably certain that we will exercise the option and such exercise is at our sole discretion. A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees.

If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions, we rent or sublease certain real estate assets that we no longer use to third parties.

Accounting for Self-Insurance Liabilities

We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks—workers’ compensation, auto liability and general liability—are reviewed by a third-party actuary quarterly.

We believe these accruals are adequate. However, insurance liabilities are difficult to estimate due to unknown factors, including the severity of an injury, the determination of our liability in proportion to other parties, timely reporting of occurrences, ongoing treatment or loss mitigation, general trends in litigation recovery outcomes and the effectiveness of safety and risk management programs. Therefore, if actual experience differs from the assumptions and estimates used for recording the liabilities, adjustments may be required and would be recorded in the period that such experience becomes known.

Accounting for Deferred Tax Assets

We regularly evaluate valuation allowances established for deferred tax assets for which future realization is uncertain. In assessing the realizability of deferred tax assets, we must consider whether it is more-likely-than-not some portion, or all, of the deferred tax assets will not be realized. We consider all available evidence, both positive and negative, in determining whether a valuation allowance is required. Such evidence includes the scheduled reversal of deferred tax liabilities, projected future taxable income, taxable income in prior carryback years and tax planning strategies in making this assessment, and judgment is required in considering the relative weight of negative and positive evidence.

Acquisitions

We recognize assets acquired and liabilities assumed in business combinations, including contingent assets and liabilities, based on fair value estimates as of the date of acquisition.

Contingent Consideration—In certain acquisitions, we agree to pay additional amounts to sellers contingent upon achievement by the acquired businesses of certain predetermined profitability targets. We have recognized liabilities for these contingent obligations based on their estimated fair value at the date of acquisition with any differences between the acquisition date fair value and the ultimate settlement of the obligations being recognized in income from operations.

Contingent Assets and Liabilities—Assets and liabilities arising from contingencies are recognized at their acquisition date fair value when their respective fair values can be determined. If the fair values of such contingencies cannot be determined, they are recognized at the acquisition date if the contingencies are probable and an amount can be reasonably estimated. Acquisition date fair value estimates are revised as necessary if, and when, additional information regarding these contingencies becomes available to further define and quantify assets acquired and liabilities assumed.

Recoverability of Goodwill and Identifiable Intangible Assets

Goodwill is the excess of purchase price over the fair value of the net assets of acquired businesses. We assess goodwill for impairment each year, and more frequently if circumstances suggest an impairment may have occurred.

32

When the carrying value of a given reporting unit exceeds its fair value, a goodwill impairment loss is recorded for this difference, not to exceed the carrying amount of goodwill. The requirements for assessing whether goodwill has been impaired involve market-based information. This information, and its use in assessing goodwill, entails some degree of subjective assessment.

We perform our annual impairment testing as of October 1, and any impairment charges resulting from this process are reported in the fourth quarter. We segregate our operations into reporting units based on the degree of operating and financial independence of each unit and our related management of them. We perform our annual goodwill impairment testing at the reporting unit level. We perform a goodwill impairment review for each of our operating units, as we have determined that each of our operating units are reporting units.

In the evaluation of goodwill for impairment, we have the option to first assess qualitative factors to determine whether the existence of events or circumstances lead to a determination that it is more likely than not that the fair value of one of our reporting units is greater than its carrying value. If, after completing such assessment, we determine it is more likely than not that the fair value of a reporting unit is greater than its carrying amount, then there is no need to perform any further testing. If we conclude otherwise, or if we elect to perform a quantitative assessment, then we calculate the fair value of the reporting unit and compare the fair value with the carrying value of the reporting unit.

We estimate the fair value of the reporting unit based on a market approach and an income approach, which utilizes discounted future cash flows. Assumptions critical to the fair value estimates under the discounted cash flow model include discount rates, cash flow projections, projected long-term growth rates and the determination of terminal values. The market approach utilizes market multiples of invested capital from comparable publicly traded companies (“public company approach”). The market multiples from invested capital include revenue, book equity plus debt and earnings before interest, provision for income taxes, depreciation and amortization (“EBITDA”).

There are significant inherent uncertainties and management judgment involved in estimating the fair value of each reporting unit. While we believe we have made reasonable estimates and assumptions to estimate the fair value of our reporting units, it is possible that a material change could occur. If actual results are not consistent with our current estimates and assumptions, or the current economic outlook worsens, goodwill impairment charges may be recorded in future periods.

We amortize identifiable intangible assets with finite lives over their useful lives. Changes in strategy and/or market condition may result in adjustments to recorded intangible asset balances or their useful lives.

33

Results of Operations (in thousands):

Year Ended December 31,

2020

    

2019

    

2018

Revenue

$

2,856,659

    

100.0

%

$

2,615,277

    

100.0

%

$

2,182,879

    

100.0

%

Cost of services

 

2,309,676

 

80.9

%

 

2,113,334

 

80.8

%

 

1,736,600

 

79.6

%

Gross profit

 

546,983

 

19.1

%

 

501,943

 

19.2

%

 

446,279

 

20.4

%

Selling, general and administrative expenses

 

357,777

 

12.5

%

 

340,005

 

13.0

%

 

296,986

 

13.6

%

Gain on sale of assets

 

(1,445)

 

(0.1)

%

 

(1,701)

 

(0.1)

%

 

(945)

 

Operating income

 

190,651

 

6.7

%

 

163,639

 

6.3

%

 

150,238

 

6.9

%

Interest income

 

103

 

 

224

 

 

73

 

Interest expense

 

(8,385)

 

(0.3)

%

 

(9,317)

 

(0.4)

%

 

(3,710)

 

(0.2)

%

Changes in the fair value of contingent earn-out obligations

 

9,119

 

0.3

%

 

(2,991)

 

(0.1)

%

 

(2,066)

 

(0.1)

%

Other income (expense)

 

52

 

 

187

 

 

4,141

 

0.2

%

Income before income taxes

 

191,540

 

6.7

%

 

151,742

 

5.8

%

 

148,676

 

6.8

%

Provision for income taxes

 

41,401

 

37,418

 

35,773

Net income

$

150,139

$

114,324

$

112,903

2020 Compared to 2019

We had 35 operating locations as of December 31, 2019. In the second quarter of 2020, we completed the acquisition of TAS Energy Inc. (“TAS”), which reports as a separate operating location. In the fourth quarter of 2020, we completed the acquisition of TEC Industrial Construction and Maintenance (“T E C”), which reports as a separate operating location. As of December 31, 2020, we had 37 operating locations. Acquisitions are included in our results of operations from the respective acquisition date. The same-store comparison from 2020 to 2019, as described below, excludes T E C, which was acquired December 31, 2020, eleven months of results for our electrical contractor in North Carolina, which was acquired February 1, 2020 and reports together with our existing North Carolina operation, nine months of results for TAS, which was acquired April 1, 2020 and three months of results for Walker, which was acquired April 1, 2019. An operating location is included in the same-store comparison on the first day it has comparable prior year operating data, except for immaterial acquisitions that were absorbed and integrated, or “tucked-in,” with existing operations.

Revenue—Revenue increased $241.4 million, or 9.2%, to $2.86 billion in 2020 compared to 2019. The increase included an 11.6% increase related to the TAS, North Carolina electrical contractor and Walker acquisitions and a 2.4% decrease in revenue related to same-store activity.

The following table presents our operating segment revenue (in thousands, except percentages):

 

Year Ended December 31,

 

    

2020

    

2019

    

Revenue:

    

Mechanical Services

$

2,413,016

    

84.5

%  

$

2,251,560

 

86.1

%

Electrical Services

 

443,643

 

15.5

%

 

363,717

 

13.9

%

Total

$

2,856,659

 

100.0

%

$

2,615,277

 

100.0

%

Revenue for our mechanical services segment increased $161.5 million, or 7.2%, to $2.41 billion in 2020 compared to 2019. Of this increase, $106.4 million was attributable to the TAS acquisition. The same-store revenue increase included an increase in the education sector at one of our Virginia operations ($22.1 million), in the office building and healthcare sectors at one of our Tennessee operations ($19.2 million) and in the education sector at our Wisconsin operation ($14.8 million). This increase was offset by the sale of the majority of the assets and ongoing business of our California operation in the third quarter of 2019 ($14.1 million).

Revenue for our electrical services segment increased $79.9 million to $443.6 million in 2020 compared to 2019. The increase related to the acquisition of Walker in April 2019 as well as the acquisition of the electrical

34

contractor in North Carolina in February 2020. These increases were partially offset by a $118.0 million decrease in same-store revenue, primarily resulting from expected decreases driven by a higher volume of large jobs in the prior period at our Walker operation and the impact of Coronavirus Disease 2019 (“COVID-19”).

Backlog reflects revenue still to be recognized under contracted or committed installation and replacement project work. Project work generally lasts less than one year. Service agreement revenue, service work and short duration projects, which are generally billed as performed, do not flow through backlog. Accordingly, backlog represents only a portion of our revenue for any given future period, and it represents revenue that is likely to be reflected in our operating results over the next six to twelve months. As a result, we believe the predictive value of backlog information is limited to indications of general revenue direction over the near term and should not be interpreted as indicative of ongoing revenue performance over several quarters.

 

December 31,

December 31,

 

    

2020

    

2019

    

Backlog:

    

Mechanical Services

$

1,253,762

    

83.0

%  

$

1,348,651

 

84.2

%

Electrical Services

 

257,652

 

17.0

%

 

253,135

 

15.8

%

Total

$

1,511,414

 

100.0

%

$

1,601,786

 

100.0

%

Backlog as of December 31, 2020 was $1.51 billion, a 5.8% increase from September 30, 2020 backlog of $1.43 billion and a 5.6% decrease from December 31, 2019 backlog of $1.60 billion. The sequential backlog increase included the T E C acquisition ($72.8 million or 5.1%). Same-store backlog increased 0.7%, primarily due to increased project bookings at TAS ($124.3 million), offset by completion of project work at our Colorado operation ($23.9 million), one of our Indiana operations ($19.4 million) and our Walker operation ($13.5 million). The year-over-year backlog decrease included a same-store backlog decrease of 23.4%, which was broad-based and was primarily as a result of completion of project work at our Walker operation ($116.3 million), our Colorado operation ($33.7 million) and one of our Florida operations ($29.7 million). This decrease was partially offset by the acquisition of the North Carolina electrical contractor ($47.4 million), the TAS acquisition ($164.3 million) and the T E C acquisition ($72.8 million).

Gross Profit—Gross profit increased $45.0 million, or 9.0%, to $547.0 million in 2020 as compared to 2019. The increase included a $20.7 million, or 4.1%, increase related to the Walker, TAS and North Carolina electrical contractor acquisitions and a $24.4 million, or 4.9%, increase on a same-store basis. The same-store increase in gross profit was primarily due to improvement in project execution at our North Carolina operation ($14.8 million), one of our Indiana operations ($11.0 million) and one of our Tennessee operations ($6.7 million), offset by a decrease at one of our Florida operations ($8.2 million). As a percentage of revenue, gross profit decreased slightly from 19.2% in 2019 to 19.1% in 2020. Improvements in project execution discussed above were offset by lower margins on the Walker acquisition, which was acquired in April 2019, and by preventative and protective actions taken on projects, such as social distancing and other procedure adjustments caused by COVID-19, which negatively impacted margins starting in March 2020.

Selling, General and Administrative Expenses (“SG&A”)—SG&A increased $17.8 million, or 5.2%, to $357.8 million for 2020 as compared to 2019. On a same-store basis, excluding amortization expense, SG&A decreased $6.2 million, or 1.9%. This decrease is primarily due to the sale of the majority of the assets and ongoing business of our California operation in the third quarter of 2019 ($5.7 million) as well as due to a reduction in travel-related expenses as a result of COVID-19 ($4.2 million). These decreases were partially offset by an increase in bad debt expense of $1.3 million, mainly driven by concerns about collectability of certain receivables due to the business interruptions caused by COVID-19, specifically with respect to receivables with retail, restaurants and entertainment companies. Additionally, tax consulting fees increased from $1.3 million in 2019 to $2.8 million in 2020. Amortization expense increased $3.8 million during the period primarily as a result of the TAS and North Carolina electrical contractor acquisitions. As a percentage of revenue, SG&A decreased from 13.0% in 2019 to 12.5% in 2020 due to the factors discussed above and due to the acquisition of Walker, which has lower SG&A as a percentage of revenue.

We have included same-store SG&A, excluding amortization, because we believe it is an effective measure of comparative results of operations. However, same-store SG&A, excluding amortization, is not considered under generally accepted accounting principles to be a primary measure of an entity’s financial results, and accordingly, should not be considered an alternative to SG&A as shown in our consolidated statements of operations.

35

 

Year Ended

 

December 31,

    

2020

    

2019

 

 

(in thousands)

SG&A

$

357,777

$

340,005

Less: SG&A from companies acquired

 

(20,125)

 

Less: Amortization expense

 

(26,486)

 

(22,654)

Same-store SG&A, excluding amortization expense

$

311,166

$

317,351

Interest Expense—Interest expense decreased $0.9 million, or 10.0%, in 2020. A reduction in our average interest rate on outstanding borrowings in 2020 as compared to 2019 caused the decrease in interest expense.

Changes in the Fair Value of Contingent Earn-out Obligations—The contingent earn-out obligations are measured at fair value each reporting period and changes in estimates of fair value are recognized in earnings. Income from changes in the fair value of contingent earn-out obligations increased $12.1 million in 2020 compared to 2019. The increases were caused by higher expenses in the prior year as a result of increasing our obligation for the BCH acquisition as earnings exceeded forecast in the prior year as well as a reduction in our obligation for Walker in the current year caused by project delays, the impact of COVID-19 and lower than forecasted earnings in the fourth quarter of 2020.

Provision for Income Taxes—We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items, such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions, accounting for losses associated with underperforming operations and noncontrolling interests.

Our provision for income taxes for 2020 was $41.4 million with an effective tax rate of 21.6%, as compared to a provision for income taxes of $37.4 million with an effective tax rate of 24.7% for 2019. The effective rate for 2020 was higher than the 21% federal statutory rate primarily due to net state income taxes (4.4%) and nondeductible expenses, including nondeductible expenses related to TAS (1.3%), partially offset by reductions in unrecognized tax benefits plus interest as a result of settlement with the Internal Revenue Service (the “IRS”) upon completion of its examination of our amended federal returns for 2014 and 2015 (4.7%). The effective rate for 2019 was higher than the 21% federal statutory rate primarily due to net state income taxes (4.4%) and nondeductible expenses (1.4%), partially offset by benefits from the filing, and expected filing, of amended returns to claim the energy efficient commercial buildings deduction (the “179D deduction”) allocated to us (1.5%) and deductions for stock-based compensation (0.5%). Refer to Note 11 in the Consolidated Financial Statements for a reconciliation of the federal statutory rates to the effective tax rates reflected in our financial statements.

The decrease in our effective tax rate from 2019 to 2020 was primarily due to reductions in unrecognized tax benefits as a result of settlement with the IRS upon completion of its examination of our amended federal returns for 2014 and 2015 partially offset by nondeductible expenses related to TAS and smaller benefits from the filing of amended returns to claim the 179D deduction allocated to us.

We currently estimate our future effective tax rates will be between 25% and 30%. However, our effective tax rates could be on the low end of this range, or lower, as we continue to pursue claims for the credit for increasing research activities (the “R&D tax credit”) and the 179D deduction allocated to us. The 179D deduction was made permanent by the Consolidated Appropriations Act, 2021.

36

2019 Compared to 2018

For a discussion of the period-to-period comparison of 2019 to 2018, please refer to “Item 7—Management’s Discussion and Analysis of Financial Condition and Results of Operations—Results of Operations—2019 Compared to 2018” in our Annual Report on Form 10-K for the year ended December 31, 2019.

Outlook

Industry conditions improved during the four-year period from 2016 to 2019, and at the beginning of 2020 we expected this strong activity to continue during 2020. However, starting at the end of the first quarter of 2020, we experienced negative impacts to our business due to the business disruption caused by COVID-19. In March 2020, the World Health Organization categorized COVID-19 as a pandemic, and the United States declared the COVID-19 outbreak a national emergency.

Our service business experienced the first and most pronounced negative impacts, largely because of building closures or decisions by customers to limit building access. As of the end of the third quarter, the majority of our service operations had returned to levels that are at or near normal functioning. Our construction activities have generally been classified as essential services in the substantial majority of our markets, although we have had certain jobs temporarily or partially close due to government action, decisions by owners, or upon positive tests for COVID-19 of workers at various sites. We have also experienced delays in the award of new construction work in certain instances, and we have also faced limited instances of delayed starts. At the outset of the pandemic, we had some delays or cancellations of work in less than 5% of our backlog. Across our operations, we have implemented safety precautions and other COVID-19 related guidelines that have added cost or inefficiency as we work to create a safe environment for our team members and our communities. The Company considered the ongoing impact of COVID-19 on the assumptions and estimates used to determine our results and asset valuations as of December 31, 2020 and determined that there were no material or systematic adverse impacts on the Company except for diminished revenue, operational inefficiency, and adjustments in bad debt expense due to the potential for nonpayment by customers in industries more directly impacted by COVID-19.

Although conditions are stabilizing, COVID-19 continues to affect our business outlook, and we expect that in some markets we will experience additional delays in the award or commencement of a portion of our projects that is likely to impact activity levels in the coming quarters, and particularly during the first half of 2021. Despite these factors, we currently anticipate our full-year 2021 results are likely to be similar to, but somewhat lower than, the record results that we achieved in 2020, and we continue to prepare for a wide range of economic circumstances.

Liquidity and Capital Resources

Year Ended December 31,

 

2020

    

2019

    

2018

 

(in thousands)

Cash provided by (used in):

    

    

    

    

    

Operating activities

$

286,510

$

142,028

$

147,190

Investing activities

 

(207,802)

 

(224,450)

 

(95,710)

Financing activities

 

(74,600)

 

87,590

 

(42,402)

Net increase (decrease) in cash and cash equivalents

$

4,108

$

5,168

$

9,078

Free cash flow:

Cash provided by operating activities

$

286,510

$

142,028

$

147,190

Purchases of property and equipment

 

(24,131)

 

(31,750)

 

(27,268)

Proceeds from sales of property and equipment

 

2,270

 

2,159

 

1,698

Free cash flow

$

264,649

$

112,437

$

121,620

Cash Flow

Our business does not require significant amounts of investment in long-term fixed assets. The substantial majority of the capital used in our business is working capital that funds our costs of labor and installed equipment deployed in project work until our customer pays us. Customary terms in our industry allow customers to withhold a

37

small portion of the contract price until after we have completed the work, typically for six months. Amounts withheld under this practice are known as retention or retainage. Our average project duration, together with typical retention terms, generally allow us to complete the realization of revenue and earnings in cash within one year.

2020 Compared to 2019

Cash Provided by Operating Activities—Cash flow from operations is primarily influenced by demand for our services and operating margins but can also be influenced by working capital needs associated with the various types of services that we provide. In particular, working capital needs may increase when we commence large volumes of work under circumstances where project costs, primarily associated with labor, equipment and subcontractors, are required to be paid before the receivables resulting from the work performed are billed and collected. Working capital needs are generally higher during the late winter and spring months as we prepare and plan for the increased project demand when favorable weather conditions exist in the summer and fall months. Conversely, working capital assets are typically converted to cash during the late summer and fall months as project completion is underway. These seasonal trends are sometimes offset by changes in the timing of major projects, which can be impacted by the weather, project delays or accelerations and other economic factors that may affect customer spending.

We generated $286.5 million of cash flow from operating activities during 2020 compared with $142.0 million during 2019. The $144.5 million increase was primarily driven by an $88.0 million change in receivables, net attributable to strong collections in the current year, a $15.6 million change in other long-term liabilities, a $15.1 million change in billings in excess of costs, which was driven by timing of payments and project billings, and a $10.7 million change in prepaid expenses and other current assets. Operating cash flows in the current year benefited by approximately $32.0 million from the deferral of payroll taxes allowed by the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) that normally would have been paid by December 31, 2020.

Cash Used in Investing Activities—Cash used in investing activities was $207.8 million for 2020 compared to $224.5 million during 2019. The $16.6 million decrease in cash used primarily relates to less cash paid (net of cash acquired) for acquisitions and capital expenditures in 2020 compared to the same period in 2019.

Cash Provided by (Used in) Financing Activities—Cash used in financing activities was $74.6 million for 2020 compared to cash provided by financing activities of $87.6 million during 2019. The $162.2 million increase in cash used in financing activities is primarily due to a decrease in net proceeds from the debt compared to the prior year, which was driven by stronger operating cash flows in the current year that allowed us to pay down more debt.

2019 Compared to 2018

For a discussion of the period-to-period comparison of 2019 to 2018, please refer to “Item 7—Management’s Discussion and Analysis of Financial Condition and Results of Operations—Liquidity and Capital Resources—2019 Compared to 2018” in our Annual Report on Form 10-K for the year ended December 31, 2019.

Free Cash Flow

We define free cash flow as cash provided by operating activities, less customary capital expenditures, plus the proceeds from asset sales. We believe free cash flow, by encompassing both profit margins and the use of working capital over our approximately one year working capital cycle, is an effective measure of operating effectiveness and efficiency. We have included free cash flow information here for this reason, and because we are often asked about it by third parties evaluating us. However, free cash flow is not considered under generally accepted accounting principles to be a primary measure of an entity’s financial results, and accordingly free cash flow should not be considered an alternative to operating income, net income, or amounts shown in our consolidated statements of cash flows as determined under generally accepted accounting principles. Free cash flow may be defined differently by other companies.

Share Repurchase Program

On March 29, 2007, our Board of Directors approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On December 8, 2020, the Board

38

approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 10.3 million shares to be repurchased. As of December 31, 2020, we have repurchased a cumulative total of 9.3 million shares at an average price of $19.63 per share under the repurchase program.

The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the year ended December 31, 2020, we repurchased 0.7 million shares for approximately $30.1 million at an average price of $43.99 per share.

Debt

Revolving Credit Facility and Term Loan

We have a $600.0 million senior credit facility (the “Facility”) provided by a syndicate of banks. The Facility is composed of a revolving credit line in the amount of $450.0 million and a $150.0 million term loan, and the Facility also provides for a $150.0 million accordion or increase option for the revolving portion of the Facility. As of December 31, 2020, the Facility capacity was $585.0 million as the term loan was paid down by $15.0 million since the inception of the Facility. The Facility also includes a sublimit of up to $160.0 million issuable in the form of letters of credit. The Facility expires in January 2025 and is secured by a first lien on substantially all of our personal property except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries and our wholly owned captive insurance company and a second lien on our assets related to projects subject to surety bonds. In 2019, we incurred approximately $1.4 million in financing and professional costs in connection with an amendment to the Facility, which are being amortized over the remaining term of the Facility. Of this amount, $0.4 million is attributable to the term loan and is being amortized using the effective interest method. The remaining $1.0 million is attributable to the revolving credit line, which combined with the previous unamortized costs of $1.3 million, is being amortized over the remaining term of the Facility on a straight-line basis as a non-cash charge to interest expense. For the term loan, we are required to make quarterly payments increasing over time from 1.25% to 3.75% of the original aggregate principal amount of the term loan, with the balance due in January 2025. As of December 31, 2020, we had $135.0 million principal outstanding on the term loan, $70.0 million of outstanding borrowings, $49.5 million in letters of credit outstanding and $330.5 million of credit available.

There are two interest rate options for borrowings under the Facility, the Base Rate Loan option and the Eurodollar Rate Loan option. These rates are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. Additional margins are then added to these two rates. The weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of December 31, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of December 31, 2020.

Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility for a fee. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such claims are unlikely in the foreseeable future. The letter of credit fees range from 1.25% to 2.00% per annum, based on the ratio of Consolidated Total Indebtedness to “Credit Facility Adjusted EBITDA,” which shall mean Consolidated EBITDA as such term is defined in the credit agreement.

Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. These fees range from 0.20% to 0.35% per annum, based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA.

39

Interest expense included the following primary elements (in thousands):

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Interest expense on notes to former owners

$

1,354

$

1,531

$

642

Interest expense on borrowings and unused commitment fees

 

5,319

 

6,887

 

2,211

Interest expense on interest rate swaps

338

Letter of credit fees

 

830

 

512

 

474

Amortization of debt financing costs

 

544

 

387

 

383

Total

$

8,385

$

9,317

$

3,710

The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end. Credit Facility Adjusted EBITDA is defined under the Facility for financial covenant purposes as net earnings for the four quarters ending as of any given quarterly covenant compliance measurement date, plus the corresponding amounts for (a) interest expense; (b) provision for income taxes; (c) depreciation and amortization; (d) stock compensation; (e) other non-cash charges; and (f) pre-acquisition results of acquired companies. The following is a reconciliation of Credit Facility Adjusted EBITDA to net income for 2020 (in thousands):

Net income

    

$

150,139

 

Provision for income taxes

 

41,401

Interest expense, net

 

8,282

Depreciation and amortization expense

 

60,629

Stock-based compensation

 

6,934

Pre-acquisition results of acquired companies, as defined under the Facility

 

18,511

Credit Facility Adjusted EBITDA

$

285,896

The Facility’s principal financial covenants include:

Total Leverage Ratio—The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The total leverage ratio as of December 31, 2020 was 0.8.

Fixed Charge Coverage Ratio—The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock when the Company’s Total Leverage Ratio exceeds 2.00 to 1.00 to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 1.50 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense, and scheduled principal payments are defined under the Facility, for purposes of this covenant, to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of December 31, 2020 was 7.2.

Other Restrictions—The Facility permits acquisitions of up to $5.0 million per transaction, provided that the aggregate purchase price of such an acquisition and of acquisitions in the same fiscal year does not exceed $10.0 million. However, these limitations only apply when the Company’s Total Leverage Ratio is greater than 2.50 to 1.00.

While the Facility’s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate the Facility’s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.

We were in compliance with all of our financial covenants as of December 31, 2020.

Notes to Former Owners

As part of the consideration used to acquire four companies, we have outstanding notes to the former owners. Together, these notes had an outstanding balance of $31.0 million as of December 31, 2020. In conjunction with the acquisition of T E C in the fourth quarter of 2020, we issued a promissory note to former owners with an outstanding

40

balance of $7.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 2.5%. The principal is due in December 2023. In conjunction with the acquisition of TAS in the second quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $8.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.5%. The principal is due in April 2022. In conjunction with the acquisition of the electrical contractor in North Carolina in the first quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $6.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in installments in February 2023 and February 2024. In conjunction with the Walker acquisition in the second quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $10.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The remaining principal is due in April 2023.

Outlook

We have generated positive net free cash flow for the last twenty-two calendar years, much of which occurred during challenging economic and industry conditions. We also continue to have significant borrowing capacity under our credit facility, and we maintain what we feel are reasonable cash balances. We believe these factors will provide us with sufficient liquidity to fund our operations for the foreseeable future.

Off-Balance Sheet Arrangements and Other Commitments

As is common in our industry, we have entered into certain off-balance sheet arrangements in the ordinary course of business that result in risks not directly reflected in our Balance Sheets, such as obligations involving letters of credit and surety guarantees.

Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. The letters of credit we provide are actually issued by our lenders through the Facility as described above. A letter of credit commits the lenders to pay specified amounts to the holder of the letter of credit if the holder demonstrates that we have failed to perform specified actions. If this were to occur, we would be required to reimburse the lenders. Depending on the circumstances of such a reimbursement, we may also have to record a charge to earnings for the reimbursement. Absent a claim, there is no payment or reserving of funds by us in connection with a letter of credit. However, because a claim on a letter of credit would require immediate reimbursement by us to our lenders, letters of credit are treated as a use of the Facility’s capacity just the same as actual borrowings. Claims against letters of credit are rare in our industry. To date, we have not had a claim made against a letter of credit that resulted in payments by a lender or by us. We believe that it is unlikely that we will have to fund claims under a letter of credit in the foreseeable future.

Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the sureties for any expenses or outlays they incur. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and we do not expect such losses to be incurred in the foreseeable future.

Under standard terms in the surety market, sureties issue bonds on a project-by-project basis, and can decline to issue bonds at any time. Historically, approximately 15% to 25% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in our sureties’ assessment of our operating and financial risk could cause our sureties to decline to issue bonds for our work. If that were to occur, our alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance, such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.

Contractual Obligations

 

Twelve Months Ended December 31,

41

    

2021

    

2022

    

2023

    

2024

    

2025

    

Thereafter

    

Total

 

Revolving credit facility

    

$

    

$

    

$

    

$

    

$

70,000

    

$

    

$

70,000

Term loan

15,000

15,000

22,500

82,500

135,000

Notes to former owners

 

 

8,000

 

19,000

4,000

 

 

 

31,000

Interest payable

 

3,905

 

3,616

 

3,006

2,342

 

36

 

 

12,905

Operating lease obligations

 

20,254

 

17,004

 

14,727

 

13,221

 

12,108

 

36,645

 

113,959

Total

$

24,159

$

43,620

$

51,733

$

42,063

$

164,644

$

36,645

$

362,864

As of December 31, 2020, we have $49.5 million in letter of credit commitments, of which $16.8 million will expire in 2021, $16.7 million will expire in 2022 and $16.0 million will expire in 2025. The substantial majority of these letters of credit are posted with insurers who disburse funds on our behalf in connection with our workers’ compensation, auto liability and general liability insurance program. These letters of credit provide additional security to the insurers that sufficient financial resources will be available to fund claims on our behalf, many of which develop over long periods of time, should we ever encounter financial duress. Posting of letters of credit for this purpose is a common practice for entities that manage their self-insurance programs through third-party insurers as we do. While some of these letter of credit commitments expire in 2021, we expect nearly all of them, particularly those supporting our insurance programs, will be renewed annually.

As discussed in Note 11 “Income Taxes,” included in our Consolidated Balance Sheet at December 31, 2020 is $28.8 million of unrecognized tax benefits. We believe it is reasonably possible that a reduction of up to $28.8 million in unrecognized tax benefits could occur within the next twelve months. However, due to the uncertain and complex application of tax regulations, combined with the difficulty in predicting when tax audits may be concluded, we generally cannot make reliable estimates of the timing of cash outflows relating to these liabilities.

Other than the operating lease obligations discussed in Note 10 “Leases,” we have no significant purchase or operating commitments outside of commitments to deliver equipment and provide labor in the ordinary course of performing project work.

ITEM 7A. Quantitative and Qualitative Disclosures about Market Risk

We are exposed to market risk primarily related to potential adverse changes in interest rates as discussed below. We are actively involved in monitoring exposure to market risk and continue to develop and utilize appropriate risk management techniques. We are not exposed to any other significant financial market risks, including commodity price risk or foreign currency exchange risk, from the use of derivative financial instruments. At times, we use derivative financial instruments to manage our interest rate risk.

We have exposure to changes in interest rates under our revolving credit facility and term loan. Our debt with fixed interest rates consists of notes to former owners of acquired companies.

The following table presents principal amounts (stated in thousands) and related average interest rates by year of maturity for our debt obligations and their indicated fair market value at December 31, 2020:

 

Twelve Months Ended December 31,

    

2021

    

2022

    

2023

    

2024

    

2025

    

Thereafter

    

Total

 

Fixed Rate Debt

$

$

8,000

$

19,000

$

4,000

$

$

$

31,000

Average Interest Rate

 

3.3%

 

3.3%

 

3.0%

 

3.0%

 

 

 

3.1%

Variable Rate Debt

$

$

15,000

$

15,000

$

22,500

$

152,500

$

$

205,000

The weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of December 31, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of December 31, 2020.

We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. We did not recognize any impairments, in the current year, on those assets required to be measured at fair value on a nonrecurring basis.

42

The valuation of the Company’s contingent earn-out payments is determined using a probability weighted discounted cash flow method. This analysis reflects the contractual terms of the purchase agreements (e.g., minimum and maximum payment, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate.

43

Management’s Report on Internal Control over Financial Reporting

Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as such term is defined in Exchange Act Rules 13a-15(f) and 15d-15(f). Under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, we conducted an evaluation of the effectiveness of our internal control over financial reporting as of December 31, 2020 based on the framework in Internal Control—Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO 2013 framework). Based on that evaluation, our management concluded that our internal control over financial reporting was effective as of December 31, 2020.

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.

Ernst & Young LLP, an independent registered public accounting firm, as stated in their report which is included elsewhere herein, has issued an attestation report auditing the effectiveness of our internal control over financial reporting as of December 31, 2020.

45

Report of Independent Registered Public Accounting Firm

To the Stockholders and the Board of Directors of Comfort Systems USA, Inc.

Opinion on the Financial Statements

We have audited the accompanying consolidated balance sheets of Comfort Systems USA, Inc. (the Company) as of December 31, 2020 and 2019, the related consolidated statements of operations, stockholders’ equity and cash flows for each of the three years in the period ended December 31, 2020, and the related notes (collectively referred to as the “consolidated financial statements”). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2020 and 2019, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2020, in conformity with U.S. generally accepted accounting principles.

We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company's internal control over financial reporting as of December 31, 2020, based on criteria established in Internal Control-Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework), and our report dated February 25, 2021 expressed an unqualified opinion thereon.

Basis for Opinion

These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.

Critical Audit Matter

The critical audit matter communicated below was a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of the critical audit matter does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing separate opinions on the critical audit matter or on the accounts or disclosures to which it relates.

Revenue recognition using percentage of completion method

Description of the Matter

As disclosed in Note 3 to the consolidated financial statements, for fixed price agreements, the Company uses the percentage of completion (POC) method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. Estimating contract costs is subjective and certain projects require considerable judgment and could be impacted by changes in labor and materials/equipment.

46

Auditing management’s estimates of total contract costs for certain longer-duration projects was challenging due to significant judgments made by management with respect to labor and materials/equipment costs as future results may vary significantly from past estimates due to changes in facts and circumstances as the project progresses to completion.

How We Addressed the Matter in Our Audit

We obtained an understanding, evaluated the design, and tested the operating effectiveness of controls over the contract estimated cost at completion process. For example, we tested controls over management’s review of cost estimates for significant inputs such as labor and materials/equipment costs.

To evaluate the Company’s contract cost estimates, our audit procedures included selecting a sample of contracts and, among others procedures, reviewing the contracts and any associated amendments, conducting interviews with and reviewing questionnaires completed by project personnel, assessing blended labor rates used in the estimate to complete the project against blended labor rates actually incurred to date, agreeing estimated labor and materials/equipment costs to supporting documentation, and performing lookback analyses comparing gross margin over the life of the project to assess management’s ability to estimate.

/s/ Ernst & Young LLP

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

Houston, Texas

February 25, 2021

47

Report of Independent Registered Public Accounting Firm

To the Stockholders and the Board of Directors of Comfort Systems USA, Inc.

Opinion on Internal Control over Financial Reporting

We have audited Comfort Systems USA, Inc.’s internal control over financial reporting as of December 31, 2020, based on criteria established in Internal Control—Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (the COSO criteria). In our opinion, Comfort Systems USA, Inc. (the Company) maintained, in all material respects, effective internal control over financial reporting as of December 31, 2020, based on the COSO criteria.

We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated balance sheets of the Company as of December 31, 2020 and 2019, the related consolidated statements of operations, stockholders’ equity and cash flows for each of the three years in the period ended December 31, 2020, and the related notes and our report dated February 25, 2021 expressed an unqualified opinion thereon.

Basis for Opinion

The Company’s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting included in the accompanying Management’s Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company’s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects.

Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.

Definition and Limitations of Internal Control Over Financial Reporting

A company’s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.

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

/s/ Ernst & Young LLP

Houston, Texas

February 25, 2021

48

COMFORT SYSTEMS USA, INC.

CONSOLIDATED BALANCE SHEETS

(In Thousands, Except Share Amounts)

December 31,

 

2020

    

2019

ASSETS

CURRENT ASSETS:

Cash and cash equivalents

$

54,896

$

50,788

Billed accounts receivable, less allowance for credit losses of $9,087 and $6,907, respectively

 

619,544

 

619,037

Unbilled accounts receivable, less allowance for credit losses of $784 and $0, respectively

 

45,596

 

55,542

Other receivables, less allowance for credit losses of $759 and $0, respectively

 

44,212

 

37,632

Inventories

 

13,472

 

10,053

Prepaid expenses and other

 

15,510

 

14,396

Costs and estimated earnings in excess of billings, less allowance for credit losses of $79 and $0, respectively

 

18,622

 

2,736

Total current assets

 

811,852

 

790,184

PROPERTY AND EQUIPMENT, NET

 

117,206

 

109,796

LEASE RIGHT-OF-USE ASSET

94,727

84,073

GOODWILL

 

464,392

 

332,447

IDENTIFIABLE INTANGIBLE ASSETS, NET

 

231,807

 

159,974

DEFERRED TAX ASSETS

29,401

21,923

OTHER NONCURRENT ASSETS

 

7,970

 

6,615

Total assets

$

1,757,355

$

1,505,012

LIABILITIES AND STOCKHOLDERS’ EQUITY

CURRENT LIABILITIES:

Current maturities of long-term debt

$

$

20,817

Accounts payable

 

204,145

 

196,195

Accrued compensation and benefits

 

121,864

 

102,891

Billings in excess of costs and estimated earnings

 

226,237

 

166,918

Accrued self-insurance

 

49,166

 

39,546

Other current liabilities

 

91,492

 

81,630

Total current liabilities

 

692,904

 

607,997

LONG-TERM DEBT, NET

 

235,733

 

205,318

LEASE LIABILITIES

 

80,576

 

72,697

DEFERRED TAX LIABILITIES

 

1,339

 

1,425

OTHER LONG-TERM LIABILITIES

 

50,374

 

32,271

Total liabilities

 

1,060,926

 

919,708

COMMITMENTS AND CONTINGENCIES

STOCKHOLDERS’ EQUITY:

Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding

 

 

Common stock, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively

 

411

 

411

Treasury stock, at cost, 4,935,186 and 4,465,448 shares, respectively

 

(129,243)

 

(103,960)

Additional paid-in capital

 

322,451

 

320,168

Retained earnings

 

502,810

 

368,685

Total stockholders’ equity

 

696,429

 

585,304

Total liabilities and stockholders’ equity

$

1,757,355

$

1,505,012

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

49

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF OPERATIONS

(In Thousands, Except Per Share Data)

 

Year Ended December 31,

    

 

2020

    

2019

    

2018

 

REVENUE

$

2,856,659

$

2,615,277

$

2,182,879

COST OF SERVICES

 

2,309,676

 

2,113,334

 

1,736,600

Gross profit

 

546,983

 

501,943

 

446,279

SELLING, GENERAL AND ADMINISTRATIVE EXPENSES

 

357,777

 

340,005

 

296,986

GAIN ON SALE OF ASSETS

 

(1,445)

 

(1,701)

 

(945)

Operating income

 

190,651

 

163,639

 

150,238

OTHER INCOME (EXPENSE):

Interest income

 

103

 

224

 

73

Interest expense

 

(8,385)

 

(9,317)

 

(3,710)

Changes in the fair value of contingent earn-out obligations

 

9,119

 

(2,991)

 

(2,066)

Other

 

52

 

187

 

4,141

Other income (expense)

 

889

 

(11,897)

 

(1,562)

INCOME BEFORE INCOME TAXES

 

191,540

 

151,742

 

148,676

PROVISION FOR INCOME TAXES

 

41,401

 

37,418

 

35,773

NET INCOME

$

150,139

$

114,324

$

112,903

INCOME PER SHARE:

Basic

$

4.11

$

3.10

$

3.03

Diluted

$

4.09

$

3.08

$

3.00

SHARES USED IN COMPUTING INCOME PER SHARE:

Basic

 

36,542

 

36,854

 

37,202

Diluted

 

36,738

 

37,131

 

37,592

DIVIDENDS PER SHARE

$

0.425

$

0.395

$

0.330

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

50

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In Thousands, Except Share Amounts)

Additional

Total

 

    

Common Stock

    

Treasury Stock

    

Paid-In

Retained

    

Stockholders’

 

    

Shares

    

Amount

    

Shares

    

Amount

    

Capital

    

Earnings

    

Equity

 

BALANCE AT DECEMBER 31, 2017

 

41,123,365

$

411

 

(3,936,291)

$

(63,519)

$

312,784

$

168,269

 

$

417,945

Net income

 

 

 

 

 

 

112,903

 

 

112,903

Issuance of Stock:

Issuance of shares for options exercised

 

 

 

206,875

 

3,618

 

(513)

 

 

 

3,105

Issuance of restricted stock & performance stock

 

 

 

129,569

 

2,227

 

(4)

 

 

 

2,223

Shares received in lieu of tax withholding payment on vested restricted stock

 

 

 

(36,967)

 

(1,540)

 

 

 

 

(1,540)

Stock-based compensation

 

 

 

 

 

4,212

 

 

 

4,212

Dividends

 

 

 

 

 

 

(12,268)

 

 

(12,268)

Share repurchase

 

 

 

(592,839)

 

(28,533)

 

 

 

 

(28,533)

BALANCE AT DECEMBER 31, 2018

 

41,123,365

$

411

 

(4,229,653)

$

(87,747)

$

316,479

$

268,904

 

$

498,047

Net income

114,324

114,324

Issuance of Stock:

Issuance of shares for options exercised

114,125

2,532

(182)

2,350

Issuance of restricted stock & performance stock

107,606

2,303

(297)

2,006

Shares received in lieu of tax withholding payment on vested restricted stock

(28,586)

(1,498)

(1,498)

Stock-based compensation

4,168

4,168

Dividends

(14,543)

(14,543)

Share repurchase

(428,940)

(19,550)

(19,550)

BALANCE AT DECEMBER 31, 2019

41,123,365

$

411

(4,465,448)

$

(103,960)

$

320,168

$

368,685

$

585,304

Net income

150,139

150,139

Cumulative-effect adjustment (1)

(515)

(515)

Issuance of Stock:

Issuance of shares for options exercised

113,731

2,811

(667)

2,144

Issuance of restricted stock & performance stock

128,889

3,102

(1,247)

1,855

Shares received in lieu of tax withholding payment on vested restricted stock

(27,724)

(1,076)

(1,076)

Stock-based compensation

4,197

4,197

Dividends

(15,499)

(15,499)

Share repurchase

(684,634)

(30,120)

(30,120)

BALANCE AT DECEMBER 31, 2020

41,123,365

$

411

(4,935,186)

$

(129,243)

$

322,451

$

502,810

$

696,429

______________________________________

(1)Represents the adjustment to Retained Earnings as a result of adopting Accounting Standards Update (ASU) No. 2016-13, “Financial Instruments – Credit Losses (Topic 326),” on January 1, 2020. See Note 2 for more information.

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

51

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF CASH FLOWS

(In Thousands)

 

Year Ended December 31,

 

2020

    

2019

    

2018

 

CASH FLOWS FROM OPERATING ACTIVITIES:

Net income

$

150,139

$

114,324

$

112,903

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

Amortization of identifiable intangible assets

 

32,698

 

27,082

 

20,089

Depreciation expense

 

27,931

 

24,490

 

22,600

Change in right-of-use assets

16,692

16,887

 

Bad debt expense

 

5,253

 

2,978

 

3,562

Deferred tax provision (benefit)

 

(7,953)

 

(4,251)

 

4,456

Amortization of debt financing costs

 

544

 

387

 

383

Gain on sale of assets

 

(1,445)

 

(1,701)

 

(945)

Changes in the fair value of contingent earn-out obligations

 

(9,119)

 

2,991

 

2,066

Stock-based compensation

 

6,934

 

5,878

 

7,161

Changes in operating assets and liabilities, net of effects of acquisitions and divestitures—

(Increase) decrease in—

Receivables, net

 

38,486

 

(49,508)

 

(68,621)

Inventories

 

(1,457)

 

2,366

 

(1,538)

Prepaid expenses and other current assets

 

(4,855)

 

(15,519)

 

519

Costs and estimated earnings in excess of billings and unbilled accounts receivable

 

2,706

 

(4,312)

 

(14,444)

Other noncurrent assets

 

(1,373)

 

(735)

 

(114)

Increase (decrease) in—

 

Accounts payable and accrued liabilities

 

11,087

 

31,046

 

47,871

Billings in excess of costs and estimated earnings

 

19,434

 

4,376

 

16,786

Other long-term liabilities

 

808

 

(14,751)

 

(5,544)

Net cash provided by operating activities

 

286,510

 

142,028

 

147,190

CASH FLOWS FROM INVESTING ACTIVITIES:

Purchases of property and equipment

 

(24,131)

 

(31,750)

 

(27,268)

Proceeds from sales of property and equipment

 

2,270

 

2,159

 

1,698

Proceeds from sale of business

1,611

Cash paid for acquisitions, net of cash acquired

 

(185,941)

 

(196,470)

 

(70,140)

Net cash used in investing activities

 

(207,802)

 

(224,450)

 

(95,710)

CASH FLOWS FROM FINANCING ACTIVITIES:

Proceeds from revolving credit facility

 

268,000

 

356,000

 

124,000

Payments on revolving credit facility

 

(226,000)

 

(228,000)

 

(119,000)

Payments on term loan

(15,000)

Payments on other debt

 

(46,534)

 

(3,784)

 

(1,127)

Debt financing costs

 

 

(1,405)

 

(844)

Payments of dividends to stockholders

 

(15,499)

 

(14,543)

 

(12,268)

Share repurchase

 

(30,120)

 

(19,550)

 

(28,533)

Shares received in lieu of tax withholding

 

(1,076)

 

(1,498)

 

(1,540)

Proceeds from exercise of options

 

2,144

 

2,350

 

3,105

Deferred acquisition payments

(650)

(637)

(750)

Payments for contingent consideration arrangements

 

(9,865)

 

(1,343)

 

(5,445)

Net cash provided by (used in) financing activities

 

(74,600)

 

87,590

 

(42,402)

NET INCREASE IN CASH AND CASH EQUIVALENTS

 

4,108

 

5,168

 

9,078

CASH AND CASH EQUIVALENTS, beginning of period

 

50,788

 

45,620

 

36,542

CASH AND CASH EQUIVALENTS, end of period

$

54,896

$

50,788

$

45,620

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

52

COMFORT SYSTEMS USA, INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

December 31, 2020

1. Business and Organization

Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical and electrical contracting services, which principally includes heating, ventilation and air conditioning (“HVAC”), plumbing, electrical, piping and controls, as well as off-site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. Approximately 46.7% of our consolidated 2020 revenue is attributable to installation of systems in newly constructed facilities, with the remaining 53.3% attributable to maintenance, repair and replacement services. The terms “Comfort Systems,” “we,” “us,” or the “Company,” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.

2. Summary of Significant Accounting Policies

Principles of Consolidation

These financial statements are prepared in accordance with accounting principles generally accepted in the United States of America. The accompanying consolidated financial statements include our accounts and those of our subsidiaries in which we have a controlling interest. All significant intercompany accounts and transactions have been eliminated. Certain amounts in prior periods may have been reclassified to conform to the current period presentation. The effects of the reclassifications were not material to the consolidated financial statements.

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, self-insurance accruals, deferred tax assets, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing.

Cash Flow Information

We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents.

Cash paid (in thousands) for:

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Interest

$

7,684

$

8,817

$

3,743

Income taxes, net of refunds

$

51,286

$

45,288

$

33,401

Recent Accounting Pronouncements

In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326).” The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. The standard requires us to accrue higher credit losses on financial assets compared to the legacy guidance on various items, such as contract assets and current receivables. ASU No. 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. We adopted ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326),” on January 1, 2020,

53

and the impact was not material to our overall financial statements. The adoption of ASU No. 2016-13 resulted in an increase in Allowance for Credit Losses of $0.7 million, an increase to Deferred Tax Assets of $0.2 million and an impact of $0.5 million to Retained Earnings.

In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement.” This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU No. 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We have modified our fair value disclosures to conform with the requirements of ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement,” which we adopted on January 1, 2020.

In December 2019, the FASB issued ASU No. 2019-12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes.” This standard simplifies the accounting for income taxes by eliminating certain exceptions to the guidance in Topic 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The standard also simplifies aspects of the accounting for franchise taxes and enacted changes in tax laws or rates and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU No. 2019-12 is effective for fiscal years beginning after December 15, 2020 and interim periods within that year. Early adoption is permitted. We do not expect our adoption of this standard on January 1, 2021 to have a material impact on our consolidated financial statements.

Revenue Recognition

We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services. Our revenue recognition policy is further discussed in Note 3 “Revenue from Contracts with Customers.”

Accounts Receivable and Allowance for Credit Losses

We are required to estimate and record the expected credit losses over the contractual life of our financial assets measured at amortized cost, including billed and unbilled accounts receivable, other receivables and costs and estimated

54

earnings in excess of billings. Accounts receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. Our trade receivables are contractually due in less than a year.

We estimate our credit losses using a loss-rate method for each of our identified portfolio segments. Our portfolio segments are construction, service and other. While our construction and service financial assets are often with the same subset of customers and industries, our construction financial assets will generally have a lower loss-rate than service financial assets due to lien rights, which we are more likely to have on construction jobs. These lien rights result in lower credit loss expenses on average compared to receivables that do not have lien rights. Financial assets classified as “other” include receivables that are not related to our core revenue producing activities, such as receivables related to our acquisition activity from former owners, our vendor rebate program or receivables for estimated losses in excess of our insurance deductible, which are accrued with a corresponding accrued insurance liability.

Loss rates for our portfolios are based on numerous factors, including our history of credit loss expense by portfolio, the financial strength of our customers and counterparties in each portfolio, the aging of our receivables, our expectation of likelihood of payment, macroeconomic trends in the U.S. and the current and forecasted non-residential construction market trends in the U.S.

In addition to the loss-rate calculations discussed above, we also record allowance for credit losses for specific receivables that are deemed to have a higher risk profile than the rest of the respective pool of receivables, such as concerns about a specific customer going bankrupt and no longer being able to pay the receivables due to us.

Starting in March 2020, we experienced negative impacts to our business due to the disruption caused by Coronavirus Disease 2019 (“COVID-19”). In March 2020, the World Health Organization categorized COVID-19 as a pandemic, and the President of the United States declared the COVID-19 outbreak a national emergency. The Company considered the impact of COVID-19 on the assumptions and estimates used to determine the results reported and asset valuations as of December 31, 2020.

During the year ended December 31, 2020, we increased our loss rates and increased our specific reserves primarily due to the economic disruption caused by COVID-19, which is reflected in our bad debt expense in the current year. This increase was primarily, but not exclusively, due to concern over collectability of receivables from customers more directly impacted by COVID-19.

Activity in our allowance for credit losses consisted of the following (in thousands):

Year Ended December 31,

2020

Service

Construction

Other

Total

Balance at beginning of year

$

3,192

$

3,400

$

315

$

6,907

Impact of new accounting standard

310

331

54

695

Bad debt expense (benefit)

2,566

2,697

(10)

5,253

Deductions for uncollectible receivables written off, net of recoveries

(1,431)

(735)

(2,166)

Credit allowance of acquired companies on the acquisition date

335

335

Reclass to other current liabilities

(315)

(315)

Balance at December 31, 2020

$

4,637

$

6,028

$

44

$

10,709

Year Ended December 31,

    

2019

 

Balance at beginning of year

$

5,898

Bad debt expense (benefit)

 

2,978

Deductions for uncollectible receivables written off, net of recoveries

 

(3,924)

Credit allowance of acquired companies on the acquisition date

 

1,955

Balance at December 31, 2019

$

6,907

55

Inventories

Inventories consist of parts and supplies that we purchase and hold for use in the ordinary course of business and are stated at the lower of cost or net realizable value using the average-cost method.

Property and Equipment

Property and equipment are stated at cost, and depreciation is computed using the straight-line method over the estimated useful lives of the assets. Leasehold improvements are capitalized and amortized over the lesser of the expected life of the lease or the estimated useful life of the asset.

Expenditures for repairs and maintenance are charged to expense when incurred. Expenditures for major renewals and betterments, which extend the useful lives of existing equipment, are capitalized and depreciated over the remaining useful life of the equipment. Upon retirement or disposition of property and equipment, the cost and related accumulated depreciation are removed from the accounts and any resulting gain or loss is recognized in “Gain on sale of assets” in the Statement of Operations.

Recoverability of Goodwill and Identifiable Intangible Assets

Goodwill is the excess of purchase price over the fair value of the net assets of acquired businesses. We assess goodwill for impairment each year, and more frequently if circumstances suggest an impairment may have occurred.

When the carrying value of a given reporting unit exceeds its fair value, a goodwill impairment loss is recorded for this difference, not to exceed the carrying amount of goodwill. The requirements for assessing whether goodwill has been impaired involve market-based information. This information, and its use in assessing goodwill, entails some degree of subjective assessment.

We perform our annual impairment testing as of October 1, and any impairment charges resulting from this process are reported in the fourth quarter. We segregate our operations into reporting units based on the degree of operating and financial independence of each unit and our related management of them. We perform our annual goodwill impairment testing at the reporting unit level. We perform a goodwill impairment review for each of our operating units, as we have determined that each of our operating units are reporting units.

In the evaluation of goodwill for impairment, we have the option to first assess qualitative factors to determine whether the existence of events or circumstances lead to a determination that it is more likely than not that the fair value of one of our reporting units is greater than its carrying value. If, after completing such assessment, we determine it is more likely than not that the fair value of a reporting unit is greater than its carrying amount, then there is no need to perform any further testing. If we conclude otherwise, or if we elect to perform a quantitative assessment, then we calculate the fair value of the reporting unit and compare the fair value with the carrying value of the reporting unit.

We estimate the fair value of the reporting unit based on a market approach and an income approach, which utilizes discounted future cash flows. Assumptions critical to the fair value estimates under the discounted cash flow model include discount rates, cash flow projections, projected long-term growth rates and the determination of terminal values. The market approach utilizes market multiples of invested capital from comparable publicly traded companies (“public company approach”). The market multiples from invested capital include revenue, book equity plus debt and earnings before interest, provision for income taxes, depreciation and amortization (“EBITDA”).

We amortize identifiable intangible assets with finite lives over their useful lives. Changes in strategy and/or market condition may result in adjustments to recorded intangible asset balances or their useful lives.

Long-Lived Assets

Long-lived assets are comprised principally of goodwill, identifiable intangible assets, property and equipment, and deferred tax assets. We periodically evaluate whether events and circumstances have occurred that indicate that the remaining balances of these assets may not be recoverable. We use estimates of future income from operations and cash flows, as well as other economic and business factors, to assess the recoverability of these assets.

56

Acquisitions

We recognize assets acquired and liabilities assumed in business combinations, including contingent assets and liabilities, based on fair value estimates as of the date of acquisition.

Contingent Consideration—In certain acquisitions, we agree to pay additional amounts to sellers contingent upon achievement by the acquired businesses of certain predetermined profitability targets. We have recognized liabilities for these contingent obligations based on their estimated fair value at the date of acquisition with any differences between the acquisition date fair value and the ultimate settlement of the obligations being recognized in income from operations.

Contingent Assets and Liabilities—Assets and liabilities arising from contingencies are recognized at their acquisition date fair value when their respective fair values are determinable. Acquisition date fair value estimates are revised as necessary if, and when, additional information regarding these contingencies becomes available to further define and quantify assets acquired and liabilities assumed.

Self-Insurance Liabilities

We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks—workers’ compensation, auto liability and general liability—are reviewed by a third-party actuary quarterly. Our self-insurance arrangements are further discussed in Note 13 “Commitments and Contingencies.”

Warranty Costs

We typically warrant labor for the first year after installation on new MEP systems that we build and install, and we pass through to the customer manufacturers’ warranties on equipment. We generally warrant labor for thirty days after servicing existing MEP systems. A reserve for warranty costs is estimated and recorded based upon the historical level of warranty claims and management’s estimate of future costs.

Income Taxes

We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions and accounting for losses associated with underperforming operations.

Income taxes are provided for under the liability method, which takes into account differences between financial statement treatment and tax treatment of certain transactions. Deferred taxes are based on the difference between the financial reporting and tax basis of assets and liabilities. The deferred tax provision represents the change during the reporting period in the deferred tax assets and deferred tax liabilities, net of the effect of acquisitions and dispositions. Deferred tax assets include tax loss and credit carryforwards and are reduced by a valuation allowance if, based on available evidence, it is more-likely-than-not some portion or all of the deferred tax assets will not be realized.

We regularly evaluate valuation allowances established for deferred tax assets for which future realization is uncertain. In assessing the realizability of deferred tax assets, we must consider whether it is more-likely-than-not some portion, or all, of the deferred tax assets will not be realized. We consider all available evidence, both positive and negative, in determining whether a valuation allowance is required. Such evidence includes the scheduled reversal of deferred tax liabilities, projected future taxable income, taxable income in prior carryback years and tax planning strategies in making this assessment, and judgment is required in considering the relative weight of negative and positive evidence.

57

Significant judgment is required in assessing the timing and amounts of deductible and taxable items. We establish reserves when, despite our belief that our tax return positions are supportable, we believe that certain positions may be disallowed. When facts and circumstances change, we adjust these reserves through our provision for income taxes.

To the extent interest and penalties may be assessed by taxing authorities on any underpayment of income tax, such amounts have been accrued and are classified as a component in provision for income taxes in our Consolidated Statements of Operations.

Concentrations of Credit Risk

We provide services in a broad range of geographic regions. Our credit risk primarily consists of receivables from a variety of customers including general contractors, property owners and developers, and commercial and industrial companies. We are subject to potential credit risk related to changes in business and economic factors throughout the United States within the nonresidential construction industry. However, we are entitled to payment for work performed and have certain lien rights related to that work. Further, we believe that our contract acceptance, billing and collection policies are adequate to manage potential credit risk. We regularly review our accounts receivable and estimate an allowance for uncollectible amounts. We have a diverse customer base, with our top customer representing 5% of consolidated 2020 revenue.

Financial Instruments

Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, interest rate swaps, life insurance policies, notes to former owners, a revolving credit facility and a term loan. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values.

Insurance Recovery

We recorded a $4.8 million gain in the fourth quarter of 2019 due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019. Approximately $1.6 million of the gain was recorded as a reduction in SG&A, and the remainder was recorded as a reduction in Cost of Services expense.  These proceeds related to recoverable costs that were primarily incurred prior to the fourth quarter in 2019. We do not expect any additional insurance proceeds or other recoveries related to the ransomware incident.

3. Revenue from Contracts with Customers

Revenue is recognized when control of the promised goods or services is transferred to our customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue.

We provide mechanical and electrical contracting services. Our mechanical segment principally includes HVAC, plumbing, piping and controls, as well as off‑site construction, monitoring and fire protection. Our electrical segment includes installation and servicing of electrical systems. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.

For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed.

58

Non‑labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.

We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.

 

Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.

 

We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtainment or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.

Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in our Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption “Billings in excess of costs and estimated earnings.”

Contracts in progress are as follows (in thousands):

December 31,

 

    

2020

    

2019

 

Costs incurred on contracts in progress

$

3,103,580

$

2,518,581

Estimated earnings, net of losses

 

548,435

 

405,891

Less—Billings to date

 

(3,813,171)

 

(3,033,112)

Less—Unbilled accounts receivable

(45,596)

(55,542)

Less—Unbilled accounts receivable credit allowance

(784)

$

(207,536)

$

(164,182)

Costs and estimated earnings in excess of billings

$

18,622

$

2,736

Plus—Costs and estimated earnings in excess of billings credit allowance

79

Billings in excess of costs and estimated earnings

 

(226,237)

 

(166,918)

$

(207,536)

$

(164,182)

Accounts receivable include amounts billed to customers under retention or retainage provisions in construction contracts. Such provisions are standard in our industry and usually allow for a small portion of progress billings or the contract price to be withheld by the customer until after we have completed work on the project, typically for a period of six months. Based on our experience with similar contracts in recent years, the majority of our billings for such retention balances at each Balance Sheet date are finalized and collected within the subsequent year. Retention balances at

59

December 31, 2020 and 2019 were $124.1 million and $111.7 million, respectively, and are included in accounts receivable.

Accounts payable at December 31, 2020 and 2019 included $22.2 million and $15.8 million of retainage under terms of contracts with subcontractors, respectively. The majority of the retention balances at each Balance Sheet date are finalized and paid within the subsequent year.

The percentage of completion method of accounting is also affected by changes in job performance, job conditions, and final contract settlements. These factors may result in revisions to estimated costs and, therefore, revenue. Such revisions are frequently based on further estimates and subjective assessments. The effects of these revisions are recognized in the period in which revisions are determined. When such revisions lead to a conclusion that a loss will be recognized on a contract, the full amount of the estimated ultimate loss is recognized in the period such conclusion is reached, regardless of the percentage of completion of the contract.

Revisions to project costs and conditions can give rise to change orders under which there is an agreement between the customer and us that the customer pays an additional or reduced contract price. Revisions can also result in claims we might make against the customer to recover project variances that have not been satisfactorily addressed through change orders with the customer. Except in certain circumstances, we do not recognize revenue or margin based on change orders or claims until they have been agreed upon with the customer. The amount of revenue associated with unapproved change orders and claims was immaterial for the year ended December 31, 2020.

Variations from estimated project costs could have a significant impact on our operating results, depending on project size, and the recoverability of the variation via additional customer payments.

We typically invoice our customers with payment terms of net due in 30 days. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances, we receive payment of our invoices between 30 to 90 days of the date of the invoice.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.

 

To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and, in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation. 

We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process, as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

 

60

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

 

In our mechanical segment, for a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.

 

Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.

 

Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis.

 

We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g., to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables.

 

Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter when they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined.

61

 

The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations.

   

During the years ended December 31, 2020 and December 31, 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material. 

Disaggregation of Revenue

 

Our consolidated 2020 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 16 “Segment Information” for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and service provided, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. See details in the following tables (dollars in thousands):

Year Ended December 31,

Revenue by Service Provided

   

   

2020

   

2019

2018

Mechanical Services

$

2,413,016

   

84.5

%

$

2,251,560

   

86.1

%

$

2,176,223

99.7

%

Electrical Services

443,643

15.5

%

363,717

13.9

%

6,656

0.3

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Year Ended December 31,

Revenue by Type of Customer

2020

2019

 

2018

 

Industrial

$

1,112,075

38.9

%

$

886,668

33.9

%

$

596,557

27.3

%

Education

487,922

17.1

%

412,318

15.8

%

391,937

18.0

%

Office Buildings

319,426

11.2

%

348,640

13.3

%

288,090

13.2

%

Healthcare

371,105

13.0

%

358,155

13.7

%

319,958

14.7

%

Government

163,717

5.7

%

162,507

6.2

%

143,958

6.6

%

Retail, Restaurants and Entertainment

239,541

8.4

%

248,083

9.5

%

225,348

10.3

%

Multi-Family and Residential

86,799

3.0

%

104,693

4.0

%

136,075

6.2

%

Other

76,074

2.7

%

94,213

3.6

%

80,956

3.7

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Year Ended December 31,

Revenue by Activity Type

2020

2019

 

2018

New Construction

$

1,333,739

46.7

%

$

1,201,122

45.9

%

$

829,978

38.0

%

Existing Building Construction

910,807

31.9

%

793,159

30.3

%

796,946

36.5

%

Service Projects

241,402

8.4

%

231,228

8.9

%

206,506

9.5

%

Service Calls, Maintenance and Monitoring

370,711

13.0

%

389,768

14.9

%

349,449

16.0

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Contract Assets and Liabilities

Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.

Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets and liabilities are usually all

62

current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated Balance Sheets.

The following table presents the changes in contract assets and contract liabilities (in thousands):

Year Ended December 31,

Year Ended December 31,

2020

2019

Contract

    

Contract

Contract

    

Contract

Assets

Liabilities

Assets

Liabilities

Balance at beginning of period

$

2,736

$

166,918

$

10,213

$

130,986

Change due to acquisitions / disposals

9,509

39,885

6,573

31,556

Change related to credit allowance

(79)

Other changes in the period

6,456

19,434

(14,050)

4,376

Balance at end of period

$

18,622

$

226,237

$

2,736

 

$

166,918

During the years ended December 31, 2020 and 2019, we recognized revenue of $165.8 million and $126.7 million related to our contract liabilities at January 1, 2020 and January 1, 2019, respectively.

We did not have any impairment losses recognized on our receivables or contract assets in 2020 and 2019.

Remaining Performance Obligations

Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and exclude unexercised contract options. As of December 31, 2020, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.51 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next 12 months, with the remaining recognized thereafter. Our service maintenance agreements are generally one-year renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts with a term of less than one year; therefore, we do not report unfulfilled performance obligations for service maintenance agreements.

4. Fair Value Measurements

Interest Rate Risk Management and Derivative Instruments

In April 2020, we entered into interest rate swap agreements to reduce our exposure to variable interest rates on our term loan and revolving credit facility. The notional amount covered by these interest rate swaps was $130.0 million as of December 31, 2020 and decreases to $80.0 million by November 30, 2021 until the termination date of September 30, 2022.

We use derivative instruments to manage exposure to market risk, including interest rate risk. All of our current derivatives are designated and accounted for as economic hedges.  Unsettled amounts under our economic hedges are recorded on the Balance Sheet at fair value in “Other Receivables” or “Other Current Liabilities.” Gains and losses on our interest rate swaps are recorded on the Income Statement in “Interest Expense.” For the year ended December 31, 2020, we recognized a net loss of $0.3 million related to our interest rate swaps. We currently do not have any derivatives that are accounted for as hedges under ASC 815.

Fair Value Measurement

We classify and disclose assets and liabilities carried at fair value in one of the following three categories:

Level 1—quoted prices in active markets for identical assets and liabilities;
Level 2—observable market-based inputs or unobservable inputs that are corroborated by market data; and
Level 3—significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.

63

The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of December 31, 2020 and 2019 (in thousands):

Fair Value Measurements at December 31, 2020

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

54,896

$

$

$

54,896

Life insurance—cash surrender value

$

$

5,420

$

$

5,420

Contingent earn-out obligations

$

$

$

25,979

$

25,979

Interest rate swap liability

$

$

42

$

$

42

Fair Value Measurements at December 31, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

50,788

$

$

$

50,788

Life insurance—cash surrender value

$

$

3,905

$

$

3,905

Contingent earn-out obligations

$

$

$

28,497

$

28,497

Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The Company’s outstanding term loan held by third-party financial institutions is carried at cost, adjusted for debt issuance costs. The Company’s term loan is not publicly traded and the carrying amount approximates fair value as the loan accrues interest at a variable rate. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.

We have life insurance policies covering 86 employees with a combined face value of $61.7 million. The policies are invested in several investment vehicles, and the fair value measurement of the cash surrender balance associated with these policies is determined using Level 2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $5.4 million as of December 31, 2020 and $3.9 million as of December 31, 2019. These assets are included in “Other Noncurrent Assets” in our consolidated Balance Sheets.

We value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level 3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g., minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period and changes in estimates of fair value are recognized in earnings. Significant unobservable inputs that could impact the fair value measurement include our weighted average cost of capital and the forecasted level of operating income for each earn-out measurement. As of December 31, 2020, cash flows were discounted using a weighted average cost of capital ranging from 9.5% - 17.0%.

The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands):

December 31,

 

2020

    

2019

 

Balance at beginning of year

 

$

28,497

    

$

7,375

 

Issuances

 

16,715

 

19,500

Settlements

(10,114)

(1,369)

Adjustments to fair value

 

(9,119)

 

2,991

Balance at end of year

$

25,979

$

28,497

The fair value for our interest rate swaps is based upon inputs corroborated by observable market data with similar tenors, which are considered Level 2 inputs. The Company’s outstanding term loan held by third-party financial institutions is carried at cost, adjusted for debt issuance costs. The Company’s term loan is not publicly traded and the carrying amount approximates fair value as the loan accrues interest at a variable rate. The carrying value of our borrowings associated with the revolving credit facility approximate its fair value due to the variable rate on such debt.

64

We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. No goodwill or other intangible asset impairments were recorded during the years ended December 31, 2020, 2019 and 2018. We did not recognize any other impairments on those assets required to be measured at fair value on a nonrecurring basis. See Note 6 “Goodwill and Identifiable Intangible Assets, Net” for further discussion.

5. Acquisitions

TAS Energy Inc. Acquisition

On April 1, 2020, we consummated a merger through which TAS Energy Inc. (“TAS”) became a wholly owned subsidiary of the Company. TAS is headquartered in Houston, Texas, and is a leading engineering, design and construction provider of modular construction systems serving the technology, power and industrial sectors. As a result of the acquisition, TAS is a wholly owned subsidiary of the Company reported in our mechanical services segment. Revenue attributable to TAS was $106.4 million for the nine months from the acquisition date.

The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):

Consideration transferred:

Cash paid at closing

$

105,950

Working capital adjustment

40,455

Notes issued to former owners

14,000

Estimated fair value of contingent earn-out payments

9,100

$

169,505

Recognized amounts of identifiable assets acquired and liabilities assumed:

Cash and cash equivalents

$

47,460

Billed and unbilled accounts receivable

18,702

Other current assets

15,634

Other long-term assets

1,556

Property and equipment

7,709

Goodwill

72,788

Identifiable intangible assets

53,400

Lease right-of-use asset

19,736

Accounts payable

(16,453)

Billings in excess of costs and estimated earnings

(24,196)

Current lease liabilities

(2,337)

Accrued expenses and other current liabilities

(4,109)

Long-term lease liabilities

(17,398)

Other long-term liabilities

(2,987)

$

169,505

The allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of intangible assets and accrued liabilities. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. The goodwill recognized as a result of the TAS acquisition is not deductible for tax purposes.

In estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset. In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return. The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value. Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs.

65

The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates ranging from 15% - 23.5%. Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.

As a result of the TAS acquisition, we acquired $53.2 million of federal net operating loss (“NOL”) carryforwards and $6.5 million of state NOL carryforwards. Our ability to utilize these NOL carryforwards to reduce taxable income in future years is subject to significant limitations under Section 382 of the Internal Revenue Code (the “Code”) due to the ownership change in TAS on April 1, 2020. While we expect to fully utilize the federal NOL carryforwards before they begin to expire in 2031, a full valuation allowance was recorded against virtually all of the state NOL carryforwards. We do not believe it is more-likely-than-not that TAS will have sufficient revenue-generating operations in those states in the future.

The acquired intangible assets include the following (dollars in thousands):

Valuation Method

Estimated Useful Life

Estimated Fair Value

Backlog

Excess earnings

1 year

$

5,200

Trade Name

Relief-from-royalty

25 years

8,200

Customer Relationships

Excess earnings

10 years

40,000

Total

$

53,400

The contingent earn-out obligation is associated with the achievement of specified earnings milestones over a 27-month period, and the range of estimated milestone payments is from $1 million to $8 million. We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement. Cash flows were discounted using a 17.7% discount rate, which we believe is appropriate and representative of a market participant assumption. Subsequent to the acquisition date, the contingent earn-out obligation is re-measured at fair value each reporting period. Changes in the estimated fair value of the contingent payments subsequent to the acquisition date are recognized immediately in earnings.

T E C Industrial Construction and Maintenance Acquisition

On December 31, 2020, we consummated an acquisition of all outstanding equity interests of Tennessee Electric Company, Inc. dba TEC Industrial Maintenance and Construction (“T E C”). T E C is headquartered in Kingsport, Tennessee, and provides multidisciplined construction and industrial services, including electrical, mechanical and other plant services, primarily in Tennessee and surrounding states. As a result of the acquisition, T E C is a wholly owned subsidiary of the Company reported in our electrical services segment. T E C did not contribute to our revenue in 2020.

66

The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):

Consideration transferred:

Cash paid at closing

$

73,000

Working capital adjustment

2,006

Notes issued to former owners

7,000

Estimated fair value of contingent earn-out payments

7,560

$

89,566

Recognized amounts of identifiable assets acquired and liabilities assumed:

Cash and cash equivalents

$

4

Billed and unbilled accounts receivable

13,660

Costs in excess of billings

2,040

Other current assets

108

Other long-term assets

53

Property and equipment

912

Goodwill

44,431

Identifiable intangible assets

37,200

Lease right-of-use asset

1,234

Accounts payable

(4,123)

Billings in excess of costs and estimated earnings

(2,838)

Current lease liabilities

(175)

Accrued expenses and other current liabilities

(1,881)

Long-term lease liabilities

(1,059)

$

89,566

The allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of identifiable assets acquired and liabilities assumed. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. All of the goodwill recognized as a result of the T E C acquisition is tax deductible.

In estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset. In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return. The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value. Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs. The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates ranging from 14% - 15%. Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.

The acquired intangible assets include the following (dollars in thousands):

    

Valuation

    

Estimated

    

Estimated

    

Method

    

Useful Life

    

Fair Value

Backlog

 

Excess earnings

 

2 years

$

7,200

Trade Name

 

Relief-from-royalty

 

20 years

 

5,800

Customer Relationships

 

Excess earnings

 

9 years

24,200

Total

$

37,200

67

The contingent earn-out obligation is associated with the achievement of specified earnings milestones over a three year period, and the range of estimated milestone payments is from less than $1 million to $5 million. We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement. Cash flows were discounted using a 12.9% discount rate, which we believe is appropriate and representative of a market participant assumption. Subsequent to the acquisition date, the contingent earn-out obligation is re-measured at fair value each reporting period. Changes in the estimated fair value of the contingent payments subsequent to the acquisition date are recognized immediately in earnings.

Other Acquisitions

In addition to the TAS and T E C acquisitions, we completed the acquisition of an electrical contractor in North Carolina in the first quarter of 2020 with a total purchase price of $41.6 million. This acquisition is reported in our electrical services segment.

In the second quarter of 2019, we acquired all of the issued and outstanding stock of Walker TX Holding Company, LLC and each of its wholly owned subsidiaries (collectively “Walker”) for $235.4 million of which $187.0 million was allocated to goodwill and identifiable intangible assets. The total purchase price included $178.0 million in cash, $25.0 million in notes payable to former owners, a $20.5 million advance to former owners, a $19.5 million contingent earn-out obligation and a $0.2 million tax equalization payment, offset by a $7.8 million working capital adjustment. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas, and operations throughout the state of Texas. As a result of the acquisition, Walker is a wholly owned subsidiary of the Company reported in our electrical services segment. In addition to the Walker acquisition, we completed two additional acquisitions in 2019 which were “tucked-in” with existing operations. The total purchase price for these additional acquisitions, including earn-outs, was $2.6 million.

The results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. Excluding the Walker and TAS acquisitions, the acquisitions completed in 2020 and the prior year were not material, individually or in the aggregate. Additional contingent purchase price (“earn-out”) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, when they are not subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out under which continued employment is a condition to receipt of payment, then the earn-out is recorded as compensation expense over the period earned. 

6. Goodwill and Identifiable Intangible Assets, Net

Goodwill

The changes in the carrying amount of goodwill are as follows (in thousands):

Mechanical Services

Electrical Services

    

Segment

    

Segment

Total

Balance at December 31, 2018

$

235,182

$

$

235,182

Acquisitions and purchase price adjustments (See Note 5)

 

579

 

96,686

97,265

Impact of segment reorganization

(1,101)

1,101

Balance at December 31, 2019

234,660

97,787

332,447

Acquisitions and purchase price adjustments (See Note 5)

72,788

59,157

131,945

Balance at December 31, 2020

$

307,448

$

156,944

$

464,392

The aggregate goodwill balance as of December 31, 2020 and 2019 includes $116.6 million of accumulated impairment charges, all of which relate to the mechanical services segment.

68

We perform our annual impairment testing on October 1, or more frequently, if events and circumstances indicate impairment may have occurred. As discussed in Note 2, “Summary of Significant Accounting Policies,” we have the option to first perform a qualitative assessment to determine whether it is more likely than not that the fair value of the reporting unit is less than the carrying value.

During our annual impairment testing on October 1, 2019, we performed a quantitative assessment where the fair value of each reporting unit was estimated using a discounted cash flow model combined with a market valuation approach. We assigned a weighting of 50% to the discounted cash flow analysis and 50% to the public company approach for the year ended December 31, 2019. Based on this assessment, we concluded that the fair value of each of the reporting units was greater than its carrying value. The calculated fair values for the majority of the Company’s reporting units that have goodwill were significantly in excess (all greater than 80%) of the respective reporting unit’s carrying value, while two reporting units that were recently acquired had calculated fair values in excess of carrying value of at least 27%.

During our annual impairment testing on October 1, 2020, we performed a qualitative assessment for all of our reporting units except one, which considered various factors, including changes in the carrying value of the reporting unit, forecasted operating results, long-term growth rates and discount rates. Additionally, we considered qualitative key events and circumstances (i.e. macroeconomic environment, industry and market specific conditions, cost factors and events specific to the reporting unit, etc.). Based on this assessment, we concluded that it was more likely than not that the fair value of each of the reporting units was greater than its carrying value. Accordingly, no further testing was required. For Walker, we performed a step 1 quantitative assessment and the calculated fair value exceeded the carrying value by 24%. As a result of uncertainty caused by COVID-19 and Walker’s smaller excess of fair value percentage, this reporting unit is more susceptible to impairment risk from additional adverse changes in its operating environment, including micro- and macroeconomic environment conditions that could negatively impact them. Such adverse changes could include worsening economic conditions in the locations or markets they primarily serve, whether due to COVID-19 or other events and conditions. As of December 31, 2020, Walker had a goodwill balance of $96.8 million.

There are significant inherent uncertainties and management judgment involved in estimating the fair value of each reporting unit. While we believe we have made reasonable estimates and assumptions to estimate the fair value of our reporting units, it is possible that a material change could occur. If actual results are not consistent with our current estimates and assumptions, or the current economic outlook worsens, goodwill impairment charges may be recorded in future periods.

Identifiable Intangible Assets, Net

Identifiable intangible assets consist of the following (dollars in thousands):

Weighted-Average

December 31, 2020

December 31, 2019

    

Remaining Useful Lives

    

Gross Book

    

Accumulated

    

Gross Book

    

Accumulated

    

in Years

    

Value

    

Amortization

    

Value

    

Amortization

Customer Relationships

 

8.0

$

255,692

$

(103,919)

$

183,061

$

(80,813)

Backlog

 

2.0

 

19,800

 

(12,600)

 

7,400

 

(6,388)

Trade Names

 

20.5

 

91,495

 

(18,661)

 

71,995

 

(15,281)

Total

11.7

$

366,987

$

(135,180)

$

262,456

$

(102,482)

The amounts attributable to customer relationships and tradenames are amortized to “Selling, General and Administrative Expenses” based upon the estimated consumption of their economic benefits, or a straight-line method over periods from one to twenty-five years if the pattern of economic benefit cannot otherwise be reliably estimated. The amounts attributable to backlog are being amortized to “Cost of Services” on a proportionate method over the remaining backlog period. Amortization expense for the years ended December 31, 2020, 2019 and 2018 was $32.7 million, $27.1 million and $20.1 million, respectively.

69

As of December 31, 2020, future amortization expense of identifiable intangible assets was as follows (in thousands):

Year ended December 31—

    

    

2021

$

32,344

2022

 

27,412

2023

 

23,514

2024

 

22,164

2025

19,977

Thereafter

 

106,396

Total

$

231,807

7. Property and Equipment

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

Estimated

 

    

Useful Lives

    

December 31,

 

    

in Years

    

2020

    

2019

 

Land

 

$

7,167

$

6,206

Transportation equipment

 

1 - 7

 

113,802

 

106,972

Machinery and equipment

 

1 - 20

 

43,386

 

35,575

Computer and telephone equipment

 

1 - 10

 

23,215

 

20,744

Buildings and leasehold improvements

 

1 - 40

 

69,683

 

62,301

Furniture and fixtures

 

1 - 17

5,861

5,244

Construction in progress

 

 

1,294

 

2,123

 

264,408

 

239,165

Less—Accumulated depreciation

 

(147,202)

 

(129,369)

Property and equipment, net

$

117,206

$

109,796

Depreciation expense for the years ended December 31, 2020, 2019 and 2018 was $27.9 million, $24.5 million and $22.6 million, respectively.

8. Detail of Other Current Liabilities

Other current liabilities consist of the following (in thousands):

December 31,

 

    

2020

    

2019

 

Accrued warranty costs

$

8,914

$

7,452

Current lease liability

16,586

14,016

Accrued job losses

 

2,151

 

2,226

Accrued sales and use tax

 

3,731

 

2,938

Deferred revenue

 

4,559

 

5,506

Liabilities due to former owners

 

10,280

 

11,219

Other current liabilities

 

45,271

 

38,273

$

91,492

$

81,630

70

9. Debt Obligations

Debt obligations consist of the following (in thousands):

December 31,

 

2020

    

2019

 

Revolving credit facility

$

70,000

$

28,000

Term loan

135,000

150,000

Notes to former owners

31,000

 

48,483

Total principal amount

236,000

 

226,483

Less—unamortized debt issuance costs

(267)

(348)

Total debt, net of unamortized debt issuance costs

235,733

226,135

Less—current portion

 

(20,817)

Total long-term portion of debt, net

$

235,733

$

205,318

At December 31, 2020, future principal payments of debt are as follows (in thousands):

Year ended December 31—

    

    

2021

    

$

 

2022

 

23,000

2023

 

34,000

2024

 

26,500

2025

 

152,500

Thereafter

$

236,000

Interest expense included the following primary elements (in thousands):

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Interest expense on notes to former owners

$

1,354

$

1,531

$

642

Interest expense on borrowings and unused commitment fees

 

5,319

 

6,887

 

2,211

Interest expense on interest rate swaps

338

Letter of credit fees

 

830

 

512

 

474

Amortization of debt financing costs

 

544

 

387

 

383

Total

$

8,385

$

9,317

$

3,710

Revolving Credit Facility and Term Loan

In December 2019, we amended our senior credit facility (the “Facility”) provided by a syndicate of banks, increasing our borrowing capacity from $400.0 million to $600.0 million.  As amended, the Facility is composed of a revolving credit line in the amount of $450.0 million and a $150.0 million term loan, and the Facility also provides for a $150.0 million accordion or increase option for the revolving portion of the Facility. As of December 31, 2020, the Facility capacity was $585.0 million as the term loan was paid down by $15.0 million since the inception of the Facility. The amended Facility also includes a sublimit of up to $160.0 million issuable in the form of letters of credit. The Facility expires in January 2025 and is secured by a first lien on substantially all of our personal property except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries and our wholly owned captive insurance company, and a second lien on our assets related to projects subject to surety bonds. In 2019, we incurred approximately $1.4 million in financing and professional costs in connection with an amendment to the Facility which are being amortized over the remaining term of the Facility. Of this amount, $0.4 million is attributable to the term loan and is being amortized using the effective interest method. The remaining $1.0 million is attributable to the revolving credit line, which combined with the previous unamortized costs of $1.3 million, is being amortized over the remaining term of the Facility on a straight-line basis as a non-cash charge to interest expense. For the term loan, we are required to make quarterly payments increasing over time from 1.25% to 3.75% of the original aggregate principal amount of the term loan, with the balance due in January 2025. As of December 31, 2020, we had $135.0 million

71

principal outstanding on the term loan, $70.0 million of outstanding borrowings on the revolving credit facility, $49.5 million in letters of credit outstanding and $330.5 million of credit available.

Collateral

A common practice in our industry is the posting of payment and performance bonds with customers. These bonds are offered by financial institutions known as sureties and provide assurance to the customer that in the event we encounter significant financial or operational difficulties, the surety will arrange for the completion of our contractual obligations and for the payment of our vendors on the projects subject to the bonds. In cooperation with our lenders, we granted our sureties a first lien on assets such as receivables, costs and estimated earnings in excess of billings, and equipment specifically identifiable to projects for which bonds are outstanding, as collateral for potential obligations under bonds. As of December 31, 2020, the book value of these assets was approximately $167.8 million.

Covenants and Restrictions

The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end. Credit Facility Adjusted EBITDA is defined under the Facility for financial covenant purposes as net earnings for the four quarters ending as of any given quarterly covenant compliance measurement date, plus the corresponding amounts for (a) interest expense; (b) provision for income taxes; (c) depreciation and amortization; (d) stock compensation; (e) other non-cash charges; and (f) pre-acquisition results of acquired companies. The following is a reconciliation of Credit Facility Adjusted EBITDA to net income for 2020 (in thousands):

Net income

    

$

150,139

 

Provision for income taxes

 

41,401

Interest expense, net

 

8,282

Depreciation and amortization expense

 

60,629

Stock-based compensation

 

6,934

Pre-acquisition results of acquired companies, as defined under the Facility

 

18,511

Credit Facility Adjusted EBITDA

$

285,896

The Facility’s principal financial covenants include:

Total Leverage Ratio—The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The leverage ratio as of December 31, 2020 was 0.8.

Fixed Charge Coverage Ratio—The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock when the Company’s Total Leverage Ratio exceeds 2.00 to 1.00 to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 1.50 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense, and scheduled principal payments are defined under the Facility for purposes of this covenant, to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of December 31, 2020 was 7.2.

Other Restrictions—The Facility permits acquisitions of up to $5.0 million per transaction, provided that the aggregate purchase price of such an acquisition and of acquisitions in the same fiscal year does not exceed $10.0 million. However, these limitations only apply when the Company’s Total Leverage Ratio is greater than 2.50 to 1.00.

While the Facility’s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate

72

the Facility’s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.

We were in compliance with all of our financial covenants as of December 31, 2020.

Interest Rates and Fees

There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. Additional margins are then added to these two rates. Under the Base Rate Loan Option, the interest rate is determined based on the highest of the Federal Funds Rate plus 0.5%, the prime lending rate offered by Wells Fargo Bank, N.A. or the one-month Eurodollar Rate plus 1.00%. Under the Eurodollar Rate Loan Option, the interest rate is determined based on the one- to six-month Eurodollar Rate. The Eurodollar Rate corresponds very closely to rates described in various general business media sources as the London Interbank Offered Rate or “LIBOR.” Additional margins are then added to these rates. The additional margins are determined based on the ratio of our Consolidated Total Indebtedness as of a given quarter end to our “Credit Facility Adjusted EBITDA,” which shall mean Consolidated EBITDA as such term is defined in the credit agreement, for the twelve months ending as of that quarter end.

The interest rates under the Facility are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. For illustrative purposes, the following are the respective market rates as of December 31, 2020 relating to interest options under the Facility:

Base Rate Loan Option:

    

    

 

Federal Funds Rate plus 0.50%

    

0.59%

Wells Fargo Bank, N.A. Prime Rate

3.25%

One-month LIBOR plus 1.00%

1.14%

Eurodollar Rate Loan Option:

One-month LIBOR

0.14%

Six-month LIBOR

0.26%

Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. A letter of credit commits the lenders to pay specified amounts to the holder of the letter of credit if the holder demonstrates that we have failed to perform specified actions. If this were to occur, we would be required to reimburse the lenders for amounts they fund to honor the letter of credit holder’s claim. Absent a claim, there is no payment or reserving of funds by us in connection with a letter of credit. However, because a claim on a letter of credit would require immediate reimbursement by us to our lenders, letters of credit are treated as a use of facility capacity just the same as actual borrowings. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such claim is unlikely in the foreseeable future.

Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. Letter of credit fees and commitment fees are based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA.

Consolidated Total Indebtedness to

 

Credit Facility Adjusted EBITDA

 

    

Less than 1.00

    

1.00 to 1.75

    

1.75 to 2.50

    

2.50 or greater

 

Additional Per Annum Interest Margin Added Under:

Base Rate Loan Option

0.25

%  

0.50

%  

0.75

%  

1.00

%

Eurodollar Rate Loan Option

1.25

%

1.50

%

1.75

%

2.00

%

Letter of credit fees

1.25

%

1.50

%

1.75

%

2.00

%

Commitment fees on any portion of the Revolving Loan capacity not in use for borrowings or letters of credit at any given time

0.20

%  

0.25

%  

0.30

%  

0.35

%  

73

The weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of December 31, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of December 31, 2020.

Notes to Former Owners

As part of the consideration used to acquire four companies, we have outstanding notes to the former owners. Together, these notes had an outstanding balance of $31.0 million as of December 31, 2020. In conjunction with the acquisition of T E C in the fourth quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $7.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 2.5%. The principal is due in December 2023. In conjunction with the acquisition of TAS in the second quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $8.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.5%. The principal is due in April 2022. In conjunction with the acquisition of the electrical contractor in North Carolina in the first quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $6.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in installments in February 2023 and February 2024. In conjunction with the Walker acquisition in the second quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $10.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The remaining principal is due in April 2023.

10. Leases

We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to $7.7 million in 2020 and $8.4 million in 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of December 31, 2020 and 2019 was 4.2% and 3.9%, respectively. We recognize lease expense, including escalating lease payments and lease incentives, on a straight-line basis over the lease term. Lease expense for the years ended December 31, 2020, 2019 and 2018 was $28.2 million, $24.8 million and $23.4 million, respectively.

The lease terms generally range from three to ten years. Some leases include one or more options to renew, which may be exercised to extend the lease term. We include the exercise of lease renewal options in the lease term when it is reasonably certain that we will exercise the option and such exercise is at our sole discretion. The weighted average remaining lease term was 7.5 years at December 31, 2020 and 8.1 years at December 31, 2019.

A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the years ended December 31, 2020, 2019 and 2018 was approximately $4.2 million, $3.7 million and $4.8 million, respectively.

If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions, we rent or sublease certain real estate assets that we no longer use to third parties.

74

The following table summarizes the lease assets and liabilities included in the consolidated Balance Sheet as follows (in thousands):

December 31, 2020

December 31, 2019

Lease right-of-use assets

$

94,727

$

84,073

Lease liabilities:

Other current liabilities

$

16,586

$

14,016

Long-term lease liabilities

80,576

72,697

Total lease liabilities

$

97,162

$

86,713

The maturities of lease liabilities as of December 31, 2020 are as follows (in thousands):

Year ending December 31—

2021

$

20,254

2022

17,004

2023

14,727

2024

13,221

2025

12,108

Thereafter

36,645

Total Lease Payments

113,959

Less—Present Value Discount

(16,797)

Present Value of Lease Liabilities

$

97,162

Supplemental information related to leases was as follows (in thousands):

Year Ended December 31,

2020

2019

Cash paid for amounts included in the measurement of lease liabilities

$

20,443

$

16,895

Lease right-of-use assets obtained in exchange for lease liabilities

$

27,346

$

26,811

11. Income Taxes

Provision for Income Taxes

Our provision for income taxes relating to continuing operations consists of the following (in thousands):

December 31,

 

    

2020

    

2019

    

2018

 

Current tax provision—

Federal

$

36,556

$

33,281

$

22,728

State and Puerto Rico

 

12,798

 

8,388

 

8,589

Total current

 

49,354

 

41,669

 

31,317

Deferred tax provision (benefit)—

Federal

 

(5,483)

 

(3,750)

 

4,347

State and Puerto Rico

 

(2,470)

 

(501)

 

109

Total deferred

 

(7,953)

 

(4,251)

 

4,456

Provision for income taxes

$

41,401

$

37,418

$

35,773

75

The provision for income taxes for the years ended December 31, 2020, 2019 and 2018 resulted in effective tax rates on continuing operations of 21.6%, 24.7% and 24.1%, respectively. The reasons for the differences between these effective tax rates and the federal statutory rates are as follows (in thousands):

December 31,

 

    

2020

    

2019

    

2018

 

Federal statutory rate of—

21

%

21

%

21

%

Income taxes at the federal statutory rate

$

40,223

$

31,866

$

31,222

Increases (decreases) resulting from—

Net state income taxes

 

8,406

 

6,644

 

7,470

Valuation allowances

 

(254)

 

(279)

 

(2,852)

Net unrecognized tax benefits

 

18,557

 

7,338

 

(15)

Nondeductible expenses

 

2,470

 

2,180

 

1,926

R&D tax credit

 

(26,133)

 

(4,569)

 

(2,726)

179D deduction

(1,062)

(5,126)

Net operating loss carryforwards

2,225

Stock-based compensation deductions

(426)

(714)

(1,293)

Other

 

(380)

 

78

 

(184)

Provision for income taxes

$

41,401

$

37,418

$

35,773

Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a reduction in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.

In the third quarter of 2019, we filed an amended federal return for 2015 to claim the credit for increasing research activities (the “R&D tax credit”) and recorded a $4.6 million tax benefit that was fully offset by an addition to unrecognized tax benefits. We previously filed an amended federal return for 2014 to claim the R&D tax credit during 2018 and recorded a $2.7 million tax benefit that was also fully offset by an addition to unrecognized tax benefits. These $7.3 million of tax benefits were fully offset by additions to unrecognized tax benefits due to the uncertainty of the outcome from examinations opened by the Internal Revenue Service (the “IRS”). As a result, the R&D tax credit claimed had no impact on our effective tax rates.

During 2018, we dissolved our Puerto Rican subsidiary and thus wrote-off the remaining $2.2 million of net operating loss (“NOL”) carryforwards and related valuation allowance. The dissolution of our Puerto Rican subsidiary did not have an impact on our 2018 effective tax rate.

For the year ended December 31, 2019, our provision for income taxes was reduced by $2.2 million due to benefits from the filing, and expected filing, of amended returns to claim the energy efficient commercial buildings deduction (the “179D deduction”) allocated to us.

During the third quarter of 2020, the IRS completed its examination of our amended federal returns for 2014 and 2015 and issued a Revenue Agent Report (“RAR”) allowing the $8.9 million of refund claims in full. Subsequently, the Joint Committee on Taxation (the “JCT”) reviewed and approved the refund claims. As a result, our provision for income taxes was reduced by $8.3 million due to a reduction in unrecognized tax benefits of which $1.0 million related to the 179D deduction.

In early October 2020, we filed amended federal returns for 2016, 2017 and 2018 to claim the R&D tax credit and 179D deduction and recorded tax benefits of $6.1 million, $8.5 million and $11.9 million, respectively. The $26.5 million of tax benefits have been offset by additions to unrecognized tax benefits of $26.4 million due to the uncertainty of the outcome of future IRS examinations. The R&D tax credit and 179D deduction for 2016, 2017 and 2018, therefore, had no material impact on our effective tax rate for the year ended December 31, 2020. At this time, we cannot reasonably estimate the R&D tax credit for years after 2018 or 179D deduction for years after 2017.

76

Deferred Tax Assets (Liabilities)

Significant components of the deferred tax assets and deferred tax liabilities as reflected on the balance sheets are as follows (in thousands):

Year Ended

 

December 31,

 

    

2020

    

2019

 

Deferred tax assets—

Accounts receivable and allowance for credit losses

$

2,186

$

1,660

Stock-based compensation

 

2,791

 

2,561

Accrued liabilities and expenses

 

39,761

 

25,569

Lease liabilities

22,768

20,873

Net operating loss carryforwards

 

12,127

 

2,750

Intangible assets

7,988

Other

 

627

 

525

Subtotal

 

80,260

 

61,926

Valuation allowances

 

(514)

 

(369)

Total deferred tax assets

79,746

61,557

Deferred tax liabilities—

Property and equipment

 

(13,877)

 

(11,286)

Lease right-of-use asset

(22,715)

(20,873)

Long-term contracts

 

(609)

 

(876)

Intangible assets

(242)

Goodwill

 

(11,615)

 

(6,020)

Other

 

(2,626)

 

(2,004)

Total deferred tax liabilities

 

(51,684)

 

(41,059)

Net deferred tax assets

$

28,062

$

20,498

The deferred tax assets and liabilities reflected above are included in the consolidated balance sheets as follows (in thousands):

December 31,

 

    

2020

    

2019

 

Deferred tax assets

$

29,401

$

21,923

Deferred tax liabilities

$

1,339

$

1,425

As of December 31, 2020, we had $9.4 million of deferred tax assets related to $44.9 million of federal NOL carryforwards as a result of the TAS acquisition. If not used, such carryforwards will begin to expire in 2031. We also had $2.7 million of deferred tax assets related to $46.2 million of state NOL carryforwards, including carryforwards acquired from TAS. The state NOL carryforwards will expire in varying amounts between the years 2021 and 2040. Valuation allowances of $0.5 million have been recorded against certain of the state NOL carryforwards. The $2.2 million of deferred tax assets for state NOL carryforwards, net of valuation allowances, reflects our conclusion that it is more-likely-than-not these assets will be realized based upon expected future earnings in certain of our subsidiaries.

Pursuant to Section 382 of the Code, utilization of our federal NOL carryforwards is subject to annual limitations due to the ownership change in TAS. In general, an ownership change, as defined by Section 382, results from transactions increasing the ownership of certain stockholders or public groups in the stock of a corporation by more than 50 percentage points over a three-year period.

We regularly update our assessment of the realizability of our deferred tax assets, in particular, those related to state NOL carryforwards. A return to profitability in our subsidiaries with valuation allowances would result in a release of a portion of the valuation allowances relating to realizable deferred tax assets. A sustained period of profitability could cause a change in our judgment of any remaining deferred tax assets. If that were to occur, then it is likely that we would reverse some or all of the remaining valuation allowances.

77

Liabilities for Uncertain Tax Positions

A reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties, is as follows (in thousands):

Year Ended

 

December 31,

 

    

2020

    

2019

    

2018

 

Balance at beginning of year

$

10,199

$

2,966

$

8,929

Additions based on tax positions related to current year

 

 

 

Additions based on tax positions related to prior years

 

26,858

 

7,473

 

2,726

Reductions for tax positions related to prior years

 

 

(240)

 

(8,689)

Reductions for settlements with tax authorities

 

(8,301)

 

 

Balance at end of year

$

28,756

$

10,199

$

2,966

As of December 31, 2020, 2019 and 2018, we had $28.8 million, $10.2 million and $3.0 million, respectively, of unrecognized tax benefits, which if recognized in future periods, would impact our effective tax rates. We also had accrued zero, zero and $0.6 million for potential interest and penalties related to the unrecognized tax benefits as of December 31, 2020, 2019 and 2018, respectively. We recognize potential interest and penalties related to unrecognized tax benefits in our provision for income taxes.

We are subject to taxation in the United States and various state jurisdictions. During 2019, the IRS commenced an examination of our amended federal returns for 2014 and 2015. The IRS completed its examination and issued an RAR allowing our refund claims in full, which was reviewed and approved by the JCT during the third quarter of 2020. As a result, our unrecognized tax benefits were reduced by $8.3 million. In late January 2021, we received notification from the IRS that our federal returns for 2017 and 2018 were selected for examination. The completion of this IRS examination could impact our future results of operations and financial condition.

State income tax returns are generally subject to examination for a period of three to four years after filing the returns. However, the state impact of any federal audit adjustments and/or amendments remains subject to examination by various states for up to one year after formal notification to the states. We generally remain open to examination by various state tax authorities for the 2016 tax year forward. As of December 31, 2020, we did not have any state audits underway that would have a material impact on our financial position or results of operations.

We believe it is reasonably possible that a reduction of up to $28.8 million in unrecognized tax benefits could occur within the next twelve months. Any reduction in our unrecognized tax benefits, due to the future recognition of those tax benefits, would affect our effective tax rates.

12. Employee Benefit Plans

We and certain of our subsidiaries sponsor various retirement plans for most full-time and some part-time employees. These plans primarily consist of defined contribution plans. The defined contribution plans generally provide for contributions up to 2.5% of covered employees’ salaries or wages. These contributions totaled $16.3 million in 2020, $14.2 million in 2019 and $10.8 million in 2018. Of these amounts, approximately $0.5 million and $0.3 million were payable to the plans at December 31, 2020 and 2019, respectively.

Certain of our subsidiaries also participate or have participated in various multi-employer pension plans for the benefit of employees who are union members. As of December 31, 2020 and 2019, we had 6 and 7, respectively, who were union members. There were no contributions made to multi-employer pension plans in 2020, 2019 or 2018. The data available from administrators of other multi-employer pension plans is not sufficient to determine the accumulated benefit obligations, nor the net assets attributable to the multi-employer plans in which our employees participate or previously participated.

Certain individuals at one of our operating units are entitled to receive fixed annual payments that reach a maximum amount, as specified in the related agreements, for a 15 year period following retirement or, in some cases, the attainment of 65 years of age. We recognize the unfunded status of the plan as a non-current liability in our Consolidated Balance Sheet. Benefits vest 50% after ten years of service, 75% after fifteen years of service and are fully vested after

78

20 years of service. We had an unfunded benefit liability of $4.0 million and $4.1 million recorded as of December 31, 2020 and 2019, respectively.

13. Commitments and Contingencies

Claims and Lawsuits

We are subject to certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management’s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.

We are in a dispute with a customer regarding the outcome of a completed project and also regarding the obligation to perform subcontract work under two executed letters of intent for subsequent projects that we believe are not enforceable. The customer is claiming approximately $15 million in damages related to performance of the original project as well as excess costs to perform the work that was subject to the letters of intent. We are claiming approximately $9 million composed of unpaid amounts under the completed contract as well as costs and inefficiencies that we suffered. We have a lien on the project, and this matter is currently scheduled for arbitration in the second quarter of 2021 with a likely decision in the following months. As of December 31, 2020, we recorded an accrual for this matter based on our analysis of likely outcomes related to this dispute; however, it is possible that the ultimate outcome and associated costs will deviate from our estimates and that, in the event of an unexpectedly adverse outcome, we may experience additional costs and expenses in future periods.

Surety

Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and do not expect such losses to be incurred in the foreseeable future.

Current market conditions for surety markets and bonding capacity are adequate with acceptable terms and conditions. Historically, approximately 15% to 25% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties’ assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.

Self-Insurance

We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers’ compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.

79

Our self-insurance arrangements as of December 31, 2020 were as follows:

Workers’ Compensation—The per-incident deductible for workers’ compensation is $250,000. Losses above $250,000 are determined by statutory rules on a state-by-state basis and are fully covered by excess workers’ compensation insurance.

Employer’s Liability—For employer’s liability, the per-incident deductible is $250,000 and then we have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as general liability and auto liability noted below).

General Liability—For general liability, the per-incident deductible is $250,000. We are fully insured for the next $10.0 million of each loss, and then have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as employer’s liability noted above and auto liability noted below).

Auto Liability—For auto liability, the per-incident deductible is $250,000. We are fully insured for the next $10.0 million of each loss, and then have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as employer’s liability and general liability noted above).

Employee Medical—We have three medical plans. The deductible for employee group health claims is $350,000 per person, per policy (calendar) year for each plan. Insurance then covers any responsibility for medical claims in excess of the deductible amount.

Our $132.5 million of aggregate excess loss coverage above applicable per-incident deductibles represents one policy limit that applies to all lines of risk; we do not have a separate $132.5 million of excess loss coverage for each of general liability, employer’s liability and auto liability.

14. Stockholders’ Equity

2012 Equity Incentive Plan

In May 2012, our stockholders approved our 2012 Equity Incentive Plan (the “2012 Plan”), which provides for the granting of incentive or non-qualified stock options, stock appreciation rights, restricted or deferred stock, dividend equivalents or other incentive awards to directors, employees, or consultants. The number of shares authorized and reserved for issuance under the 2012 Plan is 5.1 million shares. As of December 31, 2020, there were 2.9 million shares available for issuance under this plan; however, following adoption of the 2017 Plan (described below), no additional shares will be issued under the 2012 Plan. The 2012 Plan will expire in May 2022.

2017 Omnibus Incentive Plan

In May 2017, our stockholders approved our 2017 Omnibus Incentive Plan (the “2017 Plan”), which provides for the granting of incentive or non-qualified stock options, stock appreciation rights, restricted or deferred stock, dividend equivalents or other incentive awards to directors, employees, or consultants. The number of shares authorized and reserved for issuance under the 2017 Plan is 2.9 million shares. As of December 31, 2020, there were 2.0 million shares available for issuance under this plan. The 2017 Plan will expire in May 2027. Additionally, we have outstanding stock options, stock awards and stock units that were issued under other plans, and no further grants may be made under those plans.

Share Repurchase Program

On March 29, 2007, our Board of Directors approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On December 8, 2020, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 10.3 million shares to be repurchased. As of December 31,

80

2020, we have repurchased a cumulative total of 9.3 million shares at an average price of $19.63 per share under the repurchase program.

The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the twelve months ended December 31, 2020, we repurchased 0.7 million shares for approximately $30.1 million at an average price of $43.99 per share.

Earnings Per Share

Basic earnings per share (“EPS”) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.

Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.

There were less than 0.1 million anti-dilutive stock options excluded from the calculation of diluted EPS for the years ended December 31, 2020, 2019 and 2018, respectively.

The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Common shares outstanding, end of period

 

36,188

 

36,658

 

36,894

Effect of using weighted average common shares outstanding

 

354

 

196

 

308

Shares used in computing earnings per share—basic

 

36,542

 

36,854

 

37,202

Effect of shares issuable under stock option plans based on the treasury stock method

 

123

 

204

 

283

Effect of restricted and contingently issuable shares

 

73

 

73

 

107

Shares used in computing earnings per share—diluted

 

36,738

 

37,131

 

37,592

15. Stock-Based Compensation

Grants of stock options, restricted stock and restricted stock units, and performance share units have been, under the 2012 Plan and under the 2017 Plan, determined and administered by the compensation committee of the Board of Directors. In 2019, the Board of Directors approved a change to the structure of long-term incentive grants to remove stock options, commencing with the March 2019 equity grant. Total stock-based compensation expense was $6.9 million, $5.9 million and $7.2 million for the years ended December 31, 2020, 2019 and 2018, respectively. Stock-based compensation expense is recognized using the straight-line method over the vesting period and generally vests over a three-year vesting period. Certain awards provide for accelerated vesting when the sum of an employee's age and years of service is at least 75. We recognize forfeitures as they occur. Total income tax benefit recognized for stock-based compensation arrangements was $1.5 million, $1.3 million and $1.5 million for each of the years ended December 31, 2020, 2019 and 2018.

We generally issue treasury shares for stock options and restricted stock, unless treasury shares are not available. Upon the vesting of restricted shares, we have allowed the holder to elect to surrender an amount of shares to meet their statutory tax withholding requirements. These shares are accounted for as treasury stock based upon the value of the stock on the date of vesting.

81

Stock Options

The following table summarizes activity under our stock option plans (shares in thousands):

Year Ended

December 31,

2020

    

    

Weighted-

Average

Stock Options

    

Shares

    

Exercise Price

 

Outstanding at beginning of year

 

382

$

27.06

Granted

 

$

Exercised

 

(114)

$

18.85

Forfeited

 

$

Expired

 

$

Outstanding at end of year

 

268

$

30.53

Options exercisable at end of year

 

241

The total intrinsic value of options exercised during the years ended December 31, 2020, 2019 and 2018 was $3.2 million, $3.5 million and $6.7 million, respectively. Stock options exercisable as of December 31, 2020 have a weighted-average remaining contractual term of 5.2 years and an aggregate intrinsic value of $5.7 million. As of December 31, 2020, we have 0.3 million options that are vested or expected to vest; these options have a weighted average exercise price of $30.53 per share, have a weighted-average remaining contractual term of 5.4 years and an aggregate intrinsic value of $5.9 million.

The following table summarizes information about stock options outstanding at December 31, 2020 (shares in thousands):

Options Outstanding

Options Exercisable

 

    

    

Weighted-

    

 

Average

 

Number

Remaining

Weighted-

Number

Weighted-

 

Outstanding at

Contractual

Average

Exercisable at

Average

 

Range of Exercise Prices

    

12/31/2020

    

Life (in years)

    

Exercise Price

    

12/31/2020

    

Exercise Price

 

$11.21 - $15.00

 

14

 

2.2

$

13.76

 

14

$

13.76

$15.01 - $35.00

 

130

 

4.4

$

23.54

 

130

$

23.54

$35.01 - $42.50

 

124

 

6.8

$

39.78

 

97

$

39.02

$11.21 - $42.50

 

268

 

5.4

$

30.53

 

241

$

29.18

The fair value of each option award is estimated, based on several assumptions, on the date of grant using the Black-Scholes option valuation model. We did not grant any options in 2019 or 2020. The fair values and the assumptions used for the 2018 grant are shown in the table below:

 

    

2018

 

Weighted-average fair value per share of options granted

$

13.06

Fair value assumptions:

Expected dividend yield

0.79%

Expected stock price volatility

31.7%

Risk-free interest rate

2.66%

Expected term

 

5.3 years

Stock options are accounted for as equity instruments. As of December 31, 2020, the unrecognized compensation cost related to stock options was less than $0.1 million, which is expected to be recognized over a weighted-average period of 0.3 years. The total fair value of options vested during the year ended December 31, 2020 was $0.7 million.

82

The following table summarizes information about nonvested stock option awards as of December 31, 2020 and changes for the year ended December 31, 2020 (shares in thousands):

    

    

Weighted-Average

Grant Date

Stock Options

    

Shares

    

Fair Value

 

Nonvested at December 31, 2019

 

81

$

12.53

Granted

 

$

Vested

 

(54)

$

12.26

Forfeited

 

$

Nonvested at December 31, 2020

 

27

$

13.06

Restricted Stock and Restricted Stock Units

The following table summarizes activity under our restricted stock plans (shares in thousands):

Year Ended

December 31,

2020

Weighted

Average Grant

Restricted Stock and Restricted Stock Units

    

Shares

    

Date Fair Value

 

Unvested at beginning of year

 

91

$

47.58

Granted

 

118

$

39.03

Vested

 

(85)

$

39.13

Forfeited

 

(4)

$

45.21

Unvested at end of year

 

120

$

45.21

Approximately $1.1 million of compensation expense related to restricted stock and restricted stock units will be recognized over a weighted-average period of 1.8 years. The total fair value of shares vested during the year ended December 31, 2020 was $3.3 million. The weighted-average fair value per share of restricted stock shares and units awarded during 2020, 2019 and 2018 was $39.03, $51.02 and $44.02, respectively. The aggregate intrinsic value of restricted stock vested during the years ended December 31, 2020, 2019 and 2018 was $2.9 million, $3.5 million and $3.3 million, respectively.

Performance Stock Units

Under the 2012 Plan, we granted dollar-denominated performance vesting restricted stock units (“PSUs”), which cliff vest at the end of a three-year performance period. The PSUs are subject to two performance measures; 50% of the PSUs are based on the annual performance of our stock price relative to a group of our peers (total shareholder return) and 50% of the PSUs are measured based on meeting or exceeding a pre-determined annual earnings per share target as set by our Board of Directors (EPS). Depending on the Company’s performance in relation to the established performance measures, the awards may vest at zero to a maximum of 2.0 times the dollar-denominated award granted at target. Upon achievement of the necessary performance metrics, the award will be determined in dollars and may be settled in cash or stock based on the market price of the Company’s common stock at the end of the performance period, at our discretion.

Compensation expense for dollar-denominated performance units will ultimately be equal to the final dollar value awarded to the grantee upon vesting, settled either in cash or stock. However, throughout the performance period we must record and accrue expense based on an estimate of that future payout. For units determined by EPS performance, the awards are evaluated quarterly against established targets in order to estimate the liability throughout the vesting period. For units determined by total shareholder return performance, a Monte Carlo simulation model was used to estimate accruals throughout the vesting period. The model simulates our total shareholder return and compares it against our peer group over the three-year performance period to produce a predicted distribution of relative share performance. This is applied to the reward criteria to give an expected value of the total shareholder return element. The calculated fair market value as of December 31, 2020 was $6.2 million. Of this amount, $2.2 million relates to the PSUs granted in 2018 whose performance period ended December 31, 2020. These awards will be settled within the upcoming

83

year either in cash or stock. The expense related to performance stock units for the years ended December 31, 2020, 2019 and 2018 was $2.7 million, $1.9 million and $2.9 million, respectively. At the December 31, 2020 calculated fair market value, approximately $0.7 million of compensation expense related to performance stock units will be recognized over a weighted-average period of 1.4 years.

16. Segment Information

We have two reportable segments: (a) our mechanical segment, which includes HVAC, plumbing, piping, and controls, as well as off-site construction, monitoring and fire protection; and (b) our electrical segment, which includes installation and servicing of electrical systems. We consider these two lines of business to be separate segments because they require different skill sets, and the business models for providing services have some differences, as a mechanical system requires ongoing maintenance and monitoring and an electrical system generally does not. However, the business model for installation of new systems or retrofitting existing systems is very similar between the two segments.

Our activities are within the mechanical services industry and the electrical services industry, which represent our two reportable segments. We aggregate our operating segments into two reportable segments, as the operating segments meet all of the aggregation criteria. Substantially all of our revenue is generated, and all of our assets are located, in the United States, our country of domicile. The following table presents information about our reportable segments (in thousands):

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Total Assets at December 31, 2020

$

1,215,985

$

449,588

$

91,782

$

1,757,355

Total Assets at December 31, 2019

$

1,056,609

$

372,254

$

76,149

$

1,505,012

Year Ended December 31, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,413,016

$

443,643

$

$

2,856,659

Gross Profit

$

509,740

$

37,243

$

$

546,983

Capital Expenditures

$

22,550

$

955

$

626

$

24,131

Year Ended December 31, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,251,560

$

363,717

$

$

2,615,277

Gross Profit

$

465,144

$

36,799

$

$

501,943

Capital Expenditures

$

27,933

$

1,504

$

2,313

$

31,750

Year Ended December 31, 2018

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,176,223

$

6,656

$

$

2,182,879

Gross Profit

$

444,960

$

1,319

$

$

446,279

Capital Expenditures

$

25,945

$

57

$

1,266

$

27,268

17. Selected Quarterly Financial Data

Quarterly financial information for the years ended December 31, 2020 and 2019 is summarized as follows (in thousands, except per share data):

2020

 

    

Q1

    

Q2

    

Q3

    

Q4

 

Revenue

$

700,131

$

743,468

$

714,099

$

698,961

Gross profit

 

117,093

 

145,695

 

147,196

 

136,999

Net income

 

17,716

 

39,495

 

50,088

 

42,840

INCOME PER SHARE:

Basic

$

0.48

$

1.08

$

1.37

$

1.18

Diluted

$

0.48

$

1.08

$

1.36

$

1.17

84

2019

 

    

Q1

    

Q2

    

Q3

    

Q4

 

Revenue

$

538,473

$

650,302

$

706,918

$

719,584

Gross profit (1)

 

106,665

 

120,016

 

142,702

 

132,560

Net income

 

19,866

 

24,173

 

36,233

 

34,052

INCOME PER SHARE:

Basic

$

0.54

$

0.65

$

0.98

$

0.93

Diluted

$

0.53

$

0.65

$

0.98

$

0.92

(1)In the fourth quarter of 2019, we recorded a $4.8 million gain due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019.

The sums of the individual quarterly earnings per share amounts do not necessarily agree with year-to-date earnings per share as each quarter’s computation is based on the weighted average number of shares outstanding during the quarter, the weighted average stock price during the quarter and the dilutive effects of options and contingently issuable restricted stock in each quarter.

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

None.

ITEM 9A. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Our executive management is responsible for ensuring the effectiveness of the design and operation of our disclosure controls and procedures. We carried out an evaluation under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934) as of the end of the period covered by this report. Based upon that evaluation, our Chief Executive Officer and Chief Financial Officer have concluded that our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) of the Securities Exchange Act of 1934) are effective as of the end of the period covered by this report.

Internal Controls over Financial Reporting

Management’s report on our internal controls over financial reporting can be found in Item 8 of this report. The Independent Registered Public Accounting Firm’s Attestation Report on the effectiveness of our internal controls over financial reporting can also be found in Item 8 of this report.

Changes in Internal Control over Financial Reporting

There have not been any changes in our internal control over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Securities Exchange Act of 1934) during the three months ended December 31, 2020 that has materially affected, or are reasonably likely to materially affect, internal control over financial reporting.

ITEM 9B. Other Information

None.

85

PART III

ITEM 10. Directors, Executive Officers and Corporate Governance

We have adopted a code of ethics that applies to our principal executive officer, our principal financial officer, and our principal accounting officer, as well as to our other employees. This code of ethics consists of our Code of Conduct. The Company has made this code of ethics available on our website, as described in Item 1 of this annual report on Form 10-K. If we make substantive amendments to this code of ethics or grant any waiver, including any implicit waiver, we will disclose the nature of such amendment or waiver on our website or in a report on Form 8-K within four business days of such amendment or waiver.

The other information called for by this item has been omitted in accordance with the instructions to Form 10-K. The Company will file with the Commission a definitive proxy statement including the other information to be disclosed under this item in the 120 days following December 31, 2020 and such information is hereby incorporated by reference.

ITEMS 11, 12, 13 AND 14.

These items have been omitted in accordance with the instructions to Form 10-K. The Company will file with the Commission a definitive proxy statement including the information to be disclosed under the items in the 120 days following December 31, 2020 and such information is hereby incorporated by reference.

PART IV

ITEM 15. Exhibits and Financial Statement Schedules

(a)

The following documents are filed as part of this annual report on Form 10-K:

(1)Consolidated Financial Statements: The Index to the Consolidated Financial Statements is included under Part II, Item 8 of this annual report on Form 10-K and is incorporated herein by reference.
(2)Financial Statement Schedules:

None.

(b)

Exhibits

Reference is made to the Index of Exhibits immediately following the signature page thereof, which is incorporated herein by reference.

(c)

Excluded financial statements:

None.

ITEM 16. Form 10-K Summary

None.

86

INDEX OF EXHIBITS

Incorporated by Reference
to the Exhibit Indicated Below
and to the Filing with the
Commission Indicated Below

Exhibit
Number

    

Description of Exhibits

    

Exhibit
Number

    

Filing or File Number

3.1

Second Amended and Restated Certificate of Incorporation of the Registrant

3.1 

333-24021

3.2

Certificate of Amendment dated May 21, 1998

3.2 

1998 Form 10-K

3.3

Certificate of Amendment dated July 9, 2003

3.3 

2003 Form 10-K

3.4

Certificate of Amendment dated May 20, 2016

3.1 

May 20, 2016
Form 8-K

3.5

Amended and Restated Bylaws of Comfort Systems USA, Inc.

3.1 

March 25, 2016

Form 8-K

4.1

Form of certificate evidencing ownership of Common Stock of the Registrant

4.1 

333-24021

4.2

Description of Registrant’s Securities

4.2 

2019 Form 10-K

*10.1

Comfort Systems USA, Inc. 1997 Long-Term Incentive Plan

10.1 

333-24021

*10.2

Comfort Systems USA, Inc. 1997 Non-Employee Directors’ Stock Plan

10.2 

333-24021

*10.3

Amendment to the 1997 Non-Employee Directors’ Stock Plan dated May 23, 2002

10.3 

Second Quarter 2002
Form 10-Q/A

*10.4

Comfort Systems USA, Inc. 2006 Equity Incentive Plan

4.5 

333-138377

*10.5

Form of Option Award under the Comfort Systems USA, Inc. 2006 Equity Incentive Plan

10.6 

2006 Form 10-K

*10.6

Form of Option Award under the Comfort Systems USA, Inc. 2006 Stock Options/SAR Plan for Non-Employee Directors

10.7 

2006 Form 10-K

*10.7

Employment Agreement between the Company, Eastern Heating & Cooling, Inc. and Alfred J. Giardinelli, Jr.

10.1 

Second Quarter 2003
Form 10-Q

*10.8

Amended and Restated 2006 Equity Compensation Plan for Non-Employee Directors

A

Proxy Statement
April 10, 2008

*10.9

2008 Senior Management Annual Performance Plan

B

Proxy Statement
April 10, 2008

*10.10

Form of Change in Control Agreement

10.2 

First Quarter 2008
Form 10-Q

*10.11

Form of Comfort Systems USA, Inc. Executive Severance Policy

10.3 

First Quarter 2008
Form 10-Q

*10.12

Form of Directors and Officers Indemnification Agreement

10.1 

May 19, 2009
Form 8-K

10.13

Second Amended and Restated Credit Agreement by and among Comfort Systems USA, Inc., as Borrower and Wells Fargo Bank, National Association, as Administrative Agent/Wells Fargo Securities LLC, as Sole Lead Arranger and Sole Lead Book Runner/Bank of Texas, N.A., Capital One, N.A., and Regions Bank as Co-Syndication Agent/and Certain Financial Institutions as Lenders

10.1 

July 22, 2010
Form 8-K/A

10.14

Stock Purchase Agreement, dated July 28, 2010

10.1 

July 30, 2010
Form 8-K

87

Incorporated by Reference
to the Exhibit Indicated Below
and to the Filing with the
Commission Indicated Below

Exhibit
Number

    

Description of Exhibits

    

Exhibit
Number

    

Filing or File Number

*10.15

Summary of 2011 Incentive Compensation Plan

10.1 

First Quarter 2011
Form 10-Q

*10.16

Form of Performance Restricted Stock Award Agreement dated March 24, 2011

10.1 

March 28, 2011
Form 8-K

*10.17

First Amendment to Comfort Systems USA, Inc. Amended and Restated 2006 Equity Compensation Plan for Non-Employee Directors

10.1 

Second Quarter 2011
Form 10-Q

10.18

Amendment No. 1 to Second Amended and Restated Credit Agreement, Second Amended and Restated Security Agreement, and Second Amended and Restated Pledge Agreement

10.1 

Third Quarter 2011
Form 10-Q

*10.19

Summary of 2012 Incentive Compensation Plan

10.1 

First Quarter 2012
Form 10-Q

*10.20

Form of 2012 Restricted Stock Unit Agreement

10.1 

March 30, 2012
Form 8-K

*10.21

Form of 2012 Dollar-denominated Performance Vesting Restricted Stock Unit Agreement

10.2 

March 30, 2012
Form 8-K

*10.22

2012 Equity Incentive Plan

A

April 9, 2012

Proxy Statement

*10.23

2012 Senior Management Annual Performance Plan

B

April 9, 2012

Proxy Statement

*10.24

Summary of 2013 Incentive Compensation Plan

10.1 

First Quarter 2013
Form 10-Q

*10.25

Form of 2013 Restricted Stock Unit Agreement

10.1 

March 22, 2013
Form 8-K

*10.26

Form of 2013 Dollar-denominated Performance Vesting Restricted Stock Unit Agreement

10.2 

March 22, 2013
Form 8-K

10.27

Amendment No. 2 to Second Amended and Restated Credit Agreement and Amendment to Other Loan Documents

10.1 

Second Quarter 2013
Form 10-Q

*10.28

Letter Agreement between the Company and James Mylett

10.28 

2013 Form 10-K

*10.29

Form of Change in Control Agreement (2013)

10.29 

2013 Form 10-K

*10.30

Summary of 2014 Incentive Compensation Plan

10.1 

First Quarter 2014
Form 10-Q

*10.31

Form of 2014 Restricted Stock Unit Agreement

10.1 

March 21, 2014
Form 8-K

*10.32

Form of 2014 Dollar-denominated Performance Vesting Restricted Stock Unit Agreement

10.2 

March 21, 2014
Form 8-K

*10.33

Form of Option Award under the Comfort Systems USA, Inc. 2012 Equity Incentive Plan

10.33 

2014 Form 10-K

10.34

Amendment No. 3 to Second Amended and Restated Credit Agreement and Amendment to Other Loan Documents

10.1 

Third Quarter 2014
Form 10-Q

10.35

Agreement and Plan of Merger between the Company and Dyna Ten Corporation, dated April 9, 2014

10.1 

April 9, 2014
Form 8-K

*10.36

Form of 2015 Restricted Stock Unit Agreement

10.1 

April 1, 2015
Form 8-K

88

Incorporated by Reference
to the Exhibit Indicated Below
and to the Filing with the
Commission Indicated Below

Exhibit
Number

    

Description of Exhibits

    

Exhibit
Number

    

Filing or File Number

*10.37

Form of 2015 Dollar-denominated Performance Vesting Restricted Stock Unit Agreement

10.2 

April 1, 2015
Form 8-K

*10.38

Summary of 2015 Incentive Compensation Plan

10.1 

First Quarter 2015
Form 10-Q

*10.39

Form of Amended Change in Control Agreement

10.1 

Third Quarter 2015
Form 10-Q

10.40

Amendment No. 4 to Second Amended and Restated Credit Agreement and Amendment to Other Loan Documents

10.40

2015 Form 10-K

*10.41

Form of 2016 Restricted Stock Unit Agreement

10.1

March 25, 2016

Form 8-K

*10.42

Form of 2016 Dollar-denominated Performance Restricted Stock Unit Agreement

10.2

March 25, 2016

Form 8-K

*10.43

Form of 2016 Stock Option Notice

10.3

March 25, 2016

Form 8-K

*10.44

Resignation and General Release Agreement between the Company and James Mylett, dated as of January 10, 2017

10.1

January 11, 2017

Form 8-K

10.45

Stock Purchase Agreement, dated February 21, 2017, by and among the Company, BCH, the Selling Shareholders and Daryl Blume, in his capacity as representative of the Selling Shareholders

2.1

February 23, 2017

Form 8-K

10.46

Form of Promissory Note, dated April 1, 2017, issued by the Company in favor of each of the Selling Shareholders

10.1

April 3, 2017

Form 8-K

*10.47

2017 Omnibus Incentive Plan

A

April 10, 2017

Proxy Statement

*10.48

2017 Senior Management Annual Performance Plan

B

April 10, 2017

Proxy Statement

*10.49

Form of Restricted Stock Unit Agreement under the Company’s 2012 Equity Incentive Plan

10.2

First Quarter 2017

Form 10-Q

*10.50

Form of Stock Option Notice under the Company’s 2012 Equity Incentive Plan

10.3

First Quarter 2017

Form 10-Q

*10.51

Form of Dollar-denominated Performance Restricted Stock Unit Agreement under the Company’s 2012 Equity Incentive Plan

10.4

First Quarter 2017

Form 10-Q

*10.52

Form of Restricted Stock Unit Agreement under the Company’s 2017 Omnibus Incentive Plan

10.1

First Quarter 2018

Form 10-Q

*10.53

Form of Stock Option Notice under the Company’s 2017 Omnibus Incentive Plan

10.2

First Quarter 2018

Form 10-Q

*10.54

Form of Dollar-denominated Performance Restricted Stock Unit Agreement under the Company’s 2017 Omnibus Incentive Plan

10.3

First Quarter 2018

Form 10-Q

10.55

Amendment No. 5 to Second Amended and Restated Credit Agreement and Amendment to Other Loan Documents

10.1

Second Quarter 2018

Form 10-Q

10.56

Purchase Agreement, dated February 21, 2019, by and among the Company, Walker, the Shareholder Sellers and Scott Walker, in his capacity as representative of the Shareholder Sellers

2.1

February 26, 2019

Form 8-K

10.57

Amendment No. 6 to Second Amended and Restated Credit Agreement and Amendment to Other Loan Documents

10.56

2019 Form 10-K

10.58

Agreement and Plan of Merger dated as of March 9, 2020 among Comfort Systems USA, Inc., OSC Acquisition Corp., TAS Energy Inc., and Element Partners II, L.P., as Stockholder Representative

2.1

March 13, 2020

Form 8-K

21.1

List of subsidiaries of Comfort Systems USA, Inc.

Filed Herewith

23.1

Consent of Ernst & Young LLP

Filed Herewith

31.1

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

Filed Herewith

89

Incorporated by Reference
to the Exhibit Indicated Below
and to the Filing with the
Commission Indicated Below

Exhibit
Number

    

Description of Exhibits

    

Exhibit
Number

    

Filing or File Number

31.2

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

Filed Herewith

32.1

Certification of Chief Executive Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

Furnished Herewith

32.2

Certification of Chief Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

Furnished Herewith

90

Incorporated by Reference
to the Exhibit Indicated Below
and to the Filing with the
Commission Indicated Below

Exhibit
Number

    

Description of Exhibits

    

Exhibit
Number

    

Filing or File Number

101.INS

Inline XBRL Instance Document

Filed Herewith

101.SCH

Inline XBRL Taxonomy Extension Schema Document

Filed Herewith

101.CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document

Filed Herewith

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document

Filed Herewith

101.LAB

Inline XBRL Taxonomy Extension Label Linkbase Document

Filed Herewith

101.PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document

Filed Herewith

104

Cover Page Interactive Data File (the cover page XBRL tags are embedded in the Inline XBRL document)

*

Management contract or compensatory plan.

91

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.

COMFORT SYSTEMS USA, INC.

By:

/s/ BRIAN E. LANE

Brian E. Lane

President and Chief Executive Officer

Date: February 25, 2021

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

Signature

    

Title

    

Date

 

/s/ Brian E. Lane

President, Chief Executive Officer, and

February 25, 2021

Brian E. Lane

Director (Principal Executive Officer)

/s/ William George

Executive Vice President and Chief Financial

February 25, 2021

William George

Officer (Principal Financial Officer)

/s/ Julie S. Shaeff

Senior Vice President and Chief Accounting

February 25, 2021

Julie S. Shaeff

Officer (Principal Accounting Officer)

/s/ Franklin Myers

Chairman of the Board

February 25, 2021

Franklin Myers

/s/ Darcy G. Anderson

Director

February 25, 2021

Darcy G. Anderson

/s/ Herman E. Bulls

Director

February 25, 2021

Herman E. Bulls

/s/ Alan P. Krusi

Director

February 25, 2021

Alan P. Krusi

/s/ James H. Schultz

Director

February 25, 2021

James H. Schultz

/s/ Pablo G. Mercado

Director

February 25, 2021

Pablo G. Mercado

/s/ William J. Sandbrook

Director

February 25, 2021

William J. Sandbrook

/s/ Constance E. Skidmore

Director

February 25, 2021

Constance E. Skidmore

/s/ Vance W. Tang

Director

February 25, 2021

Vance W. Tang

92

EX-21.1 2 fix-20201231xex21d1.htm EX-21.1

EXHIBIT 21.1

SUBSIDIARIES OF COMFORT SYSTEMS USA, INC.

as of December 31, 2020

ENTITY NAME

    

DOMESTIC
JURISDICTION

    

FORMATION
DATE

 

ACI Mechanical, Inc.

Delaware

06/26/1998

Acorn Industrial, LLC

North Carolina

01/03/1997

Air Systems Engineering, Inc.

Washington

05/18/1973

AirTemp, Inc.

Maine

10/15/1998

Altrax Tool and Equipment Co LLC

Tennessee

12/03/2018

ARC Comfort Systems USA, Inc.

Delaware

03/17/1998

Armani East LLC

New York

12/03/2018

BCH Holdings, Inc.

Florida

12/28/2004

BCH Leasing, LLC

Florida

10/25/1990

BCH Mechanical, L.L.C.

Florida

10/19/1976

BCM Controls Corporation

Massachusetts

10/03/1984

Billone West LLC

New York

12/03/2018

Blue C, LLC dba HVACRedu.net

Montana

01/01/2007

California Comfort Systems USA, Inc.

California

05/18/1983

ColonialWebb Contractors Company

Virginia

03/30/1972

Comfort Systems USA (Arkansas), Inc.

Arkansas

03/17/1998

Comfort Systems USA (Indiana), LLC

Indiana

06/08/2015

Comfort Systems USA (Intermountain), Inc.

Utah

05/06/1969

Comfort Systems USA (Kentucky), Inc.

Kentucky

02/10/1981

Comfort Systems USA (Mid South), Inc.

Alabama

08/06/1998

Comfort Systems USA (MidAtlantic), LLC

Virginia

01/01/2010

Comfort Systems USA (Northwest), Inc.

Washington

02/14/1984

Comfort Systems USA (Ohio), Inc.

Ohio

10/10/1979

Comfort Systems USA (South Central), Inc.

Texas

05/24/2007

Comfort Systems USA (Southeast), Inc.

Delaware

03/24/1998

Comfort Systems USA (Southwest), Inc.

Arizona

12/23/1977

Comfort Systems USA (Syracuse), Inc.

New York

03/08/1965

Comfort Systems USA (Texas), L.P.

Texas

08/14/1998

Comfort Systems USA G.P., Inc.

Delaware

08/12/1998

Comfort Systems USA Strategic Accounts, LLC

Indiana

07/28/1998

ConServ Building Services of Alabama, LLC

Alabama

12/28/2012

ConServ Building Services of Georgia, LLC

Georgia

11/04/2008

ConServ Building Services of North Carolina, LLC

North Carolina

03/22/2010

ConServ Building Services of Tennessee, LLC

Tennessee

01/07/2010

ConServ Building Services of Texas, LLC

Texas

01/22/2010

ConServ Building Services, LLC

Florida

01/05/2005

Control Concepts Mechanical Services, LLC

Georgia

01/17/2008

Control Concepts, LLC

Georgia

12/16/1996

CSUSA (10), LLC

North Carolina

10/21/2011

Design Mechanical Incorporated

Colorado

11/25/2003

Dilling Group, Inc.

Indiana

12/14/1984

Dilling, LLC

Indiana

12/29/1998

Dyna Ten Corporation

Texas

06/26/1980

Dyna Ten Maintenance Services, LLC

Texas

08/07/2006

Eastern Heating & Cooling, Inc.

New York

12/19/1988

Environmental Air Systems, LLC

North Carolina

10/07/2011

Envirotrol, LLC

North Carolina

10/28/2011

F. W. Dilling, LLC

Indiana

12/06/1999


ENTITY NAME

    

DOMESTIC
JURISDICTION

    

FORMATION
DATE

 

Dyna Ten Maintenance Services, LLC

Texas

08/07/2006

Granite State Holdings Company, Inc.

Delaware

11/03/2005

Granite State Plumbing & Heating, LLC

New Hampshire

07/31/2001

Hess Mechanical, LLC

Maryland

12/31/2015

Ind-Com Electric Company, LLC

North Carolina

12/08/2009

Mechanical Technical Services, Inc.

Texas

05/24/2007

MJ Mechanical Services, Inc.

Virginia

12/12/1997

MODSEC, Inc.

North Carolina

05/04/2018

North American Mechanical, Inc.

Delaware

03/17/1998

OFF, LLC

Indiana

11/22/2002

Post Oak Insurance Co. Ltd.

Cayman Islands

10/04/2019

Premier Prefabrication Solutions, LLC

Texas

01/16/2018

Quality Air Heating & Cooling, Inc.

Michigan

09/10/1980

Riddleberger Brothers, Inc.

Virginia

12/22/1958

Royalaire Holdings, LLC

Florida

03/22/2006

Royalaire Mechanical Services II, LLC

Florida

09/27/2010

Royalaire Mechanical Services, LLC

Florida

09/12/2006

S.I. Goldman Company, Inc.

Florida

10/04/1976

S.M. Lawrence Company, Inc.

Tennessee

03/08/1973

Seasonair, Inc.

Maryland

10/28/1966

ShoffnerKalthoff MES, Inc.

Tennessee

05/18/2005

Starr Electric Company, Incorporated

North Carolina

07/27/1942

TAS Australia Pty Ltd.

Australia

06/28/2012

TAS Energy Inc.

Delaware

04/30/2010

TAS GP, LLC

Delaware

07/19/2007

TAS Modular Data Limited

Ireland

11/20/2019

Temp Right Service, Inc.

Delaware

09/25/1997

Tennessee Electric Company, Inc.

Tennessee

06/02/1961

Trumbo Electric, Incorporated

Virginia

06/02/1966

Turbine Air Systems, Ltd.

Texas

02/03/1998

Walker Electrical Contractors, Inc.

Texas

03/23/2010

Walker Engineering, Inc.

Texas

01/29/2002

Walker Industrial, LLC

Texas

12/12/2014

Walker Logistics, LLC

Texas

01/10/2013

Walker Service Group, LLC

Texas

03/14/2013

Walker TX Holding Company, LLC

Texas

05/13/2013


EX-23.1 3 fix-20201231xex23d1.htm EX-23.1

Exhibit 23.1

Consent of Independent Registered Public Accounting Firm

We consent to the incorporation by reference in the following Registration Statements:

(1)Registration Statement (Form S-8 No. 333-38011) pertaining to the 1997 Long-Term Incentive Plan, 1997 Non-Employee Director’s Stock Plan, and 1998 Employee Stock Purchase Plan of Comfort Systems USA, Inc.

(2)Registration Statement (Form S-8 No. 333-44354) pertaining to the 2000 Incentive Plan of Comfort Systems USA, Inc.

(3)Registration Statement (Form S-8 No. 333-138377) pertaining to the 2006 Equity Incentive Plan and 2006 Stock Options/SAR Plan for Non-Employee Directors of Comfort Systems USA, Inc.

(4)Registration Statement (Form S-8 No. 333-188302) pertaining to the Comfort Systems USA, Inc. 2012 Equity Incentive Plan.

(5)Registration Statement (Form S-8 No. 333-221142) pertaining to the Comfort Systems USA, Inc. 2017 Omnibus Incentive Plan.

of our reports dated February 25, 2021, with respect to the consolidated financial statements of Comfort Systems USA, Inc. and the effectiveness of internal control over financial reporting of Comfort Systems USA, Inc., included in this Annual Report (Form 10-K) of Comfort Systems USA, Inc. for the year ended December 31, 2020.

/s/ Ernst & Young, LLP

Houston, Texas

February 25, 2021


EX-31.1 4 fix-20201231xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION OF CHIEF EXECUTIVE OFFICER

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

I, Brian E. Lane, certify that:

1.I have reviewed this annual report on Form 10-K of Comfort Systems USA, 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: February 25, 2021

/s/ Brian E. Lane

Brian E. Lane

President and Chief Executive Officer


EX-31.2 5 fix-20201231xex31d2.htm EX-31.2 Merrill Document Readback

Exhibit 31.2

CERTIFICATION OF CHIEF FINANCIAL OFFICER

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

I, William George, certify that:

1.I have reviewed this annual report on Form 10-K of Comfort Systems USA, 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: February 25, 2021

/s/ William George

William George

Executive Vice President and Chief Financial Officer


EX-32.1 6 fix-20201231xex32d1.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 Comfort Systems USA, Inc. (the “Company”) on Form 10-K for the fiscal year ended December 31, 2020, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Brian E. Lane, President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. §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), as applicable, 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.

Date: February 25, 2021

/s/ Brian E. Lane

Brian E. Lane

President and Chief Executive Officer


*

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.


EX-32.2 7 fix-20201231xex32d2.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 Comfort Systems USA, Inc. (the “Company”) on Form 10-K for the fiscal year ended December 31, 2020, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, William George, Executive Vice President and Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. §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), as applicable, 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.

Date: February 25, 2021

/s/ William George

William George

Executive Vice President and Chief Financial Officer


*

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.


GRAPHIC 8 fix-20201231x10k002.jpg GRAPHIC begin 644 fix-20201231x10k002.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# @&!@<&!0@'!P<)"0@*#!0-# L+ M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#7J#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#W^BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH \R^(6LZY?^*M*\%>'[XZ=-?(TUS>*/G2,=E/8_2E\ M-^#?&WA;Q9;$>*IM9T*6,F[&H.Q=6'39DL1USP<<'/:CXA:'KUEXITKQKX//%/BRVSX6ET+0H$/VS^T48/(3TV%@ MI)X[# R<]A0!B*OB;XI^*=92R\27>A:+I-P;:,69*O(XR"2002.#U/I5GP_J MWB/POXJU3P/KFJR:G&=.DO-/OG)\W SPQZ]CU)P1UQ58KXL^%OBG6)M-\-7. MOZ'JUP;A!:9:2*0Y)!"AB!R>HQTYJSX]II^GL# MYH4CJPZCOU )+= ,4 <[\&?&>J6XU!]?U.\O();62YA-U.TA'E?> W$^M4OA MUX@\1W?C374U+6-0E1]%EO(HI+ERD9?RW4JI. 0&[=*IR^"?$B_#3P_]BTO4 M8M1-U-;W$0M7$B128Y9<9"\=>E=C:>%]1T_XL^()8=+O!8-X>%O#.(&\MW$< M2[%;&"?E/'7@T >?:;?O/X.?5[CXK:K;ZLB,ZZ(/$$B(9X6,;A$/S/E<$9^3\":U/A?\ #K13X)L)M>\,0KJ@ M=BYO+8K*,'C(89K+UWPEXE\;?%6[N+"YO/#UGHMNL%E>-:N%D/.[R\[01RW( M)X ]: .M^$NO7>J>&9].U2>2;5-*N'M;AY6+.V#P23R:\:\-W7]LZ==W6L_% M?5='NDN9(TM6NI6R@ (;[XZDD?A7?>#O#7B3P+\47AO9KS6;+5X"TVHI;/L6 M4=-YY"].I/-9/@SX4Q:]\.M6BU72)=/UPWTK6ES<0-'*H"H4^\ 2F<_K0!5G M\5>(Y_@/=WLFJ7GVBWU 06]_'(T'=#G ML5G?4(-P+S?,,,P(/8<9[YYXJKK9\3Z]\%KC1;[P]J2ZQ8W21,L=D_\ I"@G MYTPOS#U(^O>NA\:S^*M,O+-V\,CQ/X9FM%BET]+<--#+CGHI;' .<$=0<<4 M/\"ZEK.A:1KEU?:]%XBT&T@:XL[WSP\S8!)5ADL,X[UB:!X9\:?$72AXIN_& MM_I/VLLUI9V;,L:1AB!D*P'7OR<=:3P%X0U'5]<\07TGAV?PQH>H636@L9,J MQ ME 'M'A::6X\*:3--(\DKVD;.[L2S$J.23UKRFQC\4?%K7-7O+;Q/>:#H>GW+ M6MK'9$J\C#&2V",\8/)XR,#J:]6\+0RV_A3289XWBE2UC5T=2K*0HR"#T->4 MV?\ PEWPFUO5[:Q\+W/B#0=0N6N;9K/<9(F/9MJL1Q@[L'M;*Q(/F*F/XEZ@\#@@'VI M/A5\.M(?P/:3>(?#$2ZH)I"QO;8I* '.W(8 ],8H ]3TZ VNF6T#W+W!CB53 M.YYDP/O'ZUX!H/B73-=U[5+W7_%7BBQ2XU5TL1:74D=JD>[Y06P5'88XKZ&9 M2L)6(*"%PH(X'I^%>)^(;OQ3XH\,W/@VZ\$7-GJLEVH^U6MOBQ5 0WF"4G&< M?YSQ0![#J&GC4M%GL%N[B$30^6MQ!*5D3CA@PYSWKQ&/Q[XAT3P]?^!;M[BX M\7177V.TN"69I8W.1)N// [^XKW+3;5K+2[2U=][0PI&6]2 !FO/-8T>\E^/ M>A:G'IUP]DFGNLMTL#&-6^? +XP#R.] ')_$*#4O#=MX+T6?Q=JEB)C(M]J/ MVR0MD[^'7C+Q M(^K>(&\07OAR75+B02VDEHX=T!(&X%E.,$\8IECH?B33/ACXO\&7&EZA<-:2 MDV,T=JY6Y0GG9QST!P">I]* ..W/:O(=<^&\VF>$M$\3 M>%]*$&OZ="CW%FL&3<@XW H1RPYXZD9'7%>PZ%J-NZD, >N>>XYH \ELX?$WQ8UC5KNV\47FA:/I]TUK;1V1*N[#&2V&&>W4 MGVK2O+;QGX:^$WB>/7-8-Q/;(WV"\BD(GV#&"6'.?QSUS6;:MXK^$^L:K:V7 MA:Z\0:-J-RUU;O9;B\;'&0VU6([=0,]CUKH-/@\9^-/ .OP>([*'3Y+]66PM MF7;(BD9 ?TY]>>N<<4 /N-1OE_9_;41>W OO['$GVD2MYF_;][=G.?>O./&F ML^(F\)> QI^M:C#=W=HS2/%=.K2L!GYB#\Q^M6GUSQY)X!/@$^ M1-V8A8?; MMC>3MSC.=NWI_%NQWK>UKPAJ5KJOPWL%LI[J+3U\N[FAA9XXS@9W,!@#.>M M&5\1_&NJ:EX%\.?V/?W5G=36K:A=R6\S1NJ1KMP2"#@LQX]15FRUS5FU3X6( MVJ7I6\B);#PAX%U_3-(GN;[0TS/8-&1+@GGY,;L^V,^U '4>/M3O[3X MG^ [6VO;F&VN9Y!/#'*RI*!MP& .&_&G> M2O[OXC>-;:YO;F:"WN$$,4DK, ML8QT4$X'X5@6,GBCXB?$O0-6OO"MYH6FZ)ND=KP,K.S X"[E7=RJ]!QSD\@5 M2M];\2>"OB)XJNK?P/K.K6]_< QRP02*N !R"$8&@#UWQ7KKR=+6 M!G4?WFZ*/Q) _&O*OA5K/B#2_%$6D^)=1NKK^V;%;VU-S*S[#DDJ-QXXQP*/ M&.I^)_B3X>TC0XO"^K:*;[4<7;SV\C+#$F,,Y*K@$MG_ (!6?XA^'?C/PS-I M/B*/7KWQ)-IDZ".UBM6,BQ]]H#,<8XZ4 .^*WAWQ!X8CCUNU\<:V4U#5%@%J ML\B)"KAV^7#]MN,8%6->T77? VJ^&+=O&.L:DM]JJ"0S3NOR@#Y3\YR#Z5TO MQEL-0USP=H8T[3KRYE&JP3/%# [NB^7)DLH&0 2 <^M2_%+2]0U#7/!TEE8W M-REOJ0>9H86<1KQRQ X'N: *_@S5K[1OBCXJ\+:M?W-Q"P%]8&YF9]D?4JI8 M],,O'^R:Y.;6])QC=]>]?/&E7<-CI]G!/\#=0N+F&-%>X-K("[ *_#.DQ_$#7Y4UR MYDB9S<2+Y(4IT&_G[_MTK5O[;Q3;:[8_#;2_%=]++*C7EYJL[-YRQDCY5)8D M8]B.M=+\1=+U"^^(7P^N;2QN;BWM;R5KB6*%G6$$Q8+D#"C@]?0U!X]T7Q%H M_C6R\<^&M/\ [2>&#[/>6:_?>//\(')_#)]C0!CWD'BCX3ZQI5Y<>)[O7=%U M"Y2UN8[TEGC8YP5R3CC/0\]QTIGQ?\/ZYHMCJ'BJR\9ZQ"C3(%L(IW2- >." M']O2G73>+?BQK>E6U[X7NO#^AZ=,C@<9Y/2NK^,VG7 MVJ?#FZM=/L[B[N&EC(BMXFD<@'T )H YB_L=6^'?@+4=5E\6:IJUWJ4$=O:) M#?%_@OQ[H?B M.;4[[Q,)I/LMVT5JY>*(\9;!8[1G/X4 =3X'U*_NOBMXYM+B]N9K:WDB$$,D MK,D60<[5)P/PKTNO"5UGQ'X+^)_BW4+;P3K.KVVH2IY-^)[R2]^+OB/3]1^(&H^' M+&W6)H!'<2!"3&F5"A@!U)K0\%:[JRP>-M,@\1W6N:99:=)+;:E(S;UDV-T8 MDG]>,5J0^!8/$/QA\82:[HDLNG36\0MKF:!@A;9&"8W(P2.>A[5%X:L=?\-Z M7XJ\$W>EWEQ:K93MIM]%:L4E!0XC+ 8+&=*^P>.=6MQ9VI)NH'<-=\9#,0X_ M7->4>&E.C^'[6PU/X+ZEJEY%O\R\DM)%:3+DC(\H] 0.O:OH#1+J34?!UO.V MDS:6\EL0+&12'AX("X(!_2@#Q;P#HGB'6O!LGBV?QOK>;?+*S29 ;!W$YXJ#X1Z%?V_PGFTK4;.XL;F M:2=?+N8FC8!A@'##.*XW2M9\<^#_ G=^"CX%U"]E D@@OH$=HMKY )*J0>O M]X>] %.^\0:R?@/X=O3KNHPW4^HM'->"Z?S-F]QRVIW/AR^TF\ M\-_$N_\ $E])>1QMITDCNKJ>N06(QVZ9YR*W]>\#:QI_P>\+:"VG3WEY%?I+ M=PV\9E\L,S,0=N> &P3TXZUI>)/!]QX#\3Z9XJ\'Z*]Q:,RPZAIEI 9&V_WT M4 D'KR.AQZT 9?Q!\9:WX7^,UO/;7-W)IEO:1R75HLC&+82P9BF<9]\5O)XA MO[WXR7:Z;J;FR?0&N;:*25S;A\*5M2W.A3:U\:)KFYTN[;1[O1!$ MTTENZIEL_*21@-ST/(KGOAMX/U[PQ\7[N&^M;Q].MK*2&VO6B;RF3-L*IBW#"IE&..OS5ZA35C1,;$ M5<#' QQZ4Z@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH *R?^$DTT>)_^$>\UOM_D^=M MVG;CTW=-V!G'IS6E//%;6\MQ,X2*)"[L>BJ!DFO)I(O$(T!O%@TJT$AOAK/F M_;&\\0X"B,Q^5C_4_+C?UY]J /7:*\CU""WO[?6=8C:5IO[8MEMYA(P*1.T8 M(7G@$,?SJSJ,::9J>LZ>@>#08KZRDO$0MMCB>,^83Z*2J[O;)/>@#U.BO);B M.WO+I+;3)7D\.R:U;)"89"8W/EOYBHPZH3@'''6IKA8[#5M3TR5C#X%-,U#3-;N8[6^BO M;J81S'#W:23/(C1CK)E6"_+G!!':@#M[>XAN[>.XMY%DAD4.CJAJ2O-; MZ[TR?5%D\8P#2[!].#V=O/(55&R=X4C'[S&WC[W3 K(BLKS4+>ZEUY+AK^W\ M,6TNV5B&27?-AB.TF ,GKUH ]9O[ZWTS3[F^NGV6]M$TLC8SA5&2?R%)I]ZN MHV,5TD,T*R#(2=-C >XKRC7;"&+0K^)8F*W?A9[F<,Q/F3 9#G_:R>M7+Z/1 MK&YO+76F%K''IL)T9"S*"2"7\K'63?MR!S]WM0!ZA<3Q6MM+<3N$AB0N[GHJ M@9)_*HEO[8Z:NH&4+:F(3>8W "$9S^5>81:1)JT/BB36K:2XU"+2H@J29)20 MV^3@?WB>M=?HO]F/\-+,00?;; V 5H;3#E_EPX7GDYW<9ZYH N67BNPO+NVM MS#>6YNL_9I+B HDQ SA3W.,GZ5NUYII-Q;P:CI-EH/B5M;M)9BL^FW)2:2UB MV'YMP&^/;C;ACSNQUJ#24NKB\O-$NKFYAA\-6\T)N(U=V;S,^2P ^\1%Z9YH M ])U#4+72M.N+^]E$5M;QF25ST51U-6:\1U 6T_@WQ386RZ?J*+I33_;--DD M*97IYL9)"2]3]XG Y K1U8VDNM7PDUO2K"S$,7]D/-#)*3%M'S6Y250S;L\ M$]/:@#UVBO(-;LB^F^,;^::>6^L4MFMK@[XVC<1QG0QP6BQ07!59["=Y;68D DQ%AP 200"0"#R:SK7 M5]-T/2O$.D:A>1V^H/=74D5K(<23B4ED,:]7!SCC/(([4 =(_BO3PEJ8([JZ MDN8!<)#;PEW$><;B.PSQ5A/$>FOH4VL"5A:PAO-RI#HRG!4K_>SQBN)FL],L M5T1-3U:^\-ZG;6,6V_\ -2**= 23 2^48AB"5(S@\9&:A:_UC6[*QT5$MM0E MEOY)S.W^C1W=K&01(2JMCM_;!;DO$$E M;:5#LJ=).V!]\#FM+Q^"?"YP,_Z5;_\ HU: .HHKRO4K-%TWQ9K'[PW]IJRF MVEWG,0#1<+Z \Y]A55NM0M;.>W@GE"RW!*Q)W8@9/Y"A-2L9#"$O;=C.[1Q 2J?,902RK MSR0%;('3!]*Y/QG;6)\3^%[J\2(!)ID$DAP 2GRC/J3TH ZK2]2MM8TR#4+1 MF:WG7F!3_!X+ MZCI#RZ[9+JVYOMUI#:2FZ=L'WCWR.%QN('H,C)]Q4">*-,;2;C46>6..V?RYHI(R)$?( 4KZG(Q]:QO& ML6D27^G-J6H7NBSJDGV;6(9!%''RI:)G.5!8 $!A@[3@Y%<]J.H7=_X>O+.\ MU"*?1[B_2%M=2!5 AQG?E1L)# +OQ@'Z4 =POBG3CH-[J[">."R+K<1O$1)& M5Y(*^N"#]"*;;>*K2>\MK:6TO[1KDD0M=6Y17.,X!]<5YA:ZO+_PB'BKP^9( M9X8K.:6WU)%M &CJ^N6VCM:1RPW,\UU(8X8K>(NS$*6/'H #4%UXFM+.&W: M2UOC/<*SI:I 3,%7J2O85D^,!HZZUH\^LZC?:;%&DXBNHI_(AWD+\KR @JV M=HX!PW7I6+I.K-INJZ?K&OWACL9;.6"WO+OY RB3*%B>[+@C/6@#KI_%FF16 MUE-"9[O[9&9H8[:(NYC &YB.P&0#[D5HP:G:W.E+J<,F^U:(RAP/X0,]/6O. MO#]S%X=O-,U+6F^Q65W87*PR7.$5&:Y:58R3]UC&PP#UV$=171^'8)H?AW)Y MT;QF6*XE5'&"JN691CMP10!TMA>PZEIUM?6Q)@N8EEC+#!*L,CCZ&I99%AA> M5_NHI8X]!7EVD:9!JHJM'=V5QIT;^*;DJC:2 MO]GF5V!>0 AMG]Z3.W@9/2@#U33K^#5=,M-0M2QM[J%)HBPP2K $9';@U9KQ M2U!?3]#BU;4M/L+$>'K,V+:E"[(7V?O/+(D0>8/DXY.,8[U;UEY1/9&VO;ZZ MLX[:+_A(9XXVB+0;AM)1OF#8Y8==F: /8**BMS"UM$;=E: H#&4.05QQ@^F* MEH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ JCJFFC4[=(_M=W:/&XD26UDV,"/J""/8@BKU% &?I.CV^CP2)"\LLD MTADFFF8,\C'N2 !^0%:%%% !1110 4457OYC;Z?*6%Y$==LI=/>PC6YL+P30V+22,AV!E6:4G#2<$XV@CGK6C;V=QIFC>&)M M'25=0OM%;SW#,7F80*P+>IR.* /39=4MH=7MM,163Y@,Y+[6?&.NZ;=6YM<26VFV1M:1FD<*_7@X8Y- '3WGB>VM-5ETU+ M*_NKF&-9)!;0;PH;.,G/L:N:3J]KK-HUQ:[P$D:*2.1=KQNIP58=C_C7*7&G MZE>^/->_LW5YM-G%A;A'6&.1&;]YC<'4Y /8$?6L33;Z"RM-)N;V5[6ZM=7D M_MMYY.%G9"-S' 1OEVG &,>E 'JM%>17,]KJ-I>74FK6=O#_;%T;==4B&?"D$@?+\I. M",#'- 'KU8UWXGTVROY;*9Y!-$T*, F1F4D+S^!KSK49OMFH--K5[8Z/;-81 M-8QZK#+*5&WY_+<2)F0-UX+?=]J6[BN%U4K//+=2@Z4'GDA:)I""^6*-RI/4 M@\B@#T7Q#?V5K:PVUVMQ*UU(%C@MEW22[?F( ], Y]JB_P"$MTQK".ZC^T2/ M).UNMLL1,WFK]Y=OJ.M0>+_%%IX9M;8OY!OKMS%:">01QAL9+.YX50.O<\ MDUS-J=-TFXT35_[7MK^T%U<-?ZA$ZF)9Y$'S$@D*. HR>!B@#K3XMTS^SK:[ MC%Q*US*T,5M'$3,9%SN7;V*X.?3%*?%FF_8+>ZB%Q,UQ(T<=O'$3*77[P*]B M,NV/B6Y@#O+2YL=>M;+4X'D:.%VD0$;2'V MLA##U&YACUJ?2]3MM8T^.^M"Q@D+*I9<'*L5/'U!K$\&!GT:^NPK+!>7US&[6]B:2V\J^9XF)VL?/;&1WH ]5)P":IZ7J M=MK%BMY:%C"SN@++@Y5BI_4&O,=.FLS'I">)Y@NBI;7,=NURY$7GK,5 9CQN M\L?+G_:Q63I2A],TB.^OK.ST)I/.;[Q\Q,/M_O'/6@#W"BO'M8 M%W]ATI-&O[Z_U!+-SJ4\$+0L^GY/\,F2)/\ GGSDX8]*]5TEK%])M&TUE:R, M2^04/!7''6@"Y1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 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!1110 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!1110 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!1110 4444 %%%% !1110 4444 %%%8?B3Q7IGA:""34&E9[A]D,,$9DD<]\ M =@.2?\ &@#[:)9MEM:R3!48D!F*@@#(/6@#9HK%@\5Z/0#FMJ@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "O.?B[ M86=UI6GW,O\ :$-Y;S?Z->6D1<0EF4,' R<$#CCJ*]&H(!&",T >*ZQJ_B7Q M#I.A>&]9M+RR2YMTGU>\2RED##/$8V*<,0!GTS6OXOTV%;NZDT&SU=/$KK9K M9W 200%5<=Q\H 7=N#8KU.B@#R32])U$>(M.T][2Y26RU^[OYI3$PC,+@E2' MQ@YW 8SGBO6)5=HV6-]C$<-C./PI]% %/3Y9G^TQSR"1H9B@;;C(VJ>GXU;_ !?BUG^R MM.N+%;J73(9\W\%I,8Y'R5"$$$$@'/&>N#VH ](HKR'Q#KUHWAG1K[1-=UR\ MU7488X=+@^U,N6#8:21$VAR,$,6R..E'BG7-8M;CQ#J OKJ.YT1M-6""&9EB M8R.GF!D!VONWD?,#C QB@#UZBO)]+US4F\0Z=?M?7GRP-.QB6% 0H M$>=H(VYR!GDYKU66011LY5FP,X49)^@H J:?_K]0_P"OG_V1*O5G:5()FOI MKJ#.&*-=[N[8"CU-F_P"8#)R3@ 4 =+=W<%A9RW=U((H(5+NYZ "EM[B&[MH[ MBWD$D,JAT<="#T->=Z]JVL:QXCTW1YO[-TW36ABO;Q+R7,A /^K(R!U^O2M_ MPO>VEKJ=]X?M[F&:*$?:;/RI P$+'E>/[K9'T*^M '54444 %%%% !1110 5 MB>(_#%GXEMX8[J6YA>%PTXX[UMT4 VJW=K/:VZ MVT+07+)L0=@/?)R>]:%]X/T?4=26^N8I&ES$9 )"%F,9RA=>C$'IFMZB@##M M_".D6NM-JL4+BO&3GT)Q46D?"+5 M]+O+B\M_%:V=QQZ=*S/\ A6L\ M_P#Q_P#C7Q/,.XAO/)!_!11_PI_PE*[Z5\_D10!(FE>"]$OKZ\ MU'6;>2:[!6;^T-05EVDYVA6; %/;XE?#[1X1#'K^FQQ+T2V!" MK+'E>&=../\ GK")/_0LUN6NBZ588^QZ996V.GDP*F/R% 'DM_XR\*^(_$M[ M<>5KNHP+!"MNNG6+M8XT+PA)!&>EQJVMA 9[RYAMXAUDFD"* M/Q-<3_PB_C?5^=8\8"RC;K!I-N$_#>WS#\*FM?A1X5CF%Q?V]SJ]R/\ EMJ5 MPTQ_(G'Z4 .O?BSX,M)O(BU<7UQVBL(FG+?0J"/UKFI?%6HZYXNDGTSP%?7A M^P(BKJJI;;1YCG?A\\'...>*]0LM-L=-B\JPLK>UC_N01*@_("LCQ9::(--D MU'4]%L-1N(E$5NMS;I(SNQPJ L#C+$4 <,EGX[E\7VH@MO#NASO83[?(1I?D M\R+=N& "V=N/QK>_X0KQ1??\A3QW?X/5;"!(!].]5/"NO>'+,7=K9Z/IZ>)+ M-)8[N#2K14,A0_PD#HV 0"?;M6J;KQCXBT8M96T7AV=I<;KP>;)Y6.H4V>CZ3:ZMJEG$TLEO:PF:0X M(! 8_+G)Z9S722>!+'4+[3]0UN[N]2O+.)%&^4I"TB_\M/+7@,?RKI+>SM;, M.+:VA@#L681(%W$]SCJ: .&AM/$.JZ)&^E:!IOAJX,Q&+N-)G$6.& 48#9[& MM5O!27FJ6&I:GJE]<3V@1A%')Y4)D7^+8OJ>W2NJHH HV.C:9IDDLEC86]N\ MK%G:., L2W<-O&!G=*X4?K0!9HKG]&\:Z%X@U*2QT MJ\-VZ)O:2.,F/'^]C&:S=6'CZ_U2>VTO^R]+T]3A+N8F:20>H4<*?KF@#LJY M77?B)X] '+:'XD\2:WJ<3-X4FTS22"6GOI M@LQ],1CD?C4FO>"AXCU3S[[6M36Q"@?8()O+C)]21S^M=510!R$'PXT+3I(+ MC1HWTR[A! N(<,[ _P![<#G\:W=(T:'25G<337%S<,&FN)FR\A P/H .@%:5 M% !1110 4444 %%%% !1110 4444 %%%% %'3_\ 7ZA_U\_^R)5ZJ.G_ .OU M#_KY_P#9$J]0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%96IZ_!IE]#9FUO+FXFC:54M8=Y"J0"3ZH.: %HHHH * M*** "BL#6]8O[/6K#3;"*R+7-M/FT718SU"AKB0?0\"@?#1 M]1^;Q%XHUG5,_>B6;R(C[%$ZT ;^L>-O#.@!AJ>N64#KUB\T-)_WPN6_2N>' MQ*N-6^7PMX3UC50?NW$T?V6 ^X=^OY5OZ1X&\+Z#M.FZ'90NO20QAW'_ )L MG]:Z"@#@?L'Q(UK_ (^]4TO08&_Y9V<9GEQZ%FP ?<5)!\+-'ED$VMWNHZW/ MW-[<$J?^ # KNJ* *.GZ+I>DQ+%I^GVULB]!%&%J]167JOB#3M(M[F2:;S); M>/S6MX?GE*Y X0<]2* -2JUWJ-G8@_:;B.-MK.$+?,P49.%ZG@'I7*R7?BGQ M3I5K-I"_\(^CRN)FO8@\WEC&UD7H,\]:U+/P;H]MKAUV6 W.KL #=3,6*G&# MM'1<\]/6@#*@\5ZOXIT>ZG\*Z5);NDBI#<:Q&T,WT^]M8HR%B>[B,?FY'4 \X%8$OA3Q?K4TO]L>+&L[5F.+?2HO M+.WW<_,#]* .[#*20""1U&:X:Y^(TEU=SV7AKPUJNL7$3%&E,?V>!6'&#(^/ MY5N>'/!^D>%_/?3HIC/<8\^>>9I)),=,DGW-;U '.^'&\737$\_B./3+>!E' MDVUF6=D/^TYX/X56D^'/ARZU6;4M0M9+^XD??B[E:1$]E4G KJZ* (+:SMK* M(16MO%"@& L:!1^E3T44 %%%% !1110 4444 %%%% !1110 4444 %%#IEK:V<=S?:C*4A$TOEQ@+C=DX)SR /KVYZ^N+^).AW&OZ%%9PZ);ZI& M95+J\FR2/YARA^F0>1P: 'ZMX^71[C2+.XT>[%_?-$LT604M=YQ\TBY4G(. M#SCM4FI>-5M?&2^'+>/3C/Y4:A]G+%V("(NQM[8&<<=168_A'6CX*\,: M7-<+=7VGW$,MS*\G9220">N H(+'GVKT.5#)&R!V0D?>7&1],T M 5-/_P!?J'_7S_[(E7JSM*C,37R&1Y"+D_,^,GY$]*T: "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **HZIK6F:);&XU.^ M@M(ASNE<#/T'>N.?XA7VM,T/A#0+G4.WVRY!AMQ[Y/)_"@#OZY[7?'/AKPYE M=3U>WCF[0(?,E/T1)[A(FZV.E_N4'L7^\:Z'0_!7ASP MY@Z7I-O#+U,Q7?(3Z[CDT <\/''B;6N/#7@J\\EONW>K2"V3'J$^\1]*P=5L M/&Q\0VESKFN2V2O:2IOT#2IKD1Y="4W!6()QD$C^&O7:* /(+3P-I&N>)[)+ MJY\4:E MM.T\VIQ7-N ^Z+8 S(@Y^?@>GM7:6_PT\&VQ!'A^SD8=&E3>?S-= M710!C1>$O#T/^KT6P7Z0+_A5R/1],B&$TZT7Z0K_ (5=HH J'2M./6PM3_VQ M7_"HVT/2G'S:;:'_ +8K_A5^B@#%E\(>')_];HE@WU@7_"J4OPY\&S44 <'_PK"#_H9_$? M_@;_ /6H_P"%6:>_^OUS7IAZ/?-_2N\HH \NU+X16$6J6=UI]D-1B6&5)XM0 MU6>,EBT91E(5^ %<$8&=P]*N:7\.[6+7+*YF\+Z'9VT"R>88;I[AY20 N0T2 M].3UKT6B@""&RM;8 06T,0'38@'\JGHHH **** "BBN>UWQAI^BVR/''-J,T MDABC@L5\UBX[''"_C0!T-8VO>*-.\/V$MU<-+<-&RI]GM$\V5F;[H"CU]\"J M!A\4:GKL,_VFWL-"$:,UOLW7$A*_,K'HN#D<5>\/^%-'\,)-_9EL4EG.Z::1 MR\DA_P!ICR: ,I_^$K\0OIEY9SC0-.:,27-O<0A[HMN/RGJJ@J ?7GD5JZ5X M4T;1M0NK^RLPMY=,6EG=B[MDYQD]![5M5DZSXFT7P]%YFJZE;VP/17?YC]!U M- &M02 ,DX%8FF:\OB/0)K_1HY48[DA^V1-&&8#@X/.WGK7-_P#"":WKQW^+ M/$MQ-$W6QT[]Q#CT)^\P^M ':OJ%N+2XN87^TK!N#K;_ +QMPZJ /XO:O*-9 M\3^)[_6K75[;P]_9&GB(P0WNN*=L3%LES&F2A(P 6XXZUZAHNA:9X=T\6&DV M<=K;!B^Q,\L>I)/)/ K1H \Z\$6=[=:YJ%[:VZ* "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@"CI_P#K M]0_Z^?\ V1*O51T__7ZA_P!?/_LB5>H **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHI"0JEF( '))[4 +17'ZO\2-%L+DV.G^=K&H]!:V"^80 M?=AP*YW4KWQ'JJ%_$.OV/A/3CR;:&96N67W8_=_"@#LO$'C;P_X84+J5^@N& M^Y:P@R3.>P"+S_2N=&J^._%PQI6G)X9TUNEWJ(WW3CU6(<+_ ,"-0^![CP!# MJWV/PXCWE^X+27[Q-(S$=T$75QFXFG>,](TV\DANM6\37NDVR*5\J"[$"R<]?4G MF@#JVGA0@-*BDG'+ 53U;7=)T*%)M6U*ULHW.U6N)0FX^@SUKSB#PY\.X?$] MKIK6&H:GJ#,KI/,99D7C<&9\XQ70/J&I^)H+M9O!"*UNI:T.K>65=\XX'.., M\T 32_%7P/#G=XAMFQ_SS1W_ /05-5_&'BRSLH]->75)[+2;J!KE[JVC8R2) M\NU5P"1G<"3Z ]*1/#WBB;1H$CDT/2KX2$R&WLPZA.P'3D5B>.- FN=3\/Q: MKX@U$0A )S;6QV_(/F;*J2"V0,=* *VB_%OP]9:F8CJ>K3:;+"7Q>6TDDMO( M#C&0"2I!SU.,>]>D6?B;2+[P]_;T-X!IFTN9I4:/: <'(8 CD>E>>:+H&@VW MCIFL;[6;N/5;.6WF:4RKY;8RX97D+7 MKELKTP<\#GF@"]9^._"=_@6WB/3'8_P_:5#?D3FMV*6.= \4BR(>C*#=1M;6WDM;A!;A@KQRX=\G/S,02:MZ;\,]/T/43/HNIZCI]LQW/9Q2YB) MVXS@_G0!V]%>>IX,\::9O.E^.99U.2L>H6RNH_$ M&];U*[LK1[EFME=VE$),91?X@1Z]J .VHKG;#QWX8U*QEO;?6+;R(9%BD>0[ M-CGH#G'/!K9AU"RN(HI8;N"2.7F-DD!#_0]Z +-%%% !1110 45!>7<-A93W M=PX2&%#(['H !DUSFE^.M.GT:>_U>6#36MY DJ22 [0W*?B0>GJ#0!U5%/K-(+"72-/O]96]#-$]G$=F VTY8X YJ?=XNN]>FC,5C9:.$*I*&+SL2O!Q MT!![>U '0W-U;V=N]Q=3QP0H,M)(P50/ZXMWAA-Q(DLGVYLH&3.-J#A>O/KBNDCBM=.M%C MB2&VMHEX50$1!_(4 -X8M/LXC&=C=&:3.[=CT_.M? M1/#^E^';%;/2[1+>$') Y+'U)/)/O4D^KVJ:/-J=LWVV"-&8?92)"^.H7'4] MJX_^V?'?B'C2M&@T6U;I<:BV^3'J$7^IH [V21(8VDD=411EF8X 'J37%:A\ M4-&2Y:QT*WN_$&H#CR=-CWHI_P!J3[H'OS6]I>C7$?A]M-UV^.KO*&$\DL84 M.K?PX';M5^PTVQTNV6VL+2&VA7HD*!1^E &;IC:QK/AV4:U:?V/=S[U$=K<" M1XD/0[\8W?3(_E5#1OAUX=T:X%W]E:]ONIN[US-(3ZY/3\,5U=% " !0 ! MT I:** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** *.G_Z_4/^OG_V1*O51T__ %^H?]?/_LB5 M>H **** "BBB@ HHHH **** "BBD9E12S$*HZDG % "T52U#5]/TK3)-2O;J M.*RC&YIBT8(?\ @1XH [>>XAM8'GN)4BB0 M99W8 >Y-5[#5M.U5&?3[ZWNE4X8PR!\?7%>8^./%4TMGH,E^L>B/)-,[6]^ M%F52JCRS(H/W237#W/B;7]5\0V3Z9K'VV]D#V\DFA6'EAAM+!2[\,?ESST . M* /I*N:U7X@^$M$++?Z_8QR+UC63>X_X"N3^E<9H'AWXB36,MM-J@TVWG;<\ MER_VFXZ8P/X5^G-;'AWX.>$M <3R6?\ :%WU,MV PS[+T% $2?$^?7V>#P9X M;U#57!Q]JN0+:V7WW-R?I@&N8U/P5\5?&-RZZYK&FV-@&(^S02/L8>NU1EA_ MO-FO7KS4=,T6Q::[N;>TMH0 2S!50=ABL"\\>VGV&QNM%TZ^UJ.]9A$UG'\H MVG!RS8Q_6@"OX'\!3>$&=Y=9:[W)M\F.U2")3Z[1DD^Y-:<_@OPNVISZO=:3 M:274K;Y)IUW8/J,\#\*8K^+;GQ"O[JPM-%"Y))+SME?R!!_E5:T\"1265Y;: M_JU[K:7FWS4N&V(,'(VJN,4 2ZGXR\,>&H(,S*WGY6&*Q@,K2$'! V C\Z>^ MM^(Y_$/V&R\-[=, &=3N;E5!!7.5BQN."<8..AZ5M:;I-AH]E'9Z=:16UO'G M9'&N ,]:N4 MPM+2>P6^6U9GBDO29G#-]XY;/7 KI** &)%'&!L15P,# QQ3Z** "BBB@ HH MHH **** "BBB@!DD42W=EIEI;W$J[9)(H@K,/0D M=:TJ* //]>^&UUJ-Q=S:=XFNK5+F3S'L[JWCNK8'V1L8'YU0T[X>ZA<7=M8^ M)=+T"YTNU1A!/IYEMY$).<%!\N"?2O3Z* /+M'+J+2H-+E\=ZI#="4S"X:2,2NI&-I MXY /-3S>%7N[JPF;QCK:_9E16CAND19RISEP%YSWK1UWP;X=\33)-K.DP7DJ M)L5WR&"YSC(([DUDP?"KP=:W$<]OI1B>-@Z;)Y 0& MWU76)M3FF>6U;40B%$7=Y>'8!5)(R>< 8ZL*HZ-+I6B^(K.TN_"L.AI<(WVN M.>_MYX60TCPWHRZA>3K!895 M4:*,N#GH %!ZURY^)DM^I_X1[PCKNJ'^&1X1;PG_ (&_^%=W'#'%"D4<:K&@ M 5 , = !3Z ,4_VYJWA?C9H6L31]]MT+=L_@&X_G7.I\+[.]E$_B36=4UR7 M^[/,8X@?9$Q@>Q)KO** *NG:;9:1816.GVT5M:Q#"11+A5[GCZU:HHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH ***9)+'#&9)9%C08!9C@(+(SOGH_RC SRW0=/6@#JJ*\K\4?&_2='U$6&DVXU20H&$TLP$BB XD'4J)'( .* />B0!DG%9U[K^CZ:RK>Z MI9VY8X42S*N3^)KQ?Q=XMO/$MYI\W^(O$L'ARWADDL=0O7G;;'%8VYE M9C_(?B:Y>7QIXQO0?[-\&+8Q_P#/QK%\L(7ZQC+?K7+0?VWK6EW-[)J_BVZ$ M+*OV6&S6TWY[J3S@5*_@D3:?8W(\'ZAJ5Q.6\Z+6-4+>3@X!.#SGKQ0!T_B; MQAH\FB1VK>-;32-1PIG>Q(N&!Q\RJO7&>AZUPP7PUJKAH[7QOXPE/1I"Z0Y] M\[,#\#7>6'AO4M.UVW73_#GAZSTH!3(X7=-TY ..QK0M-)\8R+?IJ/B"S198 MBEL;.TVM"V>&RQ.>* ,*S;Q_-IL6G:3X6T30=/C7:BZA=&X*K_NH.OUJ7_A" MM=O<+XB\=W21M_R[:7$EFOTW,' /U44 0W6I>.;ZULI-(T73+!I5)N M%U2X9S$<\ "/KD>]6_\ A'=8G\0/?W?B>Z:QY\O3H(4B105P0SD> _#FBQ7$=O8>;]I(,S7,C3%R#D9WDUT,44<,:QQ(J(HP%48 I]% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5YI\8=*U"^TW3+RT M2&[M[.;Y3;XW5BKH?9A MR,XYH \UU65-6\/^#=YMXX-.D?(7#$$NQRSD8P,G'&>]1^-[F== M4\5Z@I)U#2IM,73CDYBW2)N"_P"]N8'U_"O4Y-!TN2RM+)K*+[-9LK6\8&!& M5^Z1CTIMWX=TF_U*+4+JQCDNHBI60YZJ(KVTN7S\Q@4$*A_V0%7 [5T'Q>:P70]%.J&0V/\ :JF9(OO2 03$(/=B M N>HSD#K36H=15+MTBVD6DCJT+$#'(*DG/7&:].HH XO3OA7X3TV. M]CBLII([Q/+F26X=@5SG &>/PK1M_ 7A6VTQ=-70K-[-9?/$4T?F#?C&[YL\ MXXKHZ* **:-ID?D[-/M5\A0D6(E^0#L..!5P1QJQ8(H8]2!S3J* "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@"CI_P#K]0_Z^?\ V1*O51T__7ZA_P!?/_LB M5>H **** "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@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** *.G_P"O MU#_KY_\ 9$J]5'3_ /7ZA_U\_P#LB5>H **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HKS_ ,;^.+_0?$^DZ+8"RB>[(FW)QC'XUW- %'3_\ 7ZA_U\_^R)5ZJ.G_ .OU#_KY_P#9 M$J]0 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 %%%% '"_$?PIJWBZUM;&UC MTV2S\P&3[2I$D1_OJ>01CM@'WJ34?"FMZG;V6C7%Y9'1[>XMIO/&\7.(L-MQ MRI)91\V1@'H:[:B@#@SX$O/^$A,GVFW_ +*.I_VH02?-\S;C9C&-N1G.?PKN M98HYXFCEC62-AAE<9!^HI]% &=I,,5NU]%#&D<:W)PB* !\B=A6C5'3_ /7Z MA_U\_P#LB5>H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* *.G_Z_4/\ KY_]D2KU4=/_ -?J'_7S_P"R)5Z@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH HZ?_K]0_Z^?_9$J]5'3_\ 7ZA_U\_^ MR)5Z@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "L6]\6:)IVN6^C75 M_''?3@;8SVS@ $]!G/&>M;5>+>-95T/XHVVI:).:$DK>)M*TX9 M&HVFN7UQ>1_QK$V2';_98,N#WKV"42&-A$RK)CY2PR!]1D4 5-/_ -?J'_7S M_P"R)5ZLR&SU*!YF6ZM"99/,.;=N#@#^_P"U2^7JO_/S9_\ @.W_ ,70!>HJ MCY>J_P#/S9_^ [?_ !='EZK_ ,_-G_X#M_\ %T 7J*H^7JO_ #\V?_@.W_Q= M'EZK_P _-G_X#M_\70!>HJCY>J_\_-G_ . [?_%T>7JO_/S9_P#@.W_Q= %Z MBJ/EZK_S\V?_ (#M_P#%T>7JO_/S9_\ @.W_ ,70!>HJCY>J_P#/S9_^ [?_ M !='EZK_ ,_-G_X#M_\ %T 7J*H^7JO_ #\V?_@.W_Q='EZK_P _-G_X#M_\ M70!>H!!Z'-4?+U7_ )^;/_P';_XNHK>TU.WC9%N[1@7=\FW;JS%C_'[T :=% M4?+U7_GYL_\ P';_ .+H\O5?^?FS_P# =O\ XN@"]15'R]5_Y^;/_P !V_\ MBZ/+U7_GYL__ ';_P"+H O451\O5?\ GYL__ =O_BZ/+U7_ )^;/_P';_XN M@"]15'R]5_Y^;/\ \!V_^+H\O5?^?FS_ / =O_BZ +U%4?+U7_GYL_\ P';_ M .+H\O5?^?FS_P# =O\ XN@"]15'R]5_Y^;/_P !V_\ BZ/+U7_GYL__ '; M_P"+H O451\O5?\ GYL__ =O_BZ/+U7_ )^;/_P';_XN@"\"",@Y%%9EM::G M;6Z0K=VC!1@%K=L_^AU+Y>J_\_-G_P" [?\ Q= %ZBJ/EZK_ ,_-G_X#M_\ M%T>7JO\ S\V?_@.W_P 70!>HJCY>J_\ /S9_^ [?_%T>7JO_ #\V?_@.W_Q= M %ZBJ/EZK_S\V?\ X#M_\71Y>J_\_-G_ . [?_%T 7J*H^7JO_/S9_\ @.W_ M ,71Y>J_\_-G_P" [?\ Q= %ZBJ/EZK_ ,_-G_X#M_\ %T>7JO\ S\V?_@.W M_P 70!>HJCY>J_\ /S9_^ [?_%T>7JO_ #\V?_@.W_Q= %Z@$$9!S5'R]5_Y M^;/_ ,!V_P#BZBMK34[:$1+=VC#HJCY>J_\_-G_ . [?_%T>7JO_/S9 M_P#@.W_Q= %ZBJ/EZK_S\V?_ (#M_P#%T>7JO_/S9_\ @.W_ ,70!>HJCY>J M_P#/S9_^ [?_ !='EZK_ ,_-G_X#M_\ %T 7J*H^7JO_ #\V?_@.W_Q='EZK M_P _-G_X#M_\70!>HJCY>J_\_-G_ . [?_%T>7JO_/S9_P#@.W_Q= %ZBJ/E MZK_S\V?_ (#M_P#%T>7JO_/S9_\ @.W_ ,70!>)P,GI16=-;ZG-#)$UU:!74 MJ2+=LC(_WZOQIY<2)G.U0,^M #J*** "BBB@ HHHH **** "F-#$\J2M&AD0 M$(Y494'K@]LX'Y4^B@#&U[Q5H_AH6PU.[6.2YE6*&)1N=V)QP/3WJ*Z\7:;9 M:J+"X2ZCS.EM]H: B$2O]U=_J>!]:QOB7HS:CHEM-::>US>I>VWS11%W6,2@ MMT&0.,FL/7YM0\3?$:UTW4;+5+3PWI4\"*:$[L(GEQE5//.TD>N:YQ=(L8_ _A MQ-:\.:Q<:A!I#Q0-!:R2""0J,JR+\R.2!ABN!CJ* /589?.@CEV/'O4-LD&& M7/8CL:DK*\,P:C;>&-,@U9BVH1VR+<$MN._'.2.I]ZU: "BBB@ HHHH **** M "BBB@ K&UGQ5H^@7EE9W]VJ75[*L<$*_,[$G ..PSWK9KB?B!HQO#H]W9Z> MT]XNJ6@EEBB+.(4=CR0,A068^G- &RWBW38]773I4NHF:;R%FD@*Q-)C.T,> MIHO_ !CHFF0:G/>W8ABTZ589W<<&0H'"K_>.&' KBKJ;4?$WQ.@75+/4[+1- M)F!M(_[/G9;N;IYC.$*JH[9(K2&B27WP_P!9GN].DDU"\GO+R*&2$^8C-N1, M*>0?+VCUYH W[GQII-M;6N:]OY5 MD>,=':?Q%X8O;33VDE35$>YFBB+%4", 6(' ' YK BN-0\2?$S[=K%CJMGIF MCRLNF6QTZ?%Q)R#,SA-H'ID]Q[T =EJ7C?0=(TZ^OKZ\\J"SF:!\KR[J.50? MQ?A1J_C/3]%M8KJZM;\VLBHRSQV^Y#O^Z,YZ^UZ^$6I^=ILDVKSV] MS,D1A+2K)(22 O7/2M"_TZ\U#6?!EA+9SFPMHC=7+F,[%D2,!%<] 60"Y X].: -BR M\7Z9>ZK#IX2ZAEG,HMVN(#&LYC.'"$]<=?I4.H>.M TO39K^\O/+ACN&M@"O MS2." 0H[\GK7%Z1H&SN))MR"%I MI$B+) )6VIO/;)KI*\A\5Z1JL^O:@T6EW4EQ-%IXTTPV[-!,4?,GV@@;?E/( M\S&!R.:]=&=HW8SWQ0 M%%% !1110 4444 %%%% !1110!BS^+-&@\30>'C= MJVIS1M((4&[8J@GYL=. <"F:;XLT[4]26PC2Z@G=&DB%Q"8Q*JG!*YZX_K6' MK>DM#\3/#6IVFFR&)4O9+N>"$D;C$H7<0.IQ@9ZUSNA7FK:KXDU;Q5K&G:K! M>6MM-%I6FMIMP J 9R6*;2[$# !S0!VMYX^\/6&F07]S>%(KBX>VA7;\\KJY M0E5ZD94\],58F\8:1!K!TUY)?,69+=Y1&?*25AE4+=B?ZUQ_B7PI)%\+=+LX M-/DNM3MEM$9DB+R_ZQ&DZ4RJVW( M'+G!P.IH W]*\6:;JURUNBW-O,(?/5+J$QEX_P"\ >U5)?'NCQ6T=T8[XVK0 MB=YQ;-LBC)P&8]AW^E<+H;:UJO\ PD/B75;+4X=;N;5[>RT\Z=.JVT). -S( M%9CG)P?_ *T_C"/5+M](\%1VFIVOA]((VU._@L)IS*!C]RGEHW)[D_TP0#O! MXQT@ZV-+661I3((O-$9\KS"NX)NZ;L-BLD\2L" 0S@'GI0!+15#4]9L=)TR\O[F=?) MM(S)*%(+ #MCUJEX=\46OB'0XM6%M&21D25&=?O*K D?6FB[MF.!<1$X)P''04 345$;JW$0E,\0C)P'WC'YT/<1 MK;-<*P>-5+90YR!Z4 2T5RDGC[3(_ 4OC VUW]@C7<8@J^;]\)TW8ZGUI/$? MCZP\.W5I:'3M2U"[N(#<""PA$CI$.KMDC H ZRBN>U#QEIFG^$$\2,MQ+:2J MABBC3][(6( 4*2/FR>GM6GHNK6NO:+9ZK9,3;7<2RINZ@$=#[CH?<4 7J*Q_ M$?B*T\,V,%W>1321S7,=LHA )#.< G)'%:;W5O&Q62>)&& 0S@&@"6BHY+B& M(KYDT:;ON[F S]*DH **** "BBB@ HHHH **** "BBB@ HHJO?7MOIUE->74 M@C@A4N[$9P!_.@"Q14-K=0WMI%=6\@DAE4.CCN#TJ:@ HHKC-4^)6E:7K\^E M'3]4N?LSHEU=6UOOAMV;H'.Y)&!G/3/3GM4_B/QU8^';32KC[#J&H_VHVVUCL8@[M\NX<,1VH MZFBN;\+^,[+Q1/?6L=E?Z??6)03V=_"(Y5##*M@$C!P>_;Z52U3XB6>G>*6\ M/Q:/J]_=($,DEG"KHF[IDE@>._% '8T5Q;_$S1H_$?\ 9!M=0\H7?V%]0\C_ M $9+C&?++YSN[=,4[4?B5HVF^(FTB6VOW6.9+>>]CAS;P2/]U7;.03QT!ZT M=E10#D9'2B@ HHHH **** "BBB@ HHHH ***:[K&C.[!44$LQ. !ZT .HK+T M_P 1Z/JMRUO97\4TH&0JG[P]5]1[BM2@ HHKEO$_CBW\,:E9:>=)U34KN\1G MBBT^%9&PO7(+"@#J:*YOPSXUL/$OVZ,6MYIUU8NJ7%KJ$8BD3<,J2,D8/UKH M3-$&*F1 0NXC<.!Z_2@!]%1)=6\B,Z3Q,B_>97! ^M+'/%,A:*5'4=2K @4 M245CZ[XEL=!T2;5IBUQ;PE586Y5FR3CN0._K3=&\3V>MZGJ5A;Q3I+IY02M( M %;>NX;<$_KB@#:HKC?$OQ)TGPSJS:?/9ZC=/#$LUU+:0AX[5"DTR>VU!XH)(XKJ_B@S;VSO\ M=5VSD'D= >M '9T444 %%%% !1110 4444 %%%% !7+Z]X7U?5M2-S9>+M2T MN$J%^SV\<94$=_F&>:ZBB@#@_P#A!/$7_11-:_[\Q?X5@2^!_'5CJE\]EXHU M&>&>17\[SHHVD(15^8%#R-N..P%>MT4 >9Z)\/?%%OI:)<>.=4M)B\CM#"L3 MJI9V;J5Y)SD^Y-:'_"">(O\ HHFM?]^8O\*[RB@#F[+PYJ-KX=U+3KO7KK5) MKJ)T2>Z55,>Y2.-H''-<5H/B74]%\-Z7X3?P?J-UJUJT5NP>W_T8JC ^9YOW M^*]9HH \,\9:2[^)_$)U?P_JNIWMTJ?V'HVVC69MI51R'N5BPQ3'WF!&.^,GUKWZB@#P6^\'M"FH1 M0Z3=NEYX=CFGRDC>9=<')/=\]JDOO#=MI3^&SJWAS4+_ ,-+I&T65G"\ABO6 M;ZG?^$K/Q'IEU-8B*Y;RIMQ\J(MF-)&'0X[$U MT7@30[+0_BCXJB&B7%M)(P>TNO);R?)(4LH?IDL0<>Q]*]2HH \D^)\*?VXE MU%IFOVVI0P9M-4TF,RB0\_NW4=!G'6LKQ8?$6DZ?H&NSVY76=9T\Z+?JN 1* M_P T38'&00V:]PK+OO#NF:EJUGJ=Y \US9'=;AIG\N-N?F$>=F[D_,1GISP* M /+/B1X4M;/2- MTM-0N6L;8P1116#75N3QDNJL"&]#5&;1II/$?@_5;SPK< M6\\NG/"%@C>1;>=3B$N<_* "#STS[5[K10!\_?#'0-=M/&UG-=Q7EM 7WAD1>$+JSN+#5EM;/6)C9VT-D\\94CY=Z9!*=<$5Z1\.([R3X>I M;7.E#3"#)%#%M9-Z=GV,24R23M[5V]% '@T\NJ2?#2?X>+X=U<:O)-Y E-L? ML^WS0V_S.F,"NC^)MK!]OL';3->BN[>V_P!$U;2$,K*V>8G0K44 M>.R6_C?Q1#X6T^8?8[^SC.H7-U=6Y:,R XC5@.-V"3C/%:7A"[OOA_9:YI.O MP3SVUE.+JWN;.V;RF28Y94'0!7)XSP#7J%1SV\-S'Y<\22ID':Z@C(Z=: .* M^)UM<:AX:TP6EO-.W]J6LA6-"Q"ALDD#L*Y+Q-X/CUOQ9XXN[S2[BO9J* /!+[37:\BG\5^'M9U>&;28(].6UC:JZ7)9W\%Q9VT/F-U/4M7@O+3Q-?:?!&%W6L,:%),')R2,\]*Z&B@#FH?#>JQZ] M/J#^*M0DMI X6R,:"./<"!@XSQU'TKD]=\,>)(H(],?7-=U6UN&\V6YBA@+P ME.54 E1R>>_2O4:* /,=!\,>(YM..E+KFN:3;64FZ"XDAA#W"N,E2 6 VL#T MQPPKJ9/#6JOK-K>KXJU!+>%4#V@C39*0,$DXSSU-=+10!CZ'H]]I4EXUYKEW MJ8G<-&LZJ!".>%P.G/?TKRKQREY;^+KR]T#2_$%AXA#((IK2+S;2^'&#(>B^ MG//%>VT4 >"?$"RUG4O$EX^I:7JDE]%:P)I'V&V,EO+GF5)F'8L,8)P!^NCJ M<'BCQ18^#5OK6]TK4H=3E2:6WMABV4(=I'4;<8&3Q7M5% ',^%O!Z>'+K4+Z M?4KK4]2ORGGW=S@,50850!P ,FO,O%NAO<>,=22'PS?G7KJ]@DT_5(=[1(@Q MN+-T3&#QWKW.B@#PQM-U>/[1X-;2;]KNX\1B_6]$1^S^1D/O\SH#\IXZU+KF MGZK%J&O^&DTB_FEUC58;FWNXXB85C&"S,_12,'@U[=10 V-=D:J>H %.HHH M**** "BBB@ HHHH *IZK9SW^F3VMM?2V,TBX6YB +1\]0#Q5RB@#@_\ A!/$ M7_11-:_[\Q?X5K'PS?GP?J&BW.NW-_<7,3HMU<*H9-+W4+,WWBC4+1+-3B4>2Q#;<8C 487KU[5W_AS0=1T7S_M_B*]U?S,;?M2( MOEX]-H'6MZB@#D)/".MOK+WH\;:JMNTYD%H(H]@7.=F<9QCBL7QQH>J:S\0_ M#@T^[O=/"6\^Z^MHMWEG' )(P,^]>DT4 >&_V)K$?A'QAIVH6=]>>)/,CDFO M-C,E[$I&PQG&,A>-HYJ1O.\5:[JUQ)I.O6-@_AX6ID%J4F8AUW!%.,G@\9Y% M>W44 ?/_ (IS[5A:YI^HBT M\3^&+/0]1D?Q#>6]Q8S>0?)CCW(3O;^ J$/!KWBB@#PV\TO58KG4?":Z5J$L M]WKZ:C'>^43!Y.X,27Z C!&*7Q-IVJQMXN\+1:1?W%QK^HPW%I=)"6@5-R%B M[]%QL/6O<:* &HNQ%7).!C)[TZBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** ,W5M=LM%-L+SSLW$@B3R MX6?D^N!_]?T%4;?Q=:7>NMI<%EJ$FQS&UTL(,2L,@@\[A@@KDKC/>MBZL;.] M""[M8+C864KS+]I96+VDT&\EGY^56*X^Z = MQYR,Y .MMO%FC7FHZC96]XLK:=&7NI$Y2/&<@L.XQR.U5[7QGIT^G7][+#=6 MJV42SR1SHN]HV!*.H5CD-@@=\@C%9^HZ'=7>N:^D$!CAN])\B*0#"F0ELC\S MS]:Q'T;5-6TS6+E;"Y@D&G6=K%!,NQI9(7:1L9['(4'OS0!WFD:Q#K$4Q2"> MVF@D\N:"X #QM@'G:2.A'0FK%A>"_M1.+>X@!9EV7$>Q^"1G'H<9'M6+X8AN M'O=8U.:VGMDO;A3%%.NU]JH!DCMDY_*N(MO!T]X774]%\](],NQ"L\095G:< ME" >-^TD@]0"<=: /6J*\\@T#4WO-,MIK9S9WUM;3:BS\[9H5&0WNQQ_WS67 MI7AS5H?$OG7$$Z78FNFN+JWL]CSQ,&VJUP7^=>4(7;\I4=,4 >G7^H6NF6IN M;R7RH0RINP3RQ X]R*L]17CJ^%KA_#FH6*^'UDMU^S2?/8>3)*ZR#<&3)61 MMN2*8ZH)H;J.PRRVNT8C,YC7 MFJV]C?V-G*)#+>LR1%0" 5&3GFKU>8:-H,\'B72)I-$G34(+FY:_U Q868-G M8=_\0Q@#TQBKGC+1KJ]UR\EETR:_\VP2+2)8TW?8K@.Q=L_\LRG-?:I.[\ ML%Q&% D*MU"]=2O )U2UCWDJ6"J.HQ MDGJ<# ))&*YW7Y[R:WL]"DT[4?[.>V3[;/;6[2%Q@ Q#'3/<^G K0A\ZUGU? M57TR[=7,-I#%$,2?9T7.X#(/WY).!S@"@"P_C/1[?0)]8O9FLX8':*6*? D6 M1>J8!(+>@!-7CK=HL.G2G>%O_P#4Y &!L+DMSP JG-ZM+!MKR0@$2'_8.<-UQGI6MIU]+?6S32Z==V1#8$=SY M>YAC.1L9AC\<\5R4FBN]EXF@NK*]-K<7L8&QCU"1GF5=@#Y+DM@MG 8_IB@#>L+P7]HMP+>X@!)'EW$>QQ@X MY'X59KR!/!MS>65PNH:*9F31[I(!-$&VSF60IMST;D$'J,\5V?B#3Y]0\"6] MK<17,DWEP&54B$K9&"=\9/[QXS0!T4VHVL%_;V,LH6YN59HDVGY@N-W/ M3C(JU7E=KX=O6N=%N5T2&VDMTO(+>6.U*^06 \I]C$F(9W<9P,^]-L_#VIC3 MYTTC3+C39?[($%_N'EF[NMRDMG^-L"3Y^IW]: /2+W5;>POM/M)1(9+Z1HHB MH! (4L<\\< U>KRO5/#DNHPZ=!X7T>ZT)$N'9G,1B4'R6!^4$; 3\I8 'G(Y MYKJ;JQGN/AT;/1]/;3)3;[5LE41F/GYD&/7GGOG/>@#JZK7=X+22W0V]Q+Y\ MHCS%'N"9_B;T7WKS8^&WNH##9:'+:Z++J=HXT^2'8H1>)6,?0*>XZ'GUKJ?% M.ERRPZ)!I]I^YM;I?W<* +&@0@8 Z <"@#J:HKJMN^MR:2!)]HC@6X)Q\NTL M5'.>N17FMKX1U6TT^%=(L38:CP3TJO<^'+B9=0 M;P]X>GTJTDLK='@:WV"0K)F1=@(W$KP>F['6@#V"BO*5\/:JV@_9M,MI[;4) M+]I=.N!9BTCT]=H#L$R^U6&X;3U+=.,UV_A:2VM=)L=,BT^>PE6W,C6\JDE2 M&PQ+?Q$L2<]\YH UK:]%U/=1"WN(OL\@C+2Q[5DX!RA_B'.,^H-6:\UO?#5S MJ'BLF\TPW&GR:[Y\@D3=&T7V,KD@\%=V!5>VT":WMK"+5]#GO=)MY;Y$L5A\ MSRRTQ,+!.P"< ]LCI0!Z)9:M;W]]?VD(D$EC*L4I8 DJ&&.>>"*N2.(HGD; M.%!8X]J\Q_LK4;/Q!'JHTF]^RP:M'/Y2@R2>6;,Q9')+88@&H8="NVLK-M6T M.XN[+SK]C9F$2%)9)6:-ROT/#=LYH ]!T77[?78A+;6UW'"T*3)+-%M5PV> M-67A357TRTM;G29_*8Z.DL;KGY(YF,H/L%//M6G+H)L96M;K M1_-T)-8ED734A!5XS$NTI'T*ALG ZB MYNKN 6]Q&;9PA>2/:DF5#90_Q#G&?4&K5>63^%KZ^\20C4-.DN[-M9AEG:9 MRR1BQ9"S#H1OP#VS4D7A[5[+28/L-B\:.VMY)Y6VQ1J7=L9P ,DUY;JOA;48_$\RQ6[[ ;1=.N8;'S7MXTVAE27>H MA&X,6&/F#'KG%2_\([<-K^J+%HYE%VMRLTUU:;7PR_+^^#;9ESC"L,K^% 'I M=K=0WMI%=6[[X94#HV",@]#S4U>-2>#IY]&U$QZ"Z3Q:+9QV0\C:R7"/+N*# MLXR#D<_-[UIZQX6OH%UBUTO3EBTHWMM*;9;?S(YHPIW_ +L$;_FVDC/..I55_M&U&IC3O-_TLQ>=Y>T_G6O.++PG+=G0K>_TUKG38[F]D:WN+01 MQ1(R?NU\HLVU=PRJGIQP,"K7A/P]/8:_I%Y>:45E739+I M48/'49S^M &OJNNV^DW-M;RP7,TURDK1)!'O+>6NXC&>N.E:$WLGM"-*9([^0XX$ZIMV$>N?F_ 4 =A_;,*Z =8FM[J"%83,T,T> MV50!G!4G@^U7+6X2[M(;F,$)-&LB[NN",C->0'PU?#0+.#5-!N+YQH<=O8H( MMQL[D,V\_P#3-FS'\W'W,=JLKXU-O8\,:JN]!,7 C M'# KCG/>@#UNJ,VK6\&M6NE,)/M%S$\J$ ;<)C.3GK\PKSZR\+7=K<6-_;Z8 M8=3;7+YIKH(!)]G?S]F6Z["2AQTR&9FEA5=!OK:X&EW,&H7,$85IYF* M\@GB0G!.3U''M0![!17&>"()]*M;Z%]+%M:R72>1Y%FUL&RBAB8=Q" $3CUID'BE8)+)[W5]&GLY;6XN7N;7?M*QE.4.67 W'.6SG&!UK4U72)= M0UC1KU)$5+"9Y'5LY8,A7C\ZI>(/#D^L:M!>1O:[(["ZM6BN8RZN9?+QE1C* M_(<\]Z +2^+-&-C+=FXF1(Y1"T4EK*DV\\A1$5#DGMA>:CG\9:%;V<-T]W*T M"%)5NXA+;7,<]I:27,L\2!5*D M>9("XSGZ#%.U_P +^(=?CB6YO[8*]M+#+!%/-%$C.1AL*1YN%R,/@'TY- &[ MI6N-J.M:M:!8S;V:PM%)'DEPZEL^_3C%3Q>(])F2V=+U-MQ;R7,;%6 \I-H= MCD?* 64'KG0Y[J6XFBD\^"VB CSP8H]IZ]B>E8.E>&1JS^*T:X?^ MS[M)+&R;:08XWR\I&?\ ;2-RK?=*HRA MF#=BH.>V::?&.ABUBN#21SC. B L>/;BL^Y\ M:Z!:I;LU\\@N(#<1>1;RS$Q X+D(IP >I.,=ZA\5^&IM[G@@BL[>:5F$ M6-PVA22P!R<#'4C@&L>;P-JT6F2V%E=V7EW=G;07+S;LH\*@93 Y!QWQBKUA MX-N[35X+Q[F!DCN;Z8J,Y(G"[1T[8YH U;OQGH%E:0W4U^?)F@-PKQP228C' M\3;5.T=OFQSQUI/$NN7&FZ%!>Z;Y#R7%Q!#&TZL4 D=5W$ @]&SU%<'KFEWG MAO29;""6*6[NM*>S96AD(M=MK.AWNI>%;&QM6A2ZMY+:8 M><2%)C96() )YVXZ4 +!KUUINI7%CX@DLT6.V-VMU K1Q[ <,&#$X(^O-6HO M%FBRZ?=7HNG2*U*B99;>2.12WW?W;*'.[/RX!W=LUD:CX4U#Q#'J$FK7%O!/ M/:?98$M69EC&[=N)(4DD@=.U4X/ MX+:ZF=[:/4#+;2P,;F>X#>0Q90[RDG! M)/ '&>] &_)XRT**T2X:ZF(=F41+:3-,"O+9B"[UQWRHQFDO/&OAZPE$<^H= M8([C?'#)(@BU5[KP)?W"Q7IN8CJ7VZ>[EC2YF@C/FJ%VAX\.,!5^ISQS0!T\7B?2)[RUM( M+IIIKJ(31+%!(X*$D;B0I"C((.<8/6J'BO7M0T 17,)T_P"S$JBPS,WG7,A/ M^KC ( .!G^+// QS%X>\)RZ)JD-UO@$:6(MS'$7/S[VK>9'SR5QD-D=CC&.IS0 V]\17=MXMTW1UTR1;:ZW;K MN0@*2%W;4 .21W)&/K715AW6A22ZEH5Q',OEZ;O#;\[G!0*,?E6Q"9RK^>L8 M.]MNQB?ESQG('..M $E%%% !1110 4444 %)M7=NVC=C&<Y--M[F"[A$UM/'-$>CQN&4_B* ): M*** "BF22QPJ&ED5%) !8X&3T%.)"@DD #J30 M%-CD2:-9(G5T895E.01Z@ MU!=:A96)07=Y;VY?[@EE5-WTR>>M %FBD9E1&=V"JHR23@ 57BU&RGMGN8;R MWDMX\[Y4E4JN.3D@X% %FBJSZC8QVBW;WMNMLWW9C*H0_1LXJ7[1"+<3^='Y M)&[S-PVX]<],4 244CNL:,[L%51DL3@ >M0VM]:7R,]I=07"J<,T,@< ^G% M$]%%% !13#+&LJQ&11(P)5">2!UP*?0 44R66.&,R2R+&@P"SG Y.!S]:2:> M&VA::>5(HEY9W8*H^I- $E%-CD26-9(W5T895E.01[&JL.KZ;<7'V>'4+22? M)'EI,I;(Z\ YH N4444 %%,66-I&C5U+IC#@\>QI[RQQLBO(JLYPH8X+'T'K0 ^BF22QPJ&ED1%+!06; )) MP!]2:?0 4444 %%11W5O+-)#'/$\L6/,17!9,],CM4<>H64MTUK'>6[W"_>B M652X^HSF@"S14*W=L]T]LEQ$UP@W-$'!=1ZD=14*ZOIKW7V5=0M&N-VWRA,I M?/IC.2%3@R)*I4'TR M#B@"S11D8SVID#2T %%%% ! M1110 4444 %%,CECEW>7(C[6*MM.<$=0?>GT %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 >FUF;3(=,E.L" V385TG0.K>@VD'/TQ5;2H_#]_HS MVNF6MDVFDM&]LEN%CSW#1D#Z\CO0!R \1:U-J-EI/]L) #J-Q:/?>3'NF5$# M @$;0P)QP,<=*:?&.LQ:=:M+-&9]4MS;V#B(;3=K*(PW'4,KA\=,1L:ZJ_\ M".E7\VF![6V6RL"^VS^SJ8F##&-O0>O2K-WH<5YJ6F3NR+:Z?=K-;V>KV]M% \$97!"$L3C.<=.A[N]32;.)I;R&UC2:9"S/&/ MGEX"D\XCC/S6L)=B<_ MNMX VJACQ@MB/=YF3D<>D01:)H]/48Q7+ZA9O_96H:P+=;*PU*^T]/LA&TK;I*JL\B]%+AN1V4#/.<>@ MWS:;<:3*]]]FGT]DW2>: \;+UY!R"*Q=/?P9%I.HSV%KI<%D%V7RQVBQ@KC( M#KM!(P3@$&[7PRDJ+I\6B$!E58U6'DYX7&.2>F.M ">+H[6;PO>0WE MZ;*&4*GVC86"$L-NX#^'. ,E2HW#MWH YC4_%6IZ=JUK!;7ES-!#<6EK,6B@6 M)C)C())\QGYR-J@<4^T\1ZXEQ:7LU]Y\%QK-YI_V3R4"A(_.*$,!NW?NP.N/ M;O7:G0-&,Z3G2+ RHBHLAMDW*J\@ XZ# P/:K"Z?9)LVV=NOERF9,1*-LASE MQQPQRO7VK+*S:->77E"%3]G(V\ +@L!C&":]%CT/289Y9XM+LDEFW" M21;= S[OO9..<]\]:SK1/"L=S_9]I:Z:DOFFW\F.W5?GC_>E< ?P[MWU.>M M'&^+;W4+BQU>TN-6*Q6%S9Q"!XHPUSNE0[R< @YZ;<#@\5T/CS[1H:N8[FTLKG4((U;][ KNB$\%84L5G"VKM!)Y M^W/F _,!@G@$D#IQ7,^$]%U'5?#ND[+'3;:VAOWN#?+.QN&"3N/RKTJWLK2SW?9K6&#< #Y487( P.GH.*?!;PVL(AMX8X8ER0D:A5&3D\#W) M- '!6OBC6/M=K=M,)TNI[J$Z<(U!B$2DJ00-V?E .21\PZ50?Q9KEMHGVM=2 MCNY+W1#J2E84 M),I\HP.5.\CYLGY.O6O0[:RTS[9+J%K:V?VJ3Y)+F*-=[8 M[%AR:2+1=*@6Z6'3+*,79S*%K:WC M0*@"G!*J/^ C@4 <=XQ\5ZCI6JRKI\\^RT>V$T8BA$/[R100[.WF$E2<;!QW M-=#XHU&[M&TJTM+C[(;Z[$#W.U6,8VD\!@1DXP,CO4^M1>';=UOM8M;%I6'E M))-;K)(PZ[1P6([X%6(9M)\2Z8Q46]_9.Q1TEC#+N!Y#*PX(]"* /+-"N]3B M>Y&F30W%_'#J,T4PB0F5DG0[0>P;!!QZY[5NW'B*?5KG3=7MIK8Z;<7I6P>X MC7:JK Q:0MC(^?(//1?>N\MM,T^S96M;&V@9 54Q0JI )R0,#N0*M 'F:?,J3PP21[7N54M&\ M1(*Y'R[@&'6M&+Q1K!E2\:[0K8ES;"'>%;.-Q/R G)(^;C%=I!H6 MCVJ.EOI5C"KR+*ZQVZ*&=3D,<#D@\@TY].TNWN+G46LK2.>2,B>Y\E0[H!T9 ML9(P._I0!ROA36-7N-5L8-1O_M:7VE_;"IA1!$X<+A=H!P0>^>E,UGQ%JMMJ MVIO!=+%%IUQ;0K9F-3]I$G4DXW=R!@C[IZUTD%]H26=EJ-N]HL$VRVM9D0#. M]L*BD#@$XXJ6"'1]8:WU>*WM+J11N[L?G'/F 98,#M(Q MR*]"MI;!+VYL[;R4N4Q-/'&H!R^<,?4G!Y]JJM9Z#IVL17)LKKQF5)E@4 M2RG&2-P&3P/6@#SK2=5CL?'%EJ=]&PMM9GF73!$Z&0/(ZB19B2, !@.<CZ-J.L6E]!!8Z;#!_;<\AOS.WGJ%F).U!'UXQ]_O7>_V/H8O9C_9VG"[ MN1YDI\A-\H# [FXRV&VG)[XJ_#;PVRLL$,<2LQ=@BA06)R2<=R>] ',>,\?: M?#R79QI+ZD%O=Q^4_NW\H/\ [)DV#GC.*Y7Q3=V\-SK6FIIMG;3-!#*9+2[+ MAD$ZA=\>Q0K'\?K7J,\$5S!)!/$DL,BE'CD4,K*1@@@\$'TJI;Z)I-I:/:6V MEV4-L[!GACMT5&([E0,$T <9;^)-5>_LYWNU,-UJDNFMIIC7,:(CD.& W;OW M88Y.,-VXK+\,ZY>:)H6FL=36YLYK:[D:(0JWV7RRQ##&&//!!/TQ7I:Z7IZ: M@^H+86JWKIL:Y$*B1EXX+8R1P./:H[;1-)LY)I+72[*!YEV2M%;HID7T8@MSW$5M; M2W$KA8HE+NQ[ #)JG#H.C6T9C@TFPB0[=Z1?7MCKMMK%YI%]:Q:XTD%S<3/"8V9B6ML! M9"PP 4&5'WQWJ?X:?\A!O^P='_Z->O0Y+>UN[9(Y((I8/E94= R\8*D ^A ( MI+>PL[1MUM:00G;MS'&%XSG'';DT >?W.JZE<3K2V]V621 HLHXRX<\F0C_6'''( M% '':O>:Q'HM[H[ZK*Z1Z;8WT+4M[V\ M>6QEN&MH6@6"2%V"9PQ4B1)."3D%?I772:9I\P<2V-LXDB$+AH5.Z,$D(>.5 M&3QTY-,CT;2X;X7L6FV:7878)U@42!>F-V,X]J ,'5M4U./QA]BMKEDM8-+: M^:%(U)F=9-NTD@D CTYZN_ ^;\: .#G\6ZU'90:?&=0?4&U3[).S06RSQ*8?-50=_D,2,8.> MAZ;JM:;K/B'6+[3;!]06Q>2WG>1X5@F9F1]JY*ET!YY /4=J[$:%HZZ:=-&E M6(L&.XVHMT\HG.<[,8SGGI5B&PL[7'LC"[%_NC X'L* //G\9Z MS)X?O=2A \S3;5;>ZC"+Q>^85DZXQL"YY(!WC/2G0^)/$ 5-/N)GMC-J$=N+ MV+72SU#0]2N^-.M;EC_:LS6=>M+JPN+O16>*R>_MXM0U6V MP%:'(#LD@.?E&%+CA03SP<=Y10!Y/)K4@ETV.\U^[@T1]0N(XKT7)4SP! 5) MEZD!MP#9[=:G?5]=MM,TU7N;QI-G!,32.3Q_JAWKT.[T MJVO-1LKZ7?YUF6,6#@?,,'/KQ1<:7#=:G:7TSR,UIEH8B1L5R"N_&,[MK,.O M0GB@#@K^:^%UK,WVZ]/D:Q;V\,9F8HL96,D!>G4GFJ,>LW$FMZ1!+K%V=1N; MJ^34-/,I*(JP3% 4Z( 0NWINQGG&:]9K$MO#-K!J\>HO=WUP\!D-O%/-O2$O M]XKQG.,@9)P"<4 >7BWNH?!EM8+>7SV]SX=6XDC>=B$=2OW?[HQG@5:N)].T MN$;G4- M2B:TL8VDG$,J8:.,MD J>A)YP>FX XKD;BYM=5TG4O$":A9332WEA->6UI.L MHM;6*4$!RI.2 79CTX(' R?5** /.;7Q-9Z'IE_J!EM6&I:I+_9KSRJD3#:H M+ESP$R#R.N..M0ZYHFE'X6));W$&J&U#/%=Q$,AD>4&1EV\?>R/;I7IE% ', M?$-9&\#WXB($A:':2N0#YR=1WKG[S^UX/$]PVK7$)OAH\R:1)8P-$LN=K2@[ MG8^8NQ" #C:2>N0OH]% 'E(\27&I0S?9->*1QZ1:M),6HT4 >;>+9[NUUK7IK.>:WF^QV2++$<,N;@ X/T)HEO=1T6XUR6* M[OKBTT:_MY?+EF:1FA>!/,4DY+ %BP!Z&O2:* /*-?U#6]/73TNM2^S03V4M MR9[B_DM0)RV0NY47=[?\ APWKK,Y8"8&/E5Z+@,W0>^":];HH \CM-3U2 MZL%B@UK?:RW]G#OL[^6Y= _$@\YHTQD?P@DJ?2IT61_$6E"\O;MH=/\ $-Q: MPR37+9V&$,H9B?FY) SV.*]5HH Y+79H],\9:;JNH.L.G+:2PKUL+3 M^U)SJ$*ZD+R/>=Z%?-,>_P!, *1GL.*]9J&\M8[ZRGM)L^7-&T;;3@X(P: . M!\&:TK3QS?VW->V/]FI+?374^Y8;@GID\(2,Y7CMQS70^,Y[DZ3'IEBJ/>:C M*((U>0H-O5R6"L0-H/8UN65I%86,%I#N\J!!&FXY. ,#-3T >47)O=/FAT*] MLX+4IK=A=VT5O,TJ")Y@" Q1>C \8XR*UM-FN;3X---;220W"12E'3AE/FMR M*]!HH \NO[J_TVYU"%+^]6T":;]IN&E9GAA>1O.<,>1QU/\ ".>,52MG&N:] M:6\>KWUU91:U+'!7VT]S- M?Z5J%WJMU;WC:'J$,%R2\A,B.F#Y8YD(7+$ $G;GMD=;X!U*2\BOH'N#="$Q MG[1%?F\@8E>0DC*K9XR5.<9'/-=G10!Y3=7^L0>&(M0%]0+AP&\I2P12P7G/)&ZA+_9^JNCVXE8H;=<9 3IQNSGKQ7H]% 'E6N7^MV2Z0M[ M?_9K:ZMI[F2:?49+1!.64K'YBHY.U2VU, '!ZXQ5/Q'J-Y<:1 EX-101.SCH 9 fix-20201231.xsd EX-101.SCH 00100 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40207 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) Calc2 link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Revenue from Contracts with Customers - Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Acquisitions (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Detail of Other Current Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Debt Obligations - Future Payments (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - Leases - Summary of Lease Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41003 - Disclosure - Leases - Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Income Taxes - Provision (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - Income Taxes - Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 41104 - Disclosure - Income Taxes - Deferred Tax Assets (Liabilities) (Details) link:presentationLink link:calculationLink link:definitionLink 41403 - Disclosure - Stockholders' Equity - Number of Shares (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 00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Business and Organization link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Revenue from Contracts with Customers link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Goodwill and Identifiable Intangible Assets, Net link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Property and Equipment link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Detail of Other Current Liabilities link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Debt Obligations link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Employee Benefit Plans link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11701 - Disclosure - Selected Quarterly Financial Data link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Revenue from Contracts with Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Goodwill and Identifiable Intangible Assets, Net (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Property and Equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Detail of Other Current Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Debt Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 31403 - Disclosure - Stockholders' Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 31503 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 31703 - Disclosure - Selected Quarterly Financial Data (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Business and Organization (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Summary of Significant Accounting Policies - Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of Significant Accounting Policies - Risk (Details) link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - Revenue from Contracts with Customers - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40303 - Disclosure - Revenue from Contracts with Customers - Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40304 - Disclosure - Revenue from Contracts with Customers - Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40304 - Disclosure - Revenue from Contracts with Customers - Remaining Performance Obligations Default (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Acquisitions - Acquired Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Acquisitions - Contingent Earn-out Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Acquisitions - Other Acquisitions (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Changes in Carrying Amount of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - Goodwill and Identifiable Intangible Assets, Net (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Debt Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40903 - Disclosure - Debt Obligations - Other (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - Income Taxes - Provision Changes, Examination (Details) link:presentationLink link:calculationLink link:definitionLink 41105 - Disclosure - Income Taxes - Loss Carryforwards and Other (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Employee Benefit Plans (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Commitments and Contingencies - Other and Bonds (Details) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - Commitments and Contingencies - Self-Insurance (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Stockholders' Equity - Incentive and Other (Details) link:presentationLink link:calculationLink link:definitionLink 41402 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 41502 - Disclosure - Stock-Based Compensation - Stock Option Plan Activity (Details) link:presentationLink link:calculationLink link:definitionLink 41503 - Disclosure - Stock-Based Compensation - Fair Value Assumptions (Details) link:presentationLink link:calculationLink link:definitionLink 41601 - Disclosure - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 41701 - Disclosure - Selected Quarterly Financial Data (Details) link:presentationLink link:calculationLink link:definitionLink 11601 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 31603 - Disclosure - Segment Information (Tables) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies - Cash Flow Information (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of Significant Accounting Policies - Insurance Recovery (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 10 fix-20201231_cal.xml EX-101.CAL EX-101.DEF 11 fix-20201231_def.xml EX-101.DEF EX-101.LAB 12 fix-20201231_lab.xml EX-101.LAB EX-101.PRE 13 fix-20201231_pre.xml EX-101.PRE XML 14 fix-20201231x10k_htm.xml IDEA: XBRL DOCUMENT 0001035983 us-gaap:StateAndLocalJurisdictionMember 2020-01-01 2020-12-31 0001035983 2020-10-01 2020-10-31 0001035983 fix:Deduction179dMember 2020-07-01 2020-09-30 0001035983 fix:StockRepurchaseProgram2007Member 2020-12-31 0001035983 fix:StockRepurchaseProgram2007Member 2020-01-01 2020-12-31 0001035983 fix:StockRepurchaseProgram2007Member 2007-03-29 2020-12-31 0001035983 fix:StockRepurchaseProgram2007Member 2007-03-29 0001035983 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:RetainedEarningsMember 2020-12-31 0001035983 us-gaap:TreasuryStockMember 2020-12-31 0001035983 us-gaap:RetainedEarningsMember 2020-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001035983 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember 2020-12-31 0001035983 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:AccountingStandardsUpdate201613Member 2020-01-01 0001035983 us-gaap:TreasuryStockMember 2019-12-31 0001035983 us-gaap:RetainedEarningsMember 2019-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001035983 us-gaap:TreasuryStockMember 2018-12-31 0001035983 us-gaap:RetainedEarningsMember 2018-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001035983 us-gaap:TreasuryStockMember 2017-12-31 0001035983 us-gaap:RetainedEarningsMember 2017-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2017-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember fix:ExercisePriceRangeFromDollars35.01To42.50Member 2020-01-01 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember fix:ExercisePriceRangeFromDollars15.01To35.00Member 2020-01-01 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember fix:ExercisePriceRangeFromDollars11.21To42.50Member 2020-01-01 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember fix:ExercisePriceRangeFromDollars11.21To15.00Member 2020-01-01 2020-12-31 0001035983 fix:ExercisePriceRangeFromDollars35.01To42.50Member 2020-01-01 2020-12-31 0001035983 fix:ExercisePriceRangeFromDollars15.01To35.00Member 2020-01-01 2020-12-31 0001035983 fix:ExercisePriceRangeFromDollars11.21To42.50Member 2020-01-01 2020-12-31 0001035983 fix:ExercisePriceRangeFromDollars11.21To15.00Member 2020-01-01 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember fix:ExercisePriceRangeFromDollars35.01To42.50Member 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember fix:ExercisePriceRangeFromDollars15.01To35.00Member 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember fix:ExercisePriceRangeFromDollars11.21To42.50Member 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember fix:ExercisePriceRangeFromDollars11.21To15.00Member 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember 2019-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember 2019-01-01 2019-12-31 0001035983 fix:OmnibusIncentivePlan2017Member 2020-12-31 0001035983 fix:EquityIncentivePlan2012Member 2020-12-31 0001035983 fix:OmnibusIncentivePlan2017Member 2017-05-31 0001035983 fix:EquityIncentivePlan2012Member 2012-05-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember 2018-01-01 2018-12-31 0001035983 fix:RestrictedStockAndRestrictedStockUnitsRSUMember 2019-12-31 0001035983 fix:RestrictedStockAndRestrictedStockUnitsRSUMember 2019-01-01 2019-12-31 0001035983 fix:RestrictedStockAndRestrictedStockUnitsRSUMember 2018-01-01 2018-12-31 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember 2020-01-01 2020-12-31 0001035983 fix:TasEnergyIncMember 2020-01-01 2020-12-31 0001035983 fix:TasEnergyIncMember 2020-04-01 2020-12-31 0001035983 srt:MinimumMember 2021-01-01 2020-12-31 0001035983 srt:MaximumMember 2021-01-01 2020-12-31 0001035983 2021-01-01 2020-12-31 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember us-gaap:TransportationEquipmentMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember us-gaap:MachineryAndEquipmentMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember us-gaap:FurnitureAndFixturesMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember fix:ComputerAndTelephoneEquipmentMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember fix:BuildingAndLeaseholdImprovementsMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember us-gaap:TransportationEquipmentMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember us-gaap:MachineryAndEquipmentMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember us-gaap:FurnitureAndFixturesMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember fix:ComputerAndTelephoneEquipmentMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember fix:BuildingAndLeaseholdImprovementsMember 2020-01-01 2020-12-31 0001035983 us-gaap:TransportationEquipmentMember 2020-12-31 0001035983 us-gaap:MachineryAndEquipmentMember 2020-12-31 0001035983 us-gaap:LandMember 2020-12-31 0001035983 us-gaap:FurnitureAndFixturesMember 2020-12-31 0001035983 us-gaap:ConstructionInProgressMember 2020-12-31 0001035983 fix:ComputerAndTelephoneEquipmentMember 2020-12-31 0001035983 fix:BuildingAndLeaseholdImprovementsMember 2020-12-31 0001035983 us-gaap:TransportationEquipmentMember 2019-12-31 0001035983 us-gaap:MachineryAndEquipmentMember 2019-12-31 0001035983 us-gaap:LandMember 2019-12-31 0001035983 us-gaap:FurnitureAndFixturesMember 2019-12-31 0001035983 us-gaap:ConstructionInProgressMember 2019-12-31 0001035983 fix:ComputerAndTelephoneEquipmentMember 2019-12-31 0001035983 fix:BuildingAndLeaseholdImprovementsMember 2019-12-31 0001035983 us-gaap:IntersegmentEliminationMember 2020-01-01 2020-12-31 0001035983 us-gaap:IntersegmentEliminationMember 2019-01-01 2019-12-31 0001035983 us-gaap:IntersegmentEliminationMember 2018-01-01 2018-12-31 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-12-20 2019-12-31 0001035983 us-gaap:DomesticCountryMember 2020-12-31 0001035983 us-gaap:StateAndLocalJurisdictionMember 2020-04-01 0001035983 us-gaap:DomesticCountryMember 2020-04-01 0001035983 fix:SubordinateDebtAndPromissoryNoteMember 2019-12-31 0001035983 fix:CustomerMember us-gaap:PendingLitigationMember us-gaap:PerformanceGuaranteeMember 2020-01-01 2020-12-31 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember 2019-12-20 0001035983 us-gaap:LetterOfCreditMember 2019-12-20 0001035983 fix:TermLoanMember 2019-12-20 0001035983 srt:MinimumMember 2020-12-31 0001035983 us-gaap:TaxYear2018Member 2020-10-01 2020-10-31 0001035983 us-gaap:TaxYear2017Member 2020-10-01 2020-10-31 0001035983 us-gaap:TaxYear2016Member 2020-10-01 2020-10-31 0001035983 fix:TaxYears2016To2018Member 2020-10-01 2020-10-31 0001035983 us-gaap:InternalRevenueServiceIRSMember 2020-09-30 0001035983 us-gaap:OperatingSegmentsMember fix:MechanicalServicesMember 2020-01-01 2020-12-31 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesMember 2020-01-01 2020-12-31 0001035983 us-gaap:OperatingSegmentsMember fix:MechanicalServicesMember 2019-01-01 2019-12-31 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesMember 2019-01-01 2019-12-31 0001035983 us-gaap:OperatingSegmentsMember fix:MechanicalServicesMember 2018-01-01 2018-12-31 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesMember 2018-01-01 2018-12-31 0001035983 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsNonrecurringMember 2020-01-01 2020-12-31 0001035983 fix:MechanicalServicesIndustryMember 2020-01-01 2020-12-31 0001035983 fix:ElectricalServicesIndustryMember 2020-01-01 2020-12-31 0001035983 fix:MechanicalServicesIndustryMember 2019-01-01 2019-12-31 0001035983 fix:ElectricalServicesIndustryMember 2019-01-01 2019-12-31 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember 2020-12-31 0001035983 fix:MechanicalServicesIndustryMember 2020-12-31 0001035983 fix:ElectricalServicesIndustryMember 2020-12-31 0001035983 fix:MechanicalServicesIndustryMember 2019-12-31 0001035983 fix:ElectricalServicesIndustryMember 2019-12-31 0001035983 fix:MechanicalServicesIndustryMember 2018-12-31 0001035983 srt:MinimumMember us-gaap:TradeNamesMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember us-gaap:OrderOrProductionBacklogMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember fix:CustomerRelationshipsNonCompeteAgreementsAndTradenamesMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember fix:CustomerRelationshipsNonCompeteAgreementsAndTradenamesMember 2020-01-01 2020-12-31 0001035983 us-gaap:TradeNamesMember 2020-01-01 2020-12-31 0001035983 us-gaap:OrderOrProductionBacklogMember 2020-01-01 2020-12-31 0001035983 us-gaap:CustomerRelationshipsMember 2020-01-01 2020-12-31 0001035983 us-gaap:TradeNamesMember 2020-12-31 0001035983 us-gaap:OrderOrProductionBacklogMember 2020-12-31 0001035983 us-gaap:CustomerRelationshipsMember 2020-12-31 0001035983 us-gaap:TradeNamesMember 2019-12-31 0001035983 us-gaap:OrderOrProductionBacklogMember 2019-12-31 0001035983 us-gaap:CustomerRelationshipsMember 2019-12-31 0001035983 fix:ContingentConsiderationObligationsMember 2020-12-31 0001035983 fix:ContingentConsiderationObligationsMember 2019-12-31 0001035983 fix:ContingentConsiderationObligationsMember 2018-12-31 0001035983 fix:ContingentConsiderationObligationsMember 2020-01-01 2020-12-31 0001035983 fix:ContingentConsiderationObligationsMember 2019-01-01 2019-12-31 0001035983 fix:RestrictedStockAndRestrictedStockUnitsRSUMember 2020-01-01 2020-12-31 0001035983 us-gaap:PerformanceSharesMember 2020-12-31 0001035983 fix:RestrictedStockAndRestrictedStockUnitsRSUMember 2020-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember 2020-12-31 0001035983 2020-10-01 2020-12-31 0001035983 2020-07-01 2020-09-30 0001035983 2020-04-01 2020-06-30 0001035983 2020-01-01 2020-03-31 0001035983 2019-07-01 2019-09-30 0001035983 2019-04-01 2019-06-30 0001035983 2019-01-01 2019-03-31 0001035983 us-gaap:RetainedEarningsMember 2020-01-01 2020-12-31 0001035983 us-gaap:RetainedEarningsMember 2019-01-01 2019-12-31 0001035983 us-gaap:RetainedEarningsMember 2018-01-01 2018-12-31 0001035983 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember 2020-12-31 0001035983 us-gaap:InterestRateSwapMember us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember us-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember 2020-12-31 0001035983 us-gaap:StateAndLocalJurisdictionMember 2020-12-31 0001035983 srt:MaximumMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember 2019-12-31 0001035983 fix:TermLoanMember 2019-12-31 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-12-19 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember us-gaap:LoansPayableMember 2020-12-31 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember us-gaap:LoansPayableMember 2020-12-31 0001035983 fix:TasEnergyMember us-gaap:LoansPayableMember 2020-12-31 0001035983 fix:ElectricalContractorNorthCarolinaMember us-gaap:LoansPayableMember 2020-12-31 0001035983 fix:TermLoanMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtInstrumentVariableRateSixMonthLIBORMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtInstrumentVariableRateOneMonthLIBORMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtInstrumentVariableRateOneMonthLIBORMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtInstrumentVariableRateFederalFundsRateMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeTwoMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtCovenantRatioRangeTwoMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeThreeMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtCovenantRatioRangeThreeMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeOneMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtCovenantRatioRangeOneMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeFourMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtCovenantRatioRangeFourMember 2020-01-01 2020-12-31 0001035983 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2019-01-01 2019-12-31 0001035983 srt:MinimumMember fix:SalesRevenueMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001035983 us-gaap:CommonStockMember 2020-12-31 0001035983 us-gaap:CommonStockMember 2019-12-31 0001035983 us-gaap:CommonStockMember 2018-12-31 0001035983 us-gaap:CommonStockMember 2017-12-31 0001035983 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001035983 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001035983 2017-12-31 0001035983 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001035983 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember us-gaap:TradeNamesMember 2020-12-31 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember us-gaap:OrderOrProductionBacklogMember 2020-12-31 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember us-gaap:CustomerRelationshipsMember 2020-12-31 0001035983 fix:TasEnergyIncMember us-gaap:TradeNamesMember 2020-04-01 0001035983 fix:TasEnergyIncMember us-gaap:OrderOrProductionBacklogMember 2020-04-01 0001035983 fix:TasEnergyIncMember us-gaap:CustomerRelationshipsMember 2020-04-01 0001035983 us-gaap:OperatingSegmentsMember fix:MechanicalServicesMember 2020-12-31 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesMember 2020-12-31 0001035983 us-gaap:IntersegmentEliminationMember 2020-12-31 0001035983 us-gaap:OperatingSegmentsMember fix:MechanicalServicesMember 2019-12-31 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesMember 2019-12-31 0001035983 us-gaap:IntersegmentEliminationMember 2019-12-31 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2019-01-01 2019-12-31 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2018-01-01 2018-12-31 0001035983 srt:RestatementAdjustmentMember us-gaap:AccountingStandardsUpdate201613Member 2020-01-01 2020-01-01 0001035983 us-gaap:ProductAndServiceOtherMember 2020-12-31 0001035983 fix:ServicesActivityMember 2020-12-31 0001035983 fix:ConstructionActivitiesMember 2020-12-31 0001035983 us-gaap:ProductAndServiceOtherMember 2019-12-31 0001035983 fix:ServicesActivityMember 2019-12-31 0001035983 fix:ConstructionActivitiesMember 2019-12-31 0001035983 2018-12-31 0001035983 us-gaap:PerformanceSharesMember 2019-01-01 2019-12-31 0001035983 us-gaap:PerformanceSharesMember 2018-01-01 2018-12-31 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember us-gaap:TradeNamesMember 2020-12-01 2020-12-31 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember us-gaap:OrderOrProductionBacklogMember 2020-12-01 2020-12-31 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember us-gaap:CustomerRelationshipsMember 2020-12-01 2020-12-31 0001035983 fix:TasEnergyIncMember us-gaap:TradeNamesMember 2020-04-01 2020-04-01 0001035983 fix:TasEnergyIncMember us-gaap:OrderOrProductionBacklogMember 2020-04-01 2020-04-01 0001035983 fix:TasEnergyIncMember us-gaap:CustomerRelationshipsMember 2020-04-01 2020-04-01 0001035983 fix:ScenarioTwoImpairmentTestingMember 2019-01-01 2019-12-31 0001035983 fix:ScenarioOneImpairmentTestingMember 2019-01-01 2019-12-31 0001035983 fix:StockRepurchaseProgram2007Member 2020-12-08 0001035983 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2018-01-01 2018-12-31 0001035983 us-gaap:TreasuryStockMember 2020-01-01 2020-12-31 0001035983 us-gaap:TreasuryStockMember 2019-01-01 2019-12-31 0001035983 us-gaap:TreasuryStockMember 2018-01-01 2018-12-31 0001035983 fix:EmployeeAndNonemployeeStockOptionMember 2020-01-01 2020-12-31 0001035983 fix:EmployeeMedicalMember 2020-12-31 0001035983 fix:EmployeeMedicalPlanTwoMember 2020-12-31 0001035983 fix:EmployeeMedicalPlanOneMember 2020-12-31 0001035983 fix:EmployersLiabilityMember 2020-12-31 0001035983 fix:EmployeeMedicalPlanThreeMember 2020-12-31 0001035983 us-gaap:GeneralLiabilityMember 2020-12-31 0001035983 fix:WorkersCompensationMember 2020-12-31 0001035983 fix:AutoLiabilityMember 2020-12-31 0001035983 srt:MaximumMember us-gaap:GeneralLiabilityMember 2020-12-31 0001035983 srt:MaximumMember fix:EmployersLiabilityMember 2020-12-31 0001035983 srt:MaximumMember fix:AutoLiabilityMember 2020-12-31 0001035983 fix:SystemInstallationInNewlyConstructedFacilitiesMember 2020-01-01 2020-12-31 0001035983 fix:MaintenanceRepairAndReplacementServiceMember 2020-01-01 2020-12-31 0001035983 fix:TermLoanMember 2019-12-20 2019-12-20 0001035983 fix:TermLoanMember 2019-12-19 2019-12-19 0001035983 us-gaap:ProductAndServiceOtherMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember us-gaap:PerformanceSharesMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember us-gaap:PerformanceSharesMember 2020-01-01 2020-12-31 0001035983 us-gaap:PerformanceSharesMember 2020-01-01 2020-12-31 0001035983 us-gaap:OtherCustomerMember 2020-01-01 2020-12-31 0001035983 fix:ServiceProjectsMember 2020-01-01 2020-12-31 0001035983 fix:ServiceCallsMaintenanceAndMonitoringMember 2020-01-01 2020-12-31 0001035983 fix:RetailRestaurantsAndEntertainmentMember 2020-01-01 2020-12-31 0001035983 fix:OfficeBuildingCustomerMember 2020-01-01 2020-12-31 0001035983 fix:NewConstructionMember 2020-01-01 2020-12-31 0001035983 fix:MultiFamilyAndResidentialMember 2020-01-01 2020-12-31 0001035983 fix:MechanicalServicesMember 2020-01-01 2020-12-31 0001035983 fix:IndustrialPropertyCustomerMember 2020-01-01 2020-12-31 0001035983 fix:HealthcareSectorCustomerMember 2020-01-01 2020-12-31 0001035983 fix:GovernmentCustomerMember 2020-01-01 2020-12-31 0001035983 fix:ExistingBuildingConstructionMember 2020-01-01 2020-12-31 0001035983 fix:ElectricalServicesMember 2020-01-01 2020-12-31 0001035983 fix:EducationMember 2020-01-01 2020-12-31 0001035983 us-gaap:OtherCustomerMember 2019-01-01 2019-12-31 0001035983 fix:ServiceProjectsMember 2019-01-01 2019-12-31 0001035983 fix:ServiceCallsMaintenanceAndMonitoringMember 2019-01-01 2019-12-31 0001035983 fix:RetailRestaurantsAndEntertainmentMember 2019-01-01 2019-12-31 0001035983 fix:OfficeBuildingCustomerMember 2019-01-01 2019-12-31 0001035983 fix:NewConstructionMember 2019-01-01 2019-12-31 0001035983 fix:MultiFamilyAndResidentialMember 2019-01-01 2019-12-31 0001035983 fix:MechanicalServicesMember 2019-01-01 2019-12-31 0001035983 fix:IndustrialPropertyCustomerMember 2019-01-01 2019-12-31 0001035983 fix:HealthcareSectorCustomerMember 2019-01-01 2019-12-31 0001035983 fix:GovernmentCustomerMember 2019-01-01 2019-12-31 0001035983 fix:ExistingBuildingConstructionMember 2019-01-01 2019-12-31 0001035983 fix:ElectricalServicesMember 2019-01-01 2019-12-31 0001035983 fix:EducationMember 2019-01-01 2019-12-31 0001035983 us-gaap:OtherCustomerMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member fix:ServiceProjectsMember 2018-01-01 2018-12-31 0001035983 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member fix:ServiceCallsMaintenanceAndMonitoringMember 2018-01-01 2018-12-31 0001035983 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member fix:NewConstructionMember 2018-01-01 2018-12-31 0001035983 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member fix:ExistingBuildingConstructionMember 2018-01-01 2018-12-31 0001035983 fix:RetailRestaurantsAndEntertainmentMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:OfficeBuildingCustomerMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:MultiFamilyAndResidentialMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:MechanicalServicesMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:IndustrialPropertyCustomerMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:HealthcareSectorCustomerMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:GovernmentCustomerMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:ElectricalServicesMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:EducationMember us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-01-01 2018-12-31 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember 2019-01-01 2019-12-31 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember 2020-01-01 2020-12-31 0001035983 srt:MinimumMember us-gaap:SuretyBondMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember us-gaap:SuretyBondMember 2020-01-01 2020-12-31 0001035983 srt:MaximumMember 2020-01-01 2020-12-31 0001035983 fix:TermLoanMember 2019-12-20 2019-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember 2019-12-20 2019-12-31 0001035983 srt:MinimumMember 2020-01-01 2020-12-31 0001035983 us-gaap:PendingLitigationMember us-gaap:PerformanceGuaranteeMember 2020-01-01 2020-12-31 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-12-20 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtCovenantRatioRangeTwoMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtCovenantRatioRangeThreeMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtCovenantRatioRangeOneMember 2020-01-01 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtCovenantRatioRangeFourMember 2020-01-01 2020-12-31 0001035983 2019-10-01 2019-12-31 0001035983 us-gaap:InterestRateSwapMember 2020-01-01 2020-12-31 0001035983 us-gaap:InterestRateSwapMember us-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember 2021-11-30 0001035983 us-gaap:InterestRateSwapMember us-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember 2020-12-31 0001035983 2018-01-01 2018-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtInstrumentVariableRateSixMonthLIBORMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtInstrumentVariableRateOneMonthLIBORMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtInstrumentVariableRateOneMonthLIBORMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:DebtInstrumentVariableRateBaseRateMember fix:DebtInstrumentVariableRateFederalFundsRateMember 2020-12-31 0001035983 srt:MinimumMember fix:ScenarioCovenantRequirementMember us-gaap:RevolvingCreditFacilityMember 2020-12-31 0001035983 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember fix:ThroughMaturityMember 2020-12-31 0001035983 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2020-12-31 0001035983 us-gaap:RevolvingCreditFacilityMember 2020-12-31 0001035983 fix:SubordinateDebtAndPromissoryNoteMember 2020-12-31 0001035983 srt:MinimumMember fix:TECIndustrialConstructionAndMaintenanceMember 2020-12-01 2020-12-31 0001035983 srt:MaximumMember fix:TECIndustrialConstructionAndMaintenanceMember 2020-12-01 2020-12-31 0001035983 srt:MinimumMember fix:TasEnergyIncMember 2020-04-01 2020-04-01 0001035983 srt:MaximumMember fix:TasEnergyIncMember 2020-04-01 2020-04-01 0001035983 fix:TasEnergyIncMember 2020-04-01 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember 2020-12-31 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember 2019-04-01 2019-06-30 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember 2019-06-30 0001035983 fix:TECIndustrialConstructionAndMaintenanceMember 2020-12-01 2020-12-31 0001035983 fix:TasEnergyIncMember 2020-04-01 2020-04-01 0001035983 us-gaap:RevolvingCreditFacilityMember 2020-01-01 2020-12-31 0001035983 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001035983 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001035983 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001035983 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001035983 2018-01-01 2018-03-31 0001035983 fix:ServicesActivityMember 2020-01-01 2020-12-31 0001035983 fix:ConstructionActivitiesMember 2020-01-01 2020-12-31 0001035983 2019-01-01 2019-12-31 0001035983 2020-12-31 0001035983 2019-12-31 0001035983 2020-06-30 0001035983 2021-02-19 0001035983 2020-01-01 2020-12-31 shares iso4217:USD pure fix:item fix:Option iso4217:USD shares fix:segment 350000 true 0 0 P1Y 350000 P30D 0001035983 --12-31 2020 FY false us-gaap:OperatingLeaseLiabilityCurrent us-gaap:OperatingLeaseLiabilityCurrent us-gaap:OperatingLeaseLiabilityNoncurrent us-gaap:OperatingLeaseLiabilityNoncurrent P3Y 3200000 P45D 10-K true 2020-12-31 false 1-13011 Comfort Systems USA, Inc. DE 76-0526487 675 Bering Drive Suite 400 Houston TX 77057 713 830-9600 Common Stock, $.01 par value FIX NYSE Yes No Yes Yes Large Accelerated Filer false false true false 1450000000 36185179 54896000 50788000 9087000 6907000 619544000 619037000 784000 0 45596000 55542000 759000 0 44212000 37632000 13472000 10053000 15510000 14396000 79000 0 18622000 2736000 811852000 790184000 117206000 109796000 94727000 84073000 464392000 332447000 231807000 159974000 29401000 21923000 7970000 6615000 1757355000 1505012000 20817000 204145000 196195000 121864000 102891000 226237000 166918000 49166000 39546000 91492000 81630000 692904000 607997000 235733000 205318000 80576000 72697000 1339000 1425000 50374000 32271000 1060926000 919708000 0.01 0.01 5000000 5000000 0 0 0.01 0.01 102969912 102969912 41123365 41123365 411000 411000 4935186 4465448 129243000 103960000 322451000 320168000 502810000 368685000 696429000 585304000 1757355000 1505012000 2856659000 2615277000 2182879000 2309676000 2113334000 1736600000 546983000 501943000 446279000 357777000 340005000 296986000 1445000 1701000 945000 190651000 163639000 150238000 103000 224000 73000 8385000 9317000 3710000 -9119000 2991000 2066000 52000 187000 4141000 889000 -11897000 -1562000 191540000 151742000 148676000 41401000 37418000 35773000 150139000 114324000 112903000 4.11 3.10 3.03 4.09 3.08 3.00 36542000 36854000 37202000 36738000 37131000 37592000 0.425 0.395 0.330 41123365 411000 -3936291 -63519000 312784000 168269000 417945000 112903000 112903000 206875 3618000 -513000 3105000 129569 2227000 -4000 2223000 -36967 1540000 1540000 4212000 4212000 12268000 12268000 -592839 28533000 28533000 41123365 411000 -4229653 -87747000 316479000 268904000 498047000 114324000 114324000 114125 2532000 -182000 2350000 107606 2303000 -297000 2006000 -28586 1498000 1498000 4168000 4168000 14543000 14543000 -428940 19550000 19550000 41123365 411000 -4465448 -103960000 320168000 368685000 585304000 150139000 150139000 -515000 -515000 113731 2811000 -667000 2144000 128889 3102000 -1247000 1855000 -27724 1076000 1076000 4197000 4197000 15499000 15499000 -684634 30120000 30120000 41123365 411000 -4935186 -129243000 322451000 502810000 696429000 150139000 114324000 112903000 32698000 27082000 20089000 27931000 24490000 22600000 16692000 16887000 5253000 2978000 3562000 -7953000 -4251000 4456000 544000 387000 383000 1445000 1701000 945000 -9119000 2991000 2066000 6934000 5878000 7161000 -38486000 49508000 68621000 1457000 -2366000 1538000 4855000 15519000 -519000 -2706000 4312000 14444000 1373000 735000 114000 11087000 31046000 47871000 19434000 4376000 16786000 808000 -14751000 -5544000 286510000 142028000 147190000 24131000 31750000 27268000 2270000 2159000 1698000 1611000 185941000 196470000 70140000 -207802000 -224450000 -95710000 268000000 356000000 124000000 226000000 228000000 119000000 15000000 46534000 3784000 1127000 1405000 844000 15499000 14543000 12268000 30120000 19550000 28533000 1076000 1498000 1540000 2144000 2350000 3105000 650000 637000 750000 9865000 1343000 5445000 -74600000 87590000 -42402000 4108000 5168000 9078000 50788000 45620000 36542000 54896000 50788000 45620000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">1. Business and Organization</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical and electrical contracting services, which principally includes heating, ventilation and air conditioning (“HVAC”), plumbing, electrical, piping and controls, as well as off-site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. Approximately 46.7% of our consolidated 2020 revenue is attributable to installation of systems in newly constructed facilities, with the remaining 53.3% attributable to maintenance, repair and replacement services. The terms “Comfort Systems,” “we,” “us,” or the “Company,” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.</p> 0.467 0.533 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:12pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Principles of Consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">These financial statements are prepared in accordance with accounting principles generally accepted in the United States of America. The accompanying consolidated financial statements include our accounts and those of our subsidiaries in which we have a controlling interest. All significant intercompany accounts and transactions have been eliminated. Certain amounts in prior periods may have been reclassified to conform to the current period presentation. The effects of the reclassifications were not material to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, self-insurance accruals, deferred tax assets, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Cash Flow Information</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Cash paid (in thousands) for:</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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:36.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;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;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></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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:11.71%;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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,684</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,817</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,743</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income taxes, net of refunds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 33,401</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:12pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326).” The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. The standard requires us to accrue higher credit losses on financial assets compared to the legacy guidance on various items, such as contract assets and current receivables. ASU No. 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. We adopted ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326),” on January 1, 2020, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">and the impact was not material to our overall financial statements. The adoption of ASU No. 2016-13 resulted in an increase in Allowance for Credit Losses of $0.7 million, an increase to Deferred Tax Assets of $0.2 million and an impact of $0.5 million to Retained Earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement.” This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU No. 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We have modified our fair value disclosures to conform with the requirements of ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement,” which we adopted on January 1, 2020. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In December 2019, the FASB issued ASU No. 2019-12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes.” This standard simplifies the accounting for income taxes by eliminating certain exceptions to the guidance in Topic 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The standard also simplifies aspects of the accounting for franchise taxes and enacted changes in tax laws or rates and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU No. 2019-12 is effective for fiscal years beginning after December 15, 2020 and interim periods within that year. Early adoption is permitted. We do not expect our adoption of this standard on January 1, 2021 to have a material impact on our consolidated financial statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services. Our revenue recognition policy is further discussed in Note 3 “Revenue from Contracts with Customers.”</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable and Allowance for Credit Losses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We are required to estimate and record the expected credit losses over the contractual life of our financial assets measured at amortized cost, including billed and unbilled accounts receivable, other receivables and costs and estimated </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">earnings in excess of billings. Accounts receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. Our trade receivables are contractually due in less than a year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We estimate our credit losses using a loss-rate method for each of our identified portfolio segments. Our portfolio segments are construction, service and other. While our construction and service financial assets are often with the same subset of customers and industries, our construction financial assets will generally have a lower loss-rate than service financial assets due to lien rights, which we are more likely to have on construction jobs. These lien rights result in lower credit loss expenses on average compared to receivables that do not have lien rights. Financial assets classified as “other” include receivables that are not related to our core revenue producing activities, such as receivables related to our acquisition activity from former owners, our vendor rebate program or receivables for estimated losses in excess of our insurance deductible, which are accrued with a corresponding accrued insurance liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Loss rates for our portfolios are based on numerous factors, including our history of credit loss expense by portfolio, the financial strength of our customers and counterparties in each portfolio, the aging of our receivables, our expectation of likelihood of payment, macroeconomic trends in the U.S. and the current and forecasted non-residential construction market trends in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In addition to the loss-rate calculations discussed above, we also record allowance for credit losses for specific receivables that are deemed to have a higher risk profile than the rest of the respective pool of receivables, such as concerns about a specific customer going bankrupt and no longer being able to pay the receivables due to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Starting in March 2020, we experienced negative impacts to our business due to the disruption caused by Coronavirus Disease 2019 (“COVID-19”). In March 2020, the World Health Organization categorized COVID-19 as a pandemic, and the President of the United States declared the COVID-19 outbreak a national emergency. The Company considered the impact of COVID-19 on the assumptions and estimates used to determine the results reported and asset valuations as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the year ended December 31, 2020, we increased our loss rates and increased our specific reserves primarily due to the economic disruption caused by COVID-19, which is reflected in our bad debt expense in the current year. This increase was primarily, but not exclusively, due to concern over collectability of receivables from customers more directly impacted by COVID-19. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Activity in our allowance for credit losses consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;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="11" style="vertical-align:bottom;white-space:nowrap;width:49.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="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:49.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="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Service</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Construction</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 315</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,907</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Impact of new accounting standard</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 695</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Bad debt expense (benefit)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,566</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,697</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (10)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,253</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Deductions for uncollectible receivables written off, net of recoveries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (1,431)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (735)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (2,166)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Credit allowance of acquired companies on the acquisition date</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Reclass to other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;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 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;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-size:9pt;visibility:hidden;">​</span></p></td><td 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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;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;"> (315)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;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;"> (315)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,637</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,028</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,709</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:78.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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:3.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:15.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:19.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;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;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:19.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,898</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Bad debt expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Deductions for uncollectible receivables written off, net of recoveries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (3,924)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Credit allowance of acquired companies on the acquisition date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;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 0pt 0pt;"> 1,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6,907</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Inventories consist of parts and supplies that we purchase and hold for use in the ordinary course of business and are stated at the lower of cost or net realizable value using the average-cost method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Property and Equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Property and equipment are stated at cost, and depreciation is computed using the straight-line method over the estimated useful lives of the assets. Leasehold improvements are capitalized and amortized over the lesser of the expected life of the lease or the estimated useful life of the asset.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Expenditures for repairs and maintenance are charged to expense when incurred. Expenditures for major renewals and betterments, which extend the useful lives of existing equipment, are capitalized and depreciated over the remaining useful life of the equipment. Upon retirement or disposition of property and equipment, the cost and related accumulated depreciation are removed from the accounts and any resulting gain or loss is recognized in “Gain on sale of assets” in the Statement of Operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recoverability of Goodwill and Identifiable Intangible Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Goodwill is the excess of purchase price over the fair value of the net assets of acquired businesses. We assess goodwill for impairment each year, and more frequently if circumstances suggest an impairment may have occurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">When the carrying value of a given reporting unit exceeds its fair value, a goodwill impairment loss is recorded for this difference, not to exceed the carrying amount of goodwill. The requirements for assessing whether goodwill has been impaired involve market-based information. This information, and its use in assessing goodwill, entails some degree of subjective assessment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">We perform our annual impairment testing as of October 1, and any impairment charges resulting from this process are reported in the fourth quarter. We segregate our operations into reporting units based on the degree of operating and financial independence of each unit and our related management of them. We perform our annual goodwill impairment testing at the reporting unit level. We perform a goodwill impairment review for each of our operating units, as we have determined that each of our operating units are reporting units. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In the evaluation of goodwill for impairment, we have the option to first assess qualitative factors to determine whether the existence of events or circumstances lead to a determination that it is more likely than not that the fair value of one of our reporting units is greater than its carrying value. If, after completing such assessment, we determine it is more likely than not that the fair value of a reporting unit is greater than its carrying amount, then there is no need to perform any further testing. If we conclude otherwise, or if we elect to perform a quantitative assessment, then we calculate the fair value of the reporting unit and compare the fair value with the carrying value of the reporting unit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We estimate the fair value of the reporting unit based on a market approach and an income approach, which utilizes discounted future cash flows. Assumptions critical to the fair value estimates under the discounted cash flow model include discount rates, cash flow projections, projected long-term growth rates and the determination of terminal values. The market approach utilizes market multiples of invested capital from comparable publicly traded companies (“public company approach”). The market multiples from invested capital include revenue, book equity plus debt and earnings before interest, provision for income taxes, depreciation and amortization (“EBITDA”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We amortize identifiable intangible assets with finite lives over their useful lives. Changes in strategy and/or market condition may result in adjustments to recorded intangible asset balances or their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Long-Lived Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Long-lived assets are comprised principally of goodwill, identifiable intangible assets, property and equipment, and deferred tax assets. We periodically evaluate whether events and circumstances have occurred that indicate that the remaining balances of these assets may not be recoverable. We use estimates of future income from operations and cash flows, as well as other economic and business factors, to assess the recoverability of these assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Acquisitions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We recognize assets acquired and liabilities assumed in business combinations, including contingent assets and liabilities, based on fair value estimates as of the date of acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contingent Consideration</i>—In certain acquisitions, we agree to pay additional amounts to sellers contingent upon achievement by the acquired businesses of certain predetermined profitability targets. We have recognized liabilities for these contingent obligations based on their estimated fair value at the date of acquisition with any differences between the acquisition date fair value and the ultimate settlement of the obligations being recognized in income from operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contingent Assets and Liabilities</i>—Assets and liabilities arising from contingencies are recognized at their acquisition date fair value when their respective fair values are determinable. Acquisition date fair value estimates are revised as necessary if, and when, additional information regarding these contingencies becomes available to further define and quantify assets acquired and liabilities assumed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Self-Insurance Liabilities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks—workers’ compensation, auto liability and general liability—are reviewed by a third-party actuary quarterly. Our self-insurance arrangements are further discussed in Note 13 “Commitments and Contingencies.”</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Warranty Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">We typically warrant labor for the first year after installation on new MEP systems that we build and install, and we pass through to the customer manufacturers’ warranties on equipment. We generally warrant labor for thirty days after servicing existing MEP systems. A reserve for warranty costs is estimated and recorded based upon the historical level of warranty claims and management’s estimate of future costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions and accounting for losses associated with underperforming operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Income taxes are provided for under the liability method, which takes into account differences between financial statement treatment and tax treatment of certain transactions. Deferred taxes are based on the difference between the financial reporting and tax basis of assets and liabilities. The deferred tax provision represents the change during the reporting period in the deferred tax assets and deferred tax liabilities, net of the effect of acquisitions and dispositions. Deferred tax assets include tax loss and credit carryforwards and are reduced by a valuation allowance if, based on available evidence, it is more-likely-than-not some portion or all of the deferred tax assets will not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We regularly evaluate valuation allowances established for deferred tax assets for which future realization is uncertain. In assessing the realizability of deferred tax assets, we must consider whether it is more-likely-than-not some portion, or all, of the deferred tax assets will not be realized. We consider all available evidence, both positive and negative, in determining whether a valuation allowance is required. Such evidence includes the scheduled reversal of deferred tax liabilities, projected future taxable income, taxable income in prior carryback years and tax planning strategies in making this assessment, and judgment is required in considering the relative weight of negative and positive evidence.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Significant judgment is required in assessing the timing and amounts of deductible and taxable items. We establish reserves when, despite our belief that our tax return positions are supportable, we believe that certain positions may be disallowed. When facts and circumstances change, we adjust these reserves through our provision for income taxes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">To the extent interest and penalties may be assessed by taxing authorities on any underpayment of income tax, such amounts have been accrued and are classified as a component in provision for income taxes in our Consolidated Statements of Operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Concentrations of Credit Risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We provide services in a broad range of geographic regions. Our credit risk primarily consists of receivables from a variety of customers including general contractors, property owners and developers, and commercial and industrial companies. We are subject to potential credit risk related to changes in business and economic factors throughout the United States within the nonresidential construction industry. However, we are entitled to payment for work performed and have certain lien rights related to that work. Further, we believe that our contract acceptance, billing and collection policies are adequate to manage potential credit risk. We regularly review our accounts receivable and estimate an allowance for uncollectible amounts. We have a diverse customer base, with our top customer representing 5% of consolidated 2020 revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Financial Instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, interest rate swaps, life insurance policies, notes to former owners, a revolving credit facility and a term loan. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Insurance Recovery</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We recorded a $4.8 million gain in the fourth quarter of 2019 due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019. Approximately $1.6 million of the gain was recorded as a reduction in SG&amp;A, and the <span style="-sec-ix-hidden:Hidden_Lb8339TRIEGfZg6K_bElpg;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">remainder</span></span><span style="white-space:pre-wrap;"> was recorded as a reduction in Cost of Services expense.  These proceeds related to recoverable costs that were primarily incurred prior to the fourth quarter in 2019. We do not expect any additional insurance proceeds or other recoveries related to the ransomware incident. </span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Principles of Consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">These financial statements are prepared in accordance with accounting principles generally accepted in the United States of America. The accompanying consolidated financial statements include our accounts and those of our subsidiaries in which we have a controlling interest. All significant intercompany accounts and transactions have been eliminated. Certain amounts in prior periods may have been reclassified to conform to the current period presentation. The effects of the reclassifications were not material to the consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, self-insurance accruals, deferred tax assets, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Cash Flow Information</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Cash paid (in thousands) for:</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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:36.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;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;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></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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:11.71%;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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,684</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,817</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,743</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income taxes, net of refunds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 33,401</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Cash paid (in thousands) for:</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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:36.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;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;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></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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:11.71%;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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,684</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,817</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,743</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income taxes, net of refunds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 33,401</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 7684000 8817000 3743000 51286000 45288000 33401000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:12pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326).” The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. The standard requires us to accrue higher credit losses on financial assets compared to the legacy guidance on various items, such as contract assets and current receivables. ASU No. 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. We adopted ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326),” on January 1, 2020, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">and the impact was not material to our overall financial statements. The adoption of ASU No. 2016-13 resulted in an increase in Allowance for Credit Losses of $0.7 million, an increase to Deferred Tax Assets of $0.2 million and an impact of $0.5 million to Retained Earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement.” This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU No. 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We have modified our fair value disclosures to conform with the requirements of ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement,” which we adopted on January 1, 2020. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In December 2019, the FASB issued ASU No. 2019-12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes.” This standard simplifies the accounting for income taxes by eliminating certain exceptions to the guidance in Topic 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The standard also simplifies aspects of the accounting for franchise taxes and enacted changes in tax laws or rates and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU No. 2019-12 is effective for fiscal years beginning after December 15, 2020 and interim periods within that year. Early adoption is permitted. We do not expect our adoption of this standard on January 1, 2021 to have a material impact on our consolidated financial statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p> 700000 200000 500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services. Our revenue recognition policy is further discussed in Note 3 “Revenue from Contracts with Customers.”</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable and Allowance for Credit Losses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We are required to estimate and record the expected credit losses over the contractual life of our financial assets measured at amortized cost, including billed and unbilled accounts receivable, other receivables and costs and estimated </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">earnings in excess of billings. Accounts receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. Our trade receivables are contractually due in less than a year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We estimate our credit losses using a loss-rate method for each of our identified portfolio segments. Our portfolio segments are construction, service and other. While our construction and service financial assets are often with the same subset of customers and industries, our construction financial assets will generally have a lower loss-rate than service financial assets due to lien rights, which we are more likely to have on construction jobs. These lien rights result in lower credit loss expenses on average compared to receivables that do not have lien rights. Financial assets classified as “other” include receivables that are not related to our core revenue producing activities, such as receivables related to our acquisition activity from former owners, our vendor rebate program or receivables for estimated losses in excess of our insurance deductible, which are accrued with a corresponding accrued insurance liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Loss rates for our portfolios are based on numerous factors, including our history of credit loss expense by portfolio, the financial strength of our customers and counterparties in each portfolio, the aging of our receivables, our expectation of likelihood of payment, macroeconomic trends in the U.S. and the current and forecasted non-residential construction market trends in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In addition to the loss-rate calculations discussed above, we also record allowance for credit losses for specific receivables that are deemed to have a higher risk profile than the rest of the respective pool of receivables, such as concerns about a specific customer going bankrupt and no longer being able to pay the receivables due to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Starting in March 2020, we experienced negative impacts to our business due to the disruption caused by Coronavirus Disease 2019 (“COVID-19”). In March 2020, the World Health Organization categorized COVID-19 as a pandemic, and the President of the United States declared the COVID-19 outbreak a national emergency. The Company considered the impact of COVID-19 on the assumptions and estimates used to determine the results reported and asset valuations as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the year ended December 31, 2020, we increased our loss rates and increased our specific reserves primarily due to the economic disruption caused by COVID-19, which is reflected in our bad debt expense in the current year. This increase was primarily, but not exclusively, due to concern over collectability of receivables from customers more directly impacted by COVID-19. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Activity in our allowance for credit losses consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;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="11" style="vertical-align:bottom;white-space:nowrap;width:49.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="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:49.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="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Service</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Construction</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 315</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,907</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Impact of new accounting standard</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 695</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Bad debt expense (benefit)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,566</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,697</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (10)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,253</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Deductions for uncollectible receivables written off, net of recoveries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (1,431)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (735)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (2,166)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Credit allowance of acquired companies on the acquisition date</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Reclass to other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;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 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;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-size:9pt;visibility:hidden;">​</span></p></td><td 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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;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;"> (315)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;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;"> (315)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,637</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,028</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,709</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:78.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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:3.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:15.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:19.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;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;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:19.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,898</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Bad debt expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Deductions for uncollectible receivables written off, net of recoveries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (3,924)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Credit allowance of acquired companies on the acquisition date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;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 0pt 0pt;"> 1,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6,907</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Activity in our allowance for credit losses consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;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="11" style="vertical-align:bottom;white-space:nowrap;width:49.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="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:49.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="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Service</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Construction</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 315</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,907</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Impact of new accounting standard</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 695</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Bad debt expense (benefit)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,566</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,697</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (10)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,253</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Deductions for uncollectible receivables written off, net of recoveries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (1,431)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (735)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (2,166)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Credit allowance of acquired companies on the acquisition date</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335</p></td></tr><tr><td style="vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Reclass to other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;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 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;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-size:9pt;visibility:hidden;">​</span></p></td><td 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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;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;"> (315)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;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-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.77%;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;"> (315)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,637</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,028</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,709</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:78.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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:3.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:15.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:19.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;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;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:19.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,898</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Bad debt expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Deductions for uncollectible receivables written off, net of recoveries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (3,924)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Credit allowance of acquired companies on the acquisition date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;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 0pt 0pt;"> 1,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Balance at December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6,907</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 3192000 3400000 315000 6907000 310000 331000 54000 695000 2566000 2697000 -10000 5253000 1431000 735000 2166000 335000 335000 -315000 -315000 4637000 6028000 44000 10709000 5898000 2978000 3924000 1955000 6907000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Inventories consist of parts and supplies that we purchase and hold for use in the ordinary course of business and are stated at the lower of cost or net realizable value using the average-cost method.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Property and Equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Property and equipment are stated at cost, and depreciation is computed using the straight-line method over the estimated useful lives of the assets. Leasehold improvements are capitalized and amortized over the lesser of the expected life of the lease or the estimated useful life of the asset.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Expenditures for repairs and maintenance are charged to expense when incurred. Expenditures for major renewals and betterments, which extend the useful lives of existing equipment, are capitalized and depreciated over the remaining useful life of the equipment. Upon retirement or disposition of property and equipment, the cost and related accumulated depreciation are removed from the accounts and any resulting gain or loss is recognized in “Gain on sale of assets” in the Statement of Operations.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Recoverability of Goodwill and Identifiable Intangible Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Goodwill is the excess of purchase price over the fair value of the net assets of acquired businesses. We assess goodwill for impairment each year, and more frequently if circumstances suggest an impairment may have occurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">When the carrying value of a given reporting unit exceeds its fair value, a goodwill impairment loss is recorded for this difference, not to exceed the carrying amount of goodwill. The requirements for assessing whether goodwill has been impaired involve market-based information. This information, and its use in assessing goodwill, entails some degree of subjective assessment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">We perform our annual impairment testing as of October 1, and any impairment charges resulting from this process are reported in the fourth quarter. We segregate our operations into reporting units based on the degree of operating and financial independence of each unit and our related management of them. We perform our annual goodwill impairment testing at the reporting unit level. We perform a goodwill impairment review for each of our operating units, as we have determined that each of our operating units are reporting units. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In the evaluation of goodwill for impairment, we have the option to first assess qualitative factors to determine whether the existence of events or circumstances lead to a determination that it is more likely than not that the fair value of one of our reporting units is greater than its carrying value. If, after completing such assessment, we determine it is more likely than not that the fair value of a reporting unit is greater than its carrying amount, then there is no need to perform any further testing. If we conclude otherwise, or if we elect to perform a quantitative assessment, then we calculate the fair value of the reporting unit and compare the fair value with the carrying value of the reporting unit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We estimate the fair value of the reporting unit based on a market approach and an income approach, which utilizes discounted future cash flows. Assumptions critical to the fair value estimates under the discounted cash flow model include discount rates, cash flow projections, projected long-term growth rates and the determination of terminal values. The market approach utilizes market multiples of invested capital from comparable publicly traded companies (“public company approach”). The market multiples from invested capital include revenue, book equity plus debt and earnings before interest, provision for income taxes, depreciation and amortization (“EBITDA”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We amortize identifiable intangible assets with finite lives over their useful lives. Changes in strategy and/or market condition may result in adjustments to recorded intangible asset balances or their useful lives.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Long-Lived Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Long-lived assets are comprised principally of goodwill, identifiable intangible assets, property and equipment, and deferred tax assets. We periodically evaluate whether events and circumstances have occurred that indicate that the remaining balances of these assets may not be recoverable. We use estimates of future income from operations and cash flows, as well as other economic and business factors, to assess the recoverability of these assets.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Acquisitions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We recognize assets acquired and liabilities assumed in business combinations, including contingent assets and liabilities, based on fair value estimates as of the date of acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contingent Consideration</i>—In certain acquisitions, we agree to pay additional amounts to sellers contingent upon achievement by the acquired businesses of certain predetermined profitability targets. We have recognized liabilities for these contingent obligations based on their estimated fair value at the date of acquisition with any differences between the acquisition date fair value and the ultimate settlement of the obligations being recognized in income from operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Contingent Assets and Liabilities</i>—Assets and liabilities arising from contingencies are recognized at their acquisition date fair value when their respective fair values are determinable. Acquisition date fair value estimates are revised as necessary if, and when, additional information regarding these contingencies becomes available to further define and quantify assets acquired and liabilities assumed.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Self-Insurance Liabilities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks—workers’ compensation, auto liability and general liability—are reviewed by a third-party actuary quarterly. Our self-insurance arrangements are further discussed in Note 13 “Commitments and Contingencies.”</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Warranty Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 11pt 0pt;">We typically warrant labor for the first year after installation on new MEP systems that we build and install, and we pass through to the customer manufacturers’ warranties on equipment. We generally warrant labor for thirty days after servicing existing MEP systems. A reserve for warranty costs is estimated and recorded based upon the historical level of warranty claims and management’s estimate of future costs.</p> P30D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions and accounting for losses associated with underperforming operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Income taxes are provided for under the liability method, which takes into account differences between financial statement treatment and tax treatment of certain transactions. Deferred taxes are based on the difference between the financial reporting and tax basis of assets and liabilities. The deferred tax provision represents the change during the reporting period in the deferred tax assets and deferred tax liabilities, net of the effect of acquisitions and dispositions. Deferred tax assets include tax loss and credit carryforwards and are reduced by a valuation allowance if, based on available evidence, it is more-likely-than-not some portion or all of the deferred tax assets will not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We regularly evaluate valuation allowances established for deferred tax assets for which future realization is uncertain. In assessing the realizability of deferred tax assets, we must consider whether it is more-likely-than-not some portion, or all, of the deferred tax assets will not be realized. We consider all available evidence, both positive and negative, in determining whether a valuation allowance is required. Such evidence includes the scheduled reversal of deferred tax liabilities, projected future taxable income, taxable income in prior carryback years and tax planning strategies in making this assessment, and judgment is required in considering the relative weight of negative and positive evidence.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Significant judgment is required in assessing the timing and amounts of deductible and taxable items. We establish reserves when, despite our belief that our tax return positions are supportable, we believe that certain positions may be disallowed. When facts and circumstances change, we adjust these reserves through our provision for income taxes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">To the extent interest and penalties may be assessed by taxing authorities on any underpayment of income tax, such amounts have been accrued and are classified as a component in provision for income taxes in our Consolidated Statements of Operations.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Concentrations of Credit Risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We provide services in a broad range of geographic regions. Our credit risk primarily consists of receivables from a variety of customers including general contractors, property owners and developers, and commercial and industrial companies. We are subject to potential credit risk related to changes in business and economic factors throughout the United States within the nonresidential construction industry. However, we are entitled to payment for work performed and have certain lien rights related to that work. Further, we believe that our contract acceptance, billing and collection policies are adequate to manage potential credit risk. We regularly review our accounts receivable and estimate an allowance for uncollectible amounts. We have a diverse customer base, with our top customer representing 5% of consolidated 2020 revenue. </p> 0.05 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Financial Instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, interest rate swaps, life insurance policies, notes to former owners, a revolving credit facility and a term loan. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Insurance Recovery</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We recorded a $4.8 million gain in the fourth quarter of 2019 due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019. Approximately $1.6 million of the gain was recorded as a reduction in SG&amp;A, and the <span style="-sec-ix-hidden:Hidden_Lb8339TRIEGfZg6K_bElpg;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">remainder</span></span><span style="white-space:pre-wrap;"> was recorded as a reduction in Cost of Services expense.  These proceeds related to recoverable costs that were primarily incurred prior to the fourth quarter in 2019. We do not expect any additional insurance proceeds or other recoveries related to the ransomware incident. </span></p> 4800000 1600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">3. Revenue from Contracts with Customers</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">Revenue is recognized when control of the promised goods or services is transferred to our customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We provide mechanical and electrical contracting services. Our mechanical segment principally includes HVAC, plumbing, piping and controls, as well as off‑<span style="white-space:pre-wrap;">site construction, monitoring and fire protection. Our electrical segment includes installation and servicing of electrical systems. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">Non‑labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtainment or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in our Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption “Billings in excess of costs and estimated earnings.” </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Contracts in progress are as follows (in thousands):</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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 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:25.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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.69%;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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.69%;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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Costs incurred on contracts in progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> 3,103,580</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> 2,518,581</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Estimated earnings, net of losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 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:0.05pt 3.6pt 0.05pt 0pt;"> 548,435</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 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:0.05pt 3.6pt 0.05pt 0pt;"> 405,891</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less—Billings to date</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> (3,813,171)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> (3,033,112)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less—Unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="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;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (45,596)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="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;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (55,542)</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less—Unbilled accounts receivable credit allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> (784)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;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:0.05pt 0pt 0.05pt 0pt;"> (207,536)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;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:0.05pt 0pt 0.05pt 0pt;"> (164,182)</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Costs and estimated earnings in excess of billings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 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:0.05pt 3.6pt 0.05pt 0pt;"> 18,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 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:0.05pt 3.6pt 0.05pt 0pt;"> 2,736</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Plus—Costs and estimated earnings in excess of billings credit allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> 79</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Billings in excess of costs and estimated earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></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;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"> (226,237)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></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;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"> (166,918)</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;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:0.05pt 0pt 0.05pt 0pt;"> (207,536)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;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:0.05pt 0pt 0.05pt 0pt;"> (164,182)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Accounts receivable include amounts billed to customers under retention or retainage provisions in construction contracts. Such provisions are standard in our industry and usually allow for a small portion of progress billings or the contract price to be withheld by the customer until after we have completed work on the project, typically for a period of six months. Based on our experience with similar contracts in recent years, the majority of our billings for such retention balances at each Balance Sheet date are finalized and collected within the subsequent year. Retention balances at </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 13.19pt 0pt;">December 31, 2020 and 2019 were $124.1 million and $111.7 million, respectively, and are included in accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Accounts payable at December 31, 2020 and 2019 included $22.2 million and $15.8 million of retainage under terms of contracts with subcontractors, respectively. The majority of the retention balances at each Balance Sheet date are finalized and paid within the subsequent year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:14pt 0pt 0pt 0pt;">The percentage of completion method of accounting is also affected by changes in job performance, job conditions, and final contract settlements. These factors may result in revisions to estimated costs and, therefore, revenue. Such revisions are frequently based on further estimates and subjective assessments. The effects of these revisions are recognized in the period in which revisions are determined. When such revisions lead to a conclusion that a loss will be recognized on a contract, the full amount of the estimated ultimate loss is recognized in the period such conclusion is reached, regardless of the percentage of completion of the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:14pt 0pt 0pt 0pt;">Revisions to project costs and conditions can give rise to change orders under which there is an agreement between the customer and us that the customer pays an additional or reduced contract price. Revisions can also result in claims we might make against the customer to recover project variances that have not been satisfactorily addressed through change orders with the customer. Except in certain circumstances, we do not recognize revenue or margin based on change orders or claims until they have been agreed upon with the customer. The amount of revenue associated with unapproved change orders and claims was immaterial for the year ended December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:14pt 0pt 13.19pt 0pt;">Variations from estimated project costs could have a significant impact on our operating results, depending on project size, and the recoverability of the variation via additional customer payments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">We typically invoice our customers with payment terms of net due in 30 days. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer <span style="-sec-ix-hidden:Hidden_FOPqW13NWkWyWIzXo4XxSw;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">45</span></span> to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances, we receive payment of our invoices between <span style="-sec-ix-hidden:Hidden_3_uXDm7zQUSSpFGQ2YqhfA;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">30</span></span> to 90 days of the date of the invoice. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and, in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process, as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In our mechanical segment, for a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g., to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter when they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">    </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the years ended December 31, 2020 and December 31, 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Disaggregation of Revenue</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our consolidated 2020 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 16 “Segment Information” for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and service provided, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. See details in the following tables (dollars in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;margin-bottom:5pt;margin-top:5pt;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:85.43%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.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:0.05pt 0pt 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:0.05pt 0pt 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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 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.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:0.05pt 0pt 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.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 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.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:0.05pt 0pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="16" style="vertical-align:bottom;white-space:nowrap;width:53.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:42.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></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:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">   </b></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:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2018</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:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Mechanical Services</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,413,016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">   </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 84.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,251,560</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">   </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 86.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,176,223</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 99.7</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Electrical Services</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 443,643</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 15.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 363,717</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 13.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 6,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 0.3</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Total </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,856,659</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,615,277</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,182,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="16" style="vertical-align:bottom;white-space:nowrap;width:53.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:42.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2018</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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Industrial</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,112,075</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 38.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 886,668</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 33.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 596,557</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 27.3</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Education</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 487,922</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 17.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 412,318</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 15.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 391,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 18.0</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Office Buildings</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 319,426</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 11.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 348,640</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 13.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 288,090</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 13.2</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Healthcare</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 371,105</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 13.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 358,155</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 13.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 319,958</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 14.7</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Government</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 163,717</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 162,507</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 6.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 143,958</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 6.6</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Retail, Restaurants and Entertainment</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 239,541</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 248,083</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 9.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 225,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 10.3</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 86,799</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 104,693</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 4.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 136,075</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 6.2</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Other</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 76,074</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 2.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 94,213</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 3.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 80,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 3.7</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Total </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,856,659</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,615,277</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,182,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="16" style="vertical-align:bottom;white-space:nowrap;width:53.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:42.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2018</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:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">New Construction</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,333,739</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 46.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,201,122</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 45.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 829,978</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 38.0</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Existing Building Construction</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 910,807</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 31.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 793,159</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 30.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 796,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 36.5</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Service Projects</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 241,402</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 231,228</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 206,506</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 9.5</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Service Calls, Maintenance and Monitoring</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 370,711</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 13.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 389,768</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 14.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 349,449</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 16.0</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Total </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,856,659</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,615,277</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,182,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Contract Assets and Liabilities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.</p><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:36pt;margin:0pt;">Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets and liabilities are usually all </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated Balance Sheets.</p><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;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>The following table presents the changes in contract assets and contract liabilities (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;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:68.77%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"><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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.12%;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:23.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;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.3%;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-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.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="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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:25.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;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.26%;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;">Contract</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;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.58%;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;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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;width:10.89%;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;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;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;width:11.74%;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;">Contract</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.26%;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;">Assets</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:11.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;">Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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;width:10.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;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:11.74%;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;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,736</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 166,918</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 130,986</p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change due to acquisitions / disposals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 9,509</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.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:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,556</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change related to credit allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (79)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other changes in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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:8.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 3.6pt 0pt 0pt;"> 6,456</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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:10.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 3.6pt 0pt 0pt;"> 19,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.3%;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:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,376</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;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 3.6pt 0pt 0pt;"> 18,622</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.27%;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 3.6pt 0pt 0pt;"> 226,237</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.58%;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 3.6pt 0pt 0pt;"> 2,736</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;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 3.6pt 0pt 0pt;"> 166,918</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the years ended December 31, 2020 and 2019, we recognized revenue of $165.8 million and $126.7 million related to our contract liabilities at January 1, 2020 and January 1, 2019, respectively.</p><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:36pt;margin:0pt;">We did not have any impairment losses recognized on our receivables or contract assets in 2020 and 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Remaining Performance Obligations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and exclude unexercised contract options. As of December 31, 2020, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.51 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next <span style="white-space:pre-wrap;">12 months</span><span style="white-space:pre-wrap;">, with the remaining recognized thereafter. Our service maintenance agreements are generally </span><span style="white-space:pre-wrap;">one-year</span><span style="white-space:pre-wrap;"> renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts with a term of less than </span><span style="-sec-ix-hidden:Hidden_NnvPBNi3602X0HFqztQrOw;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">one</span></span><span style="white-space:pre-wrap;"> year; therefore, we do not report unfulfilled performance obligations for service maintenance agreements. </span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 13.19pt 0pt;">Contracts in progress are as follows (in thousands):</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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 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:25.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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.69%;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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.69%;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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Costs incurred on contracts in progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> 3,103,580</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> 2,518,581</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Estimated earnings, net of losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 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:0.05pt 3.6pt 0.05pt 0pt;"> 548,435</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 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:0.05pt 3.6pt 0.05pt 0pt;"> 405,891</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less—Billings to date</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> (3,813,171)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> (3,033,112)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less—Unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="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;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (45,596)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="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;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (55,542)</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less—Unbilled accounts receivable credit allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"> (784)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;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:0.05pt 0pt 0.05pt 0pt;"> (207,536)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;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:0.05pt 0pt 0.05pt 0pt;"> (164,182)</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Costs and estimated earnings in excess of billings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 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:0.05pt 3.6pt 0.05pt 0pt;"> 18,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:0.05pt 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:0.05pt 3.6pt 0.05pt 0pt;"> 2,736</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Plus—Costs and estimated earnings in excess of billings credit allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> 79</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Billings in excess of costs and estimated earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></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;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"> (226,237)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></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;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"> (166,918)</p></td><td style="vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;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:0.05pt 0pt 0.05pt 0pt;"> (207,536)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;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:0.05pt 0pt 0.05pt 0pt;"> (164,182)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 3103580000 2518581000 548435000 405891000 3813171000 3033112000 45596000 55542000 784000 -207536000 -164182000 18622000 2736000 79000 226237000 166918000 -207536000 -164182000 P6M 124100000 111700000 22200000 15800000 We typically invoice our customers with payment terms of net due in 30 days P30D P60D P90D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our consolidated 2020 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 16 “Segment Information” for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and service provided, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. See details in the following tables (dollars in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;margin-bottom:5pt;margin-top:5pt;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:85.43%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.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:0.05pt 0pt 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:0.05pt 0pt 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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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.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:0.05pt 0pt 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.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 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.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:0.05pt 0pt 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.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 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.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:0.05pt 0pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="16" style="vertical-align:bottom;white-space:nowrap;width:53.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:42.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></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:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">   </b></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:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2018</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:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Mechanical Services</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,413,016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">   </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 84.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,251,560</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">   </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 86.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,176,223</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 99.7</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Electrical Services</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 443,643</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 15.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 363,717</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 13.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 6,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 0.3</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Total </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,856,659</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,615,277</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,182,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="16" style="vertical-align:bottom;white-space:nowrap;width:53.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:42.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2018</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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Industrial</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,112,075</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 38.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 886,668</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 33.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 596,557</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 27.3</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Education</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 487,922</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 17.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 412,318</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 15.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 391,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 18.0</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Office Buildings</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 319,426</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 11.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 348,640</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 13.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 288,090</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 13.2</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Healthcare</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 371,105</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 13.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 358,155</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 13.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 319,958</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 14.7</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Government</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 163,717</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 162,507</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 6.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 143,958</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 6.6</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Retail, Restaurants and Entertainment</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 239,541</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 248,083</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 9.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 225,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 10.3</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Multi-Family and Residential</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 86,799</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 104,693</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 4.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 136,075</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 6.2</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Other</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 76,074</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 2.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 94,213</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 3.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 80,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 3.7</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Total </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,856,659</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,615,277</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,182,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="16" style="vertical-align:bottom;white-space:nowrap;width:53.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:42.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2018</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:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">New Construction</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,333,739</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 46.7</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,201,122</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 45.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 829,978</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 38.0</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Existing Building Construction</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 910,807</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 31.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 793,159</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 30.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 796,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 36.5</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Service Projects</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 241,402</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 231,228</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8.9</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 206,506</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 9.5</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Service Calls, Maintenance and Monitoring</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 370,711</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 13.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 389,768</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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 14.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;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:0.05pt 3pt 0.05pt 0pt;"> 349,449</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;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:0.05pt 3pt 0.05pt 0pt;"> 16.0</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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">Total </p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,856,659</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,615,277</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,182,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 100.0</p></td><td style="background-color:#cceeff;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:0.05pt 0pt 0.05pt 0pt;">%</p></td></tr></table> 2413016000 0.845 2251560000 0.861 2176223000 0.997 443643000 0.155 363717000 0.139 6656000 0.003 2856659000 1.000 2615277000 1.000 2182879000 1.000 1112075000 0.389 886668000 0.339 596557000 0.273 487922000 0.171 412318000 0.158 391937000 0.180 319426000 0.112 348640000 0.133 288090000 0.132 371105000 0.130 358155000 0.137 319958000 0.147 163717000 0.057 162507000 0.062 143958000 0.066 239541000 0.084 248083000 0.095 225348000 0.103 86799000 0.030 104693000 0.040 136075000 0.062 76074000 0.027 94213000 0.036 80956000 0.037 2856659000 1.000 2615277000 1.000 2182879000 1.000 1333739000 0.467 1201122000 0.459 829978000 0.380 910807000 0.319 793159000 0.303 796946000 0.365 241402000 0.084 231228000 0.089 206506000 0.095 370711000 0.130 389768000 0.149 349449000 0.160 2856659000 1.000 2615277000 1.000 2182879000 1.000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;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:68.77%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"><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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.12%;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:23.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;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.3%;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-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.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="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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:25.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;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.26%;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;">Contract</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;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.58%;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;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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;width:10.89%;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;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;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;width:11.74%;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;">Contract</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.26%;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;">Assets</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:11.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;">Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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;width:10.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;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:11.74%;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;">Liabilities</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,736</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 166,918</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 130,986</p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change due to acquisitions / disposals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 9,509</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.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:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,556</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change related to credit allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (79)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other changes in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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:8.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 3.6pt 0pt 0pt;"> 6,456</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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:10.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 3.6pt 0pt 0pt;"> 19,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.3%;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:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;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:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,376</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;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 3.6pt 0pt 0pt;"> 18,622</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.27%;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 3.6pt 0pt 0pt;"> 226,237</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.58%;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 3.6pt 0pt 0pt;"> 2,736</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;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 3.6pt 0pt 0pt;"> 166,918</p></td></tr></table> 2736000 166918000 10213000 130986000 9509000 39885000 6573000 31556000 -79000 6456000 19434000 -14050000 4376000 18622000 226237000 2736000 166918000 165800000 126700000 1510000000 0.80 0.85 P12M P1Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">4. Fair Value Measurements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Interest Rate Risk Management and Derivative Instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In April 2020, we entered into interest rate swap agreements to reduce our exposure to variable interest rates on our term loan and revolving credit facility. The notional amount covered by these interest rate swaps was $130.0 million as of December 31, 2020 and decreases to $80.0 million by November 30, 2021 until the termination date of September 30, 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We use derivative instruments to manage exposure to market risk, including interest rate risk. All of our current derivatives are designated and accounted for as economic hedges.  Unsettled amounts under our economic hedges are recorded on the Balance Sheet at fair value in “Other Receivables” or “Other Current Liabilities.” Gains and losses on our interest rate swaps are recorded on the Income Statement in “Interest Expense.” For the year ended December 31, 2020, we recognized a net loss of $0.3 million related to our interest rate swaps. We currently do not have any derivatives that are accounted for as hedges under ASC 815.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Fair Value Measurement</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We classify and disclose assets and liabilities carried at fair value in one of the following three categories:</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:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 1—quoted prices in active markets for identical assets and liabilities;</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:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 2—observable market-based inputs or unobservable inputs that are corroborated by market data; 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:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 3—significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of December 31, 2020 and 2019 (in thousands):</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:58.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:39.36%;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;">Fair Value Measurements at December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.84%;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:8.45%;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;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,896</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,896</p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Life insurance—cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,420</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,979</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,979</p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 42</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:39.36%;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;">Fair Value Measurements at December 31, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.84%;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:8.45%;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;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 50,788</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 50,788</p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Life insurance—cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,905</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,497</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,497</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:36pt;margin:0pt 0pt 12pt 0pt;">Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The Company’s outstanding term loan held by third-party financial institutions is carried at cost, adjusted for debt issuance costs. The Company’s term loan is not publicly traded and the carrying amount approximates fair value as the loan accrues interest at a variable rate. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We have life insurance policies covering 86 employees with a combined face value of $61.7 million. The policies are invested in several investment vehicles, and the fair value measurement of the cash surrender balance associated with these policies is determined using Level 2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $5.4 million as of December 31, 2020 and $3.9 million as of December 31, 2019. These assets are included in “Other Noncurrent Assets” in our consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level 3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g., minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period and changes in estimates of fair value are recognized in earnings. Significant unobservable inputs that could impact the fair value measurement include our weighted average cost of capital and the forecasted level of operating income for each earn-out measurement. As of December 31, 2020, cash flows were discounted using a weighted average cost of capital ranging from 9.5% - 17.0%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands):</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:69.68%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:0.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.03%;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><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.73%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,497</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.33%;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';">    </span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.59%;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';"> </span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Issuances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Settlements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,114)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(1,369)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjustments to fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,119)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.45%;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 3.6pt 0pt 0pt;"> 25,979</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.67%;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 3.6pt 0pt 0pt;"> 28,497</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The fair value for our interest rate swaps is based upon inputs corroborated by observable market data with similar tenors, which are considered Level 2 inputs. The Company’s outstanding term loan held by third-party financial institutions is carried at cost, adjusted for debt issuance costs. The Company’s term loan is not publicly traded and the carrying amount approximates fair value as the loan accrues interest at a variable rate. The carrying value of our borrowings associated with the revolving credit facility approximate its fair value due to the variable rate on such debt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. No goodwill or other intangible asset impairments were recorded during the years ended December 31, 2020, 2019 and 2018. We did not recognize any other impairments on those assets required to be measured at fair value on a nonrecurring basis. See Note 6 “Goodwill and Identifiable Intangible Assets, Net” for further discussion. </p> 130000000.0 80000000.0 300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of December 31, 2020 and 2019 (in thousands):</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:58.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:39.36%;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;">Fair Value Measurements at December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.84%;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:8.45%;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;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,896</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,896</p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Life insurance—cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,420</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,979</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,979</p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 42</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:39.36%;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;">Fair Value Measurements at December 31, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.84%;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:8.45%;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;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;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:8.45%;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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 50,788</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 50,788</p></td></tr><tr><td style="vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Life insurance—cash surrender value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p 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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,905</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent earn-out obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,497</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,497</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 54896000 54896000 5420000 5420000 25979000 25979000 42000 42000 50788000 50788000 3905000 3905000 28497000 28497000 86 61700000 5400000 3900000 0.095 0.170 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands):</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:69.68%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:0.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.03%;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><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.73%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,497</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.33%;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';">    </span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.59%;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';"> </span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Issuances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Settlements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,114)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(1,369)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjustments to fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,119)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:75.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.45%;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 3.6pt 0pt 0pt;"> 25,979</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.67%;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 3.6pt 0pt 0pt;"> 28,497</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 28497000 7375000 16715000 19500000 10114000 1369000 9119000 -2991000 25979000 28497000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">5. Acquisitions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">TAS Energy Inc. Acquisition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On April 1, 2020, we consummated a merger through which TAS Energy Inc. (“TAS”) became a wholly owned subsidiary of the Company. TAS is headquartered in Houston, Texas, and is a leading engineering, design and construction provider of modular construction systems serving the technology, power and industrial sectors. As a result of the acquisition, TAS is a wholly owned subsidiary of the Company reported in our mechanical services segment. Revenue attributable to TAS was $106.4 million for the nine months from the acquisition date. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:78.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:3.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;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:18.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="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Cash paid at closing</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 105,950</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Working capital adjustment </span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#ff0000;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 40,455</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Notes issued to former owners</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,000</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Estimated fair value of contingent earn-out payments</span></p></td><td style="vertical-align:middle;width:3.05%;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:18.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 3.6pt 0pt 0pt;"> 9,100</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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 3.6pt 0pt 0pt;"> 169,505</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Cash and cash equivalents</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 47,460</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Billed and unbilled accounts receivable</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,702</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other current assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,634</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other long-term assets</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,556</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Property and equipment</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,709</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Goodwill</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;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:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,788</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Identifiable intangible assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,400</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Lease right-of-use asset</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,736</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Accounts payable</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,453)</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Billings in excess of costs and estimated earnings</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,196)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Current lease liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,337)</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Accrued expenses and other current liabilities</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,109)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,398)</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other long-term liabilities</span></p></td><td style="vertical-align:middle;width:3.05%;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:18.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;"> (2,987)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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 3.6pt 0pt 0pt;"> 169,505</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of intangible assets and accrued liabilities. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. The goodwill recognized as a result of the TAS acquisition is not deductible for tax purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset. In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return. The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value. Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates ranging from 15% - 23.5</span><span style="white-space:pre-wrap;">%. Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As a result of the TAS acquisition, we acquired $53.2 million of federal net operating loss (“NOL”) carryforwards and $6.5 million of state NOL carryforwards. Our ability to utilize these NOL carryforwards to reduce taxable income in future years is subject to significant limitations under Section 382 of the Internal Revenue Code (the “Code”) due to the ownership change in TAS on April 1, 2020. While we expect to fully utilize the federal NOL carryforwards before they begin to expire in 2031, a full valuation allowance was recorded against virtually all of the state NOL carryforwards. We do not believe it is more-likely-than-not that TAS will have sufficient revenue-generating operations in those states in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The acquired intangible assets include the following (dollars in thousands):</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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:21.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="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:21.23%;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;">Valuation Method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;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;width:12.86%;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;">Estimated Useful Life</p></td><td style="vertical-align:bottom;width:2.13%;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;width:2.13%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:12%;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;">Estimated Fair Value</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Backlog</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:21.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;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="background-color:#cceeff;vertical-align:bottom;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 year</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,200</p></td></tr><tr><td style="vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade Name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="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:21.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Relief-from-royalty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;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;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">25 years</p></td><td style="vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="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:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,200</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:21.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;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="background-color:#cceeff;vertical-align:bottom;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.13%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 40,000</p></td></tr><tr><td style="vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="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:21.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.97%;margin:0pt;padding:0pt;"><p style="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:12.86%;margin:0pt;padding:0pt;"><p style="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:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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:12%;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 3.6pt 0pt 0pt;"> 53,400</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The contingent earn-out obligation is associated with the achievement of specified earnings milestones over a 27-month period, and the range of estimated milestone payments is from $1 million to $8 million. We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement. Cash flows were discounted using a 17.7% discount rate, which we believe is appropriate and representative of a market participant assumption. Subsequent to the acquisition date, the contingent earn-out obligation is re-measured at fair value each reporting period. Changes in the estimated fair value of the contingent payments subsequent to the acquisition date are recognized immediately in earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">T E C Industrial Construction and Maintenance Acquisition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On December 31, 2020, we consummated an acquisition of all outstanding equity interests of Tennessee Electric Company, Inc. dba TEC Industrial Maintenance and Construction (“T E C”). T E C is headquartered in Kingsport, Tennessee, and provides multidisciplined construction and industrial services, including electrical, mechanical and other plant services, primarily in Tennessee and surrounding states. As a result of the acquisition, T E C is a wholly owned subsidiary of the Company reported in our electrical services segment. T E C did not contribute to our revenue in 2020. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;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.48%;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="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Cash paid at closing</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 73,000</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Working capital adjustment </span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#ff0000;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,006</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Notes issued to former owners</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,000</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Estimated fair value of contingent earn-out payments</span></p></td><td style="vertical-align:middle;width:2.69%;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:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,560</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;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 3.6pt 0pt 0pt;"> 89,566</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Cash and cash equivalents</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Billed and unbilled accounts receivable</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,660</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Costs in excess of billings</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,040</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other current assets</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 108</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other long-term assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Property and equipment</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 912</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Goodwill</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 44,431</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Identifiable intangible assets</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 37,200</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Lease right-of-use asset</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,234</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Accounts payable</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,123)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Billings in excess of costs and estimated earnings</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,838)</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Current lease liabilities</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (175)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Accrued expenses and other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,881)</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="vertical-align:middle;width:2.69%;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:10.48%;border-bottom: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,059)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;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 3.6pt 0pt 0pt;"> 89,566</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of identifiable assets acquired and liabilities assumed. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. All of the goodwill recognized as a result of the T E C acquisition is tax deductible.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset. In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return. The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value. Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs. The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates ranging from 14% - 15%. Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The acquired intangible assets include the following (dollars in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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 style="vertical-align:bottom;white-space:nowrap;width:21.07%;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;">Valuation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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 style="vertical-align:bottom;white-space:nowrap;width:10.04%;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;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.32%;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;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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 style="vertical-align:bottom;white-space:nowrap;width:21.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;"><b style="font-weight:bold;">Method</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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 style="vertical-align:bottom;white-space:nowrap;width:10.04%;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;">Useful Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.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;">Fair Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Backlog</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,200</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade Name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Relief-from-royalty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p 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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">20 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,800</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">9 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 24,200</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.98%;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 3.6pt 0pt 0pt;"> 37,200</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:36pt;margin:0pt;">The contingent earn-out obligation is associated with the achievement of specified earnings milestones over a three year period, and the range of estimated milestone payments is from less than $1 million to $5<span style="white-space:pre-wrap;"> million. We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement. Cash flows were discounted using a 12.9</span><span style="white-space:pre-wrap;">% discount rate, which we believe is appropriate and representative of a market participant assumption. Subsequent to the acquisition date, the contingent earn-out obligation is re-measured at fair value each reporting period. Changes in the estimated fair value of the contingent payments subsequent to the acquisition date are recognized immediately in earnings.</span></p><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:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Other Acquisitions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In addition to the TAS and T E C acquisitions, we completed the acquisition of an electrical contractor in North Carolina in the first quarter of 2020 with a total purchase price of $41.6 million. This acquisition is reported in our electrical services segment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In the second quarter of 2019, we acquired all of the issued and outstanding stock of Walker TX Holding Company, LLC and each of its wholly owned subsidiaries (collectively “Walker”) for $235.4 million of which $187.0 million was allocated to goodwill and identifiable intangible assets. The total purchase price included $178.0 million in cash, $25.0 million in notes payable to former owners, a $20.5 million advance to former owners, a $19.5 million contingent earn-out obligation and a $0.2 million tax equalization payment, offset by a $7.8 million working capital adjustment. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas, and operations throughout the state of Texas. As a result of the acquisition, Walker is a wholly owned subsidiary of the Company reported in our electrical services segment. In addition to the Walker acquisition, we completed two additional acquisitions in 2019 which were “tucked-in” with existing operations. The total purchase price for these additional acquisitions, including earn-outs, was $2.6 million. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. Excluding the Walker and TAS acquisitions, the acquisitions completed in 2020 and the prior year were not material, individually or in the aggregate. Additional contingent purchase price (“earn-out”) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, when they are not subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out under which continued employment is a condition to receipt of payment, then the earn-out is recorded as compensation expense over the period earned. </span></p> 106400000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:78.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:3.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.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:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;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:18.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="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Cash paid at closing</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 105,950</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Working capital adjustment </span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#ff0000;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 40,455</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Notes issued to former owners</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,000</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Estimated fair value of contingent earn-out payments</span></p></td><td style="vertical-align:middle;width:3.05%;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:18.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 3.6pt 0pt 0pt;"> 9,100</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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 3.6pt 0pt 0pt;"> 169,505</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Cash and cash equivalents</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 47,460</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Billed and unbilled accounts receivable</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,702</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other current assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,634</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other long-term assets</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,556</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Property and equipment</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,709</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Goodwill</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;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:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,788</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Identifiable intangible assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,400</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Lease right-of-use asset</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,736</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Accounts payable</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,453)</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Billings in excess of costs and estimated earnings</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,196)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Current lease liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,337)</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Accrued expenses and other current liabilities</span></p></td><td style="vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,109)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,398)</p></td></tr><tr><td style="vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other long-term liabilities</span></p></td><td style="vertical-align:middle;width:3.05%;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:18.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;"> (2,987)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:3.05%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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 3.6pt 0pt 0pt;"> 169,505</p></td></tr></table> 105950000 40455000 14000000 9100000 169505000 47460000 18702000 15634000 1556000 7709000 72788000 53400000 19736000 16453000 24196000 2337000 4109000 17398000 2987000 169505000 0.15 0.235 53200000 6500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The acquired intangible assets include the following (dollars in thousands):</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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:21.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="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:21.23%;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;">Valuation Method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;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;width:12.86%;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;">Estimated Useful Life</p></td><td style="vertical-align:bottom;width:2.13%;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;width:2.13%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:12%;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;">Estimated Fair Value</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Backlog</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:21.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;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="background-color:#cceeff;vertical-align:bottom;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 year</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,200</p></td></tr><tr><td style="vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade Name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="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:21.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Relief-from-royalty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;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;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">25 years</p></td><td style="vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="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:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,200</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:21.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;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="background-color:#cceeff;vertical-align:bottom;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.13%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 40,000</p></td></tr><tr><td style="vertical-align:bottom;width:45.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="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:21.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.97%;margin:0pt;padding:0pt;"><p style="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:12.86%;margin:0pt;padding:0pt;"><p style="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:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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:12%;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 3.6pt 0pt 0pt;"> 53,400</p></td></tr></table> P1Y 5200000 P25Y 8200000 P10Y 40000000 53400000 P27M 1000000 8000000 0.177 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;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.48%;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="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Cash paid at closing</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 73,000</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Working capital adjustment </span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#ff0000;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,006</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Notes issued to former owners</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,000</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Estimated fair value of contingent earn-out payments</span></p></td><td style="vertical-align:middle;width:2.69%;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:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,560</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;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 3.6pt 0pt 0pt;"> 89,566</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Cash and cash equivalents</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Billed and unbilled accounts receivable</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,660</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Costs in excess of billings</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,040</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other current assets</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 108</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Other long-term assets</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Property and equipment</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 912</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Goodwill</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 44,431</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Identifiable intangible assets</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 37,200</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Lease right-of-use asset</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,234</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Accounts payable</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,123)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Billings in excess of costs and estimated earnings</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,838)</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Current lease liabilities</span></p></td><td style="vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (175)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Accrued expenses and other current liabilities</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,881)</p></td></tr><tr><td style="vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="vertical-align:middle;width:2.69%;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:10.48%;border-bottom: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,059)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:2.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;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 3.6pt 0pt 0pt;"> 89,566</p></td></tr></table> 73000000 2006000 7000000 7560000 89566000 4000 13660000 2040000 108000 53000 912000 44431000 37200000 1234000 4123000 2838000 175000 1881000 1059000 89566000 0.14 0.15 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The acquired intangible assets include the following (dollars in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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 style="vertical-align:bottom;white-space:nowrap;width:21.07%;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;">Valuation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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 style="vertical-align:bottom;white-space:nowrap;width:10.04%;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;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.32%;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;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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 style="vertical-align:bottom;white-space:nowrap;width:21.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;"><b style="font-weight:bold;">Method</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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 style="vertical-align:bottom;white-space:nowrap;width:10.04%;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;">Useful Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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.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;">Fair Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Backlog</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,200</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade Name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Relief-from-royalty</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p 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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">20 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,800</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Excess earnings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">9 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 24,200</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.98%;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 3.6pt 0pt 0pt;"> 37,200</p></td></tr></table> P2Y 7200000 P20Y 5800000 P9Y 24200000 37200000 P3Y 1000000 5000000 0.129 41600000 235400000 187000000.0 178000000.0 25000000.0 20500000 19500000 200000 7800000 2 2600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:12pt 0pt 12pt 0pt;"><b style="font-weight:bold;">6. Goodwill and Identifiable Intangible Assets, Net</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Goodwill</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The changes in the carrying amount of goodwill are as follows (in thousands):</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:84.09%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:15.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:14.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><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:17.57%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:15.91%;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;">Electrical Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.77%;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></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.98%;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:17.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;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:15.91%;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;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.77%;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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 235,182</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 235,182</p></td></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Acquisitions and purchase price adjustments (See Note 5)</p></td><td style="vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 579</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 96,686</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 97,265</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Impact of segment reorganization</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom: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,101)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.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 3.6pt 0pt 0pt;"> 1,101</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;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 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2019</p></td><td style="vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 234,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 97,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 332,447</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Acquisitions and purchase price adjustments (See Note 5)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,788</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.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 3.6pt 0pt 0pt;"> 59,157</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 131,945</p></td></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2020</p></td><td style="vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;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:15.73%;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 3.6pt 0pt 0pt;"> 307,448</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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:14.22%;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 3.6pt 0pt 0pt;"> 156,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.25%;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.51%;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 3.6pt 0pt 0pt;"> 464,392</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 12pt 0pt;">The aggregate goodwill balance as of December 31, 2020 and 2019 includes $116.6 million of accumulated impairment charges, all of which relate to the mechanical services segment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We perform our annual impairment testing on October 1, or more frequently, if events and circumstances indicate impairment may have occurred. As discussed in Note 2, “Summary of Significant Accounting Policies,” we have the option to first perform a qualitative assessment to determine whether it is more likely than not that the fair value of the reporting unit is less than the carrying value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During our annual impairment testing on October 1, 2019, we performed a quantitative assessment where the fair value of each reporting unit was estimated using a discounted cash flow model combined with a market valuation approach. We assigned a weighting of 50% to the discounted cash flow analysis and 50% to the public company approach for the year ended December 31, 2019. Based on this assessment, we concluded that the fair value of each of the reporting units was greater than its carrying value. The calculated fair values for the majority of the Company’s reporting units that have goodwill were significantly in excess (all greater than 80%) of the respective reporting unit’s carrying value, while two reporting units that were recently acquired had calculated fair values in excess of carrying value of at least 27%. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During our annual impairment testing on October 1, 2020, we performed a qualitative assessment for all of our reporting units except one, which considered various factors, including changes in the carrying value of the reporting unit, forecasted operating results, long-term growth rates and discount rates. Additionally, we considered qualitative key events and circumstances (i.e. macroeconomic environment, industry and market specific conditions, cost factors and events specific to the reporting unit, etc.). Based on this assessment, we concluded that it was more likely than not that the fair value of each of the reporting units was greater than its carrying value. Accordingly, no further testing was required. For Walker, we performed a step 1 quantitative assessment and the calculated fair value exceeded the carrying value by 24%. As a result of uncertainty caused by COVID-19 and Walker’s smaller excess of fair value percentage, this reporting unit is more susceptible to impairment risk from additional adverse changes in its operating environment, including micro- and macroeconomic environment conditions that could negatively impact them. Such adverse changes could include worsening economic conditions in the locations or markets they primarily serve, whether due to COVID-19 or other events and conditions. As of December 31, 2020, Walker had a goodwill balance of $96.8 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There are significant inherent uncertainties and management judgment involved in estimating the fair value of each reporting unit. While we believe we have made reasonable estimates and assumptions to estimate the fair value of our reporting units, it is possible that a material change could occur. If actual results are not consistent with our current estimates and assumptions, or the current economic outlook worsens, goodwill impairment charges may be recorded in future periods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Identifiable Intangible Assets, Net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Identifiable intangible assets consist of the following (dollars in thousands):</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:71.39%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:24.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.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:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.44%;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;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:24.71%;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, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:24.71%;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, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:20.44%;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;">Remaining Useful Lives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.97%;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;">Gross Book</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:11.73%;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;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.97%;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;">Gross Book</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:11.73%;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;">Accumulated</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:20.44%;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;">in Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.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;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:11.73%;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;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.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;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:11.73%;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;">Amortization</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 255,692</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (103,919)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 183,061</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (80,813)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Backlog</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,600)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,388)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade Names</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">20.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 91,495</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom: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,661)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 71,995</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,281)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">11.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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.71%;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 3.6pt 0pt 0pt;"> 366,987</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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.48%;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;"> (135,180)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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.71%;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 3.6pt 0pt 0pt;"> 262,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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.48%;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;"> (102,482)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The amounts attributable to customer relationships and tradenames are amortized to “Selling, General and Administrative Expenses” based upon the estimated consumption of their economic benefits, or a straight-line method over periods from <span style="-sec-ix-hidden:Hidden_QLvWj8WE5EOXH63LTV4Mqw;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">one</span></span> to twenty-five years if the pattern of economic benefit cannot otherwise be reliably estimated. The amounts attributable to backlog are being amortized to “Cost of Services” on a proportionate method over the remaining backlog period. Amortization expense for the years ended December 31, 2020, 2019 and 2018 was $32.7 million, $27.1 million and $20.1 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2020, future amortization expense of identifiable intangible assets was as follows (in thousands):</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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.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.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.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:11.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.35%;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;">Year ended December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.35%;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 12pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p 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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 32,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.35%;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 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 27,412</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.35%;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 12pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p 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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.35%;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 12pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,164</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.35%;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 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,977</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.35%;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 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3.6pt 0pt 0pt;"> 106,396</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.35%;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 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.99%;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 3.6pt 0pt 0pt;"> 231,807</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The changes in the carrying amount of goodwill are as follows (in thousands):</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:84.09%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:15.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:14.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><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:17.57%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:15.91%;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;">Electrical Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.77%;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></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.98%;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:17.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;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:15.91%;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;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.77%;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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 235,182</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 235,182</p></td></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Acquisitions and purchase price adjustments (See Note 5)</p></td><td style="vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 579</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 96,686</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 97,265</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Impact of segment reorganization</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom: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,101)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.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 3.6pt 0pt 0pt;"> 1,101</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;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 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2019</p></td><td style="vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 234,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 97,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 332,447</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Acquisitions and purchase price adjustments (See Note 5)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,788</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.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 3.6pt 0pt 0pt;"> 59,157</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 131,945</p></td></tr><tr><td style="vertical-align:bottom;width:48.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2020</p></td><td style="vertical-align:bottom;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;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:15.73%;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 3.6pt 0pt 0pt;"> 307,448</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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:14.22%;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 3.6pt 0pt 0pt;"> 156,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;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.25%;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.51%;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 3.6pt 0pt 0pt;"> 464,392</p></td></tr></table> 235182000 235182000 579000 96686000 97265000 -1101000 1101000 234660000 97787000 332447000 72788000 59157000 131945000 307448000 156944000 464392000 116600000 116600000 0.50 0.50 0.27 0.24 96800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Identifiable intangible assets consist of the following (dollars in thousands):</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:71.39%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:24.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.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:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.44%;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;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:24.71%;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, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:24.71%;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, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:20.44%;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;">Remaining Useful Lives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.97%;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;">Gross Book</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:11.73%;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;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.97%;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;">Gross Book</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:11.73%;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;">Accumulated</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:20.44%;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;">in Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.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;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:11.73%;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;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.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;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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:11.73%;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;">Amortization</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer Relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 255,692</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (103,919)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 183,061</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (80,813)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Backlog</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,600)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,388)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade Names</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">20.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 91,495</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom: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,661)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 71,995</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,281)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">11.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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.71%;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 3.6pt 0pt 0pt;"> 366,987</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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.48%;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;"> (135,180)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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.71%;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 3.6pt 0pt 0pt;"> 262,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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.48%;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;"> (102,482)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> P8Y P8Y 255692000 103919000 183061000 80813000 P2Y P2Y 19800000 12600000 7400000 6388000 P20Y6M P20Y6M 91495000 18661000 71995000 15281000 P11Y8M12D 366987000 135180000 262456000 102482000 P25Y 32700000 27100000 20100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2020, future amortization expense of identifiable intangible assets was as follows (in thousands):</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:67.18%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.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.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.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:11.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.35%;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;">Year ended December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.35%;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 12pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p 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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 32,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.35%;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 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 27,412</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.35%;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 12pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p 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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.35%;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 12pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,164</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.35%;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 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,977</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.35%;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 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3.6pt 0pt 0pt;"> 106,396</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.35%;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 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.99%;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 3.6pt 0pt 0pt;"> 231,807</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 32344000 27412000 23514000 22164000 19977000 106396000 231807000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:12pt 0pt 12pt 0pt;"><b style="font-weight:bold;">7. Property and Equipment</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Property and equipment consist of the following (dollars in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;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;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.28%;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:10.74%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.28%;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:11.64%;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;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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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 style="vertical-align:bottom;white-space:nowrap;width:10.81%;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;">Useful Lives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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="5" style="vertical-align:bottom;white-space:nowrap;width:27.01%;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><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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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 style="vertical-align:bottom;white-space:nowrap;width:10.81%;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;">in Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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.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="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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.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;"><b style="font-weight:bold;">2019</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,167</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,206</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Transportation equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 113,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 106,972</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 43,386</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 35,575</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer and telephone equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,744</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings and leasehold improvements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 40</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 69,683</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 62,301</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,244</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,294</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,123</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 264,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 239,165</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less—Accumulated depreciation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (147,202)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (129,369)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.74%;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 3.6pt 0pt 0pt;"> 117,206</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.64%;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 3.6pt 0pt 0pt;"> 109,796</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;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Depreciation expense for the years ended December 31, 2020, 2019 and 2018 was $27.9 million, $24.5 million and $22.6 million, respectively.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Property and equipment consist of the following (dollars in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;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;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.28%;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:10.74%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.28%;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:11.64%;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;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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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 style="vertical-align:bottom;white-space:nowrap;width:10.81%;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;">Useful Lives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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="5" style="vertical-align:bottom;white-space:nowrap;width:27.01%;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><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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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 style="vertical-align:bottom;white-space:nowrap;width:10.81%;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;">in Years</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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.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="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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.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;"><b style="font-weight:bold;">2019</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,167</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,206</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Transportation equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 113,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 106,972</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 43,386</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 35,575</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer and telephone equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,744</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings and leasehold improvements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 40</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 69,683</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 62,301</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,244</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,294</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,123</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 264,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 239,165</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less—Accumulated depreciation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (147,202)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (129,369)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.74%;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 3.6pt 0pt 0pt;"> 117,206</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.64%;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 3.6pt 0pt 0pt;"> 109,796</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;"><span style="visibility:hidden;">​</span></p></td></tr></table> 7167000 6206000 P1Y P7Y 113802000 106972000 P1Y P20Y 43386000 35575000 P1Y P10Y 23215000 20744000 P1Y P40Y 69683000 62301000 P1Y P17Y 5861000 5244000 1294000 2123000 264408000 239165000 147202000 129369000 117206000 109796000 27900000 24500000 22600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">8. Detail of Other Current Liabilities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Other current liabilities consist of the following (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:11.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:11.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;"><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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:29.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;"><b style="font-weight:bold;">December 31, </b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;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:13.48%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;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:13.48%;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;">2019</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued warranty costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,914</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,452</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,586</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,016</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued job losses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,151</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,226</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued sales and use tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,938</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,559</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,506</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities due to former owners</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,280</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11,219</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45,271</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 38,273</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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.92%;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 3.6pt 0pt 0pt;"> 91,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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.92%;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 3.6pt 0pt 0pt;"> 81,630</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;"><span style="visibility:hidden;">​</span></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;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Other current liabilities consist of the following (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:11.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:11.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;"><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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:29.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;"><b style="font-weight:bold;">December 31, </b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;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:13.48%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;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:13.48%;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;">2019</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued warranty costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,914</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,452</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,586</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,016</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued job losses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,151</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,226</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued sales and use tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,938</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,559</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,506</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities due to former owners</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,280</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11,219</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45,271</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 38,273</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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.92%;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 3.6pt 0pt 0pt;"> 91,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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.92%;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 3.6pt 0pt 0pt;"> 81,630</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;"><span style="visibility:hidden;">​</span></p></td></tr></table> 8914000 7452000 16586000 14016000 2151000 2226000 3731000 2938000 4559000 5506000 10280000 11219000 45271000 38273000 91492000 81630000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">9. Debt Obligations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Debt obligations consist of the following (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:27.22%;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><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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.44%;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.46%;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;">2020 </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;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.47%;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;">2019</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 70,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,000</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 135,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 150,000</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Notes to former owners</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 48,483</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total principal amount</p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 236,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;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:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 226,483</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less—unamortized debt issuance costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (267)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (348)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt, net of unamortized debt issuance costs</p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 235,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 226,135</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less—current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,817)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total long-term portion of debt, net</p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;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.02%;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 3.6pt 0pt 0pt;"> 235,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;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.03%;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 3.6pt 0pt 0pt;"> 205,318</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;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">At December 31, 2020, future principal payments of debt are as follows (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.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;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</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;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,000</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 34,000</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 26,500</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 152,500</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;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="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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.95%;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 3.6pt 0pt 0pt;"> 236,000</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;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Interest expense included the following primary elements (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.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:2.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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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.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;"><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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:30.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;"><b style="font-weight:bold;">Year Ended December 31, </b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:8.66%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:8.66%;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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:8.73%;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;">2018</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense on notes to former owners</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,354</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,531</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 642</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense on borrowings and unused commitment fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,319</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,887</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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 3.6pt 0pt 0pt;"> 2,211</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense on interest rate swaps</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 338</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Letter of credit fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 830</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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 3.6pt 0pt 0pt;"> 474</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of debt financing costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 544</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 387</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 383</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.37%;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 3.6pt 0pt 0pt;"> 8,385</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.37%;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 3.6pt 0pt 0pt;"> 9,317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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 3.6pt 0pt 0pt;"> 3,710</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;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-size:1pt;font-style:italic;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Revolving Credit Facility and Term Loan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In December 2019, we amended our senior credit facility (the “Facility”) provided by a syndicate of banks, increasing our borrowing capacity from $400.0 million to $600.0 million.  As amended, the Facility is composed of a revolving credit line in the amount of $450.0 million and a $150.0 million term loan, and the Facility also provides for a $150.0 million accordion or increase option for the revolving portion of the Facility. As of December 31, 2020, the Facility capacity was $585.0 million as the term loan was paid down by $15.0 million since the inception of the Facility. The amended Facility also includes a sublimit of up to $160.0 million issuable in the form of letters of credit. The Facility expires in January 2025 and is secured by a first lien on substantially all of our personal property except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries and our wholly owned captive insurance company, and a second lien on our assets related to projects subject to surety bonds. In 2019, we incurred approximately $1.4 million in financing and professional costs in connection with an amendment to the Facility which are being amortized over the remaining term of the Facility. Of this amount, $0.4 million is attributable to the term loan and is being amortized using the effective interest method. The remaining $1.0 million is attributable to the revolving credit line, which combined with the previous unamortized costs of $1.3 million, is being amortized over the remaining term of the Facility on a straight-line basis as a non-cash charge to interest expense. For the term loan, we are required to make quarterly payments increasing over time from 1.25% to 3.75% of the original aggregate principal amount of the term loan, with the balance due in January 2025. As of December 31, 2020, we had $135.0 million </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">principal outstanding on the term loan, $70.0 million of outstanding borrowings on the revolving credit facility, $49.5 million in letters of credit outstanding and $330.5 million of credit available.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Collateral</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A common practice in our industry is the posting of payment and performance bonds with customers. These bonds are offered by financial institutions known as sureties and provide assurance to the customer that in the event we encounter significant financial or operational difficulties, the surety will arrange for the completion of our contractual obligations and for the payment of our vendors on the projects subject to the bonds. In cooperation with our lenders, we granted our sureties a first lien on assets such as receivables, costs and estimated earnings in excess of billings, and equipment specifically identifiable to projects for which bonds are outstanding, as collateral for potential obligations under bonds. As of December 31, 2020, the book value of these assets was approximately $167.8 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Covenants and Restrictions</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end. Credit Facility Adjusted EBITDA is defined under the Facility for financial covenant purposes as net earnings for the four quarters ending as of any given quarterly covenant compliance measurement date, plus the corresponding amounts for (a) interest expense; (b) provision for income taxes; (c) depreciation and amortization; (d) stock compensation; (e) other non-cash charges; and (f) pre-acquisition results of acquired companies. The following is a reconciliation of Credit Facility Adjusted EBITDA to net income for 2020 (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 150,139</p></td><td style="background-color:#cceeff;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;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 41,401</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,282</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation and amortization expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 60,629</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stock-based compensation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,934</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pre-acquisition results of acquired companies, as defined under the Facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,511</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Credit Facility Adjusted EBITDA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;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 3.6pt 0pt 0pt;"> 285,896</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Facility’s principal financial covenants include:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Total Leverage Ratio—</i>The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The leverage ratio as of December 31, 2020 was 0.8.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Fixed Charge Coverage Ratio—</i>The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock when the Company’s Total Leverage Ratio exceeds 2.00 to 1.00 to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 1.50 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense, and scheduled principal payments are defined under the Facility for purposes of this covenant, to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of December 31, 2020 was 7.2.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Other Restrictions—</i>The Facility permits acquisitions of up to $5.0 million per transaction, provided that the aggregate purchase price of such an acquisition and of acquisitions in the same fiscal year does not exceed $10.0 million. However, these limitations only apply when the Company’s Total Leverage Ratio is greater than 2.50 to 1.00.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 0pt 36pt;">While the Facility’s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">the Facility’s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;">We were in compliance with all of our financial covenants as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Interest Rates and Fees</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. Additional margins are then added to these two rates. Under the Base Rate Loan Option, the interest rate is determined based on the highest of the Federal Funds Rate plus 0.5%, the prime lending rate offered by Wells Fargo Bank, N.A. or the one-month Eurodollar Rate plus 1.00%. Under the Eurodollar Rate Loan Option, the interest rate is determined based on the one- to six-month Eurodollar Rate. The Eurodollar Rate corresponds very closely to rates described in various general business media sources as the London Interbank Offered Rate or “LIBOR.” Additional margins are then added to these rates. The additional margins are determined based on the ratio of our Consolidated Total Indebtedness as of a given quarter end to our “Credit Facility Adjusted EBITDA,” which shall mean Consolidated EBITDA as such term is defined in the credit agreement, for the <span style="white-space:pre-wrap;">twelve months</span><span style="white-space:pre-wrap;"> ending as of that quarter end.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The interest rates under the Facility are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. For illustrative purposes, the following are the respective market rates as of December 31, 2020 relating to interest options under the Facility:</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:88.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:88.65%;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;">Base Rate Loan Option:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.12%;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 style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;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></tr><tr><td style="vertical-align:bottom;width:88.65%;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;">Federal Funds Rate plus 0.50%</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.59%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:88.65%;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;">Wells Fargo Bank, N.A. Prime Rate</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">3.25%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:88.65%;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;">One-month LIBOR plus 1.00%</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">1.14%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:88.65%;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;">Eurodollar Rate Loan Option:</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.58%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:88.65%;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;">One-month LIBOR</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.14%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:88.65%;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;">Six-month LIBOR</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.26%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. A letter of credit commits the lenders to pay specified amounts to the holder of the letter of credit if the holder demonstrates that we have failed to perform specified actions. If this were to occur, we would be required to reimburse the lenders for amounts they fund to honor the letter of credit holder’s claim. Absent a claim, there is no payment or reserving of funds by us in connection with a letter of credit. However, because a claim on a letter of credit would require immediate reimbursement by us to our lenders, letters of credit are treated as a use of facility capacity just the same as actual borrowings. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such claim is unlikely in the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. Letter of credit fees and commitment fees are based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA.</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:50.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.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:44.68%;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;">Consolidated Total Indebtedness to</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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></tr><tr><td style="vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:44.68%;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;">Credit Facility Adjusted EBITDA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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></tr><tr><td style="vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;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 style="vertical-align:bottom;white-space:nowrap;width:10.03%;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;">Less than 1.00</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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 style="vertical-align:bottom;white-space:nowrap;width:7.98%;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;">1.00 to 1.75</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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 style="vertical-align:bottom;white-space:nowrap;width:7.98%;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;">1.75 to 2.50</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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 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="font-weight:bold;">2.50 or greater</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additional Per Annum Interest Margin Added Under:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Base Rate Loan Option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Eurodollar Rate Loan Option</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.75</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Letter of credit fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commitment fees on any portion of the Revolving Loan capacity not in use for borrowings or letters of credit at any given time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.30</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.35</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of December 31, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Notes to Former Owners</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As part of the consideration used to acquire four companies, we have outstanding notes to the former owners. Together, these notes had an outstanding balance of $31.0 million as of December 31, 2020. In conjunction with the acquisition of T E C in the fourth quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $7.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 2.5%. The principal is due in December 2023. In conjunction with the acquisition of TAS in the second quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $8.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.5%. The principal is due in April 2022. In conjunction with the acquisition of the electrical contractor in North Carolina in the first quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $6.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in installments in February 2023 and February 2024. In conjunction with the Walker acquisition in the second quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $10.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The remaining principal is due in April 2023. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Debt obligations consist of the following (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:27.22%;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><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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.44%;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.46%;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;">2020 </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;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.47%;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;">2019</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 70,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,000</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 135,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 150,000</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Notes to former owners</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 48,483</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total principal amount</p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 236,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;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:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 226,483</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less—unamortized debt issuance costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (267)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (348)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt, net of unamortized debt issuance costs</p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 235,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 226,135</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less—current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,817)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total long-term portion of debt, net</p></td><td style="vertical-align:bottom;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;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.02%;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 3.6pt 0pt 0pt;"> 235,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;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.03%;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 3.6pt 0pt 0pt;"> 205,318</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;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 70000000 28000000 135000000 150000000 31000000 48483000 236000000 226483000 267000 348000 235733000 226135000 20817000 235733000 205318000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">At December 31, 2020, future principal payments of debt are as follows (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.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;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</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;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,000</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 34,000</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 26,500</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 152,500</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;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="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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.95%;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 3.6pt 0pt 0pt;"> 236,000</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;"><span style="visibility:hidden;">​</span></p></td></tr></table> 23000000 34000000 26500000 152500000 236000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Interest expense included the following primary elements (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.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:2.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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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.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;"><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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:30.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;"><b style="font-weight:bold;">Year Ended December 31, </b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:8.66%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:8.66%;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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:8.73%;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;">2018</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense on notes to former owners</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,354</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,531</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 642</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense on borrowings and unused commitment fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,319</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,887</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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 3.6pt 0pt 0pt;"> 2,211</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense on interest rate swaps</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 338</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Letter of credit fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 830</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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 3.6pt 0pt 0pt;"> 474</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization of debt financing costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 544</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 387</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 383</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.37%;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 3.6pt 0pt 0pt;"> 8,385</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.37%;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 3.6pt 0pt 0pt;"> 9,317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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 3.6pt 0pt 0pt;"> 3,710</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;"><span style="visibility:hidden;">​</span></p></td></tr></table> 1354000 1531000 642000 5319000 6887000 2211000 338000 830000 512000 474000 544000 387000 383000 8385000 9317000 3710000 400000000.0 600000000.0 450000000.0 150000000.0 150000000.0 585000000.0 15000000.0 160000000.0 1400000 400000 1000000.0 1300000 0.0125 0.0375 135000000.0 70000000.0 49500000 330500000 167800000 4 <table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 150,139</p></td><td style="background-color:#cceeff;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;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 41,401</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,282</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation and amortization expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 60,629</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stock-based compensation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,934</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pre-acquisition results of acquired companies, as defined under the Facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,511</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Credit Facility Adjusted EBITDA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.95%;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 3.6pt 0pt 0pt;"> 285,896</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 150139000 41401000 8282000 60629000 6934000 -18511000 285896000 3.00 0.8 2.00 1.50 4 7.2 5000000.0 10000000.0 2.50 2 2 0.005 0.0100 P12M <table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:88.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:88.65%;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;">Base Rate Loan Option:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.12%;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 style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;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></tr><tr><td style="vertical-align:bottom;width:88.65%;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;">Federal Funds Rate plus 0.50%</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.59%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:88.65%;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;">Wells Fargo Bank, N.A. Prime Rate</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">3.25%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:88.65%;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;">One-month LIBOR plus 1.00%</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">1.14%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:88.65%;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;">Eurodollar Rate Loan Option:</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.58%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:88.65%;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;">One-month LIBOR</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.14%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:88.65%;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;">Six-month LIBOR</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.26%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 0.0050 0.0059 0.0325 0.0100 0.0114 One-month LIBOR 0.0014 Six-month LIBOR 0.0026 <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:50.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.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:44.68%;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;">Consolidated Total Indebtedness to</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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></tr><tr><td style="vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:44.68%;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;">Credit Facility Adjusted EBITDA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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></tr><tr><td style="vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.64%;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 style="vertical-align:bottom;white-space:nowrap;width:10.03%;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;">Less than 1.00</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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 style="vertical-align:bottom;white-space:nowrap;width:7.98%;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;">1.00 to 1.75</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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 style="vertical-align:bottom;white-space:nowrap;width:7.98%;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;">1.75 to 2.50</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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 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="font-weight:bold;">2.50 or greater</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additional Per Annum Interest Margin Added Under:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Base Rate Loan Option</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Eurodollar Rate Loan Option</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.75</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Letter of credit fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p 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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commitment fees on any portion of the Revolving Loan capacity not in use for borrowings or letters of credit at any given time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.30</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.35</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr></table> 0.0025 0.0050 0.0075 0.0100 0.0125 0.0150 0.0175 0.0200 0.0125 0.0150 0.0175 0.0200 0.0020 0.0025 0.0030 0.0035 0.014 0.014 4 31000000.0 7000000.0 0.025 8000000.0 0.035 6000000.0 0.030 10000000.0 0.040 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">10. Leases</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to $7.7 million in 2020 and $8.4 million in 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of December 31, 2020 and 2019 was 4.2% and 3.9%, respectively. We recognize lease expense, including escalating lease payments and lease incentives, on a straight-line basis over the lease term. Lease expense for the years ended December 31, 2020, 2019 and 2018 was $28.2 million, $24.8 million and $23.4 million, respectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The lease terms generally range from <span style="-sec-ix-hidden:Hidden_EM13EqabME2IuRNg9GT-kg;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">three</span></span> to ten years. Some leases include one or more options to renew, which may be exercised to extend the lease term. We include the exercise of lease renewal options in the lease term when it is reasonably certain that we will exercise the option and such exercise is at our sole discretion. The weighted average remaining lease term was 7.5 years at December 31, 2020 and 8.1 years at December 31, 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the years ended December 31, 2020, 2019 and 2018 was approximately $4.2 million, $3.7 million and $4.8 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions, we rent or sublease certain real estate assets that we no longer use to third parties.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the lease assets and liabilities included in the consolidated Balance Sheet as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61.21%;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:14.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:14.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></tr><tr><td style="vertical-align:middle;width:61.21%;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="2" style="vertical-align:bottom;white-space:nowrap;width:17.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;">December 31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;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:17.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;"><b style="font-weight:bold;">December 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 94,727</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 84,073</p></td></tr><tr><td style="vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_k-1Oq2hY-0WJzoYroRGwwg;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;"> Other current liabilities</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,586</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,016</p></td></tr><tr><td style="vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;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:14.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 3.6pt 0pt 0pt;"> 80,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;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:14.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,697</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;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 3.6pt 0pt 0pt;"> 97,162</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;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 3.6pt 0pt 0pt;"> 86,713</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities as of December 31, 2020 are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:10.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ending December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,254</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 17,004</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,727</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,221</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2025</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,108</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,645</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 113,959</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less—Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,797)</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;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.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 3.6pt 0pt 0pt;"> 97,162</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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:middle;width:66.86%;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:13.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><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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:13.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:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:33.13%;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:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:15.51%;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;">2020</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:10pt;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:15.51%;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;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,443</p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,895</p></td></tr><tr><td style="vertical-align:middle;width:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,346</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,811</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to $7.7 million in 2020 and $8.4 million in 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of December 31, 2020 and 2019 was 4.2% and 3.9%, respectively. We recognize lease expense, including escalating lease payments and lease incentives, on a straight-line basis over the lease term. Lease expense for the years ended December 31, 2020, 2019 and 2018 was $28.2 million, $24.8 million and $23.4 million, respectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The lease terms generally range from <span style="-sec-ix-hidden:Hidden_EM13EqabME2IuRNg9GT-kg;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">three</span></span> to ten years. Some leases include one or more options to renew, which may be exercised to extend the lease term. We include the exercise of lease renewal options in the lease term when it is reasonably certain that we will exercise the option and such exercise is at our sole discretion. The weighted average remaining lease term was 7.5 years at December 31, 2020 and 8.1 years at December 31, 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the years ended December 31, 2020, 2019 and 2018 was approximately $4.2 million, $3.7 million and $4.8 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions, we rent or sublease certain real estate assets that we no longer use to third parties.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the lease assets and liabilities included in the consolidated Balance Sheet as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61.21%;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:14.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:14.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></tr><tr><td style="vertical-align:middle;width:61.21%;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="2" style="vertical-align:bottom;white-space:nowrap;width:17.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;">December 31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;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:17.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;"><b style="font-weight:bold;">December 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 94,727</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 84,073</p></td></tr><tr><td style="vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_k-1Oq2hY-0WJzoYroRGwwg;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;"> Other current liabilities</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,586</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,016</p></td></tr><tr><td style="vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;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:14.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 3.6pt 0pt 0pt;"> 80,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;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:14.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,697</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;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 3.6pt 0pt 0pt;"> 97,162</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;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 3.6pt 0pt 0pt;"> 86,713</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities as of December 31, 2020 are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:10.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ending December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,254</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 17,004</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,727</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,221</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2025</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,108</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,645</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 113,959</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less—Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,797)</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;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.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 3.6pt 0pt 0pt;"> 97,162</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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:middle;width:66.86%;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:13.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><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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:13.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:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:33.13%;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:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:15.51%;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;">2020</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:10pt;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:15.51%;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;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,443</p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,895</p></td></tr><tr><td style="vertical-align:middle;width:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,346</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,811</p></td></tr></table> 7700000 8400000 0.042 0.039 28200000 24800000 23400000 P10Y 1 P7Y6M P8Y1M6D 4200000 3700000 4800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the lease assets and liabilities included in the consolidated Balance Sheet as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61.21%;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:14.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:14.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></tr><tr><td style="vertical-align:middle;width:61.21%;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="2" style="vertical-align:bottom;white-space:nowrap;width:17.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;">December 31, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;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:17.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;"><b style="font-weight:bold;">December 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 94,727</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 84,073</p></td></tr><tr><td style="vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_k-1Oq2hY-0WJzoYroRGwwg;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;"> Other current liabilities</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,586</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,016</p></td></tr><tr><td style="vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Long-term lease liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;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:14.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 3.6pt 0pt 0pt;"> 80,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;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:14.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,697</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.34%;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 3.6pt 0pt 0pt;"> 97,162</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.03%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.32%;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 3.6pt 0pt 0pt;"> 86,713</p></td></tr></table> 94727000 84073000 16586000 14016000 80576000 72697000 97162000 86713000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities as of December 31, 2020 are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:10.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ending December 31—</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,254</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 17,004</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2023</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,727</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,221</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2025</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,108</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,645</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total Lease Payments</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 113,959</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Less—Present Value Discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.66%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,797)</p></td></tr><tr><td style="vertical-align:bottom;width:85.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Present Value of Lease Liabilities</p></td><td style="vertical-align:bottom;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.66%;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.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 3.6pt 0pt 0pt;"> 97,162</p></td></tr></table> 20254000 17004000 14727000 13221000 12108000 36645000 113959000 16797000 97162000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental information related to leases was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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:middle;width:66.86%;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:13.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><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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:13.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:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:33.13%;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:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:15.51%;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;">2020</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:10pt;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:15.51%;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;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,443</p></td><td style="background-color:#cceeff;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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,895</p></td></tr><tr><td style="vertical-align:middle;width:66.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Lease right-of-use assets obtained in exchange for lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,346</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,811</p></td></tr></table> 20443000 16895000 27346000 26811000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">11. Income Taxes </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Provision for Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our provision for income taxes relating to continuing operations consists of the following (in thousands):</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:87.09%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:31.82%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;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:8.98%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;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:8.98%;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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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%;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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,556</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 33,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State and Puerto Rico</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,798</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,388</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,589</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 49,354</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 41,669</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax provision (benefit)—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,483)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,750)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,347</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State and Puerto Rico</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom: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,470)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (501)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 109</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,953)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,251)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Provision for income taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;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 3.6pt 0pt 0pt;"> 41,401</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;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 3.6pt 0pt 0pt;"> 37,418</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;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 3.6pt 0pt 0pt;"> 35,773</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The provision for income taxes for the years ended December 31, 2020, 2019 and 2018 resulted in effective tax rates on continuing operations of 21.6%, 24.7% and 24.1%, respectively. The reasons for the differences between these effective tax rates and the federal statutory rates are as follows (in thousands):</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:86.39%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:29.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;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.97%;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:8.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;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;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:8.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;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:8.22%;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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Federal statutory rate of—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income taxes at the federal statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 40,223</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increases (decreases) resulting from—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net state income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,406</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,644</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Valuation allowances</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (254)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (279)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,852)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net unrecognized tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,338</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Nondeductible expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,470</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,180</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,926</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">R&amp;D tax credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (26,133)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,569)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,726)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">179D deduction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,062)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,126)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation deductions</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (426)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (714)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,293)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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:7.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (380)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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 3.6pt 0pt 0pt;"> 78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> (184)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for income taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;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 3.6pt 0pt 0pt;"> 41,401</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;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 3.6pt 0pt 0pt;"> 37,418</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;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 3.6pt 0pt 0pt;"> 35,773</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:36pt;margin:0pt 0pt 12pt 0pt;">Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a reduction in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In the third quarter of 2019, we filed an amended federal return for 2015 to claim the credit for increasing research activities (the “R&amp;D tax credit”) and recorded a $4.6 million tax benefit that was fully offset by an addition to unrecognized tax benefits. We previously filed an amended federal return for 2014 to claim the R&amp;D tax credit during 2018 and recorded a $2.7 million tax benefit that was also fully offset by an addition to unrecognized tax benefits. These $7.3 million of tax benefits were fully offset by additions to unrecognized tax benefits due to the uncertainty of the outcome from examinations opened by the Internal Revenue Service (the “IRS”). As a result, the R&amp;D tax credit claimed had no impact on our effective tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During 2018, we dissolved our Puerto Rican subsidiary and thus wrote-off the remaining $2.2 million of net operating loss (“NOL”) carryforwards and related valuation allowance. The dissolution of our Puerto Rican subsidiary did not have an impact on our 2018 effective tax rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For the year ended December 31, 2019, our provision for income taxes was reduced by $2.2 million due to benefits from the filing, and expected filing, of amended returns to claim the energy efficient commercial buildings deduction (the “179D deduction”) allocated to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>During the third quarter of 2020, the IRS completed its examination of our amended federal returns for 2014 and 2015 and issued a Revenue Agent Report (“RAR”) allowing the $8.9 million of refund claims in full. Subsequently, the Joint Committee on Taxation (the “JCT”) reviewed and approved the refund claims. As a result, our provision for income taxes was reduced by $8.3 million due to a reduction in unrecognized tax benefits of which $1.0 million related to the 179D deduction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0070c0;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>In early October 2020, we filed amended federal returns for 2016, 2017 and 2018 to claim the R&amp;D tax credit and 179D deduction and recorded tax benefits of $6.1 million, $8.5 million and $11.9 million, respectively. The $26.5 million of tax benefits have been offset by additions to unrecognized tax benefits of $26.4 million due to the uncertainty of the outcome of future IRS examinations. The R&amp;D tax credit and 179D deduction for 2016, 2017 and 2018, therefore, had no material impact on our effective tax rate for the year ended December 31, 2020. At this time, we cannot reasonably estimate the R&amp;D tax credit for years after 2018 or 179D deduction for years after 2017.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Deferred Tax Assets (Liabilities)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Significant components of the deferred tax assets and deferred tax liabilities as reflected on the balance sheets are as follows (in thousands):</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:60.85%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:26.94%;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 </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;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></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:26.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;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;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></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable and allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,791</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,561</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities and expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,768</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,873</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Intangible assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,988</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Subtotal</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 80,260</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 61,926</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Valuation allowances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (514)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (369)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 79,746</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 61,557</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Property and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,877)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,286)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease right-of-use asset</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (22,715)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,873)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Long-term contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (609)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (876)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (242)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,615)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,020)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom: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,626)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom: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,004)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total deferred tax liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (51,684)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (41,059)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.82%;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 3.6pt 0pt 0pt;"> 28,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.82%;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 3.6pt 0pt 0pt;"> 20,498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The deferred tax assets and liabilities reflected above are included in the consolidated balance sheets as follows (in thousands):</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:38.73%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:39.51%;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><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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;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:17.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;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;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:17.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;"><b style="font-weight:bold;">2019</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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.84%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 29,401</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,923</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.84%;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:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,339</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,425</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;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2020, we had $9.4 million of deferred tax assets related to $44.9 million of federal NOL carryforwards as a result of the TAS acquisition. If not used, such carryforwards will begin to expire in 2031. We also had $2.7 million of deferred tax assets related to $46.2 million of state NOL carryforwards, including carryforwards acquired from TAS. The state NOL carryforwards will expire in varying amounts between the years 2021 and 2040. Valuation allowances of $0.5 million have been recorded against certain of the state NOL carryforwards. The $2.2 million of deferred tax assets for state NOL carryforwards, net of valuation allowances, reflects our conclusion that it is more-likely-than-not these assets will be realized based upon expected future earnings in certain of our subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Pursuant to Section 382 of the Code, utilization of our federal NOL carryforwards is subject to annual limitations due to the ownership change in TAS. In general, an ownership change, as defined by Section 382, results from transactions increasing the ownership of certain stockholders or public groups in the stock of a corporation by more than 50 percentage points over a three-year period. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We regularly update our assessment of the realizability of our deferred tax assets, in particular, those related to state NOL carryforwards. A return to profitability in our subsidiaries with valuation allowances would result in a release of a portion of the valuation allowances relating to realizable deferred tax assets. A sustained period of profitability could cause a change in our judgment of any remaining deferred tax assets. If that were to occur, then it is likely that we would reverse some or all of the remaining valuation allowances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Liabilities for Uncertain Tax Positions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties, is as follows (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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%;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 </b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">December 31, </b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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.52%;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;">2018</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,199</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,966</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,929</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions based on tax positions related to current year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions based on tax positions related to prior years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 26,858</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,726</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions for tax positions related to prior years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (240)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,689)</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions for settlements with tax authorities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,301)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_NWYM2FjAwE-pLXvMN-QMRw;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"> —</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_dEu8Ek3Z6EiUQSL1TUH17g;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"> —</span></span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.66%;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 3.6pt 0pt 0pt;"> 28,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.66%;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 3.6pt 0pt 0pt;"> 10,199</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.24%;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 3.6pt 0pt 0pt;"> 2,966</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;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>As of December 31, 2020, 2019 and 2018, we had $28.8 million, $10.2 million and $3.0 million, respectively, of unrecognized tax benefits, which if recognized in future periods, would impact our effective tax rates. We also had accrued zero, zero and $0.6 million for potential interest and penalties related to the unrecognized tax benefits as of December 31, 2020, 2019 and 2018, respectively. We recognize potential interest and penalties related to unrecognized tax benefits in our provision for income taxes. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are subject to taxation in the United States and various state jurisdictions. During 2019, the IRS commenced an examination of our amended federal returns for 2014 and 2015. The IRS completed its examination and issued an RAR allowing our refund claims in full, which was reviewed and approved by the JCT during the third quarter of 2020. As a result, our unrecognized tax benefits were reduced by $8.3 million. In late January 2021, we received notification from the IRS that our federal returns for 2017 and 2018 were selected for examination. The completion of this IRS examination could impact our future results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">State income tax returns are generally subject to examination for a period of three to four years after filing the returns. However, the state impact of any federal audit adjustments and/or amendments remains subject to examination by various states for up to one year after formal notification to the states. We generally remain open to examination by various state tax authorities for the 2016 tax year forward. As of December 31, 2020, we did not have any state audits underway that would have a material impact on our financial position or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We believe it is reasonably possible that a reduction of up to $28.8 million in unrecognized tax benefits could occur within the next twelve months. Any reduction in our unrecognized tax benefits, due to the future recognition of those tax benefits, would affect our effective tax rates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our provision for income taxes relating to continuing operations consists of the following (in thousands):</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:87.09%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:31.82%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;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:8.98%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;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:8.98%;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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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%;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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,556</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 33,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State and Puerto Rico</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,798</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,388</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,589</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 49,354</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 41,669</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax provision (benefit)—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,483)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,750)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,347</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State and Puerto Rico</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom: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,470)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (501)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 109</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,953)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,251)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:7.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Provision for income taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;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 3.6pt 0pt 0pt;"> 41,401</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;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 3.6pt 0pt 0pt;"> 37,418</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.45%;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 3.6pt 0pt 0pt;"> 35,773</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 36556000 33281000 22728000 12798000 8388000 8589000 49354000 41669000 31317000 -5483000 -3750000 4347000 -2470000 -501000 109000 -7953000 -4251000 4456000 41401000 37418000 35773000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The provision for income taxes for the years ended December 31, 2020, 2019 and 2018 resulted in effective tax rates on continuing operations of 21.6%, 24.7% and 24.1%, respectively. The reasons for the differences between these effective tax rates and the federal statutory rates are as follows (in thousands):</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:86.39%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:29.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;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.97%;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:8.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;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;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:8.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;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:8.22%;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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Federal statutory rate of—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income taxes at the federal statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 40,223</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increases (decreases) resulting from—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net state income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,406</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,644</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Valuation allowances</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (254)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (279)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,852)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net unrecognized tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,338</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Nondeductible expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,470</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,180</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,926</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">R&amp;D tax credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (26,133)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,569)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,726)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">179D deduction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,062)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,126)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation deductions</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (426)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (714)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,293)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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:7.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (380)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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 3.6pt 0pt 0pt;"> 78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> (184)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for income taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.62%;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 3.6pt 0pt 0pt;"> 41,401</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.99%;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 3.6pt 0pt 0pt;"> 37,418</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.04%;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 3.6pt 0pt 0pt;"> 35,773</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 0.216 0.247 0.241 0.21 0.21 0.21 40223000 31866000 31222000 8406000 6644000 7470000 -254000 -279000 -2852000 18557000 7338000 -15000 2470000 2180000 1926000 26133000 4569000 2726000 1062000 5126000 2225000 -426000 -714000 -1293000 -380000 78000 -184000 41401000 37418000 35773000 2800000 4600000 2700000 7300000 2200000 2200000 8900000 8300000 1000000.0 6100000 8500000 11900000 26500000 26400000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Significant components of the deferred tax assets and deferred tax liabilities as reflected on the balance sheets are as follows (in thousands):</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:60.85%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:26.94%;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 </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;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></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:26.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;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;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></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable and allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,791</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,561</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities and expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,768</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,873</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Intangible assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,988</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Subtotal</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 80,260</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 61,926</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Valuation allowances</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (514)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (369)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 79,746</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 61,557</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Property and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,877)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,286)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease right-of-use asset</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (22,715)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,873)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Long-term contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (609)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (876)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (242)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,615)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,020)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom: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,626)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:10.82%;border-bottom: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,004)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total deferred tax liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (51,684)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (41,059)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.82%;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 3.6pt 0pt 0pt;"> 28,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.82%;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 3.6pt 0pt 0pt;"> 20,498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 2186000 1660000 2791000 2561000 39761000 25569000 22768000 20873000 12127000 2750000 7988000 627000 525000 80260000 61926000 514000 369000 79746000 61557000 13877000 11286000 22715000 20873000 609000 876000 242000 11615000 6020000 2626000 2004000 51684000 41059000 28062000 20498000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The deferred tax assets and liabilities reflected above are included in the consolidated balance sheets as follows (in thousands):</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:38.73%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:39.51%;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><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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;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:17.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;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;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:17.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;"><b style="font-weight:bold;">2019</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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.84%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 29,401</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,923</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.84%;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:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,339</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,425</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;"><span style="visibility:hidden;">​</span></p></td></tr></table> 29401000 21923000 1339000 1425000 9400000 44900000 2700000 46200000 500000 2200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties, is as follows (in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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%;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 </b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">December 31, </b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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.52%;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;">2018</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,199</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,966</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,929</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions based on tax positions related to current year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions based on tax positions related to prior years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 26,858</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,726</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions for tax positions related to prior years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (240)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,689)</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions for settlements with tax authorities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,301)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_NWYM2FjAwE-pLXvMN-QMRw;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"> —</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;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="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_dEu8Ek3Z6EiUQSL1TUH17g;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"> —</span></span></p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.66%;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 3.6pt 0pt 0pt;"> 28,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.66%;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 3.6pt 0pt 0pt;"> 10,199</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;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.24%;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 3.6pt 0pt 0pt;"> 2,966</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;"><span style="visibility:hidden;">​</span></p></td></tr></table> 10199000 2966000 8929000 26858000 7473000 2726000 240000 8689000 8301000 28756000 10199000 2966000 28800000 10200000 3000000.0 0 0 600000 8300000 28800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">12. Employee Benefit Plans</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We and certain of our subsidiaries sponsor various retirement plans for most full-time and some part-time employees. These plans primarily consist of defined contribution plans. The defined contribution plans generally provide for contributions up to 2.5% of covered employees’ salaries or wages. These contributions totaled $16.3 million in 2020, $14.2 million in 2019 and $10.8 million in 2018. Of these amounts, approximately $0.5 million and $0.3 million were payable to the plans at December 31, 2020 and 2019, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Certain of our subsidiaries also participate or have participated in various multi-employer pension plans for the benefit of employees who are union members. As of December 31, 2020 and 2019, we had 6 and 7, respectively, who were union members. There were no contributions made to multi-employer pension plans in 2020, 2019 or 2018. The data available from administrators of other multi-employer pension plans is not sufficient to determine the accumulated benefit obligations, nor the net assets attributable to the multi-employer plans in which our employees participate or previously participated. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Certain individuals at one of our operating units are entitled to receive fixed annual payments that reach a maximum amount, as specified in the related agreements, for a 15 year period following retirement or, in some cases, the attainment of 65 years of age. We recognize the unfunded status of the plan as a non-current liability in our Consolidated Balance Sheet. Benefits vest 50% after ten years of service, 75% after fifteen years of service and are fully vested after </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">20 years of service. We had an unfunded benefit liability of $4.0 million and $4.1 million recorded as of December 31, 2020 and 2019, respectively.</p> 0.025 16300000 14200000 10800000 500000 300000 6 7 0 0 0 P15Y P15Y P65Y P65Y 0.50 P10Y 0.75 P15Y P20Y 4000000.0 4100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:12pt 0pt 12pt 0pt;"><b style="font-weight:bold;">13. Commitments and Contingencies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:12pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Claims and Lawsuits</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are subject to certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management’s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are in a dispute with a customer regarding the outcome of a completed project and also regarding the obligation to perform subcontract work under two executed letters of intent for subsequent projects that we believe are not enforceable. The customer is claiming approximately $15 million in damages related to performance of the original project as well as excess costs to perform the work that was subject to the letters of intent. We are claiming approximately $9 million composed of unpaid amounts under the completed contract as well as costs and inefficiencies that we suffered. We have a lien on the project, and this matter is currently scheduled for arbitration in the second quarter of 2021 with a likely decision in the following months. As of December 31, 2020, we recorded an accrual for this matter based on our analysis of likely outcomes related to this dispute; however, it is possible that the ultimate outcome and associated costs will deviate from our estimates and that, in the event of an unexpectedly adverse outcome, we may experience additional costs and expenses in future periods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Surety</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and do not expect such losses to be incurred in the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Current market conditions for surety markets and bonding capacity are adequate with acceptable terms and conditions. Historically, approximately 15% to 25% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties’ assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Self-Insurance</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers’ compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our self-insurance arrangements as of December 31, 2020 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Workers’ Compensation—</i>The per-incident deductible for workers’ compensation is $250,000. Losses above $250,000 are determined by statutory rules on a state-by-state basis and are fully covered by excess workers’ compensation insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Employer’s Liability—</i>For employer’s liability, the per-incident deductible is $250,000 and then we have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as general liability and auto liability noted below).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">General Liability—</i>For general liability, the per-incident deductible is $250,000. We are fully insured for the next $10.0 million of each loss, and then have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as employer’s liability noted above and auto liability noted below).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Auto Liability—</i>For auto liability, the per-incident deductible is $250,000. We are fully insured for the next $10.0 million of each loss, and then have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as employer’s liability and general liability noted above).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;"><i style="font-style:italic;">Employee Medical—</i>We have three medical plans. The deductible for employee group health claims is $350,000 per person, per policy (calendar) year for <span style="-sec-ix-hidden:Hidden_EissuPpm-kqZ7vwGOiJBKQ;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">each</span></span> <span style="-sec-ix-hidden:Hidden_9e882pS0kkyfCQpuwPHg6w;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">plan</span></span>. Insurance then covers any responsibility for medical claims in excess of the deductible amount.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 36pt;">Our $132.5 million of aggregate excess loss coverage above applicable per-incident deductibles represents one policy limit that applies to all lines of risk; we do not have a separate $132.5 million of excess loss coverage for each of general liability, employer’s liability and auto liability.</p> 2 15000000 9000000 0.15 0.25 250000000000 250000000000 250000000000 132500000 250000000000 10000000.0 132500000 250000000000 10000000.0 132500000 3 350000 132500000 132500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">14. Stockholders’ Equity</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">2012 Equity Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In May 2012, our stockholders approved our 2012 Equity Incentive Plan (the “2012 Plan”), which provides for the granting of incentive or non-qualified stock options, stock appreciation rights, restricted or deferred stock, dividend equivalents or other incentive awards to directors, employees, or consultants. The number of shares authorized and reserved for issuance under the 2012 Plan is 5.1 million shares. As of December 31, 2020, there were 2.9 million shares available for issuance under this plan; however, following adoption of the 2017 Plan (described below), no additional shares will be issued under the 2012 Plan. The 2012 Plan will expire in May 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">2017 Omnibus Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In May 2017, our stockholders approved our 2017 Omnibus Incentive Plan (the “2017 Plan”), which provides for the granting of incentive or non-qualified stock options, stock appreciation rights, restricted or deferred stock, dividend equivalents or other incentive awards to directors, employees, or consultants. The number of shares authorized and reserved for issuance under the 2017 Plan is 2.9 million shares. As of December 31, 2020, there were 2.0 million shares available for issuance under this plan. The 2017 Plan will expire in May 2027. Additionally, we have outstanding stock options, stock awards and stock units that were issued under other plans, and no further grants may be made under those plans.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Share Repurchase Program</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On March 29, 2007, our Board of Directors approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On December 8, 2020, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 10.3 million shares to be repurchased. As of December 31, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">2020, we have repurchased a cumulative total of 9.3 million shares at an average price of $19.63 per share under the repurchase program.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the twelve months ended December 31, 2020, we repurchased 0.7 million shares for approximately $30.1 million at an average price of $43.99 per share. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Earnings Per Share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Basic earnings per share (“EPS”) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were less than 0.1 million anti-dilutive stock options excluded from the calculation of diluted EPS for the years ended December 31, 2020, 2019 and 2018, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):</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:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;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.25%;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.01%;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:6.94%;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.01%;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:6.94%;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.01%;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:6.97%;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.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></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:24.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;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.25%;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 style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:6.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;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:6.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:6.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;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Common shares outstanding, end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,188</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,658</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,894</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of using weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 354</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 308</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shares used in computing earnings per share—basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,542</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,854</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 37,202</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of shares issuable under stock option plans based on the treasury stock method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 123</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of restricted and contingently issuable shares</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 73</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 73</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 107</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shares used in computing earnings per share—diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;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 3.6pt 0pt 0pt;"> 36,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;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 3.6pt 0pt 0pt;"> 37,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.97%;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 3.6pt 0pt 0pt;"> 37,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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> 5100000 2900000 2900000 2000000.0 1000000.0 700000 10300000 9300000 19.63 700000 30100000 43.99 100000 100000 100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):</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:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;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.25%;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.01%;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:6.94%;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.01%;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:6.94%;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.01%;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:6.97%;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.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></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:24.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;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.25%;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 style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:6.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;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:6.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;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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 style="vertical-align:bottom;white-space:nowrap;width:6.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;"><b style="font-weight:bold;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Common shares outstanding, end of period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,188</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,658</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,894</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of using weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 354</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 308</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shares used in computing earnings per share—basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,542</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,854</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 37,202</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of shares issuable under stock option plans based on the treasury stock method</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 123</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of restricted and contingently issuable shares</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 73</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 73</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 107</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shares used in computing earnings per share—diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;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 3.6pt 0pt 0pt;"> 36,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;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 3.6pt 0pt 0pt;"> 37,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.97%;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 3.6pt 0pt 0pt;"> 37,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 36188000 36658000 36894000 354000 196000 308000 36542000 36854000 37202000 123000 204000 283000 73000 73000 107000 36738000 37131000 37592000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">15. Stock-Based Compensation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Grants of stock options, restricted stock and restricted stock units, and performance share units have been, under the 2012 Plan and under the 2017 Plan, determined and administered by the compensation committee of the Board of Directors. In 2019, the Board of Directors approved a change to the structure of long-term incentive grants to remove stock options, commencing with the March 2019 equity grant. Total stock-based compensation expense was $6.9 million, $5.9 million and $7.2 million for the years ended December 31, 2020, 2019 and 2018, respectively. Stock-based compensation expense is recognized using the straight-line method over the vesting period and generally vests over a <span style="white-space:pre-wrap;">three-year</span><span style="white-space:pre-wrap;"> vesting period. Certain awards provide for accelerated vesting when the sum of an employee's age and years of service is at least </span><span style="white-space:pre-wrap;">75</span><span style="white-space:pre-wrap;">. We recognize forfeitures as they occur. Total income tax benefit recognized for stock-based compensation arrangements was $1.5 million, $1.3 million and $1.5 million for each of the years ended December 31, 2020, 2019 and 2018. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">We generally issue treasury shares for stock options and restricted stock, unless treasury shares are not available. Upon the vesting of restricted shares, we have allowed the holder to elect to surrender an amount of shares to meet their statutory tax withholding requirements. These shares are accounted for as treasury stock based upon the value of the stock on the date of vesting.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Stock Options</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes activity under our stock option plans (shares in thousands):</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:43.54%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:35.58%;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 </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:35.58%;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><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:35.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:60.02%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;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 style="vertical-align:bottom;white-space:nowrap;width:10.65%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;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:21.4%;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;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;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:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:21.4%;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;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Stock Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;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 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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;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: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;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 382</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 27.06</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p 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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (114)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18.85</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p 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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p 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.65%;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 3.6pt 0pt 0pt;"> 268</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 30.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options exercisable at end of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 241</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The total intrinsic value of options exercised during the years ended December 31, 2020, 2019 and 2018 was $3.2 million, $3.5 million and $6.7 million, respectively. Stock options exercisable as of December 31, 2020 have a weighted-average remaining contractual term of <span style="white-space:pre-wrap;">5.2</span><span style="white-space:pre-wrap;"> years and an aggregate intrinsic value of $5.7 million. As of December 31, 2020, we have 0.3 million options that are vested or expected to vest; these options have a weighted average exercise price of $30.53 per share, have a weighted-average remaining contractual term of </span><span style="white-space:pre-wrap;">5.4</span><span style="white-space:pre-wrap;"> years and an aggregate intrinsic value of $5.9 million.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes information about stock options outstanding at December 31, 2020 (shares in thousands):</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;white-space:nowrap;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;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="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="6" style="vertical-align:bottom;white-space:nowrap;width:35.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;"><b style="font-weight:bold;">Options Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22.08%;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;">Options Exercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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 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:center;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;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;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;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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 style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:8.96%;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.64%;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:9.94%;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.12%;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.52%;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:8.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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:center;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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;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;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.52%;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:8.96%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;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;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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:8.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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;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;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;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;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;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;">Number</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;"><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.02%;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;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding at</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;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;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;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;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;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;">Exercisable at</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;"><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.02%;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;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Range of Exercise Prices</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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 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;">12/31/2020</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;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><b style="font-weight:bold;">Life (in years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.48%;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;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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 style="vertical-align:bottom;white-space:nowrap;width:9.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;"><b style="font-weight:bold;">12/31/2020</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.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="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$11.21 - $15.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">14</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13.76</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">14</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13.76</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$15.01 - $35.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p 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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">130</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:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23.54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p 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.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">130</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23.54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$35.01 - $42.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">124</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39.78</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">97</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39.02</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$11.21 - $42.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p 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.58%;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 3.6pt 0pt 0pt;">268</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:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 30.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p 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.94%;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 3.6pt 0pt 0pt;">241</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 29.18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The fair value of each option award is estimated, based on several assumptions, on the date of grant using the Black-Scholes option valuation model. We did not grant any options in 2019 or 2020. The fair values and the assumptions used for the 2018 grant are shown in the table 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:70.51%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.28%;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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;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:11.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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average fair value per share of options granted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">13.06</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fair value assumptions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Expected dividend yield</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.79%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Expected stock price volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">31.7%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Risk-free interest rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">2.66%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Expected term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">5.3 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Stock options are accounted for as equity instruments. As of December 31, 2020, the unrecognized compensation cost related to stock options was less than $0.1 million, which is expected to be recognized over a weighted-average period of 0.3 years. The total fair value of options vested during the year ended December 31, 2020 was $0.7 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes information about nonvested stock option awards as of December 31, 2020 and changes for the year ended December 31, 2020 (shares in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Stock Options</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:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td 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;line-height:9pt;text-align:center;margin: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:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.99%;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;">Nonvested at December 31, 2019</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 81</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.53</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;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;">Granted</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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.99%;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;">Vested</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (54)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.26</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;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;">Forfeited</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;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3.6pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.99%;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;">Nonvested at December 31, 2020</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;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 3.6pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">13.06</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Restricted Stock and Restricted Stock Units</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes activity under our restricted stock plans (shares in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;"><span style="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.46%;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 </b></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.46%;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><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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.46%;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;">2020</b></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;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: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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:14.27%;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;">Weighted</b></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;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: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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:14.27%;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;">Average Grant</b></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Restricted Stock and Restricted Stock Units</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;margin:0pt;"><b style="font-weight:bold;">    </b></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</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;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.27%;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;">Date Fair Value</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at beginning of year</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">91</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 47.58</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</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;"> </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 3.6pt 0pt 0pt;">118</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39.03</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> (85)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39.13</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</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;"> </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;"> (4)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45.21</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at end of year</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">120</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45.21</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Approximately $1.1 million of compensation expense related to restricted stock and restricted stock units will be recognized over a weighted-average period of 1.8 years. The total fair value of shares vested during the year ended December 31, 2020 was $3.3 million. The weighted-average fair value per share of restricted stock shares and units awarded during 2020, 2019 and 2018 was $39.03, $51.02 and $44.02, respectively. The aggregate intrinsic value of restricted stock vested during the years ended December 31, 2020, 2019 and 2018 was $2.9 million, $3.5 million and $3.3 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Performance Stock Units</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Under the 2012 Plan, we granted dollar-denominated performance vesting restricted stock units (“PSUs”), which cliff vest at the end of a three-year performance period. The PSUs are subject to two performance measures; 50% of the PSUs are based on the annual performance of our stock price relative to a group of our peers (total shareholder return) and 50% of the PSUs are measured based on meeting or exceeding a pre-determined annual earnings per share target as set by our Board of Directors (EPS). Depending on the Company’s performance in relation to the established performance measures, the awards may vest at zero to a maximum of 2.0 times the dollar-denominated award granted at target. Upon achievement of the necessary performance metrics, the award will be determined in dollars and may be settled in cash or stock based on the market price of the Company’s common stock at the end of the performance period, at our discretion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Compensation expense for dollar-denominated performance units will ultimately be equal to the final dollar value awarded to the grantee upon vesting, settled either in cash or stock. However, throughout the performance period we must record and accrue expense based on an estimate of that future payout. For units determined by EPS performance, the awards are evaluated quarterly against established targets in order to estimate the liability throughout the vesting period. For units determined by total shareholder return performance, a Monte Carlo simulation model was used to estimate accruals throughout the vesting period. The model simulates our total shareholder return and compares it against our peer group over the three-year performance period to produce a predicted distribution of relative share performance. This is applied to the reward criteria to give an expected value of the total shareholder return element. The calculated fair market value as of December 31, 2020 was $6.2 million. Of this amount, $2.2 million relates to the PSUs granted in 2018 whose performance period ended December 31, 2020. These awards will be settled within the upcoming </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">year either in cash or stock. The expense related to performance stock units for the years ended December 31, 2020, 2019 and 2018 was $2.7 million, $1.9 million and $2.9 million, respectively. At the December 31, 2020 calculated fair market value, approximately $0.7 million of compensation expense related to performance stock units will be recognized over a weighted-average period of 1.4 years. </p> 6900000 5900000 7200000 P3Y P75Y 1500000 1300000 1500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes activity under our stock option plans (shares in thousands):</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:43.54%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:35.58%;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 </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:35.58%;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><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:35.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:60.02%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;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 style="vertical-align:bottom;white-space:nowrap;width:10.65%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;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:21.4%;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;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;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:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:21.4%;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;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Stock Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;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 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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;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: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;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at beginning of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 382</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 27.06</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p 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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (114)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18.85</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p 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.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p 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.65%;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 3.6pt 0pt 0pt;"> 268</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 30.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options exercisable at end of year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 241</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 382000 27.06 114000 18.85 268000 30.53 241000 3200000 3500000 6700000 P5Y2M12D 5700000 300000 30.53 P5Y4M24D 5900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes information about stock options outstanding at December 31, 2020 (shares in thousands):</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;white-space:nowrap;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;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="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="6" style="vertical-align:bottom;white-space:nowrap;width:35.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;"><b style="font-weight:bold;">Options Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22.08%;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;">Options Exercisable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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 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:center;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;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;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;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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 style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:8.96%;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.64%;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:9.94%;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.12%;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.52%;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:8.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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:center;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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;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;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.52%;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:8.96%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;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;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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:8.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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;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;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;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;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;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;">Number</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;"><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.02%;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;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding at</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;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;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.48%;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;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;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;">Exercisable at</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;"><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.02%;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;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Range of Exercise Prices</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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 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;">12/31/2020</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;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><b style="font-weight:bold;">Life (in years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.48%;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;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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 style="vertical-align:bottom;white-space:nowrap;width:9.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;"><b style="font-weight:bold;">12/31/2020</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.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="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$11.21 - $15.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">14</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.2</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13.76</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">14</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13.76</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$15.01 - $35.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p 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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">130</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:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23.54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p 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.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">130</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23.54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$35.01 - $42.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">124</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39.78</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">97</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39.02</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:37.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$11.21 - $42.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p 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.58%;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 3.6pt 0pt 0pt;">268</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:9.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 30.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p 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.94%;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 3.6pt 0pt 0pt;">241</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 29.18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr></table> 11.21 15.00 14000 P2Y2M12D 13.76 14000 13.76 15.01 35.00 130000 P4Y4M24D 23.54 130000 23.54 35.01 42.50 124000 P6Y9M18D 39.78 97000 39.02 11.21 42.50 268000 P5Y4M24D 30.53 241000 29.18 <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:70.51%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.28%;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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;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:11.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;">2018</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average fair value per share of options granted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">13.06</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fair value assumptions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Expected dividend yield</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.79%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Expected stock price volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">31.7%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Risk-free interest rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">2.66%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Expected term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p 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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">5.3 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 13.06 0.0079 0.317 0.0266 P5Y3M18D 100000 P0Y3M18D 700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes information about nonvested stock option awards as of December 31, 2020 and changes for the year ended December 31, 2020 (shares in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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;line-height:9pt;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:9pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Stock Options</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:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td 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;line-height:9pt;text-align:center;margin: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:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:9pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.99%;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;">Nonvested at December 31, 2019</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 81</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.53</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;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;">Granted</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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.99%;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;">Vested</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (54)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.26</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.99%;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;">Forfeited</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;"> </p></td><td 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:10pt;text-align:right;margin:0pt 3.6pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.99%;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;">Nonvested at December 31, 2020</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.24%;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 3.6pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">13.06</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr></table> 81000 12.53 54000 12.26 27000 13.06 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes activity under our restricted stock plans (shares in thousands):</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:69.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;"><span style="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.46%;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 </b></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.46%;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><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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.46%;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;">2020</b></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;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: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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:14.27%;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;">Weighted</b></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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;"><span style="font-size:8pt;font-weight:bold;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: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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:14.27%;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;">Average Grant</b></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;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Restricted Stock and Restricted Stock Units</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;margin:0pt;"><b style="font-weight:bold;">    </b></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</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;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.27%;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;">Date Fair Value</b></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:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at beginning of year</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">91</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 47.58</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</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;"> </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 3.6pt 0pt 0pt;">118</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39.03</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> (85)</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39.13</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</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;"> </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;"> (4)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45.21</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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at end of year</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">120</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 45.21</p></td><td style="background-color:#cceeff;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;"><span style="visibility:hidden;">​</span></p></td></tr></table> 91000 47.58 118000 39.03 85000 39.13 4000 45.21 120000 45.21 1100000 P1Y9M18D 3300000 39.03 51.02 44.02 2900000 3500000 3300000 P3Y 2 0.50 0.50 0 2.0 P3Y 6200000 2200000 2700000 1900000 2900000 700000 P1Y4M24D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">16. Segment Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>We have two reportable segments: (a) our mechanical segment, which includes HVAC, plumbing, piping, and controls, as well as off-site construction, monitoring and fire protection; and (b) our electrical segment, which includes installation and servicing of electrical systems. We consider these two lines of business to be separate segments because they require different skill sets, and the business models for providing services have some differences, as a mechanical system requires ongoing maintenance and monitoring and an electrical system generally does not. However, the business model for installation of new systems or retrofitting existing systems is very similar between the two segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>Our activities are within the mechanical services industry and the electrical services industry, which represent our two reportable segments. We aggregate our operating segments into two reportable segments, as the operating segments meet all of the aggregation criteria. Substantially all of our revenue is generated, and all of our assets are located, in the United States, our country of domicile. The following table presents information about our reportable segments (in thousands):</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:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.7%;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;width:12.52%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.71%;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;width:11.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;"><b style="font-weight:bold;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.44%;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;width:14.03%;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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.58%;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;width:13.3%;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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Assets at December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 1,215,985</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 449,588</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 91,782</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,757,355</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Assets at December 31, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">$</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 3.6pt 0pt 0pt;"> 1,056,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 372,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 76,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,505,012</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.63%;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:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;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:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;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:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:65.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;">Year Ended December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.7%;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;width:12.52%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.71%;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;width:11.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;"><b style="font-weight:bold;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.44%;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;width:14.03%;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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.58%;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;width:13.3%;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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 2,413,016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 443,643</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,856,659</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">$</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 3.6pt 0pt 0pt;"> 509,740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 37,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 546,983</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital Expenditures</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 22,550</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 955</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 626</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 24,131</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.63%;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:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;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:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;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:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:65.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;">Year Ended December 31, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.7%;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;width:12.52%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.71%;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;width:11.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;"><b style="font-weight:bold;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.44%;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;width:14.03%;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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.58%;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;width:13.3%;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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 2,251,560</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 363,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,615,277</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">$</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 3.6pt 0pt 0pt;"> 465,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 501,943</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital Expenditures</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 27,933</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,504</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,313</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,750</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.63%;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:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;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:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;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:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:65.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;">Year Ended December 31, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.7%;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;width:12.52%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.71%;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;width:11.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;"><b style="font-weight:bold;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.44%;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;width:14.03%;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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.58%;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;width:13.3%;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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 2,176,223</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,656</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,182,879</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">$</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 3.6pt 0pt 0pt;"> 444,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,319</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 446,279</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital Expenditures</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 25,945</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 57</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,266</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 27,268</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 3pt 0pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:127.5pt;"/><span style="display:inline-block;width:8pt;"/><span style="display:inline-block;width:6.95pt;"/><span style="display:inline-block;width:45.5pt;"/><span style="display:inline-block;width:18.05pt;"/><span style="display:inline-block;width:6.95pt;"/><span style="display:inline-block;width:38pt;"/><span style="display:inline-block;width:21pt;"/><span style="display:inline-block;width:6.95pt;"/><span style="display:inline-block;width:47.4pt;"/><span style="display:inline-block;width:17.5pt;"/><span style="display:inline-block;width:7pt;"/><span style="margin-right:0pt;visibility:hidden;">​</span></p> 2 2 2 2 2 <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:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;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="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.7%;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;width:12.52%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.71%;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;width:11.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;"><b style="font-weight:bold;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.44%;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;width:14.03%;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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.58%;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;width:13.3%;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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Assets at December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 1,215,985</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 449,588</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 91,782</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,757,355</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Assets at December 31, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">$</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 3.6pt 0pt 0pt;"> 1,056,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 372,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 76,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,505,012</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.63%;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:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;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:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;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:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:65.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;">Year Ended December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.7%;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;width:12.52%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.71%;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;width:11.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;"><b style="font-weight:bold;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.44%;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;width:14.03%;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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.58%;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;width:13.3%;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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 2,413,016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 443,643</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,856,659</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">$</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 3.6pt 0pt 0pt;"> 509,740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 37,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 546,983</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital Expenditures</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 22,550</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 955</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 626</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 24,131</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.63%;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:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;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:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;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:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:65.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;">Year Ended December 31, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.7%;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;width:12.52%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.71%;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;width:11.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;"><b style="font-weight:bold;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.44%;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;width:14.03%;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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.58%;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;width:13.3%;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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 2,251,560</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 363,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,615,277</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">$</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 3.6pt 0pt 0pt;"> 465,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 501,943</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital Expenditures</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 27,933</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,504</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,313</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,750</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10.63%;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:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;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:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;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:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:65.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;">Year Ended December 31, 2018</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.7%;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;width:12.52%;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;">Mechanical Services</b></p></td><td style="vertical-align:bottom;width:4.71%;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;width:11.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;"><b style="font-weight:bold;">Electrical Services</b></p></td><td style="vertical-align:bottom;width:5.44%;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;width:14.03%;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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.58%;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;width:13.3%;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;">Consolidated</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 2,176,223</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,656</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,182,879</p></td></tr><tr><td style="vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">$</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 3.6pt 0pt 0pt;"> 444,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,319</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 446,279</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital Expenditures</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;"> 25,945</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 57</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,266</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 27,268</p></td></tr></table> 1215985000 449588000 91782000 1757355000 1056609000 372254000 76149000 1505012000 2413016000 443643000 2856659000 509740000 37243000 546983000 22550000 955000 626000 24131000 2251560000 363717000 2615277000 465144000 36799000 501943000 27933000 1504000 2313000 31750000 2176223000 6656000 2182879000 444960000 1319000 446279000 25945000 57000 1266000 27268000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">17. Selected Quarterly Financial Data</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Quarterly financial information for the years ended December 31, 2020 and 2019 is summarized as follows (in thousands, except per share data):</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:57.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:40.3%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;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:8.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;"><b style="font-weight:bold;">Q1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q4</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">700,131</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">743,468</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">714,099</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">698,961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">117,093</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">145,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">147,196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">136,999</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">17,716</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">39,495</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">50,088</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">42,840</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">INCOME PER SHARE:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.48</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">1.08</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">1.37</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">1.18</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.48</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">1.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">1.36</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">1.17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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:57.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:40.3%;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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;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:8.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;"><b style="font-weight:bold;">Q1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q4</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">538,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">706,918</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">719,584</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">106,665</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">120,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">142,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">132,560</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">19,866</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">24,173</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">36,233</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">34,052</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">INCOME PER SHARE:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.54</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.65</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.98</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.93</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.92</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></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="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In the fourth quarter of 2019, we recorded a $4.8 million gain due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019.</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;"> </span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The sums of the individual quarterly earnings per share amounts do not necessarily agree with year-to-date earnings per share as each quarter’s computation is based on the weighted average number of shares outstanding during the quarter, the weighted average stock price during the quarter and the dilutive effects of options and contingently issuable restricted stock in each quarter.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Quarterly financial information for the years ended December 31, 2020 and 2019 is summarized as follows (in thousands, except per share data):</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:57.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:40.3%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;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:8.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;"><b style="font-weight:bold;">Q1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q4</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">700,131</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">743,468</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">714,099</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">698,961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">117,093</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">145,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">147,196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">136,999</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">17,716</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">39,495</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">50,088</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">42,840</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">INCOME PER SHARE:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.48</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">1.08</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">1.37</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">1.18</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.48</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">1.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">1.36</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">1.17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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:57.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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: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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:40.3%;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;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.7%;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:8.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;"><b style="font-weight:bold;">Q1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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:8.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;"><b style="font-weight:bold;">Q4</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">538,473</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">650,302</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">706,918</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">719,584</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">106,665</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">120,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">142,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">132,560</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">19,866</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">24,173</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">36,233</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">34,052</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">INCOME PER SHARE:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.54</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.65</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.98</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3.6pt 0pt 0pt;">0.93</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;margin: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 3.6pt 0pt 0pt;">0.92</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></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="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In the fourth quarter of 2019, we recorded a $4.8 million gain due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019.</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;"> </span></td></tr></table><div style="margin-top:12pt;"/> 700131000 743468000 714099000 698961000 117093000 145695000 147196000 136999000 17716000 39495000 50088000 42840000 0.48 1.08 1.37 1.18 0.48 1.08 1.36 1.17 538473000 650302000 706918000 719584000 106665000 120016000 142702000 132560000 19866000 24173000 36233000 34052000 0.54 0.65 0.98 0.93 0.53 0.65 0.98 0.92 4800000 XML 15 R1.htm IDEA: XBRL DOCUMENT v3.20.4
Document and Entity Information - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2020
Feb. 19, 2021
Jun. 30, 2020
Cover [Abstract]      
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2020    
Document Transition Report false    
Entity File Number 1-13011    
Entity Registrant Name Comfort Systems USA, Inc.    
Entity Incorporation, State or Country Code DE    
Entity Tax Identification Number 76-0526487    
Entity Address, Address Line One 675 Bering Drive    
Entity Address, Address Line Two Suite 400    
Entity Address, City or Town Houston    
Entity Address, State or Province TX    
Entity Address, Postal Zip Code 77057    
City Area Code 713    
Local Phone Number 830-9600    
Title of 12(b) Security Common Stock, $.01 par value    
Trading Symbol FIX    
Security Exchange Name NYSE    
Entity Well-known Seasoned Issuer Yes    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Large Accelerated Filer    
Entity Small Business false    
Entity Emerging Growth Company false    
Entity Shell Company false    
Entity Public Float     $ 1,450
Entity Common Stock, Shares Outstanding   36,185,179  
Entity Central Index Key 0001035983    
Document Fiscal Year Focus 2020    
Document Fiscal Period Focus FY    
Current Fiscal Year End Date --12-31    
Amendment Flag false    
ICFR Auditor Attestation Flag true    
XML 16 R2.htm IDEA: XBRL DOCUMENT v3.20.4
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
CURRENT ASSETS:    
Cash and cash equivalents $ 54,896 $ 50,788
Billed accounts receivable, less allowance for credit losses of $9,087 and $6,907, respectively 619,544 619,037
Unbilled accounts receivable, less allowance for credit losses of $784 and $0, respectively 45,596 55,542
Other receivables, less allowance for credit losses of $759 and $0, respectively 44,212 37,632
Inventories 13,472 10,053
Prepaid expenses and other 15,510 14,396
Costs and estimated earnings in excess of billings, less allowance for credit losses of $79 and $0, respectively 18,622 2,736
Total current assets 811,852 790,184
PROPERTY AND EQUIPMENT, NET 117,206 109,796
LEASE RIGHT-OF-USE ASSET 94,727 84,073
GOODWILL 464,392 332,447
IDENTIFIABLE INTANGIBLE ASSETS, NET 231,807 159,974
DEFERRED TAX ASSETS 29,401 21,923
OTHER NONCURRENT ASSETS 7,970 6,615
Total assets 1,757,355 1,505,012
CURRENT LIABILITIES:    
Current maturities of long-term debt   20,817
Accounts payable 204,145 196,195
Accrued compensation and benefits 121,864 102,891
Billings in excess of costs and estimated earnings 226,237 166,918
Accrued self-insurance 49,166 39,546
Other current liabilities 91,492 81,630
Total current liabilities 692,904 607,997
LONG-TERM DEBT, NET 235,733 205,318
LEASE LIABILITIES 80,576 72,697
DEFERRED TAX LIABILITIES 1,339 1,425
OTHER LONG-TERM LIABILITIES 50,374 32,271
Total liabilities 1,060,926 919,708
COMMITMENTS AND CONTINGENCIES
STOCKHOLDERS' EQUITY:    
Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding
Common stock, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively 411 411
Treasury stock, at cost, 4,935,186 and 4,465,448 shares, respectively (129,243) (103,960)
Additional paid-in capital 322,451 320,168
Retained earnings 502,810 368,685
Total stockholders' equity 696,429 585,304
Total liabilities and stockholders' equity $ 1,757,355 $ 1,505,012
XML 17 R3.htm IDEA: XBRL DOCUMENT v3.20.4
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
CONSOLIDATED BALANCE SHEETS    
Billed accounts receivable, allowance for credit losses (in dollars) $ 9,087 $ 6,907
Unbilled accounts receivable, allowance for credit losses (in dollars) 784 0
Other receivables, allowance for credit losses (In dollars) 759 0
Costs and estimated earnings in excess of billings, allowance for credit losses $ 79 $ 0
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized 5,000,000 5,000,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized 102,969,912 102,969,912
Common stock, shares issued 41,123,365 41,123,365
Treasury stock, shares 4,935,186 4,465,448
XML 18 R4.htm IDEA: XBRL DOCUMENT v3.20.4
CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
CONSOLIDATED STATEMENTS OF OPERATIONS      
REVENUE $ 2,856,659 $ 2,615,277 $ 2,182,879
COST OF SERVICES 2,309,676 2,113,334 1,736,600
Gross profit 546,983 501,943 446,279
SELLING, GENERAL AND ADMINISTRATIVE EXPENSES 357,777 340,005 296,986
GAIN ON SALE OF ASSETS (1,445) (1,701) (945)
Operating income 190,651 163,639 150,238
OTHER INCOME (EXPENSE):      
Interest income 103 224 73
Interest expense (8,385) (9,317) (3,710)
Changes in the fair value of contingent earn-out obligations 9,119 (2,991) (2,066)
Other 52 187 4,141
Other income (expense) 889 (11,897) (1,562)
INCOME BEFORE INCOME TAXES 191,540 151,742 148,676
PROVISION FOR INCOME TAXES 41,401 37,418 35,773
NET INCOME $ 150,139 $ 114,324 $ 112,903
INCOME PER SHARE:      
Basic (in shares) $ 4.11 $ 3.10 $ 3.03
Diluted (in shares) $ 4.09 $ 3.08 $ 3.00
SHARES USED IN COMPUTING INCOME PER SHARE:      
Basic (in shares) 36,542 36,854 37,202
Diluted (in shares) 36,738 37,131 37,592
DIVIDENDS PER SHARE (in dollars per share) $ 0.425 $ 0.395 $ 0.330
XML 19 R5.htm IDEA: XBRL DOCUMENT v3.20.4
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Cumulative Effect, Period of Adoption, Adjustment [Member]
Retained Earnings
Cumulative Effect, Period of Adoption, Adjustment [Member]
Common Stock
Treasury Stock
Additional Paid-In Capital
Retained Earnings
Total
BALANCE at Dec. 31, 2017     $ 411 $ (63,519) $ 312,784 $ 168,269 $ 417,945
BALANCE (in shares) at Dec. 31, 2017     41,123,365        
BALANCE (in shares) at Dec. 31, 2017       (3,936,291)      
Increase (Decrease) in Stockholders' Equity              
Net income           112,903 112,903
Issuance of Stock:              
Issuance of shares for options exercised       $ 3,618 (513)   3,105
Issuance of shares for options exercised (in shares)       206,875      
Issuance of restricted stock & performance stock       $ 2,227 (4)   2,223
Issuance of restricted stock & performance stock (in shares)       129,569      
Shares received in lieu of tax withholding payment on vested restricted stock       $ (1,540)     (1,540)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)       (36,967)      
Stock-based compensation         4,212   4,212
Dividends           (12,268) (12,268)
Share repurchase       $ (28,533)     (28,533)
Share repurchase (in shares)       (592,839)      
BALANCE at Dec. 31, 2018     $ 411 $ (87,747) 316,479 268,904 498,047
BALANCE (in shares) at Dec. 31, 2018     41,123,365        
BALANCE (in shares) at Dec. 31, 2018       (4,229,653)      
Increase (Decrease) in Stockholders' Equity              
Net income           114,324 114,324
Issuance of Stock:              
Issuance of shares for options exercised       $ 2,532 (182)   2,350
Issuance of shares for options exercised (in shares)       114,125      
Issuance of restricted stock & performance stock       $ 2,303 (297)   2,006
Issuance of restricted stock & performance stock (in shares)       107,606      
Shares received in lieu of tax withholding payment on vested restricted stock       $ (1,498)     (1,498)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)       (28,586)      
Stock-based compensation         4,168   4,168
Dividends           (14,543) (14,543)
Share repurchase       $ (19,550)     (19,550)
Share repurchase (in shares)       (428,940)      
BALANCE at Dec. 31, 2019     $ 411 $ (103,960) 320,168 368,685 $ 585,304
BALANCE (in shares) at Dec. 31, 2019     41,123,365       41,123,365
BALANCE (in shares) at Dec. 31, 2019       (4,465,448)     4,465,448
Increase (Decrease) in Stockholders' Equity              
Net income           150,139 $ 150,139
Issuance of Stock:              
Issuance of shares for options exercised       $ 2,811 (667)   2,144
Issuance of shares for options exercised (in shares)       113,731      
Issuance of restricted stock & performance stock       $ 3,102 (1,247)   1,855
Issuance of restricted stock & performance stock (in shares)       128,889      
Shares received in lieu of tax withholding payment on vested restricted stock       $ (1,076)     (1,076)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)       (27,724)      
Stock-based compensation         4,197   4,197
Dividends           (15,499) (15,499)
Share repurchase       $ (30,120)     (30,120)
Share repurchase (in shares)       (684,634)      
BALANCE at Dec. 31, 2020 $ (515) $ (515) $ 411 $ (129,243) $ 322,451 $ 502,810 $ 696,429
BALANCE (in shares) at Dec. 31, 2020     41,123,365       41,123,365
BALANCE (in shares) at Dec. 31, 2020       (4,935,186)     4,935,186
XML 20 R6.htm IDEA: XBRL DOCUMENT v3.20.4
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
CASH FLOWS FROM OPERATING ACTIVITIES:      
Net income $ 150,139 $ 114,324 $ 112,903
Adjustments to reconcile net income to net cash provided by operating activities-      
Amortization of identifiable intangible assets 32,698 27,082 20,089
Depreciation expense 27,931 24,490 22,600
Change in right-of-use assets 16,692 16,887  
Bad debt expense 5,253 2,978 3,562
Deferred tax provision (benefit) (7,953) (4,251) 4,456
Amortization of debt financing costs 544 387 383
Gain on sale of assets (1,445) (1,701) (945)
Changes in the fair value of contingent earn-out obligations (9,119) 2,991 2,066
Stock-based compensation 6,934 5,878 7,161
(Increase) decrease in-      
Receivables, net 38,486 (49,508) (68,621)
Inventories (1,457) 2,366 (1,538)
Prepaid expenses and other current assets (4,855) (15,519) 519
Costs and estimated earnings in excess of billings and unbilled accounts receivable 2,706 (4,312) (14,444)
Other noncurrent assets (1,373) (735) (114)
Increase (decrease) in-      
Accounts payable and accrued liabilities 11,087 31,046 47,871
Billings in excess of costs and estimated earnings 19,434 4,376 16,786
Other long-term liabilities 808 (14,751) (5,544)
Net cash provided by operating activities 286,510 142,028 147,190
CASH FLOWS FROM INVESTING ACTIVITIES:      
Purchases of property and equipment (24,131) (31,750) (27,268)
Proceeds from sales of property and equipment 2,270 2,159 1,698
Proceeds from sale of business   1,611  
Cash paid for acquisitions, net of cash acquired (185,941) (196,470) (70,140)
Net cash used in investing activities (207,802) (224,450) (95,710)
CASH FLOWS FROM FINANCING ACTIVITIES:      
Proceeds from revolving credit facility 268,000 356,000 124,000
Payments on revolving credit facility (226,000) (228,000) (119,000)
Payments on term loan (15,000)    
Payments on other debt (46,534) (3,784) (1,127)
Debt financing costs   (1,405) (844)
Payments of dividends to stockholders (15,499) (14,543) (12,268)
Share repurchase (30,120) (19,550) (28,533)
Shares received in lieu of tax withholding (1,076) (1,498) (1,540)
Proceeds from exercise of options 2,144 2,350 3,105
Deferred acquisition payments (650) (637) (750)
Payments for contingent consideration arrangements (9,865) (1,343) (5,445)
Net cash provided by (used in) financing activities (74,600) 87,590 (42,402)
NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS 4,108 5,168 9,078
CASH AND CASH EQUIVALENTS, beginning of period 50,788 45,620 36,542
CASH AND CASH EQUIVALENTS, end of period $ 54,896 $ 50,788 $ 45,620
XML 21 R7.htm IDEA: XBRL DOCUMENT v3.20.4
Business and Organization
12 Months Ended
Dec. 31, 2020
Business and Organization  
Business and Organization

1. Business and Organization

Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical and electrical contracting services, which principally includes heating, ventilation and air conditioning (“HVAC”), plumbing, electrical, piping and controls, as well as off-site construction, monitoring and fire protection. We install, maintain, repair and replace products and systems throughout the United States. Approximately 46.7% of our consolidated 2020 revenue is attributable to installation of systems in newly constructed facilities, with the remaining 53.3% attributable to maintenance, repair and replacement services. The terms “Comfort Systems,” “we,” “us,” or the “Company,” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.

XML 22 R8.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2020
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

2. Summary of Significant Accounting Policies

Principles of Consolidation

These financial statements are prepared in accordance with accounting principles generally accepted in the United States of America. The accompanying consolidated financial statements include our accounts and those of our subsidiaries in which we have a controlling interest. All significant intercompany accounts and transactions have been eliminated. Certain amounts in prior periods may have been reclassified to conform to the current period presentation. The effects of the reclassifications were not material to the consolidated financial statements.

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, self-insurance accruals, deferred tax assets, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing.

Cash Flow Information

We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents.

Cash paid (in thousands) for:

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Interest

$

7,684

$

8,817

$

3,743

Income taxes, net of refunds

$

51,286

$

45,288

$

33,401

Recent Accounting Pronouncements

In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326).” The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. The standard requires us to accrue higher credit losses on financial assets compared to the legacy guidance on various items, such as contract assets and current receivables. ASU No. 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. We adopted ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326),” on January 1, 2020,

and the impact was not material to our overall financial statements. The adoption of ASU No. 2016-13 resulted in an increase in Allowance for Credit Losses of $0.7 million, an increase to Deferred Tax Assets of $0.2 million and an impact of $0.5 million to Retained Earnings.

In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement.” This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU No. 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We have modified our fair value disclosures to conform with the requirements of ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement,” which we adopted on January 1, 2020.

In December 2019, the FASB issued ASU No. 2019-12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes.” This standard simplifies the accounting for income taxes by eliminating certain exceptions to the guidance in Topic 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The standard also simplifies aspects of the accounting for franchise taxes and enacted changes in tax laws or rates and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU No. 2019-12 is effective for fiscal years beginning after December 15, 2020 and interim periods within that year. Early adoption is permitted. We do not expect our adoption of this standard on January 1, 2021 to have a material impact on our consolidated financial statements.

Revenue Recognition

We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services. Our revenue recognition policy is further discussed in Note 3 “Revenue from Contracts with Customers.”

Accounts Receivable and Allowance for Credit Losses

We are required to estimate and record the expected credit losses over the contractual life of our financial assets measured at amortized cost, including billed and unbilled accounts receivable, other receivables and costs and estimated

earnings in excess of billings. Accounts receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. Our trade receivables are contractually due in less than a year.

We estimate our credit losses using a loss-rate method for each of our identified portfolio segments. Our portfolio segments are construction, service and other. While our construction and service financial assets are often with the same subset of customers and industries, our construction financial assets will generally have a lower loss-rate than service financial assets due to lien rights, which we are more likely to have on construction jobs. These lien rights result in lower credit loss expenses on average compared to receivables that do not have lien rights. Financial assets classified as “other” include receivables that are not related to our core revenue producing activities, such as receivables related to our acquisition activity from former owners, our vendor rebate program or receivables for estimated losses in excess of our insurance deductible, which are accrued with a corresponding accrued insurance liability.

Loss rates for our portfolios are based on numerous factors, including our history of credit loss expense by portfolio, the financial strength of our customers and counterparties in each portfolio, the aging of our receivables, our expectation of likelihood of payment, macroeconomic trends in the U.S. and the current and forecasted non-residential construction market trends in the U.S.

In addition to the loss-rate calculations discussed above, we also record allowance for credit losses for specific receivables that are deemed to have a higher risk profile than the rest of the respective pool of receivables, such as concerns about a specific customer going bankrupt and no longer being able to pay the receivables due to us.

Starting in March 2020, we experienced negative impacts to our business due to the disruption caused by Coronavirus Disease 2019 (“COVID-19”). In March 2020, the World Health Organization categorized COVID-19 as a pandemic, and the President of the United States declared the COVID-19 outbreak a national emergency. The Company considered the impact of COVID-19 on the assumptions and estimates used to determine the results reported and asset valuations as of December 31, 2020.

During the year ended December 31, 2020, we increased our loss rates and increased our specific reserves primarily due to the economic disruption caused by COVID-19, which is reflected in our bad debt expense in the current year. This increase was primarily, but not exclusively, due to concern over collectability of receivables from customers more directly impacted by COVID-19.

Activity in our allowance for credit losses consisted of the following (in thousands):

Year Ended December 31,

2020

Service

Construction

Other

Total

Balance at beginning of year

$

3,192

$

3,400

$

315

$

6,907

Impact of new accounting standard

310

331

54

695

Bad debt expense (benefit)

2,566

2,697

(10)

5,253

Deductions for uncollectible receivables written off, net of recoveries

(1,431)

(735)

(2,166)

Credit allowance of acquired companies on the acquisition date

335

335

Reclass to other current liabilities

(315)

(315)

Balance at December 31, 2020

$

4,637

$

6,028

$

44

$

10,709

Year Ended December 31,

    

2019

 

Balance at beginning of year

$

5,898

Bad debt expense (benefit)

 

2,978

Deductions for uncollectible receivables written off, net of recoveries

 

(3,924)

Credit allowance of acquired companies on the acquisition date

 

1,955

Balance at December 31, 2019

$

6,907

Inventories

Inventories consist of parts and supplies that we purchase and hold for use in the ordinary course of business and are stated at the lower of cost or net realizable value using the average-cost method.

Property and Equipment

Property and equipment are stated at cost, and depreciation is computed using the straight-line method over the estimated useful lives of the assets. Leasehold improvements are capitalized and amortized over the lesser of the expected life of the lease or the estimated useful life of the asset.

Expenditures for repairs and maintenance are charged to expense when incurred. Expenditures for major renewals and betterments, which extend the useful lives of existing equipment, are capitalized and depreciated over the remaining useful life of the equipment. Upon retirement or disposition of property and equipment, the cost and related accumulated depreciation are removed from the accounts and any resulting gain or loss is recognized in “Gain on sale of assets” in the Statement of Operations.

Recoverability of Goodwill and Identifiable Intangible Assets

Goodwill is the excess of purchase price over the fair value of the net assets of acquired businesses. We assess goodwill for impairment each year, and more frequently if circumstances suggest an impairment may have occurred.

When the carrying value of a given reporting unit exceeds its fair value, a goodwill impairment loss is recorded for this difference, not to exceed the carrying amount of goodwill. The requirements for assessing whether goodwill has been impaired involve market-based information. This information, and its use in assessing goodwill, entails some degree of subjective assessment.

We perform our annual impairment testing as of October 1, and any impairment charges resulting from this process are reported in the fourth quarter. We segregate our operations into reporting units based on the degree of operating and financial independence of each unit and our related management of them. We perform our annual goodwill impairment testing at the reporting unit level. We perform a goodwill impairment review for each of our operating units, as we have determined that each of our operating units are reporting units.

In the evaluation of goodwill for impairment, we have the option to first assess qualitative factors to determine whether the existence of events or circumstances lead to a determination that it is more likely than not that the fair value of one of our reporting units is greater than its carrying value. If, after completing such assessment, we determine it is more likely than not that the fair value of a reporting unit is greater than its carrying amount, then there is no need to perform any further testing. If we conclude otherwise, or if we elect to perform a quantitative assessment, then we calculate the fair value of the reporting unit and compare the fair value with the carrying value of the reporting unit.

We estimate the fair value of the reporting unit based on a market approach and an income approach, which utilizes discounted future cash flows. Assumptions critical to the fair value estimates under the discounted cash flow model include discount rates, cash flow projections, projected long-term growth rates and the determination of terminal values. The market approach utilizes market multiples of invested capital from comparable publicly traded companies (“public company approach”). The market multiples from invested capital include revenue, book equity plus debt and earnings before interest, provision for income taxes, depreciation and amortization (“EBITDA”).

We amortize identifiable intangible assets with finite lives over their useful lives. Changes in strategy and/or market condition may result in adjustments to recorded intangible asset balances or their useful lives.

Long-Lived Assets

Long-lived assets are comprised principally of goodwill, identifiable intangible assets, property and equipment, and deferred tax assets. We periodically evaluate whether events and circumstances have occurred that indicate that the remaining balances of these assets may not be recoverable. We use estimates of future income from operations and cash flows, as well as other economic and business factors, to assess the recoverability of these assets.

Acquisitions

We recognize assets acquired and liabilities assumed in business combinations, including contingent assets and liabilities, based on fair value estimates as of the date of acquisition.

Contingent Consideration—In certain acquisitions, we agree to pay additional amounts to sellers contingent upon achievement by the acquired businesses of certain predetermined profitability targets. We have recognized liabilities for these contingent obligations based on their estimated fair value at the date of acquisition with any differences between the acquisition date fair value and the ultimate settlement of the obligations being recognized in income from operations.

Contingent Assets and Liabilities—Assets and liabilities arising from contingencies are recognized at their acquisition date fair value when their respective fair values are determinable. Acquisition date fair value estimates are revised as necessary if, and when, additional information regarding these contingencies becomes available to further define and quantify assets acquired and liabilities assumed.

Self-Insurance Liabilities

We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks—workers’ compensation, auto liability and general liability—are reviewed by a third-party actuary quarterly. Our self-insurance arrangements are further discussed in Note 13 “Commitments and Contingencies.”

Warranty Costs

We typically warrant labor for the first year after installation on new MEP systems that we build and install, and we pass through to the customer manufacturers’ warranties on equipment. We generally warrant labor for thirty days after servicing existing MEP systems. A reserve for warranty costs is estimated and recorded based upon the historical level of warranty claims and management’s estimate of future costs.

Income Taxes

We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions and accounting for losses associated with underperforming operations.

Income taxes are provided for under the liability method, which takes into account differences between financial statement treatment and tax treatment of certain transactions. Deferred taxes are based on the difference between the financial reporting and tax basis of assets and liabilities. The deferred tax provision represents the change during the reporting period in the deferred tax assets and deferred tax liabilities, net of the effect of acquisitions and dispositions. Deferred tax assets include tax loss and credit carryforwards and are reduced by a valuation allowance if, based on available evidence, it is more-likely-than-not some portion or all of the deferred tax assets will not be realized.

We regularly evaluate valuation allowances established for deferred tax assets for which future realization is uncertain. In assessing the realizability of deferred tax assets, we must consider whether it is more-likely-than-not some portion, or all, of the deferred tax assets will not be realized. We consider all available evidence, both positive and negative, in determining whether a valuation allowance is required. Such evidence includes the scheduled reversal of deferred tax liabilities, projected future taxable income, taxable income in prior carryback years and tax planning strategies in making this assessment, and judgment is required in considering the relative weight of negative and positive evidence.

Significant judgment is required in assessing the timing and amounts of deductible and taxable items. We establish reserves when, despite our belief that our tax return positions are supportable, we believe that certain positions may be disallowed. When facts and circumstances change, we adjust these reserves through our provision for income taxes.

To the extent interest and penalties may be assessed by taxing authorities on any underpayment of income tax, such amounts have been accrued and are classified as a component in provision for income taxes in our Consolidated Statements of Operations.

Concentrations of Credit Risk

We provide services in a broad range of geographic regions. Our credit risk primarily consists of receivables from a variety of customers including general contractors, property owners and developers, and commercial and industrial companies. We are subject to potential credit risk related to changes in business and economic factors throughout the United States within the nonresidential construction industry. However, we are entitled to payment for work performed and have certain lien rights related to that work. Further, we believe that our contract acceptance, billing and collection policies are adequate to manage potential credit risk. We regularly review our accounts receivable and estimate an allowance for uncollectible amounts. We have a diverse customer base, with our top customer representing 5% of consolidated 2020 revenue.

Financial Instruments

Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, interest rate swaps, life insurance policies, notes to former owners, a revolving credit facility and a term loan. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values.

Insurance Recovery

We recorded a $4.8 million gain in the fourth quarter of 2019 due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019. Approximately $1.6 million of the gain was recorded as a reduction in SG&A, and the remainder was recorded as a reduction in Cost of Services expense.  These proceeds related to recoverable costs that were primarily incurred prior to the fourth quarter in 2019. We do not expect any additional insurance proceeds or other recoveries related to the ransomware incident.

XML 23 R9.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers
12 Months Ended
Dec. 31, 2020
Revenue from Contract with Customers  
Revenue from Contracts with Customers

3. Revenue from Contracts with Customers

Revenue is recognized when control of the promised goods or services is transferred to our customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue.

We provide mechanical and electrical contracting services. Our mechanical segment principally includes HVAC, plumbing, piping and controls, as well as off‑site construction, monitoring and fire protection. Our electrical segment includes installation and servicing of electrical systems. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed upon fixed price or based on actual costs incurred marked up at an agreed upon percentage.

For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed.

Non‑labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications and is a value-added element to our work. The costs are considered to be incurred when title is transferred to us, which typically is upon delivery to the work site. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.

We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.

 

Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs on our Balance Sheet and did not incur any impairment loss in the current year.

 

We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtainment or fulfillment costs on our Balance Sheet and did not incur any impairment loss on such costs in the current year.

Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in our Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Balance Sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Balance Sheet under the caption “Billings in excess of costs and estimated earnings.”

Contracts in progress are as follows (in thousands):

December 31,

 

    

2020

    

2019

 

Costs incurred on contracts in progress

$

3,103,580

$

2,518,581

Estimated earnings, net of losses

 

548,435

 

405,891

Less—Billings to date

 

(3,813,171)

 

(3,033,112)

Less—Unbilled accounts receivable

(45,596)

(55,542)

Less—Unbilled accounts receivable credit allowance

(784)

$

(207,536)

$

(164,182)

Costs and estimated earnings in excess of billings

$

18,622

$

2,736

Plus—Costs and estimated earnings in excess of billings credit allowance

79

Billings in excess of costs and estimated earnings

 

(226,237)

 

(166,918)

$

(207,536)

$

(164,182)

Accounts receivable include amounts billed to customers under retention or retainage provisions in construction contracts. Such provisions are standard in our industry and usually allow for a small portion of progress billings or the contract price to be withheld by the customer until after we have completed work on the project, typically for a period of six months. Based on our experience with similar contracts in recent years, the majority of our billings for such retention balances at each Balance Sheet date are finalized and collected within the subsequent year. Retention balances at

December 31, 2020 and 2019 were $124.1 million and $111.7 million, respectively, and are included in accounts receivable.

Accounts payable at December 31, 2020 and 2019 included $22.2 million and $15.8 million of retainage under terms of contracts with subcontractors, respectively. The majority of the retention balances at each Balance Sheet date are finalized and paid within the subsequent year.

The percentage of completion method of accounting is also affected by changes in job performance, job conditions, and final contract settlements. These factors may result in revisions to estimated costs and, therefore, revenue. Such revisions are frequently based on further estimates and subjective assessments. The effects of these revisions are recognized in the period in which revisions are determined. When such revisions lead to a conclusion that a loss will be recognized on a contract, the full amount of the estimated ultimate loss is recognized in the period such conclusion is reached, regardless of the percentage of completion of the contract.

Revisions to project costs and conditions can give rise to change orders under which there is an agreement between the customer and us that the customer pays an additional or reduced contract price. Revisions can also result in claims we might make against the customer to recover project variances that have not been satisfactorily addressed through change orders with the customer. Except in certain circumstances, we do not recognize revenue or margin based on change orders or claims until they have been agreed upon with the customer. The amount of revenue associated with unapproved change orders and claims was immaterial for the year ended December 31, 2020.

Variations from estimated project costs could have a significant impact on our operating results, depending on project size, and the recoverability of the variation via additional customer payments.

We typically invoice our customers with payment terms of net due in 30 days. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances, we receive payment of our invoices between 30 to 90 days of the date of the invoice.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.

 

To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and, in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation. 

We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process, as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

 

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

 

In our mechanical segment, for a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.

 

Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.

 

Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis.

 

We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g., to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables.

 

Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter when they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined.

 

The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of Services and record a liability on our Balance Sheet to cover our current estimated outstanding warranty obligations.

   

During the years ended December 31, 2020 and December 31, 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material. 

Disaggregation of Revenue

 

Our consolidated 2020 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 16 “Segment Information” for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and service provided, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. See details in the following tables (dollars in thousands):

Year Ended December 31,

Revenue by Service Provided

   

   

2020

   

2019

2018

Mechanical Services

$

2,413,016

   

84.5

%

$

2,251,560

   

86.1

%

$

2,176,223

99.7

%

Electrical Services

443,643

15.5

%

363,717

13.9

%

6,656

0.3

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Year Ended December 31,

Revenue by Type of Customer

2020

2019

 

2018

 

Industrial

$

1,112,075

38.9

%

$

886,668

33.9

%

$

596,557

27.3

%

Education

487,922

17.1

%

412,318

15.8

%

391,937

18.0

%

Office Buildings

319,426

11.2

%

348,640

13.3

%

288,090

13.2

%

Healthcare

371,105

13.0

%

358,155

13.7

%

319,958

14.7

%

Government

163,717

5.7

%

162,507

6.2

%

143,958

6.6

%

Retail, Restaurants and Entertainment

239,541

8.4

%

248,083

9.5

%

225,348

10.3

%

Multi-Family and Residential

86,799

3.0

%

104,693

4.0

%

136,075

6.2

%

Other

76,074

2.7

%

94,213

3.6

%

80,956

3.7

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Year Ended December 31,

Revenue by Activity Type

2020

2019

 

2018

New Construction

$

1,333,739

46.7

%

$

1,201,122

45.9

%

$

829,978

38.0

%

Existing Building Construction

910,807

31.9

%

793,159

30.3

%

796,946

36.5

%

Service Projects

241,402

8.4

%

231,228

8.9

%

206,506

9.5

%

Service Calls, Maintenance and Monitoring

370,711

13.0

%

389,768

14.9

%

349,449

16.0

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Contract Assets and Liabilities

Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional, subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.

Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets and liabilities are usually all

current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our consolidated Balance Sheets.

The following table presents the changes in contract assets and contract liabilities (in thousands):

Year Ended December 31,

Year Ended December 31,

2020

2019

Contract

    

Contract

Contract

    

Contract

Assets

Liabilities

Assets

Liabilities

Balance at beginning of period

$

2,736

$

166,918

$

10,213

$

130,986

Change due to acquisitions / disposals

9,509

39,885

6,573

31,556

Change related to credit allowance

(79)

Other changes in the period

6,456

19,434

(14,050)

4,376

Balance at end of period

$

18,622

$

226,237

$

2,736

 

$

166,918

During the years ended December 31, 2020 and 2019, we recognized revenue of $165.8 million and $126.7 million related to our contract liabilities at January 1, 2020 and January 1, 2019, respectively.

We did not have any impairment losses recognized on our receivables or contract assets in 2020 and 2019.

Remaining Performance Obligations

Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and exclude unexercised contract options. As of December 31, 2020, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.51 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next 12 months, with the remaining recognized thereafter. Our service maintenance agreements are generally one-year renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts with a term of less than one year; therefore, we do not report unfulfilled performance obligations for service maintenance agreements.

XML 24 R10.htm IDEA: XBRL DOCUMENT v3.20.4
Fair Value Measurements
12 Months Ended
Dec. 31, 2020
Fair Value Measurements  
Fair Value Measurements

4. Fair Value Measurements

Interest Rate Risk Management and Derivative Instruments

In April 2020, we entered into interest rate swap agreements to reduce our exposure to variable interest rates on our term loan and revolving credit facility. The notional amount covered by these interest rate swaps was $130.0 million as of December 31, 2020 and decreases to $80.0 million by November 30, 2021 until the termination date of September 30, 2022.

We use derivative instruments to manage exposure to market risk, including interest rate risk. All of our current derivatives are designated and accounted for as economic hedges.  Unsettled amounts under our economic hedges are recorded on the Balance Sheet at fair value in “Other Receivables” or “Other Current Liabilities.” Gains and losses on our interest rate swaps are recorded on the Income Statement in “Interest Expense.” For the year ended December 31, 2020, we recognized a net loss of $0.3 million related to our interest rate swaps. We currently do not have any derivatives that are accounted for as hedges under ASC 815.

Fair Value Measurement

We classify and disclose assets and liabilities carried at fair value in one of the following three categories:

Level 1—quoted prices in active markets for identical assets and liabilities;
Level 2—observable market-based inputs or unobservable inputs that are corroborated by market data; and
Level 3—significant unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.

The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of December 31, 2020 and 2019 (in thousands):

Fair Value Measurements at December 31, 2020

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

54,896

$

$

$

54,896

Life insurance—cash surrender value

$

$

5,420

$

$

5,420

Contingent earn-out obligations

$

$

$

25,979

$

25,979

Interest rate swap liability

$

$

42

$

$

42

Fair Value Measurements at December 31, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

50,788

$

$

$

50,788

Life insurance—cash surrender value

$

$

3,905

$

$

3,905

Contingent earn-out obligations

$

$

$

28,497

$

28,497

Cash and cash equivalents consist primarily of highly rated money market funds at a variety of well-known institutions with original maturities of three months or less. The original cost of these assets approximates fair value due to their short-term maturity. The Company’s outstanding term loan held by third-party financial institutions is carried at cost, adjusted for debt issuance costs. The Company’s term loan is not publicly traded and the carrying amount approximates fair value as the loan accrues interest at a variable rate. The carrying value of our borrowings associated with the Revolving Credit Facility approximate its fair value due to the variable rate on such debt.

We have life insurance policies covering 86 employees with a combined face value of $61.7 million. The policies are invested in several investment vehicles, and the fair value measurement of the cash surrender balance associated with these policies is determined using Level 2 inputs within the fair value hierarchy and will vary with investment performance. The cash surrender value of these policies was $5.4 million as of December 31, 2020 and $3.9 million as of December 31, 2019. These assets are included in “Other Noncurrent Assets” in our consolidated Balance Sheets.

We value contingent earn-out obligations using a probability weighted discounted cash flow method. This fair value measurement is based on significant unobservable inputs in the market and thus represents a Level 3 measurement within the fair value hierarchy. This analysis reflects the contractual terms of the purchase agreements (e.g., minimum and maximum payments, length of earn-out periods, manner of calculating any amounts due, etc.) and utilizes assumptions with regard to future cash flows, probabilities of achieving such future cash flows and a discount rate. The contingent earn-out obligations are measured at fair value each reporting period and changes in estimates of fair value are recognized in earnings. Significant unobservable inputs that could impact the fair value measurement include our weighted average cost of capital and the forecasted level of operating income for each earn-out measurement. As of December 31, 2020, cash flows were discounted using a weighted average cost of capital ranging from 9.5% - 17.0%.

The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands):

December 31,

 

2020

    

2019

 

Balance at beginning of year

 

$

28,497

    

$

7,375

 

Issuances

 

16,715

 

19,500

Settlements

(10,114)

(1,369)

Adjustments to fair value

 

(9,119)

 

2,991

Balance at end of year

$

25,979

$

28,497

The fair value for our interest rate swaps is based upon inputs corroborated by observable market data with similar tenors, which are considered Level 2 inputs. The Company’s outstanding term loan held by third-party financial institutions is carried at cost, adjusted for debt issuance costs. The Company’s term loan is not publicly traded and the carrying amount approximates fair value as the loan accrues interest at a variable rate. The carrying value of our borrowings associated with the revolving credit facility approximate its fair value due to the variable rate on such debt.

We measure certain assets at fair value on a nonrecurring basis. These assets are recognized at fair value when they are deemed to be other-than-temporarily impaired. No goodwill or other intangible asset impairments were recorded during the years ended December 31, 2020, 2019 and 2018. We did not recognize any other impairments on those assets required to be measured at fair value on a nonrecurring basis. See Note 6 “Goodwill and Identifiable Intangible Assets, Net” for further discussion.

XML 25 R11.htm IDEA: XBRL DOCUMENT v3.20.4
Acquisitions
12 Months Ended
Dec. 31, 2020
Acquisitions  
Acquisitions

5. Acquisitions

TAS Energy Inc. Acquisition

On April 1, 2020, we consummated a merger through which TAS Energy Inc. (“TAS”) became a wholly owned subsidiary of the Company. TAS is headquartered in Houston, Texas, and is a leading engineering, design and construction provider of modular construction systems serving the technology, power and industrial sectors. As a result of the acquisition, TAS is a wholly owned subsidiary of the Company reported in our mechanical services segment. Revenue attributable to TAS was $106.4 million for the nine months from the acquisition date.

The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):

Consideration transferred:

Cash paid at closing

$

105,950

Working capital adjustment

40,455

Notes issued to former owners

14,000

Estimated fair value of contingent earn-out payments

9,100

$

169,505

Recognized amounts of identifiable assets acquired and liabilities assumed:

Cash and cash equivalents

$

47,460

Billed and unbilled accounts receivable

18,702

Other current assets

15,634

Other long-term assets

1,556

Property and equipment

7,709

Goodwill

72,788

Identifiable intangible assets

53,400

Lease right-of-use asset

19,736

Accounts payable

(16,453)

Billings in excess of costs and estimated earnings

(24,196)

Current lease liabilities

(2,337)

Accrued expenses and other current liabilities

(4,109)

Long-term lease liabilities

(17,398)

Other long-term liabilities

(2,987)

$

169,505

The allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of intangible assets and accrued liabilities. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. The goodwill recognized as a result of the TAS acquisition is not deductible for tax purposes.

In estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset. In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return. The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value. Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs.

The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates ranging from 15% - 23.5%. Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.

As a result of the TAS acquisition, we acquired $53.2 million of federal net operating loss (“NOL”) carryforwards and $6.5 million of state NOL carryforwards. Our ability to utilize these NOL carryforwards to reduce taxable income in future years is subject to significant limitations under Section 382 of the Internal Revenue Code (the “Code”) due to the ownership change in TAS on April 1, 2020. While we expect to fully utilize the federal NOL carryforwards before they begin to expire in 2031, a full valuation allowance was recorded against virtually all of the state NOL carryforwards. We do not believe it is more-likely-than-not that TAS will have sufficient revenue-generating operations in those states in the future.

The acquired intangible assets include the following (dollars in thousands):

Valuation Method

Estimated Useful Life

Estimated Fair Value

Backlog

Excess earnings

1 year

$

5,200

Trade Name

Relief-from-royalty

25 years

8,200

Customer Relationships

Excess earnings

10 years

40,000

Total

$

53,400

The contingent earn-out obligation is associated with the achievement of specified earnings milestones over a 27-month period, and the range of estimated milestone payments is from $1 million to $8 million. We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement. Cash flows were discounted using a 17.7% discount rate, which we believe is appropriate and representative of a market participant assumption. Subsequent to the acquisition date, the contingent earn-out obligation is re-measured at fair value each reporting period. Changes in the estimated fair value of the contingent payments subsequent to the acquisition date are recognized immediately in earnings.

T E C Industrial Construction and Maintenance Acquisition

On December 31, 2020, we consummated an acquisition of all outstanding equity interests of Tennessee Electric Company, Inc. dba TEC Industrial Maintenance and Construction (“T E C”). T E C is headquartered in Kingsport, Tennessee, and provides multidisciplined construction and industrial services, including electrical, mechanical and other plant services, primarily in Tennessee and surrounding states. As a result of the acquisition, T E C is a wholly owned subsidiary of the Company reported in our electrical services segment. T E C did not contribute to our revenue in 2020.

The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):

Consideration transferred:

Cash paid at closing

$

73,000

Working capital adjustment

2,006

Notes issued to former owners

7,000

Estimated fair value of contingent earn-out payments

7,560

$

89,566

Recognized amounts of identifiable assets acquired and liabilities assumed:

Cash and cash equivalents

$

4

Billed and unbilled accounts receivable

13,660

Costs in excess of billings

2,040

Other current assets

108

Other long-term assets

53

Property and equipment

912

Goodwill

44,431

Identifiable intangible assets

37,200

Lease right-of-use asset

1,234

Accounts payable

(4,123)

Billings in excess of costs and estimated earnings

(2,838)

Current lease liabilities

(175)

Accrued expenses and other current liabilities

(1,881)

Long-term lease liabilities

(1,059)

$

89,566

The allocation of the purchase price to the assets acquired and liabilities assumed is preliminary and, therefore, subject to change pending the completion of the final valuation of identifiable assets acquired and liabilities assumed. Goodwill represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. All of the goodwill recognized as a result of the T E C acquisition is tax deductible.

In estimating the fair value of the acquired intangible assets, we utilized the valuation methodology determined to be the most appropriate for the individual intangible asset. In order to estimate the fair value of the backlog and customer relationships, we utilized an excess earnings methodology, which consisted of the projected cash flows attributable to these assets discounted to present value using a risk-adjusted discount rate that represented the required rate of return. The trade name value was determined based on the relief-from-royalty method, which applies a royalty rate to the revenue stream attributable to this asset, and the resulting royalty payment is tax effected and discounted to present value. Some of the more significant estimates and assumptions inherent in determining the fair value of the identifiable intangible assets are associated with forecasting cash flows and profitability, which represent Level 3 inputs. The primary assumptions used were generally based upon the present value of anticipated cash flows discounted at rates ranging from 14% - 15%. Estimated years of projected earnings generally follow the range of estimated remaining useful lives for each intangible asset class.

The acquired intangible assets include the following (dollars in thousands):

    

Valuation

    

Estimated

    

Estimated

    

Method

    

Useful Life

    

Fair Value

Backlog

 

Excess earnings

 

2 years

$

7,200

Trade Name

 

Relief-from-royalty

 

20 years

 

5,800

Customer Relationships

 

Excess earnings

 

9 years

24,200

Total

$

37,200

The contingent earn-out obligation is associated with the achievement of specified earnings milestones over a three year period, and the range of estimated milestone payments is from less than $1 million to $5 million. We determined the initial fair value of the contingent earn-out obligation based on the Monte Carlo Simulation method, which represents a Level 3 measurement. Cash flows were discounted using a 12.9% discount rate, which we believe is appropriate and representative of a market participant assumption. Subsequent to the acquisition date, the contingent earn-out obligation is re-measured at fair value each reporting period. Changes in the estimated fair value of the contingent payments subsequent to the acquisition date are recognized immediately in earnings.

Other Acquisitions

In addition to the TAS and T E C acquisitions, we completed the acquisition of an electrical contractor in North Carolina in the first quarter of 2020 with a total purchase price of $41.6 million. This acquisition is reported in our electrical services segment.

In the second quarter of 2019, we acquired all of the issued and outstanding stock of Walker TX Holding Company, LLC and each of its wholly owned subsidiaries (collectively “Walker”) for $235.4 million of which $187.0 million was allocated to goodwill and identifiable intangible assets. The total purchase price included $178.0 million in cash, $25.0 million in notes payable to former owners, a $20.5 million advance to former owners, a $19.5 million contingent earn-out obligation and a $0.2 million tax equalization payment, offset by a $7.8 million working capital adjustment. Walker is a full-service electrical contracting and network infrastructure engineering business serving commercial and industrial clients with headquarters in Irving, Texas, and operations throughout the state of Texas. As a result of the acquisition, Walker is a wholly owned subsidiary of the Company reported in our electrical services segment. In addition to the Walker acquisition, we completed two additional acquisitions in 2019 which were “tucked-in” with existing operations. The total purchase price for these additional acquisitions, including earn-outs, was $2.6 million.

The results of operations of acquisitions are included in our consolidated financial statements from their respective acquisition dates. Our consolidated Balance Sheet includes preliminary allocations of the purchase price to the assets acquired and liabilities assumed for the applicable acquisitions pending the completion of the final valuation of intangible assets and accrued liabilities. Excluding the Walker and TAS acquisitions, the acquisitions completed in 2020 and the prior year were not material, individually or in the aggregate. Additional contingent purchase price (“earn-out”) has been or will be paid if certain acquisitions achieve predetermined profitability targets. Such earn-outs, when they are not subject to the continued employment of the sellers, are estimated as of the purchase date and included as part of the consideration paid for the acquisition. If we have an earn-out under which continued employment is a condition to receipt of payment, then the earn-out is recorded as compensation expense over the period earned. 

XML 26 R12.htm IDEA: XBRL DOCUMENT v3.20.4
Goodwill and Identifiable Intangible Assets, Net
12 Months Ended
Dec. 31, 2020
Goodwill and Identifiable Intangible Assets, Net  
Goodwill and Identifiable Intangible Assets, Net

6. Goodwill and Identifiable Intangible Assets, Net

Goodwill

The changes in the carrying amount of goodwill are as follows (in thousands):

Mechanical Services

Electrical Services

    

Segment

    

Segment

Total

Balance at December 31, 2018

$

235,182

$

$

235,182

Acquisitions and purchase price adjustments (See Note 5)

 

579

 

96,686

97,265

Impact of segment reorganization

(1,101)

1,101

Balance at December 31, 2019

234,660

97,787

332,447

Acquisitions and purchase price adjustments (See Note 5)

72,788

59,157

131,945

Balance at December 31, 2020

$

307,448

$

156,944

$

464,392

The aggregate goodwill balance as of December 31, 2020 and 2019 includes $116.6 million of accumulated impairment charges, all of which relate to the mechanical services segment.

We perform our annual impairment testing on October 1, or more frequently, if events and circumstances indicate impairment may have occurred. As discussed in Note 2, “Summary of Significant Accounting Policies,” we have the option to first perform a qualitative assessment to determine whether it is more likely than not that the fair value of the reporting unit is less than the carrying value.

During our annual impairment testing on October 1, 2019, we performed a quantitative assessment where the fair value of each reporting unit was estimated using a discounted cash flow model combined with a market valuation approach. We assigned a weighting of 50% to the discounted cash flow analysis and 50% to the public company approach for the year ended December 31, 2019. Based on this assessment, we concluded that the fair value of each of the reporting units was greater than its carrying value. The calculated fair values for the majority of the Company’s reporting units that have goodwill were significantly in excess (all greater than 80%) of the respective reporting unit’s carrying value, while two reporting units that were recently acquired had calculated fair values in excess of carrying value of at least 27%.

During our annual impairment testing on October 1, 2020, we performed a qualitative assessment for all of our reporting units except one, which considered various factors, including changes in the carrying value of the reporting unit, forecasted operating results, long-term growth rates and discount rates. Additionally, we considered qualitative key events and circumstances (i.e. macroeconomic environment, industry and market specific conditions, cost factors and events specific to the reporting unit, etc.). Based on this assessment, we concluded that it was more likely than not that the fair value of each of the reporting units was greater than its carrying value. Accordingly, no further testing was required. For Walker, we performed a step 1 quantitative assessment and the calculated fair value exceeded the carrying value by 24%. As a result of uncertainty caused by COVID-19 and Walker’s smaller excess of fair value percentage, this reporting unit is more susceptible to impairment risk from additional adverse changes in its operating environment, including micro- and macroeconomic environment conditions that could negatively impact them. Such adverse changes could include worsening economic conditions in the locations or markets they primarily serve, whether due to COVID-19 or other events and conditions. As of December 31, 2020, Walker had a goodwill balance of $96.8 million.

There are significant inherent uncertainties and management judgment involved in estimating the fair value of each reporting unit. While we believe we have made reasonable estimates and assumptions to estimate the fair value of our reporting units, it is possible that a material change could occur. If actual results are not consistent with our current estimates and assumptions, or the current economic outlook worsens, goodwill impairment charges may be recorded in future periods.

Identifiable Intangible Assets, Net

Identifiable intangible assets consist of the following (dollars in thousands):

Weighted-Average

December 31, 2020

December 31, 2019

    

Remaining Useful Lives

    

Gross Book

    

Accumulated

    

Gross Book

    

Accumulated

    

in Years

    

Value

    

Amortization

    

Value

    

Amortization

Customer Relationships

 

8.0

$

255,692

$

(103,919)

$

183,061

$

(80,813)

Backlog

 

2.0

 

19,800

 

(12,600)

 

7,400

 

(6,388)

Trade Names

 

20.5

 

91,495

 

(18,661)

 

71,995

 

(15,281)

Total

11.7

$

366,987

$

(135,180)

$

262,456

$

(102,482)

The amounts attributable to customer relationships and tradenames are amortized to “Selling, General and Administrative Expenses” based upon the estimated consumption of their economic benefits, or a straight-line method over periods from one to twenty-five years if the pattern of economic benefit cannot otherwise be reliably estimated. The amounts attributable to backlog are being amortized to “Cost of Services” on a proportionate method over the remaining backlog period. Amortization expense for the years ended December 31, 2020, 2019 and 2018 was $32.7 million, $27.1 million and $20.1 million, respectively.

As of December 31, 2020, future amortization expense of identifiable intangible assets was as follows (in thousands):

Year ended December 31—

    

    

2021

$

32,344

2022

 

27,412

2023

 

23,514

2024

 

22,164

2025

19,977

Thereafter

 

106,396

Total

$

231,807

XML 27 R13.htm IDEA: XBRL DOCUMENT v3.20.4
Property and Equipment
12 Months Ended
Dec. 31, 2020
Property and Equipment  
Property and Equipment

7. Property and Equipment

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

Estimated

 

    

Useful Lives

    

December 31,

 

    

in Years

    

2020

    

2019

 

Land

 

$

7,167

$

6,206

Transportation equipment

 

1 - 7

 

113,802

 

106,972

Machinery and equipment

 

1 - 20

 

43,386

 

35,575

Computer and telephone equipment

 

1 - 10

 

23,215

 

20,744

Buildings and leasehold improvements

 

1 - 40

 

69,683

 

62,301

Furniture and fixtures

 

1 - 17

5,861

5,244

Construction in progress

 

 

1,294

 

2,123

 

264,408

 

239,165

Less—Accumulated depreciation

 

(147,202)

 

(129,369)

Property and equipment, net

$

117,206

$

109,796

Depreciation expense for the years ended December 31, 2020, 2019 and 2018 was $27.9 million, $24.5 million and $22.6 million, respectively.

XML 28 R14.htm IDEA: XBRL DOCUMENT v3.20.4
Detail of Other Current Liabilities
12 Months Ended
Dec. 31, 2020
Detail of Other Current Liabilities  
Detail of Other Current Liabilities

8. Detail of Other Current Liabilities

Other current liabilities consist of the following (in thousands):

December 31,

 

    

2020

    

2019

 

Accrued warranty costs

$

8,914

$

7,452

Current lease liability

16,586

14,016

Accrued job losses

 

2,151

 

2,226

Accrued sales and use tax

 

3,731

 

2,938

Deferred revenue

 

4,559

 

5,506

Liabilities due to former owners

 

10,280

 

11,219

Other current liabilities

 

45,271

 

38,273

$

91,492

$

81,630

XML 29 R15.htm IDEA: XBRL DOCUMENT v3.20.4
Debt Obligations
12 Months Ended
Dec. 31, 2020
Debt Obligations  
Debt Obligations

9. Debt Obligations

Debt obligations consist of the following (in thousands):

December 31,

 

2020

    

2019

 

Revolving credit facility

$

70,000

$

28,000

Term loan

135,000

150,000

Notes to former owners

31,000

 

48,483

Total principal amount

236,000

 

226,483

Less—unamortized debt issuance costs

(267)

(348)

Total debt, net of unamortized debt issuance costs

235,733

226,135

Less—current portion

 

(20,817)

Total long-term portion of debt, net

$

235,733

$

205,318

At December 31, 2020, future principal payments of debt are as follows (in thousands):

Year ended December 31—

    

    

2021

    

$

 

2022

 

23,000

2023

 

34,000

2024

 

26,500

2025

 

152,500

Thereafter

$

236,000

Interest expense included the following primary elements (in thousands):

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Interest expense on notes to former owners

$

1,354

$

1,531

$

642

Interest expense on borrowings and unused commitment fees

 

5,319

 

6,887

 

2,211

Interest expense on interest rate swaps

338

Letter of credit fees

 

830

 

512

 

474

Amortization of debt financing costs

 

544

 

387

 

383

Total

$

8,385

$

9,317

$

3,710

Revolving Credit Facility and Term Loan

In December 2019, we amended our senior credit facility (the “Facility”) provided by a syndicate of banks, increasing our borrowing capacity from $400.0 million to $600.0 million.  As amended, the Facility is composed of a revolving credit line in the amount of $450.0 million and a $150.0 million term loan, and the Facility also provides for a $150.0 million accordion or increase option for the revolving portion of the Facility. As of December 31, 2020, the Facility capacity was $585.0 million as the term loan was paid down by $15.0 million since the inception of the Facility. The amended Facility also includes a sublimit of up to $160.0 million issuable in the form of letters of credit. The Facility expires in January 2025 and is secured by a first lien on substantially all of our personal property except for assets related to projects subject to surety bonds and assets held by certain unrestricted subsidiaries and our wholly owned captive insurance company, and a second lien on our assets related to projects subject to surety bonds. In 2019, we incurred approximately $1.4 million in financing and professional costs in connection with an amendment to the Facility which are being amortized over the remaining term of the Facility. Of this amount, $0.4 million is attributable to the term loan and is being amortized using the effective interest method. The remaining $1.0 million is attributable to the revolving credit line, which combined with the previous unamortized costs of $1.3 million, is being amortized over the remaining term of the Facility on a straight-line basis as a non-cash charge to interest expense. For the term loan, we are required to make quarterly payments increasing over time from 1.25% to 3.75% of the original aggregate principal amount of the term loan, with the balance due in January 2025. As of December 31, 2020, we had $135.0 million

principal outstanding on the term loan, $70.0 million of outstanding borrowings on the revolving credit facility, $49.5 million in letters of credit outstanding and $330.5 million of credit available.

Collateral

A common practice in our industry is the posting of payment and performance bonds with customers. These bonds are offered by financial institutions known as sureties and provide assurance to the customer that in the event we encounter significant financial or operational difficulties, the surety will arrange for the completion of our contractual obligations and for the payment of our vendors on the projects subject to the bonds. In cooperation with our lenders, we granted our sureties a first lien on assets such as receivables, costs and estimated earnings in excess of billings, and equipment specifically identifiable to projects for which bonds are outstanding, as collateral for potential obligations under bonds. As of December 31, 2020, the book value of these assets was approximately $167.8 million.

Covenants and Restrictions

The Facility contains financial covenants defining various financial measures and the levels of these measures with which we must comply. Covenant compliance is assessed as of each quarter end. Credit Facility Adjusted EBITDA is defined under the Facility for financial covenant purposes as net earnings for the four quarters ending as of any given quarterly covenant compliance measurement date, plus the corresponding amounts for (a) interest expense; (b) provision for income taxes; (c) depreciation and amortization; (d) stock compensation; (e) other non-cash charges; and (f) pre-acquisition results of acquired companies. The following is a reconciliation of Credit Facility Adjusted EBITDA to net income for 2020 (in thousands):

Net income

    

$

150,139

 

Provision for income taxes

 

41,401

Interest expense, net

 

8,282

Depreciation and amortization expense

 

60,629

Stock-based compensation

 

6,934

Pre-acquisition results of acquired companies, as defined under the Facility

 

18,511

Credit Facility Adjusted EBITDA

$

285,896

The Facility’s principal financial covenants include:

Total Leverage Ratio—The Facility requires that the ratio of our Consolidated Total Indebtedness to our Credit Facility Adjusted EBITDA not exceed 3.00 to 1.00 as of the end of each fiscal quarter. The leverage ratio as of December 31, 2020 was 0.8.

Fixed Charge Coverage Ratio—The Facility requires that the ratio of (a) Credit Facility Adjusted EBITDA, less non-financed capital expenditures, provision for income taxes, dividends and amounts used to repurchase stock when the Company’s Total Leverage Ratio exceeds 2.00 to 1.00 to (b) the sum of interest expense and scheduled principal payments of indebtedness be at least 1.50 to 1.00. Credit Facility Adjusted EBITDA, capital expenditures, provision for income taxes, dividends, stock repurchase payments, interest expense, and scheduled principal payments are defined under the Facility for purposes of this covenant, to be amounts for the four quarters ending as of any given quarterly covenant compliance measurement date. The fixed charge coverage ratio as of December 31, 2020 was 7.2.

Other Restrictions—The Facility permits acquisitions of up to $5.0 million per transaction, provided that the aggregate purchase price of such an acquisition and of acquisitions in the same fiscal year does not exceed $10.0 million. However, these limitations only apply when the Company’s Total Leverage Ratio is greater than 2.50 to 1.00.

While the Facility’s financial covenants do not specifically govern capacity under the Facility, if our debt level under the Facility at a quarter-end covenant compliance measurement date were to cause us to violate

the Facility’s leverage ratio covenant, our borrowing capacity under the Facility and the favorable terms that we currently have could be negatively impacted by the lenders.

We were in compliance with all of our financial covenants as of December 31, 2020.

Interest Rates and Fees

There are two interest rate options for borrowings under the Facility, the Base Rate Loan Option and the Eurodollar Rate Loan Option. Additional margins are then added to these two rates. Under the Base Rate Loan Option, the interest rate is determined based on the highest of the Federal Funds Rate plus 0.5%, the prime lending rate offered by Wells Fargo Bank, N.A. or the one-month Eurodollar Rate plus 1.00%. Under the Eurodollar Rate Loan Option, the interest rate is determined based on the one- to six-month Eurodollar Rate. The Eurodollar Rate corresponds very closely to rates described in various general business media sources as the London Interbank Offered Rate or “LIBOR.” Additional margins are then added to these rates. The additional margins are determined based on the ratio of our Consolidated Total Indebtedness as of a given quarter end to our “Credit Facility Adjusted EBITDA,” which shall mean Consolidated EBITDA as such term is defined in the credit agreement, for the twelve months ending as of that quarter end.

The interest rates under the Facility are floating rates determined by the broad financial markets, meaning they can and do move up and down from time to time. For illustrative purposes, the following are the respective market rates as of December 31, 2020 relating to interest options under the Facility:

Base Rate Loan Option:

    

    

 

Federal Funds Rate plus 0.50%

    

0.59%

Wells Fargo Bank, N.A. Prime Rate

3.25%

One-month LIBOR plus 1.00%

1.14%

Eurodollar Rate Loan Option:

One-month LIBOR

0.14%

Six-month LIBOR

0.26%

Certain of our vendors require letters of credit to ensure reimbursement for amounts they are disbursing on our behalf, such as to beneficiaries under our self-funded insurance programs. We have also occasionally used letters of credit to guarantee performance under our contracts and to ensure payment to our subcontractors and vendors under those contracts. Our lenders issue such letters of credit through the Facility. A letter of credit commits the lenders to pay specified amounts to the holder of the letter of credit if the holder demonstrates that we have failed to perform specified actions. If this were to occur, we would be required to reimburse the lenders for amounts they fund to honor the letter of credit holder’s claim. Absent a claim, there is no payment or reserving of funds by us in connection with a letter of credit. However, because a claim on a letter of credit would require immediate reimbursement by us to our lenders, letters of credit are treated as a use of facility capacity just the same as actual borrowings. We have never had a claim made against a letter of credit that resulted in payments by a lender or by us and believe such claim is unlikely in the foreseeable future.

Commitment fees are payable on the portion of the revolving loan capacity not in use for borrowings or letters of credit at any given time. Letter of credit fees and commitment fees are based on the ratio of Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA.

Consolidated Total Indebtedness to

 

Credit Facility Adjusted EBITDA

 

    

Less than 1.00

    

1.00 to 1.75

    

1.75 to 2.50

    

2.50 or greater

 

Additional Per Annum Interest Margin Added Under:

Base Rate Loan Option

0.25

%  

0.50

%  

0.75

%  

1.00

%

Eurodollar Rate Loan Option

1.25

%

1.50

%

1.75

%

2.00

%

Letter of credit fees

1.25

%

1.50

%

1.75

%

2.00

%

Commitment fees on any portion of the Revolving Loan capacity not in use for borrowings or letters of credit at any given time

0.20

%  

0.25

%  

0.30

%  

0.35

%  

The weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of December 31, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of December 31, 2020.

Notes to Former Owners

As part of the consideration used to acquire four companies, we have outstanding notes to the former owners. Together, these notes had an outstanding balance of $31.0 million as of December 31, 2020. In conjunction with the acquisition of T E C in the fourth quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $7.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 2.5%. The principal is due in December 2023. In conjunction with the acquisition of TAS in the second quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $8.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.5%. The principal is due in April 2022. In conjunction with the acquisition of the electrical contractor in North Carolina in the first quarter of 2020, we issued a promissory note to former owners with an outstanding balance of $6.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in installments in February 2023 and February 2024. In conjunction with the Walker acquisition in the second quarter of 2019, we issued a promissory note to former owners with an outstanding balance of $10.0 million as of December 31, 2020 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The remaining principal is due in April 2023.

XML 30 R16.htm IDEA: XBRL DOCUMENT v3.20.4
Leases
12 Months Ended
Dec. 31, 2020
Leases  
Leases

10. Leases

We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to $7.7 million in 2020 and $8.4 million in 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of December 31, 2020 and 2019 was 4.2% and 3.9%, respectively. We recognize lease expense, including escalating lease payments and lease incentives, on a straight-line basis over the lease term. Lease expense for the years ended December 31, 2020, 2019 and 2018 was $28.2 million, $24.8 million and $23.4 million, respectively.

The lease terms generally range from three to ten years. Some leases include one or more options to renew, which may be exercised to extend the lease term. We include the exercise of lease renewal options in the lease term when it is reasonably certain that we will exercise the option and such exercise is at our sole discretion. The weighted average remaining lease term was 7.5 years at December 31, 2020 and 8.1 years at December 31, 2019.

A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the years ended December 31, 2020, 2019 and 2018 was approximately $4.2 million, $3.7 million and $4.8 million, respectively.

If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions, we rent or sublease certain real estate assets that we no longer use to third parties.

The following table summarizes the lease assets and liabilities included in the consolidated Balance Sheet as follows (in thousands):

December 31, 2020

December 31, 2019

Lease right-of-use assets

$

94,727

$

84,073

Lease liabilities:

Other current liabilities

$

16,586

$

14,016

Long-term lease liabilities

80,576

72,697

Total lease liabilities

$

97,162

$

86,713

The maturities of lease liabilities as of December 31, 2020 are as follows (in thousands):

Year ending December 31—

2021

$

20,254

2022

17,004

2023

14,727

2024

13,221

2025

12,108

Thereafter

36,645

Total Lease Payments

113,959

Less—Present Value Discount

(16,797)

Present Value of Lease Liabilities

$

97,162

Supplemental information related to leases was as follows (in thousands):

Year Ended December 31,

2020

2019

Cash paid for amounts included in the measurement of lease liabilities

$

20,443

$

16,895

Lease right-of-use assets obtained in exchange for lease liabilities

$

27,346

$

26,811

XML 31 R17.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes
12 Months Ended
Dec. 31, 2020
Income Taxes  
Income Taxes

11. Income Taxes

Provision for Income Taxes

Our provision for income taxes relating to continuing operations consists of the following (in thousands):

December 31,

 

    

2020

    

2019

    

2018

 

Current tax provision—

Federal

$

36,556

$

33,281

$

22,728

State and Puerto Rico

 

12,798

 

8,388

 

8,589

Total current

 

49,354

 

41,669

 

31,317

Deferred tax provision (benefit)—

Federal

 

(5,483)

 

(3,750)

 

4,347

State and Puerto Rico

 

(2,470)

 

(501)

 

109

Total deferred

 

(7,953)

 

(4,251)

 

4,456

Provision for income taxes

$

41,401

$

37,418

$

35,773

The provision for income taxes for the years ended December 31, 2020, 2019 and 2018 resulted in effective tax rates on continuing operations of 21.6%, 24.7% and 24.1%, respectively. The reasons for the differences between these effective tax rates and the federal statutory rates are as follows (in thousands):

December 31,

 

    

2020

    

2019

    

2018

 

Federal statutory rate of—

21

%

21

%

21

%

Income taxes at the federal statutory rate

$

40,223

$

31,866

$

31,222

Increases (decreases) resulting from—

Net state income taxes

 

8,406

 

6,644

 

7,470

Valuation allowances

 

(254)

 

(279)

 

(2,852)

Net unrecognized tax benefits

 

18,557

 

7,338

 

(15)

Nondeductible expenses

 

2,470

 

2,180

 

1,926

R&D tax credit

 

(26,133)

 

(4,569)

 

(2,726)

179D deduction

(1,062)

(5,126)

Net operating loss carryforwards

2,225

Stock-based compensation deductions

(426)

(714)

(1,293)

Other

 

(380)

 

78

 

(184)

Provision for income taxes

$

41,401

$

37,418

$

35,773

Our provision for income taxes was reduced by $2.8 million in the first quarter of 2018 due to a reduction in unrecognized tax benefits from the filing of a federal income tax automatic accounting method change application.

In the third quarter of 2019, we filed an amended federal return for 2015 to claim the credit for increasing research activities (the “R&D tax credit”) and recorded a $4.6 million tax benefit that was fully offset by an addition to unrecognized tax benefits. We previously filed an amended federal return for 2014 to claim the R&D tax credit during 2018 and recorded a $2.7 million tax benefit that was also fully offset by an addition to unrecognized tax benefits. These $7.3 million of tax benefits were fully offset by additions to unrecognized tax benefits due to the uncertainty of the outcome from examinations opened by the Internal Revenue Service (the “IRS”). As a result, the R&D tax credit claimed had no impact on our effective tax rates.

During 2018, we dissolved our Puerto Rican subsidiary and thus wrote-off the remaining $2.2 million of net operating loss (“NOL”) carryforwards and related valuation allowance. The dissolution of our Puerto Rican subsidiary did not have an impact on our 2018 effective tax rate.

For the year ended December 31, 2019, our provision for income taxes was reduced by $2.2 million due to benefits from the filing, and expected filing, of amended returns to claim the energy efficient commercial buildings deduction (the “179D deduction”) allocated to us.

During the third quarter of 2020, the IRS completed its examination of our amended federal returns for 2014 and 2015 and issued a Revenue Agent Report (“RAR”) allowing the $8.9 million of refund claims in full. Subsequently, the Joint Committee on Taxation (the “JCT”) reviewed and approved the refund claims. As a result, our provision for income taxes was reduced by $8.3 million due to a reduction in unrecognized tax benefits of which $1.0 million related to the 179D deduction.

In early October 2020, we filed amended federal returns for 2016, 2017 and 2018 to claim the R&D tax credit and 179D deduction and recorded tax benefits of $6.1 million, $8.5 million and $11.9 million, respectively. The $26.5 million of tax benefits have been offset by additions to unrecognized tax benefits of $26.4 million due to the uncertainty of the outcome of future IRS examinations. The R&D tax credit and 179D deduction for 2016, 2017 and 2018, therefore, had no material impact on our effective tax rate for the year ended December 31, 2020. At this time, we cannot reasonably estimate the R&D tax credit for years after 2018 or 179D deduction for years after 2017.

Deferred Tax Assets (Liabilities)

Significant components of the deferred tax assets and deferred tax liabilities as reflected on the balance sheets are as follows (in thousands):

Year Ended

 

December 31,

 

    

2020

    

2019

 

Deferred tax assets—

Accounts receivable and allowance for credit losses

$

2,186

$

1,660

Stock-based compensation

 

2,791

 

2,561

Accrued liabilities and expenses

 

39,761

 

25,569

Lease liabilities

22,768

20,873

Net operating loss carryforwards

 

12,127

 

2,750

Intangible assets

7,988

Other

 

627

 

525

Subtotal

 

80,260

 

61,926

Valuation allowances

 

(514)

 

(369)

Total deferred tax assets

79,746

61,557

Deferred tax liabilities—

Property and equipment

 

(13,877)

 

(11,286)

Lease right-of-use asset

(22,715)

(20,873)

Long-term contracts

 

(609)

 

(876)

Intangible assets

(242)

Goodwill

 

(11,615)

 

(6,020)

Other

 

(2,626)

 

(2,004)

Total deferred tax liabilities

 

(51,684)

 

(41,059)

Net deferred tax assets

$

28,062

$

20,498

The deferred tax assets and liabilities reflected above are included in the consolidated balance sheets as follows (in thousands):

December 31,

 

    

2020

    

2019

 

Deferred tax assets

$

29,401

$

21,923

Deferred tax liabilities

$

1,339

$

1,425

As of December 31, 2020, we had $9.4 million of deferred tax assets related to $44.9 million of federal NOL carryforwards as a result of the TAS acquisition. If not used, such carryforwards will begin to expire in 2031. We also had $2.7 million of deferred tax assets related to $46.2 million of state NOL carryforwards, including carryforwards acquired from TAS. The state NOL carryforwards will expire in varying amounts between the years 2021 and 2040. Valuation allowances of $0.5 million have been recorded against certain of the state NOL carryforwards. The $2.2 million of deferred tax assets for state NOL carryforwards, net of valuation allowances, reflects our conclusion that it is more-likely-than-not these assets will be realized based upon expected future earnings in certain of our subsidiaries.

Pursuant to Section 382 of the Code, utilization of our federal NOL carryforwards is subject to annual limitations due to the ownership change in TAS. In general, an ownership change, as defined by Section 382, results from transactions increasing the ownership of certain stockholders or public groups in the stock of a corporation by more than 50 percentage points over a three-year period.

We regularly update our assessment of the realizability of our deferred tax assets, in particular, those related to state NOL carryforwards. A return to profitability in our subsidiaries with valuation allowances would result in a release of a portion of the valuation allowances relating to realizable deferred tax assets. A sustained period of profitability could cause a change in our judgment of any remaining deferred tax assets. If that were to occur, then it is likely that we would reverse some or all of the remaining valuation allowances.

Liabilities for Uncertain Tax Positions

A reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties, is as follows (in thousands):

Year Ended

 

December 31,

 

    

2020

    

2019

    

2018

 

Balance at beginning of year

$

10,199

$

2,966

$

8,929

Additions based on tax positions related to current year

 

 

 

Additions based on tax positions related to prior years

 

26,858

 

7,473

 

2,726

Reductions for tax positions related to prior years

 

 

(240)

 

(8,689)

Reductions for settlements with tax authorities

 

(8,301)

 

 

Balance at end of year

$

28,756

$

10,199

$

2,966

As of December 31, 2020, 2019 and 2018, we had $28.8 million, $10.2 million and $3.0 million, respectively, of unrecognized tax benefits, which if recognized in future periods, would impact our effective tax rates. We also had accrued zero, zero and $0.6 million for potential interest and penalties related to the unrecognized tax benefits as of December 31, 2020, 2019 and 2018, respectively. We recognize potential interest and penalties related to unrecognized tax benefits in our provision for income taxes.

We are subject to taxation in the United States and various state jurisdictions. During 2019, the IRS commenced an examination of our amended federal returns for 2014 and 2015. The IRS completed its examination and issued an RAR allowing our refund claims in full, which was reviewed and approved by the JCT during the third quarter of 2020. As a result, our unrecognized tax benefits were reduced by $8.3 million. In late January 2021, we received notification from the IRS that our federal returns for 2017 and 2018 were selected for examination. The completion of this IRS examination could impact our future results of operations and financial condition.

State income tax returns are generally subject to examination for a period of three to four years after filing the returns. However, the state impact of any federal audit adjustments and/or amendments remains subject to examination by various states for up to one year after formal notification to the states. We generally remain open to examination by various state tax authorities for the 2016 tax year forward. As of December 31, 2020, we did not have any state audits underway that would have a material impact on our financial position or results of operations.

We believe it is reasonably possible that a reduction of up to $28.8 million in unrecognized tax benefits could occur within the next twelve months. Any reduction in our unrecognized tax benefits, due to the future recognition of those tax benefits, would affect our effective tax rates.

XML 32 R18.htm IDEA: XBRL DOCUMENT v3.20.4
Employee Benefit Plans
12 Months Ended
Dec. 31, 2020
Employee Benefit Plans  
Employee Benefit Plans

12. Employee Benefit Plans

We and certain of our subsidiaries sponsor various retirement plans for most full-time and some part-time employees. These plans primarily consist of defined contribution plans. The defined contribution plans generally provide for contributions up to 2.5% of covered employees’ salaries or wages. These contributions totaled $16.3 million in 2020, $14.2 million in 2019 and $10.8 million in 2018. Of these amounts, approximately $0.5 million and $0.3 million were payable to the plans at December 31, 2020 and 2019, respectively.

Certain of our subsidiaries also participate or have participated in various multi-employer pension plans for the benefit of employees who are union members. As of December 31, 2020 and 2019, we had 6 and 7, respectively, who were union members. There were no contributions made to multi-employer pension plans in 2020, 2019 or 2018. The data available from administrators of other multi-employer pension plans is not sufficient to determine the accumulated benefit obligations, nor the net assets attributable to the multi-employer plans in which our employees participate or previously participated.

Certain individuals at one of our operating units are entitled to receive fixed annual payments that reach a maximum amount, as specified in the related agreements, for a 15 year period following retirement or, in some cases, the attainment of 65 years of age. We recognize the unfunded status of the plan as a non-current liability in our Consolidated Balance Sheet. Benefits vest 50% after ten years of service, 75% after fifteen years of service and are fully vested after

20 years of service. We had an unfunded benefit liability of $4.0 million and $4.1 million recorded as of December 31, 2020 and 2019, respectively.

XML 33 R19.htm IDEA: XBRL DOCUMENT v3.20.4
Commitments and Contingencies
12 Months Ended
Dec. 31, 2020
Commitments and Contingencies  
Commitments and Contingencies

13. Commitments and Contingencies

Claims and Lawsuits

We are subject to certain legal and regulatory claims, including lawsuits arising in the normal course of business. We maintain various insurance coverages to minimize financial risk associated with these claims. We have estimated and provided accruals for probable losses and related legal fees associated with certain litigation in the accompanying consolidated financial statements. While we cannot predict the outcome of these proceedings, in management’s opinion and based on reports of counsel, any liability arising from these matters individually and in the aggregate will not have a material effect on our operating results, cash flows or financial condition, after giving effect to provisions already recorded.

We are in a dispute with a customer regarding the outcome of a completed project and also regarding the obligation to perform subcontract work under two executed letters of intent for subsequent projects that we believe are not enforceable. The customer is claiming approximately $15 million in damages related to performance of the original project as well as excess costs to perform the work that was subject to the letters of intent. We are claiming approximately $9 million composed of unpaid amounts under the completed contract as well as costs and inefficiencies that we suffered. We have a lien on the project, and this matter is currently scheduled for arbitration in the second quarter of 2021 with a likely decision in the following months. As of December 31, 2020, we recorded an accrual for this matter based on our analysis of likely outcomes related to this dispute; however, it is possible that the ultimate outcome and associated costs will deviate from our estimates and that, in the event of an unexpectedly adverse outcome, we may experience additional costs and expenses in future periods.

Surety

Many customers, particularly in connection with new construction, require us to post performance and payment bonds issued by a financial institution known as a surety. If we fail to perform under the terms of a contract or to pay subcontractors and vendors who provided goods or services under a contract, the customer may demand that the surety make payments or provide services under the bond. We must reimburse the surety for any expenses or outlays it incurs. To date, we are not aware of any losses to our sureties in connection with bonds the sureties have posted on our behalf, and do not expect such losses to be incurred in the foreseeable future.

Current market conditions for surety markets and bonding capacity are adequate with acceptable terms and conditions. Historically, approximately 15% to 25% of our business has required bonds. While we currently have strong surety relationships to support our bonding needs, future market conditions or changes in the sureties’ assessment of our operating and financial risk could cause the sureties to decline to issue bonds for our work. If that were to occur, the alternatives include doing more business that does not require bonds, posting other forms of collateral for project performance such as letters of credit or cash, and seeking bonding capacity from other sureties. We would likely also encounter concerns from customers, suppliers and other market participants as to our creditworthiness. While we believe our general operating and financial characteristics would enable us to ultimately respond effectively to an interruption in the availability of bonding capacity, such an interruption would likely cause our revenue and profits to decline in the near term.

Self-Insurance

We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks, such as workers’ compensation, auto liability and general liability, are reviewed by a third-party actuary quarterly.

Our self-insurance arrangements as of December 31, 2020 were as follows:

Workers’ Compensation—The per-incident deductible for workers’ compensation is $250,000. Losses above $250,000 are determined by statutory rules on a state-by-state basis and are fully covered by excess workers’ compensation insurance.

Employer’s Liability—For employer’s liability, the per-incident deductible is $250,000 and then we have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as general liability and auto liability noted below).

General Liability—For general liability, the per-incident deductible is $250,000. We are fully insured for the next $10.0 million of each loss, and then have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as employer’s liability noted above and auto liability noted below).

Auto Liability—For auto liability, the per-incident deductible is $250,000. We are fully insured for the next $10.0 million of each loss, and then have several layers of excess loss insurance policies that cover losses up to $132.5 million in aggregate across this risk area (as well as employer’s liability and general liability noted above).

Employee Medical—We have three medical plans. The deductible for employee group health claims is $350,000 per person, per policy (calendar) year for each plan. Insurance then covers any responsibility for medical claims in excess of the deductible amount.

Our $132.5 million of aggregate excess loss coverage above applicable per-incident deductibles represents one policy limit that applies to all lines of risk; we do not have a separate $132.5 million of excess loss coverage for each of general liability, employer’s liability and auto liability.

XML 34 R20.htm IDEA: XBRL DOCUMENT v3.20.4
Stockholders' Equity
12 Months Ended
Dec. 31, 2020
Stockholders' Equity  
Stockholders' Equity

14. Stockholders’ Equity

2012 Equity Incentive Plan

In May 2012, our stockholders approved our 2012 Equity Incentive Plan (the “2012 Plan”), which provides for the granting of incentive or non-qualified stock options, stock appreciation rights, restricted or deferred stock, dividend equivalents or other incentive awards to directors, employees, or consultants. The number of shares authorized and reserved for issuance under the 2012 Plan is 5.1 million shares. As of December 31, 2020, there were 2.9 million shares available for issuance under this plan; however, following adoption of the 2017 Plan (described below), no additional shares will be issued under the 2012 Plan. The 2012 Plan will expire in May 2022.

2017 Omnibus Incentive Plan

In May 2017, our stockholders approved our 2017 Omnibus Incentive Plan (the “2017 Plan”), which provides for the granting of incentive or non-qualified stock options, stock appreciation rights, restricted or deferred stock, dividend equivalents or other incentive awards to directors, employees, or consultants. The number of shares authorized and reserved for issuance under the 2017 Plan is 2.9 million shares. As of December 31, 2020, there were 2.0 million shares available for issuance under this plan. The 2017 Plan will expire in May 2027. Additionally, we have outstanding stock options, stock awards and stock units that were issued under other plans, and no further grants may be made under those plans.

Share Repurchase Program

On March 29, 2007, our Board of Directors approved a stock repurchase program to acquire up to 1.0 million shares of our outstanding common stock. Subsequently, the Board has from time to time increased the number of shares that may be acquired under the program and approved extensions of the program. On December 8, 2020, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.7 million shares. Since the inception of the repurchase program, the Board has approved 10.3 million shares to be repurchased. As of December 31,

2020, we have repurchased a cumulative total of 9.3 million shares at an average price of $19.63 per share under the repurchase program.

The share repurchases will be made from time to time at our discretion in the open market or privately negotiated transactions as permitted by securities laws and other legal requirements, and subject to market conditions and other factors. The Board may modify, suspend, extend or terminate the program at any time. During the twelve months ended December 31, 2020, we repurchased 0.7 million shares for approximately $30.1 million at an average price of $43.99 per share.

Earnings Per Share

Basic earnings per share (“EPS”) is computed by dividing net income by the weighted average number of shares of common stock outstanding during the year. Diluted EPS is computed considering the dilutive effect of stock options, restricted stock, restricted stock units and performance stock units. The vesting of unvested contingently issuable performance stock units is based on the achievement of certain earnings per share targets and total shareholder return. These shares are considered contingently issuable shares for purposes of calculating diluted earnings per share. These shares are not included in the diluted earnings per share denominator until the performance criteria are met, if it is assumed that the end of the reporting period was the end of the contingency period.

Unvested restricted stock, restricted stock units and performance stock units are included in diluted earnings per share, weighted outstanding until the shares and units vest. Upon vesting, the vested restricted stock, restricted stock units and performance stock units are included in basic earnings per share weighted outstanding from the vesting date.

There were less than 0.1 million anti-dilutive stock options excluded from the calculation of diluted EPS for the years ended December 31, 2020, 2019 and 2018, respectively.

The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Common shares outstanding, end of period

 

36,188

 

36,658

 

36,894

Effect of using weighted average common shares outstanding

 

354

 

196

 

308

Shares used in computing earnings per share—basic

 

36,542

 

36,854

 

37,202

Effect of shares issuable under stock option plans based on the treasury stock method

 

123

 

204

 

283

Effect of restricted and contingently issuable shares

 

73

 

73

 

107

Shares used in computing earnings per share—diluted

 

36,738

 

37,131

 

37,592

XML 35 R21.htm IDEA: XBRL DOCUMENT v3.20.4
Stock-Based Compensation
12 Months Ended
Dec. 31, 2020
Stock-Based Compensation  
Stock-Based Compensation

15. Stock-Based Compensation

Grants of stock options, restricted stock and restricted stock units, and performance share units have been, under the 2012 Plan and under the 2017 Plan, determined and administered by the compensation committee of the Board of Directors. In 2019, the Board of Directors approved a change to the structure of long-term incentive grants to remove stock options, commencing with the March 2019 equity grant. Total stock-based compensation expense was $6.9 million, $5.9 million and $7.2 million for the years ended December 31, 2020, 2019 and 2018, respectively. Stock-based compensation expense is recognized using the straight-line method over the vesting period and generally vests over a three-year vesting period. Certain awards provide for accelerated vesting when the sum of an employee's age and years of service is at least 75. We recognize forfeitures as they occur. Total income tax benefit recognized for stock-based compensation arrangements was $1.5 million, $1.3 million and $1.5 million for each of the years ended December 31, 2020, 2019 and 2018.

We generally issue treasury shares for stock options and restricted stock, unless treasury shares are not available. Upon the vesting of restricted shares, we have allowed the holder to elect to surrender an amount of shares to meet their statutory tax withholding requirements. These shares are accounted for as treasury stock based upon the value of the stock on the date of vesting.

Stock Options

The following table summarizes activity under our stock option plans (shares in thousands):

Year Ended

December 31,

2020

    

    

Weighted-

Average

Stock Options

    

Shares

    

Exercise Price

 

Outstanding at beginning of year

 

382

$

27.06

Granted

 

$

Exercised

 

(114)

$

18.85

Forfeited

 

$

Expired

 

$

Outstanding at end of year

 

268

$

30.53

Options exercisable at end of year

 

241

The total intrinsic value of options exercised during the years ended December 31, 2020, 2019 and 2018 was $3.2 million, $3.5 million and $6.7 million, respectively. Stock options exercisable as of December 31, 2020 have a weighted-average remaining contractual term of 5.2 years and an aggregate intrinsic value of $5.7 million. As of December 31, 2020, we have 0.3 million options that are vested or expected to vest; these options have a weighted average exercise price of $30.53 per share, have a weighted-average remaining contractual term of 5.4 years and an aggregate intrinsic value of $5.9 million.

The following table summarizes information about stock options outstanding at December 31, 2020 (shares in thousands):

Options Outstanding

Options Exercisable

 

    

    

Weighted-

    

 

Average

 

Number

Remaining

Weighted-

Number

Weighted-

 

Outstanding at

Contractual

Average

Exercisable at

Average

 

Range of Exercise Prices

    

12/31/2020

    

Life (in years)

    

Exercise Price

    

12/31/2020

    

Exercise Price

 

$11.21 - $15.00

 

14

 

2.2

$

13.76

 

14

$

13.76

$15.01 - $35.00

 

130

 

4.4

$

23.54

 

130

$

23.54

$35.01 - $42.50

 

124

 

6.8

$

39.78

 

97

$

39.02

$11.21 - $42.50

 

268

 

5.4

$

30.53

 

241

$

29.18

The fair value of each option award is estimated, based on several assumptions, on the date of grant using the Black-Scholes option valuation model. We did not grant any options in 2019 or 2020. The fair values and the assumptions used for the 2018 grant are shown in the table below:

 

    

2018

 

Weighted-average fair value per share of options granted

$

13.06

Fair value assumptions:

Expected dividend yield

0.79%

Expected stock price volatility

31.7%

Risk-free interest rate

2.66%

Expected term

 

5.3 years

Stock options are accounted for as equity instruments. As of December 31, 2020, the unrecognized compensation cost related to stock options was less than $0.1 million, which is expected to be recognized over a weighted-average period of 0.3 years. The total fair value of options vested during the year ended December 31, 2020 was $0.7 million.

The following table summarizes information about nonvested stock option awards as of December 31, 2020 and changes for the year ended December 31, 2020 (shares in thousands):

    

    

Weighted-Average

Grant Date

Stock Options

    

Shares

    

Fair Value

 

Nonvested at December 31, 2019

 

81

$

12.53

Granted

 

$

Vested

 

(54)

$

12.26

Forfeited

 

$

Nonvested at December 31, 2020

 

27

$

13.06

Restricted Stock and Restricted Stock Units

The following table summarizes activity under our restricted stock plans (shares in thousands):

Year Ended

December 31,

2020

Weighted

Average Grant

Restricted Stock and Restricted Stock Units

    

Shares

    

Date Fair Value

 

Unvested at beginning of year

 

91

$

47.58

Granted

 

118

$

39.03

Vested

 

(85)

$

39.13

Forfeited

 

(4)

$

45.21

Unvested at end of year

 

120

$

45.21

Approximately $1.1 million of compensation expense related to restricted stock and restricted stock units will be recognized over a weighted-average period of 1.8 years. The total fair value of shares vested during the year ended December 31, 2020 was $3.3 million. The weighted-average fair value per share of restricted stock shares and units awarded during 2020, 2019 and 2018 was $39.03, $51.02 and $44.02, respectively. The aggregate intrinsic value of restricted stock vested during the years ended December 31, 2020, 2019 and 2018 was $2.9 million, $3.5 million and $3.3 million, respectively.

Performance Stock Units

Under the 2012 Plan, we granted dollar-denominated performance vesting restricted stock units (“PSUs”), which cliff vest at the end of a three-year performance period. The PSUs are subject to two performance measures; 50% of the PSUs are based on the annual performance of our stock price relative to a group of our peers (total shareholder return) and 50% of the PSUs are measured based on meeting or exceeding a pre-determined annual earnings per share target as set by our Board of Directors (EPS). Depending on the Company’s performance in relation to the established performance measures, the awards may vest at zero to a maximum of 2.0 times the dollar-denominated award granted at target. Upon achievement of the necessary performance metrics, the award will be determined in dollars and may be settled in cash or stock based on the market price of the Company’s common stock at the end of the performance period, at our discretion.

Compensation expense for dollar-denominated performance units will ultimately be equal to the final dollar value awarded to the grantee upon vesting, settled either in cash or stock. However, throughout the performance period we must record and accrue expense based on an estimate of that future payout. For units determined by EPS performance, the awards are evaluated quarterly against established targets in order to estimate the liability throughout the vesting period. For units determined by total shareholder return performance, a Monte Carlo simulation model was used to estimate accruals throughout the vesting period. The model simulates our total shareholder return and compares it against our peer group over the three-year performance period to produce a predicted distribution of relative share performance. This is applied to the reward criteria to give an expected value of the total shareholder return element. The calculated fair market value as of December 31, 2020 was $6.2 million. Of this amount, $2.2 million relates to the PSUs granted in 2018 whose performance period ended December 31, 2020. These awards will be settled within the upcoming

year either in cash or stock. The expense related to performance stock units for the years ended December 31, 2020, 2019 and 2018 was $2.7 million, $1.9 million and $2.9 million, respectively. At the December 31, 2020 calculated fair market value, approximately $0.7 million of compensation expense related to performance stock units will be recognized over a weighted-average period of 1.4 years.

XML 36 R22.htm IDEA: XBRL DOCUMENT v3.20.4
Segment Information
12 Months Ended
Dec. 31, 2020
Segment Information  
Segment Information

16. Segment Information

We have two reportable segments: (a) our mechanical segment, which includes HVAC, plumbing, piping, and controls, as well as off-site construction, monitoring and fire protection; and (b) our electrical segment, which includes installation and servicing of electrical systems. We consider these two lines of business to be separate segments because they require different skill sets, and the business models for providing services have some differences, as a mechanical system requires ongoing maintenance and monitoring and an electrical system generally does not. However, the business model for installation of new systems or retrofitting existing systems is very similar between the two segments.

Our activities are within the mechanical services industry and the electrical services industry, which represent our two reportable segments. We aggregate our operating segments into two reportable segments, as the operating segments meet all of the aggregation criteria. Substantially all of our revenue is generated, and all of our assets are located, in the United States, our country of domicile. The following table presents information about our reportable segments (in thousands):

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Total Assets at December 31, 2020

$

1,215,985

$

449,588

$

91,782

$

1,757,355

Total Assets at December 31, 2019

$

1,056,609

$

372,254

$

76,149

$

1,505,012

Year Ended December 31, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,413,016

$

443,643

$

$

2,856,659

Gross Profit

$

509,740

$

37,243

$

$

546,983

Capital Expenditures

$

22,550

$

955

$

626

$

24,131

Year Ended December 31, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,251,560

$

363,717

$

$

2,615,277

Gross Profit

$

465,144

$

36,799

$

$

501,943

Capital Expenditures

$

27,933

$

1,504

$

2,313

$

31,750

Year Ended December 31, 2018

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,176,223

$

6,656

$

$

2,182,879

Gross Profit

$

444,960

$

1,319

$

$

446,279

Capital Expenditures

$

25,945

$

57

$

1,266

$

27,268

XML 37 R23.htm IDEA: XBRL DOCUMENT v3.20.4
Selected Quarterly Financial Data
12 Months Ended
Dec. 31, 2020
Selected Quarterly Financial Data  
Selected Quarterly Financial Data

17. Selected Quarterly Financial Data

Quarterly financial information for the years ended December 31, 2020 and 2019 is summarized as follows (in thousands, except per share data):

2020

 

    

Q1

    

Q2

    

Q3

    

Q4

 

Revenue

$

700,131

$

743,468

$

714,099

$

698,961

Gross profit

 

117,093

 

145,695

 

147,196

 

136,999

Net income

 

17,716

 

39,495

 

50,088

 

42,840

INCOME PER SHARE:

Basic

$

0.48

$

1.08

$

1.37

$

1.18

Diluted

$

0.48

$

1.08

$

1.36

$

1.17

2019

 

    

Q1

    

Q2

    

Q3

    

Q4

 

Revenue

$

538,473

$

650,302

$

706,918

$

719,584

Gross profit (1)

 

106,665

 

120,016

 

142,702

 

132,560

Net income

 

19,866

 

24,173

 

36,233

 

34,052

INCOME PER SHARE:

Basic

$

0.54

$

0.65

$

0.98

$

0.93

Diluted

$

0.53

$

0.65

$

0.98

$

0.92

(1)In the fourth quarter of 2019, we recorded a $4.8 million gain due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019.

The sums of the individual quarterly earnings per share amounts do not necessarily agree with year-to-date earnings per share as each quarter’s computation is based on the weighted average number of shares outstanding during the quarter, the weighted average stock price during the quarter and the dilutive effects of options and contingently issuable restricted stock in each quarter.

XML 38 R24.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2020
Summary of Significant Accounting Policies  
Principles of Consolidation

Principles of Consolidation

These financial statements are prepared in accordance with accounting principles generally accepted in the United States of America. The accompanying consolidated financial statements include our accounts and those of our subsidiaries in which we have a controlling interest. All significant intercompany accounts and transactions have been eliminated. Certain amounts in prior periods may have been reclassified to conform to the current period presentation. The effects of the reclassifications were not material to the consolidated financial statements.

Use of Estimates

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, self-insurance accruals, deferred tax assets, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing.

Cash Flow Information

Cash Flow Information

We consider all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents.

Cash paid (in thousands) for:

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Interest

$

7,684

$

8,817

$

3,743

Income taxes, net of refunds

$

51,286

$

45,288

$

33,401

Recent Accounting Pronouncements

Recent Accounting Pronouncements

In June 2016, the FASB issued ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326).” The standard requires companies to consider historical experiences, current market conditions and reasonable and supportable forecasts in the measurement of expected credit losses. The standard requires us to accrue higher credit losses on financial assets compared to the legacy guidance on various items, such as contract assets and current receivables. ASU No. 2016-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. We adopted ASU No. 2016-13, “Financial Instruments – Credit Losses (Topic 326),” on January 1, 2020,

and the impact was not material to our overall financial statements. The adoption of ASU No. 2016-13 resulted in an increase in Allowance for Credit Losses of $0.7 million, an increase to Deferred Tax Assets of $0.2 million and an impact of $0.5 million to Retained Earnings.

In August 2018, the FASB issued ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement.” This standard removes certain disclosure requirements including the valuation processes for Level 3 fair value measurements, the policy for timing of transfers between levels and the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy. The standard requires certain additional disclosures for public entities, including disclosure of the changes in unrealized gains and losses included in Other Comprehensive Income for Level 3 fair value measurements and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. ASU No. 2018-13 is effective for fiscal years beginning after December 15, 2019 and interim periods within those years. Certain amendments, including the amendment on changes in unrealized gains and losses and the range and weighted average of significant unobservable inputs, should be applied prospectively while other amendments should be applied retrospectively to all periods presented upon their effective date. We have modified our fair value disclosures to conform with the requirements of ASU No. 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework — Changes to the Disclosure Requirements for Fair Value Measurement,” which we adopted on January 1, 2020.

In December 2019, the FASB issued ASU No. 2019-12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes.” This standard simplifies the accounting for income taxes by eliminating certain exceptions to the guidance in Topic 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The standard also simplifies aspects of the accounting for franchise taxes and enacted changes in tax laws or rates and clarifies the accounting for transactions that result in a step-up in the tax basis of goodwill. ASU No. 2019-12 is effective for fiscal years beginning after December 15, 2020 and interim periods within that year. Early adoption is permitted. We do not expect our adoption of this standard on January 1, 2021 to have a material impact on our consolidated financial statements.

Revenue Recognition

Revenue Recognition

We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred. The customer typically controls the work in process as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

For a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services. Our revenue recognition policy is further discussed in Note 3 “Revenue from Contracts with Customers.”

Accounts Receivable and Allowance for Credit Losses

Accounts Receivable and Allowance for Credit Losses

We are required to estimate and record the expected credit losses over the contractual life of our financial assets measured at amortized cost, including billed and unbilled accounts receivable, other receivables and costs and estimated

earnings in excess of billings. Accounts receivable include amounts from work completed in which we have billed or have an unconditional right to bill our customers. Our trade receivables are contractually due in less than a year.

We estimate our credit losses using a loss-rate method for each of our identified portfolio segments. Our portfolio segments are construction, service and other. While our construction and service financial assets are often with the same subset of customers and industries, our construction financial assets will generally have a lower loss-rate than service financial assets due to lien rights, which we are more likely to have on construction jobs. These lien rights result in lower credit loss expenses on average compared to receivables that do not have lien rights. Financial assets classified as “other” include receivables that are not related to our core revenue producing activities, such as receivables related to our acquisition activity from former owners, our vendor rebate program or receivables for estimated losses in excess of our insurance deductible, which are accrued with a corresponding accrued insurance liability.

Loss rates for our portfolios are based on numerous factors, including our history of credit loss expense by portfolio, the financial strength of our customers and counterparties in each portfolio, the aging of our receivables, our expectation of likelihood of payment, macroeconomic trends in the U.S. and the current and forecasted non-residential construction market trends in the U.S.

In addition to the loss-rate calculations discussed above, we also record allowance for credit losses for specific receivables that are deemed to have a higher risk profile than the rest of the respective pool of receivables, such as concerns about a specific customer going bankrupt and no longer being able to pay the receivables due to us.

Starting in March 2020, we experienced negative impacts to our business due to the disruption caused by Coronavirus Disease 2019 (“COVID-19”). In March 2020, the World Health Organization categorized COVID-19 as a pandemic, and the President of the United States declared the COVID-19 outbreak a national emergency. The Company considered the impact of COVID-19 on the assumptions and estimates used to determine the results reported and asset valuations as of December 31, 2020.

During the year ended December 31, 2020, we increased our loss rates and increased our specific reserves primarily due to the economic disruption caused by COVID-19, which is reflected in our bad debt expense in the current year. This increase was primarily, but not exclusively, due to concern over collectability of receivables from customers more directly impacted by COVID-19.

Activity in our allowance for credit losses consisted of the following (in thousands):

Year Ended December 31,

2020

Service

Construction

Other

Total

Balance at beginning of year

$

3,192

$

3,400

$

315

$

6,907

Impact of new accounting standard

310

331

54

695

Bad debt expense (benefit)

2,566

2,697

(10)

5,253

Deductions for uncollectible receivables written off, net of recoveries

(1,431)

(735)

(2,166)

Credit allowance of acquired companies on the acquisition date

335

335

Reclass to other current liabilities

(315)

(315)

Balance at December 31, 2020

$

4,637

$

6,028

$

44

$

10,709

Year Ended December 31,

    

2019

 

Balance at beginning of year

$

5,898

Bad debt expense (benefit)

 

2,978

Deductions for uncollectible receivables written off, net of recoveries

 

(3,924)

Credit allowance of acquired companies on the acquisition date

 

1,955

Balance at December 31, 2019

$

6,907

Inventories

Inventories

Inventories consist of parts and supplies that we purchase and hold for use in the ordinary course of business and are stated at the lower of cost or net realizable value using the average-cost method.

Property and Equipment

Property and Equipment

Property and equipment are stated at cost, and depreciation is computed using the straight-line method over the estimated useful lives of the assets. Leasehold improvements are capitalized and amortized over the lesser of the expected life of the lease or the estimated useful life of the asset.

Expenditures for repairs and maintenance are charged to expense when incurred. Expenditures for major renewals and betterments, which extend the useful lives of existing equipment, are capitalized and depreciated over the remaining useful life of the equipment. Upon retirement or disposition of property and equipment, the cost and related accumulated depreciation are removed from the accounts and any resulting gain or loss is recognized in “Gain on sale of assets” in the Statement of Operations.

Recoverability of Goodwill and Identifiable Intangible Assets

Recoverability of Goodwill and Identifiable Intangible Assets

Goodwill is the excess of purchase price over the fair value of the net assets of acquired businesses. We assess goodwill for impairment each year, and more frequently if circumstances suggest an impairment may have occurred.

When the carrying value of a given reporting unit exceeds its fair value, a goodwill impairment loss is recorded for this difference, not to exceed the carrying amount of goodwill. The requirements for assessing whether goodwill has been impaired involve market-based information. This information, and its use in assessing goodwill, entails some degree of subjective assessment.

We perform our annual impairment testing as of October 1, and any impairment charges resulting from this process are reported in the fourth quarter. We segregate our operations into reporting units based on the degree of operating and financial independence of each unit and our related management of them. We perform our annual goodwill impairment testing at the reporting unit level. We perform a goodwill impairment review for each of our operating units, as we have determined that each of our operating units are reporting units.

In the evaluation of goodwill for impairment, we have the option to first assess qualitative factors to determine whether the existence of events or circumstances lead to a determination that it is more likely than not that the fair value of one of our reporting units is greater than its carrying value. If, after completing such assessment, we determine it is more likely than not that the fair value of a reporting unit is greater than its carrying amount, then there is no need to perform any further testing. If we conclude otherwise, or if we elect to perform a quantitative assessment, then we calculate the fair value of the reporting unit and compare the fair value with the carrying value of the reporting unit.

We estimate the fair value of the reporting unit based on a market approach and an income approach, which utilizes discounted future cash flows. Assumptions critical to the fair value estimates under the discounted cash flow model include discount rates, cash flow projections, projected long-term growth rates and the determination of terminal values. The market approach utilizes market multiples of invested capital from comparable publicly traded companies (“public company approach”). The market multiples from invested capital include revenue, book equity plus debt and earnings before interest, provision for income taxes, depreciation and amortization (“EBITDA”).

We amortize identifiable intangible assets with finite lives over their useful lives. Changes in strategy and/or market condition may result in adjustments to recorded intangible asset balances or their useful lives.

Long-Lived Assets

Long-Lived Assets

Long-lived assets are comprised principally of goodwill, identifiable intangible assets, property and equipment, and deferred tax assets. We periodically evaluate whether events and circumstances have occurred that indicate that the remaining balances of these assets may not be recoverable. We use estimates of future income from operations and cash flows, as well as other economic and business factors, to assess the recoverability of these assets.

Acquisitions

Acquisitions

We recognize assets acquired and liabilities assumed in business combinations, including contingent assets and liabilities, based on fair value estimates as of the date of acquisition.

Contingent Consideration—In certain acquisitions, we agree to pay additional amounts to sellers contingent upon achievement by the acquired businesses of certain predetermined profitability targets. We have recognized liabilities for these contingent obligations based on their estimated fair value at the date of acquisition with any differences between the acquisition date fair value and the ultimate settlement of the obligations being recognized in income from operations.

Contingent Assets and Liabilities—Assets and liabilities arising from contingencies are recognized at their acquisition date fair value when their respective fair values are determinable. Acquisition date fair value estimates are revised as necessary if, and when, additional information regarding these contingencies becomes available to further define and quantify assets acquired and liabilities assumed.

Self-Insurance Liabilities

Self-Insurance Liabilities

We are substantially self-insured for workers’ compensation, employer’s liability, auto liability, general liability and employee group health claims, in view of the relatively high per-incident deductibles we absorb under our insurance arrangements for these risks. Losses are estimated and accrued based upon known facts, historical trends and industry averages. Estimated losses in excess of our deductible, which have not already been paid, are included in our accrual with a corresponding receivable from our insurance carrier. Loss estimates associated with the larger and longer-developing risks—workers’ compensation, auto liability and general liability—are reviewed by a third-party actuary quarterly. Our self-insurance arrangements are further discussed in Note 13 “Commitments and Contingencies.”

Warranty Costs

Warranty Costs

We typically warrant labor for the first year after installation on new MEP systems that we build and install, and we pass through to the customer manufacturers’ warranties on equipment. We generally warrant labor for thirty days after servicing existing MEP systems. A reserve for warranty costs is estimated and recorded based upon the historical level of warranty claims and management’s estimate of future costs.

Income Taxes

Income Taxes

We conduct business throughout the United States in virtually all fifty states. Our effective tax rate changes based upon our relative profitability, or lack thereof, in states with varying tax rates and rules. In addition, discrete items such as tax law changes, judgments and legal structures can impact our effective tax rate. These items can also include the tax treatment for impairment of goodwill and other intangible assets, changes in fair value of acquisition-related assets and liabilities, tax reserves for uncertain tax positions and accounting for losses associated with underperforming operations.

Income taxes are provided for under the liability method, which takes into account differences between financial statement treatment and tax treatment of certain transactions. Deferred taxes are based on the difference between the financial reporting and tax basis of assets and liabilities. The deferred tax provision represents the change during the reporting period in the deferred tax assets and deferred tax liabilities, net of the effect of acquisitions and dispositions. Deferred tax assets include tax loss and credit carryforwards and are reduced by a valuation allowance if, based on available evidence, it is more-likely-than-not some portion or all of the deferred tax assets will not be realized.

We regularly evaluate valuation allowances established for deferred tax assets for which future realization is uncertain. In assessing the realizability of deferred tax assets, we must consider whether it is more-likely-than-not some portion, or all, of the deferred tax assets will not be realized. We consider all available evidence, both positive and negative, in determining whether a valuation allowance is required. Such evidence includes the scheduled reversal of deferred tax liabilities, projected future taxable income, taxable income in prior carryback years and tax planning strategies in making this assessment, and judgment is required in considering the relative weight of negative and positive evidence.

Significant judgment is required in assessing the timing and amounts of deductible and taxable items. We establish reserves when, despite our belief that our tax return positions are supportable, we believe that certain positions may be disallowed. When facts and circumstances change, we adjust these reserves through our provision for income taxes.

To the extent interest and penalties may be assessed by taxing authorities on any underpayment of income tax, such amounts have been accrued and are classified as a component in provision for income taxes in our Consolidated Statements of Operations.

Concentrations of Credit Risk

Concentrations of Credit Risk

We provide services in a broad range of geographic regions. Our credit risk primarily consists of receivables from a variety of customers including general contractors, property owners and developers, and commercial and industrial companies. We are subject to potential credit risk related to changes in business and economic factors throughout the United States within the nonresidential construction industry. However, we are entitled to payment for work performed and have certain lien rights related to that work. Further, we believe that our contract acceptance, billing and collection policies are adequate to manage potential credit risk. We regularly review our accounts receivable and estimate an allowance for uncollectible amounts. We have a diverse customer base, with our top customer representing 5% of consolidated 2020 revenue.

Financial Instruments

Financial Instruments

Our financial instruments consist of cash and cash equivalents, accounts receivable, other receivables, accounts payable, interest rate swaps, life insurance policies, notes to former owners, a revolving credit facility and a term loan. We believe that the carrying values of these instruments on the accompanying Balance Sheets approximate their fair values.

Insurance Recovery

Insurance Recovery

We recorded a $4.8 million gain in the fourth quarter of 2019 due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019. Approximately $1.6 million of the gain was recorded as a reduction in SG&A, and the remainder was recorded as a reduction in Cost of Services expense.  These proceeds related to recoverable costs that were primarily incurred prior to the fourth quarter in 2019. We do not expect any additional insurance proceeds or other recoveries related to the ransomware incident.

Leases

We lease certain facilities, vehicles and equipment under noncancelable operating leases. The most significant portion of these noncancelable operating leases are for the facilities occupied by our corporate office and our operating locations. Leases with an initial term of 12 months or less are not recorded on the Balance Sheet. We account for lease components separately from the non-lease components. We have certain leases with variable payments based on an index as well as some short-term leases on equipment and facilities. Variable lease expense and short-term lease expense were not material to our financial statements and aggregated to $7.7 million in 2020 and $8.4 million in 2019. Lease right-of-use assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, we generally use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The weighted average discount rate as of December 31, 2020 and 2019 was 4.2% and 3.9%, respectively. We recognize lease expense, including escalating lease payments and lease incentives, on a straight-line basis over the lease term. Lease expense for the years ended December 31, 2020, 2019 and 2018 was $28.2 million, $24.8 million and $23.4 million, respectively.

The lease terms generally range from three to ten years. Some leases include one or more options to renew, which may be exercised to extend the lease term. We include the exercise of lease renewal options in the lease term when it is reasonably certain that we will exercise the option and such exercise is at our sole discretion. The weighted average remaining lease term was 7.5 years at December 31, 2020 and 8.1 years at December 31, 2019.

A majority of the Company’s real property leases are with individuals or entities with whom we have no other business relationship. However, in certain instances the Company enters into real property leases with current or former employees. Rent paid to related parties for the years ended December 31, 2020, 2019 and 2018 was approximately $4.2 million, $3.7 million and $4.8 million, respectively.

If we decide to cancel or terminate a lease before the end of its term, we would typically owe the lessor the remaining lease payments under the term of the lease. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. On rare occasions, we rent or sublease certain real estate assets that we no longer use to third parties.

The following table summarizes the lease assets and liabilities included in the consolidated Balance Sheet as follows (in thousands):

December 31, 2020

December 31, 2019

Lease right-of-use assets

$

94,727

$

84,073

Lease liabilities:

Other current liabilities

$

16,586

$

14,016

Long-term lease liabilities

80,576

72,697

Total lease liabilities

$

97,162

$

86,713

The maturities of lease liabilities as of December 31, 2020 are as follows (in thousands):

Year ending December 31—

2021

$

20,254

2022

17,004

2023

14,727

2024

13,221

2025

12,108

Thereafter

36,645

Total Lease Payments

113,959

Less—Present Value Discount

(16,797)

Present Value of Lease Liabilities

$

97,162

Supplemental information related to leases was as follows (in thousands):

Year Ended December 31,

2020

2019

Cash paid for amounts included in the measurement of lease liabilities

$

20,443

$

16,895

Lease right-of-use assets obtained in exchange for lease liabilities

$

27,346

$

26,811

XML 39 R25.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies (Tables)
12 Months Ended
Dec. 31, 2020
Summary of Significant Accounting Policies  
Schedule of cash paid

Cash paid (in thousands) for:

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Interest

$

7,684

$

8,817

$

3,743

Income taxes, net of refunds

$

51,286

$

45,288

$

33,401

Schedule of activity in allowance for credit losses

Activity in our allowance for credit losses consisted of the following (in thousands):

Year Ended December 31,

2020

Service

Construction

Other

Total

Balance at beginning of year

$

3,192

$

3,400

$

315

$

6,907

Impact of new accounting standard

310

331

54

695

Bad debt expense (benefit)

2,566

2,697

(10)

5,253

Deductions for uncollectible receivables written off, net of recoveries

(1,431)

(735)

(2,166)

Credit allowance of acquired companies on the acquisition date

335

335

Reclass to other current liabilities

(315)

(315)

Balance at December 31, 2020

$

4,637

$

6,028

$

44

$

10,709

Year Ended December 31,

    

2019

 

Balance at beginning of year

$

5,898

Bad debt expense (benefit)

 

2,978

Deductions for uncollectible receivables written off, net of recoveries

 

(3,924)

Credit allowance of acquired companies on the acquisition date

 

1,955

Balance at December 31, 2019

$

6,907

XML 40 R26.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers (Tables)
12 Months Ended
Dec. 31, 2020
Revenue from Contract with Customers  
Schedule of contracts in progress

Contracts in progress are as follows (in thousands):

December 31,

 

    

2020

    

2019

 

Costs incurred on contracts in progress

$

3,103,580

$

2,518,581

Estimated earnings, net of losses

 

548,435

 

405,891

Less—Billings to date

 

(3,813,171)

 

(3,033,112)

Less—Unbilled accounts receivable

(45,596)

(55,542)

Less—Unbilled accounts receivable credit allowance

(784)

$

(207,536)

$

(164,182)

Costs and estimated earnings in excess of billings

$

18,622

$

2,736

Plus—Costs and estimated earnings in excess of billings credit allowance

79

Billings in excess of costs and estimated earnings

 

(226,237)

 

(166,918)

$

(207,536)

$

(164,182)

Schedule of disaggregation of revenue

Our consolidated 2020 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 16 “Segment Information” for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and service provided, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. See details in the following tables (dollars in thousands):

Year Ended December 31,

Revenue by Service Provided

   

   

2020

   

2019

2018

Mechanical Services

$

2,413,016

   

84.5

%

$

2,251,560

   

86.1

%

$

2,176,223

99.7

%

Electrical Services

443,643

15.5

%

363,717

13.9

%

6,656

0.3

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Year Ended December 31,

Revenue by Type of Customer

2020

2019

 

2018

 

Industrial

$

1,112,075

38.9

%

$

886,668

33.9

%

$

596,557

27.3

%

Education

487,922

17.1

%

412,318

15.8

%

391,937

18.0

%

Office Buildings

319,426

11.2

%

348,640

13.3

%

288,090

13.2

%

Healthcare

371,105

13.0

%

358,155

13.7

%

319,958

14.7

%

Government

163,717

5.7

%

162,507

6.2

%

143,958

6.6

%

Retail, Restaurants and Entertainment

239,541

8.4

%

248,083

9.5

%

225,348

10.3

%

Multi-Family and Residential

86,799

3.0

%

104,693

4.0

%

136,075

6.2

%

Other

76,074

2.7

%

94,213

3.6

%

80,956

3.7

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Year Ended December 31,

Revenue by Activity Type

2020

2019

 

2018

New Construction

$

1,333,739

46.7

%

$

1,201,122

45.9

%

$

829,978

38.0

%

Existing Building Construction

910,807

31.9

%

793,159

30.3

%

796,946

36.5

%

Service Projects

241,402

8.4

%

231,228

8.9

%

206,506

9.5

%

Service Calls, Maintenance and Monitoring

370,711

13.0

%

389,768

14.9

%

349,449

16.0

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Schedule of contract assets and liabilities

Year Ended December 31,

Year Ended December 31,

2020

2019

Contract

    

Contract

Contract

    

Contract

Assets

Liabilities

Assets

Liabilities

Balance at beginning of period

$

2,736

$

166,918

$

10,213

$

130,986

Change due to acquisitions / disposals

9,509

39,885

6,573

31,556

Change related to credit allowance

(79)

Other changes in the period

6,456

19,434

(14,050)

4,376

Balance at end of period

$

18,622

$

226,237

$

2,736

 

$

166,918

XML 41 R27.htm IDEA: XBRL DOCUMENT v3.20.4
Fair Value Measurements (Tables)
12 Months Ended
Dec. 31, 2020
Fair Value Measurements  
Summary of fair values and levels within the fair value hierarchy in which the fair value measurements fall for assets and liabilities measured on a recurring basis

The following table summarizes the fair values, and levels within the fair value hierarchy in which the fair value measurements fall, for assets and liabilities measured on a recurring basis as of December 31, 2020 and 2019 (in thousands):

Fair Value Measurements at December 31, 2020

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

54,896

$

$

$

54,896

Life insurance—cash surrender value

$

$

5,420

$

$

5,420

Contingent earn-out obligations

$

$

$

25,979

$

25,979

Interest rate swap liability

$

$

42

$

$

42

Fair Value Measurements at December 31, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

50,788

$

$

$

50,788

Life insurance—cash surrender value

$

$

3,905

$

$

3,905

Contingent earn-out obligations

$

$

$

28,497

$

28,497

Schedule of reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)

The table below presents a reconciliation of the fair value of our contingent earn-out obligations that use significant unobservable inputs (Level 3) (in thousands):

December 31,

 

2020

    

2019

 

Balance at beginning of year

 

$

28,497

    

$

7,375

 

Issuances

 

16,715

 

19,500

Settlements

(10,114)

(1,369)

Adjustments to fair value

 

(9,119)

 

2,991

Balance at end of year

$

25,979

$

28,497

XML 42 R28.htm IDEA: XBRL DOCUMENT v3.20.4
Acquisitions (Tables)
12 Months Ended
Dec. 31, 2020
TAS Energy  
Business Acquisition [Line Items]  
Schedule of acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill

The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):

Consideration transferred:

Cash paid at closing

$

105,950

Working capital adjustment

40,455

Notes issued to former owners

14,000

Estimated fair value of contingent earn-out payments

9,100

$

169,505

Recognized amounts of identifiable assets acquired and liabilities assumed:

Cash and cash equivalents

$

47,460

Billed and unbilled accounts receivable

18,702

Other current assets

15,634

Other long-term assets

1,556

Property and equipment

7,709

Goodwill

72,788

Identifiable intangible assets

53,400

Lease right-of-use asset

19,736

Accounts payable

(16,453)

Billings in excess of costs and estimated earnings

(24,196)

Current lease liabilities

(2,337)

Accrued expenses and other current liabilities

(4,109)

Long-term lease liabilities

(17,398)

Other long-term liabilities

(2,987)

$

169,505

Schedule of acquired intangible assets

The acquired intangible assets include the following (dollars in thousands):

Valuation Method

Estimated Useful Life

Estimated Fair Value

Backlog

Excess earnings

1 year

$

5,200

Trade Name

Relief-from-royalty

25 years

8,200

Customer Relationships

Excess earnings

10 years

40,000

Total

$

53,400

T E C Industrial Construction and Maintenance  
Business Acquisition [Line Items]  
Schedule of acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill

The following summarizes the acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill (in thousands):

Consideration transferred:

Cash paid at closing

$

73,000

Working capital adjustment

2,006

Notes issued to former owners

7,000

Estimated fair value of contingent earn-out payments

7,560

$

89,566

Recognized amounts of identifiable assets acquired and liabilities assumed:

Cash and cash equivalents

$

4

Billed and unbilled accounts receivable

13,660

Costs in excess of billings

2,040

Other current assets

108

Other long-term assets

53

Property and equipment

912

Goodwill

44,431

Identifiable intangible assets

37,200

Lease right-of-use asset

1,234

Accounts payable

(4,123)

Billings in excess of costs and estimated earnings

(2,838)

Current lease liabilities

(175)

Accrued expenses and other current liabilities

(1,881)

Long-term lease liabilities

(1,059)

$

89,566

Schedule of acquired intangible assets

The acquired intangible assets include the following (dollars in thousands):

    

Valuation

    

Estimated

    

Estimated

    

Method

    

Useful Life

    

Fair Value

Backlog

 

Excess earnings

 

2 years

$

7,200

Trade Name

 

Relief-from-royalty

 

20 years

 

5,800

Customer Relationships

 

Excess earnings

 

9 years

24,200

Total

$

37,200

XML 43 R29.htm IDEA: XBRL DOCUMENT v3.20.4
Goodwill and Identifiable Intangible Assets, Net (Tables)
12 Months Ended
Dec. 31, 2020
Goodwill and Identifiable Intangible Assets, Net  
Schedule of changes in the carrying amount of goodwill

The changes in the carrying amount of goodwill are as follows (in thousands):

Mechanical Services

Electrical Services

    

Segment

    

Segment

Total

Balance at December 31, 2018

$

235,182

$

$

235,182

Acquisitions and purchase price adjustments (See Note 5)

 

579

 

96,686

97,265

Impact of segment reorganization

(1,101)

1,101

Balance at December 31, 2019

234,660

97,787

332,447

Acquisitions and purchase price adjustments (See Note 5)

72,788

59,157

131,945

Balance at December 31, 2020

$

307,448

$

156,944

$

464,392

Schedule of components of identifiable intangible assets

Identifiable intangible assets consist of the following (dollars in thousands):

Weighted-Average

December 31, 2020

December 31, 2019

    

Remaining Useful Lives

    

Gross Book

    

Accumulated

    

Gross Book

    

Accumulated

    

in Years

    

Value

    

Amortization

    

Value

    

Amortization

Customer Relationships

 

8.0

$

255,692

$

(103,919)

$

183,061

$

(80,813)

Backlog

 

2.0

 

19,800

 

(12,600)

 

7,400

 

(6,388)

Trade Names

 

20.5

 

91,495

 

(18,661)

 

71,995

 

(15,281)

Total

11.7

$

366,987

$

(135,180)

$

262,456

$

(102,482)

Schedule of future amortization expense of identifiable intangible assets

As of December 31, 2020, future amortization expense of identifiable intangible assets was as follows (in thousands):

Year ended December 31—

    

    

2021

$

32,344

2022

 

27,412

2023

 

23,514

2024

 

22,164

2025

19,977

Thereafter

 

106,396

Total

$

231,807

XML 44 R30.htm IDEA: XBRL DOCUMENT v3.20.4
Property and Equipment (Tables)
12 Months Ended
Dec. 31, 2020
Property and Equipment  
Schedule of components of property and equipment

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

Estimated

 

    

Useful Lives

    

December 31,

 

    

in Years

    

2020

    

2019

 

Land

 

$

7,167

$

6,206

Transportation equipment

 

1 - 7

 

113,802

 

106,972

Machinery and equipment

 

1 - 20

 

43,386

 

35,575

Computer and telephone equipment

 

1 - 10

 

23,215

 

20,744

Buildings and leasehold improvements

 

1 - 40

 

69,683

 

62,301

Furniture and fixtures

 

1 - 17

5,861

5,244

Construction in progress

 

 

1,294

 

2,123

 

264,408

 

239,165

Less—Accumulated depreciation

 

(147,202)

 

(129,369)

Property and equipment, net

$

117,206

$

109,796

XML 45 R31.htm IDEA: XBRL DOCUMENT v3.20.4
Detail of Other Current Liabilities (Tables)
12 Months Ended
Dec. 31, 2020
Detail of Other Current Liabilities  
Schedule of other current liabilities

Other current liabilities consist of the following (in thousands):

December 31,

 

    

2020

    

2019

 

Accrued warranty costs

$

8,914

$

7,452

Current lease liability

16,586

14,016

Accrued job losses

 

2,151

 

2,226

Accrued sales and use tax

 

3,731

 

2,938

Deferred revenue

 

4,559

 

5,506

Liabilities due to former owners

 

10,280

 

11,219

Other current liabilities

 

45,271

 

38,273

$

91,492

$

81,630

XML 46 R32.htm IDEA: XBRL DOCUMENT v3.20.4
Debt Obligations (Tables)
12 Months Ended
Dec. 31, 2020
Debt Obligations  
Schedule of components of debt obligations

Debt obligations consist of the following (in thousands):

December 31,

 

2020

    

2019

 

Revolving credit facility

$

70,000

$

28,000

Term loan

135,000

150,000

Notes to former owners

31,000

 

48,483

Total principal amount

236,000

 

226,483

Less—unamortized debt issuance costs

(267)

(348)

Total debt, net of unamortized debt issuance costs

235,733

226,135

Less—current portion

 

(20,817)

Total long-term portion of debt, net

$

235,733

$

205,318

Schedule of future principal payments of long-term debt

At December 31, 2020, future principal payments of debt are as follows (in thousands):

Year ended December 31—

    

    

2021

    

$

 

2022

 

23,000

2023

 

34,000

2024

 

26,500

2025

 

152,500

Thereafter

$

236,000

Schedule of interest expense

Interest expense included the following primary elements (in thousands):

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Interest expense on notes to former owners

$

1,354

$

1,531

$

642

Interest expense on borrowings and unused commitment fees

 

5,319

 

6,887

 

2,211

Interest expense on interest rate swaps

338

Letter of credit fees

 

830

 

512

 

474

Amortization of debt financing costs

 

544

 

387

 

383

Total

$

8,385

$

9,317

$

3,710

Schedule of reconciliation of Credit Facility Adjusted EBITDA to net income

Net income

    

$

150,139

 

Provision for income taxes

 

41,401

Interest expense, net

 

8,282

Depreciation and amortization expense

 

60,629

Stock-based compensation

 

6,934

Pre-acquisition results of acquired companies, as defined under the Facility

 

18,511

Credit Facility Adjusted EBITDA

$

285,896

Schedule of market rates relating to interest options under the Facility

Base Rate Loan Option:

    

    

 

Federal Funds Rate plus 0.50%

    

0.59%

Wells Fargo Bank, N.A. Prime Rate

3.25%

One-month LIBOR plus 1.00%

1.14%

Eurodollar Rate Loan Option:

One-month LIBOR

0.14%

Six-month LIBOR

0.26%

Summary of additional margins

Consolidated Total Indebtedness to

 

Credit Facility Adjusted EBITDA

 

    

Less than 1.00

    

1.00 to 1.75

    

1.75 to 2.50

    

2.50 or greater

 

Additional Per Annum Interest Margin Added Under:

Base Rate Loan Option

0.25

%  

0.50

%  

0.75

%  

1.00

%

Eurodollar Rate Loan Option

1.25

%

1.50

%

1.75

%

2.00

%

Letter of credit fees

1.25

%

1.50

%

1.75

%

2.00

%

Commitment fees on any portion of the Revolving Loan capacity not in use for borrowings or letters of credit at any given time

0.20

%  

0.25

%  

0.30

%  

0.35

%  

XML 47 R33.htm IDEA: XBRL DOCUMENT v3.20.4
Leases (Tables)
12 Months Ended
Dec. 31, 2020
Leases  
Schedule of lease assets and liabilities

The following table summarizes the lease assets and liabilities included in the consolidated Balance Sheet as follows (in thousands):

December 31, 2020

December 31, 2019

Lease right-of-use assets

$

94,727

$

84,073

Lease liabilities:

Other current liabilities

$

16,586

$

14,016

Long-term lease liabilities

80,576

72,697

Total lease liabilities

$

97,162

$

86,713

Schedule of maturities of lease liabilities

The maturities of lease liabilities as of December 31, 2020 are as follows (in thousands):

Year ending December 31—

2021

$

20,254

2022

17,004

2023

14,727

2024

13,221

2025

12,108

Thereafter

36,645

Total Lease Payments

113,959

Less—Present Value Discount

(16,797)

Present Value of Lease Liabilities

$

97,162

Schedule of supplemental information related to leases

Supplemental information related to leases was as follows (in thousands):

Year Ended December 31,

2020

2019

Cash paid for amounts included in the measurement of lease liabilities

$

20,443

$

16,895

Lease right-of-use assets obtained in exchange for lease liabilities

$

27,346

$

26,811

XML 48 R34.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes (Tables)
12 Months Ended
Dec. 31, 2020
Income Taxes  
Schedule of provision for income taxes relating to continuing operations

Our provision for income taxes relating to continuing operations consists of the following (in thousands):

December 31,

 

    

2020

    

2019

    

2018

 

Current tax provision—

Federal

$

36,556

$

33,281

$

22,728

State and Puerto Rico

 

12,798

 

8,388

 

8,589

Total current

 

49,354

 

41,669

 

31,317

Deferred tax provision (benefit)—

Federal

 

(5,483)

 

(3,750)

 

4,347

State and Puerto Rico

 

(2,470)

 

(501)

 

109

Total deferred

 

(7,953)

 

(4,251)

 

4,456

Provision for income taxes

$

41,401

$

37,418

$

35,773

Schedule of difference in income taxes provided for and the amounts determined by applying the federal statutory tax rate to income before income taxes results

The provision for income taxes for the years ended December 31, 2020, 2019 and 2018 resulted in effective tax rates on continuing operations of 21.6%, 24.7% and 24.1%, respectively. The reasons for the differences between these effective tax rates and the federal statutory rates are as follows (in thousands):

December 31,

 

    

2020

    

2019

    

2018

 

Federal statutory rate of—

21

%

21

%

21

%

Income taxes at the federal statutory rate

$

40,223

$

31,866

$

31,222

Increases (decreases) resulting from—

Net state income taxes

 

8,406

 

6,644

 

7,470

Valuation allowances

 

(254)

 

(279)

 

(2,852)

Net unrecognized tax benefits

 

18,557

 

7,338

 

(15)

Nondeductible expenses

 

2,470

 

2,180

 

1,926

R&D tax credit

 

(26,133)

 

(4,569)

 

(2,726)

179D deduction

(1,062)

(5,126)

Net operating loss carryforwards

2,225

Stock-based compensation deductions

(426)

(714)

(1,293)

Other

 

(380)

 

78

 

(184)

Provision for income taxes

$

41,401

$

37,418

$

35,773

Schedule of significant components of the net deferred tax assets and net deferred tax liabilities as reflected on the balance sheet

Significant components of the deferred tax assets and deferred tax liabilities as reflected on the balance sheets are as follows (in thousands):

Year Ended

 

December 31,

 

    

2020

    

2019

 

Deferred tax assets—

Accounts receivable and allowance for credit losses

$

2,186

$

1,660

Stock-based compensation

 

2,791

 

2,561

Accrued liabilities and expenses

 

39,761

 

25,569

Lease liabilities

22,768

20,873

Net operating loss carryforwards

 

12,127

 

2,750

Intangible assets

7,988

Other

 

627

 

525

Subtotal

 

80,260

 

61,926

Valuation allowances

 

(514)

 

(369)

Total deferred tax assets

79,746

61,557

Deferred tax liabilities—

Property and equipment

 

(13,877)

 

(11,286)

Lease right-of-use asset

(22,715)

(20,873)

Long-term contracts

 

(609)

 

(876)

Intangible assets

(242)

Goodwill

 

(11,615)

 

(6,020)

Other

 

(2,626)

 

(2,004)

Total deferred tax liabilities

 

(51,684)

 

(41,059)

Net deferred tax assets

$

28,062

$

20,498

Schedule of deferred income tax assets and liabilities included in the consolidated balance sheets

The deferred tax assets and liabilities reflected above are included in the consolidated balance sheets as follows (in thousands):

December 31,

 

    

2020

    

2019

 

Deferred tax assets

$

29,401

$

21,923

Deferred tax liabilities

$

1,339

$

1,425

Schedule of reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties

A reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties, is as follows (in thousands):

Year Ended

 

December 31,

 

    

2020

    

2019

    

2018

 

Balance at beginning of year

$

10,199

$

2,966

$

8,929

Additions based on tax positions related to current year

 

 

 

Additions based on tax positions related to prior years

 

26,858

 

7,473

 

2,726

Reductions for tax positions related to prior years

 

 

(240)

 

(8,689)

Reductions for settlements with tax authorities

 

(8,301)

 

 

Balance at end of year

$

28,756

$

10,199

$

2,966

XML 49 R35.htm IDEA: XBRL DOCUMENT v3.20.4
Stockholders' Equity (Tables)
12 Months Ended
Dec. 31, 2020
Stockholders' Equity  
Reconciliation of number of shares outstanding with the number of shares used in computing basic and diluted earnings per share

The following table reconciles the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share for each of the periods presented (in thousands):

Year Ended December 31,

 

    

2020

    

2019

    

2018

 

Common shares outstanding, end of period

 

36,188

 

36,658

 

36,894

Effect of using weighted average common shares outstanding

 

354

 

196

 

308

Shares used in computing earnings per share—basic

 

36,542

 

36,854

 

37,202

Effect of shares issuable under stock option plans based on the treasury stock method

 

123

 

204

 

283

Effect of restricted and contingently issuable shares

 

73

 

73

 

107

Shares used in computing earnings per share—diluted

 

36,738

 

37,131

 

37,592

XML 50 R36.htm IDEA: XBRL DOCUMENT v3.20.4
Stock-Based Compensation (Tables)
12 Months Ended
Dec. 31, 2020
Stock-Based Compensation  
Summary of activity under the entity's stock option plans

The following table summarizes activity under our stock option plans (shares in thousands):

Year Ended

December 31,

2020

    

    

Weighted-

Average

Stock Options

    

Shares

    

Exercise Price

 

Outstanding at beginning of year

 

382

$

27.06

Granted

 

$

Exercised

 

(114)

$

18.85

Forfeited

 

$

Expired

 

$

Outstanding at end of year

 

268

$

30.53

Options exercisable at end of year

 

241

Summary information about stock options outstanding

The following table summarizes information about stock options outstanding at December 31, 2020 (shares in thousands):

Options Outstanding

Options Exercisable

 

    

    

Weighted-

    

 

Average

 

Number

Remaining

Weighted-

Number

Weighted-

 

Outstanding at

Contractual

Average

Exercisable at

Average

 

Range of Exercise Prices

    

12/31/2020

    

Life (in years)

    

Exercise Price

    

12/31/2020

    

Exercise Price

 

$11.21 - $15.00

 

14

 

2.2

$

13.76

 

14

$

13.76

$15.01 - $35.00

 

130

 

4.4

$

23.54

 

130

$

23.54

$35.01 - $42.50

 

124

 

6.8

$

39.78

 

97

$

39.02

$11.21 - $42.50

 

268

 

5.4

$

30.53

 

241

$

29.18

Schedule of fair values and the assumptions used for the grants

 

    

2018

 

Weighted-average fair value per share of options granted

$

13.06

Fair value assumptions:

Expected dividend yield

0.79%

Expected stock price volatility

31.7%

Risk-free interest rate

2.66%

Expected term

 

5.3 years

Summary of information about nonvested stock option awards and changes

The following table summarizes information about nonvested stock option awards as of December 31, 2020 and changes for the year ended December 31, 2020 (shares in thousands):

    

    

Weighted-Average

Grant Date

Stock Options

    

Shares

    

Fair Value

 

Nonvested at December 31, 2019

 

81

$

12.53

Granted

 

$

Vested

 

(54)

$

12.26

Forfeited

 

$

Nonvested at December 31, 2020

 

27

$

13.06

Summary of activity under the entity's restricted stock plans

The following table summarizes activity under our restricted stock plans (shares in thousands):

Year Ended

December 31,

2020

Weighted

Average Grant

Restricted Stock and Restricted Stock Units

    

Shares

    

Date Fair Value

 

Unvested at beginning of year

 

91

$

47.58

Granted

 

118

$

39.03

Vested

 

(85)

$

39.13

Forfeited

 

(4)

$

45.21

Unvested at end of year

 

120

$

45.21

XML 51 R37.htm IDEA: XBRL DOCUMENT v3.20.4
Segment Information (Tables)
12 Months Ended
Dec. 31, 2020
Segment Information  
Summary of information about reportable segments

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Total Assets at December 31, 2020

$

1,215,985

$

449,588

$

91,782

$

1,757,355

Total Assets at December 31, 2019

$

1,056,609

$

372,254

$

76,149

$

1,505,012

Year Ended December 31, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,413,016

$

443,643

$

$

2,856,659

Gross Profit

$

509,740

$

37,243

$

$

546,983

Capital Expenditures

$

22,550

$

955

$

626

$

24,131

Year Ended December 31, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,251,560

$

363,717

$

$

2,615,277

Gross Profit

$

465,144

$

36,799

$

$

501,943

Capital Expenditures

$

27,933

$

1,504

$

2,313

$

31,750

Year Ended December 31, 2018

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

2,176,223

$

6,656

$

$

2,182,879

Gross Profit

$

444,960

$

1,319

$

$

446,279

Capital Expenditures

$

25,945

$

57

$

1,266

$

27,268

XML 52 R38.htm IDEA: XBRL DOCUMENT v3.20.4
Selected Quarterly Financial Data (Tables)
12 Months Ended
Dec. 31, 2020
Selected Quarterly Financial Data  
Schedule of quarterly financial information

Quarterly financial information for the years ended December 31, 2020 and 2019 is summarized as follows (in thousands, except per share data):

2020

 

    

Q1

    

Q2

    

Q3

    

Q4

 

Revenue

$

700,131

$

743,468

$

714,099

$

698,961

Gross profit

 

117,093

 

145,695

 

147,196

 

136,999

Net income

 

17,716

 

39,495

 

50,088

 

42,840

INCOME PER SHARE:

Basic

$

0.48

$

1.08

$

1.37

$

1.18

Diluted

$

0.48

$

1.08

$

1.36

$

1.17

2019

 

    

Q1

    

Q2

    

Q3

    

Q4

 

Revenue

$

538,473

$

650,302

$

706,918

$

719,584

Gross profit (1)

 

106,665

 

120,016

 

142,702

 

132,560

Net income

 

19,866

 

24,173

 

36,233

 

34,052

INCOME PER SHARE:

Basic

$

0.54

$

0.65

$

0.98

$

0.93

Diluted

$

0.53

$

0.65

$

0.98

$

0.92

(1)In the fourth quarter of 2019, we recorded a $4.8 million gain due to insurance proceeds we received in the fourth quarter related to the ransomware incident that occurred in April 2019.
XML 53 R39.htm IDEA: XBRL DOCUMENT v3.20.4
Business and Organization (Details)
12 Months Ended
Dec. 31, 2020
Installation of systems in newly constructed facilities  
Business and Organization  
Percentage of revenue attributable to services 46.70%
Maintenance, repair and replacement services  
Business and Organization  
Percentage of revenue attributable to services 53.30%
XML 54 R40.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Cash Flow Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Cash paid for:      
Interest $ 7,684 $ 8,817 $ 3,743
Income taxes $ 51,286 $ 45,288 $ 33,401
XML 55 R41.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) - USD ($)
$ in Thousands
Jan. 01, 2020
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
New Accounting Pronouncements or Change in Accounting Principle          
Impact to Retained Earnings   $ 696,429 $ 585,304 $ 498,047 $ 417,945
Lease right-of-use assets   94,727 84,073    
Operating lease liability   97,162 $ 86,713    
Cumulative Effect, Period of Adoption, Adjustment [Member]          
New Accounting Pronouncements or Change in Accounting Principle          
Impact to Retained Earnings   $ (515)      
Cumulative Effect, Period of Adoption, Adjustment [Member] | ASU 2016-13          
New Accounting Pronouncements or Change in Accounting Principle          
Impact to Retained Earnings $ 500        
Adjustments | ASU 2016-13          
New Accounting Pronouncements or Change in Accounting Principle          
Increase in Allowance for Credit Losses 700        
Increase to Deferred Tax Assets $ 200        
XML 56 R42.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Allowance for Doubtful Accounts Receivable [Roll Forward]      
Balance at beginning of year $ 6,907 $ 5,898  
Impact of new accounting standard 695    
Bad debt expense (benefit) 5,253 2,978 $ 3,562
Deductions for uncollectible receivables written off, net of recoveries (2,166) (3,924)  
Credit allowance of acquired companies on the acquisition date 335 1,955  
Reclass to other current liabilities (315)    
Balance at end of year 10,709 6,907 $ 5,898
Service      
Allowance for Doubtful Accounts Receivable [Roll Forward]      
Balance at beginning of year 3,192    
Impact of new accounting standard 310    
Bad debt expense (benefit) 2,566    
Deductions for uncollectible receivables written off, net of recoveries (1,431)    
Balance at end of year 4,637 3,192  
Construction      
Allowance for Doubtful Accounts Receivable [Roll Forward]      
Balance at beginning of year 3,400    
Impact of new accounting standard 331    
Bad debt expense (benefit) 2,697    
Deductions for uncollectible receivables written off, net of recoveries (735)    
Credit allowance of acquired companies on the acquisition date 335    
Balance at end of year 6,028 3,400  
Other.      
Allowance for Doubtful Accounts Receivable [Roll Forward]      
Balance at beginning of year 315    
Impact of new accounting standard 54    
Bad debt expense (benefit) (10)    
Reclass to other current liabilities (315)    
Balance at end of year $ 44 $ 315  
XML 57 R43.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Risk (Details)
12 Months Ended
Dec. 31, 2020
Warranty Costs  
Labor warranty period after servicing of existing MEP system 30 days
Revenue | Customer concentration | Minimum  
Warranty Costs  
Single customer, percentage of revenue 5.00%
XML 58 R44.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Insurance Recovery (Details)
$ in Millions
3 Months Ended
Dec. 31, 2019
USD ($)
Summary of Significant Accounting Policies  
Gain due to insurance proceeds received $ 4.8
Gain recorded as reduction in SG&A 1.6
Gain recorded as reduction in cost of services expense $ 3.2
XML 59 R45.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers - Revenue Recognition (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Contracts in progress      
Costs incurred on contracts in progress $ 3,103,580 $ 2,518,581  
Estimated earnings, net of losses 548,435 405,891  
Less-Billings to date (3,813,171) (3,033,112)  
Less-Unbilled accounts receivable (45,596) (55,542)  
Less-Unbilled accounts receivable credit allowance (784) 0  
Contracts in progress (207,536) (164,182)  
Costs and estimated earnings in excess of billings 18,622 2,736 $ 10,213
Plus-Costs and estimated earnings in excess of billings credit allowance 79 0  
Billings in excess of costs and estimated earnings $ (226,237) (166,918) $ (130,986)
Period during which progress billings or contract price can be withheld until completion of work 6 months    
Retention receivable $ 124,100 111,700  
Retention payable $ 22,200 $ 15,800  
Revenue, Performance Obligation, Description of Payment Terms We typically invoice our customers with payment terms of net due in 30 days    
Receivable payment terms (in days) 30 days    
Minimum      
Contracts in progress      
Receivable payment terms (in days) 45 days    
Payments received term (in days) 30 days    
Maximum      
Contracts in progress      
Receivable payment terms (in days) 60 days    
Payments received term (in days) 90 days    
XML 60 R46.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Disaggregation of Revenue      
Revenue $ 2,856,659 $ 2,615,277  
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00%  
Industrial      
Disaggregation of Revenue      
Revenue $ 1,112,075 $ 886,668  
Percentage of revenue from contract with customer (as a percent) 38.90% 33.90%  
Education      
Disaggregation of Revenue      
Revenue $ 487,922 $ 412,318  
Percentage of revenue from contract with customer (as a percent) 17.10% 15.80%  
Office Buildings      
Disaggregation of Revenue      
Revenue $ 319,426 $ 348,640  
Percentage of revenue from contract with customer (as a percent) 11.20% 13.30%  
Healthcare      
Disaggregation of Revenue      
Revenue $ 371,105 $ 358,155  
Percentage of revenue from contract with customer (as a percent) 13.00% 13.70%  
Government      
Disaggregation of Revenue      
Revenue $ 163,717 $ 162,507  
Percentage of revenue from contract with customer (as a percent) 5.70% 6.20%  
Retail, Restaurants and Entertainment      
Disaggregation of Revenue      
Revenue $ 239,541 $ 248,083  
Percentage of revenue from contract with customer (as a percent) 8.40% 9.50%  
Multi-Family and Residential      
Disaggregation of Revenue      
Revenue $ 86,799 $ 104,693  
Percentage of revenue from contract with customer (as a percent) 3.00% 4.00%  
Other      
Disaggregation of Revenue      
Revenue $ 76,074 $ 94,213  
Percentage of revenue from contract with customer (as a percent) 2.70% 3.60%  
New Construction      
Disaggregation of Revenue      
Revenue $ 1,333,739 $ 1,201,122  
Percentage of revenue from contract with customer (as a percent) 46.70% 45.90%  
Existing Building Construction      
Disaggregation of Revenue      
Revenue $ 910,807 $ 793,159  
Percentage of revenue from contract with customer (as a percent) 31.90% 30.30%  
Service Projects      
Disaggregation of Revenue      
Revenue $ 241,402 $ 231,228  
Percentage of revenue from contract with customer (as a percent) 8.40% 8.90%  
Service Calls, Maintenance and Monitoring      
Disaggregation of Revenue      
Revenue $ 370,711 $ 389,768  
Percentage of revenue from contract with customer (as a percent) 13.00% 14.90%  
Mechanical Services      
Disaggregation of Revenue      
Revenue $ 2,413,016 $ 2,251,560  
Percentage of revenue from contract with customer (as a percent) 84.50% 86.10%  
Electrical Services      
Disaggregation of Revenue      
Revenue $ 443,643 $ 363,717  
Percentage of revenue from contract with customer (as a percent) 15.50% 13.90%  
Calculated under Revenue Guidance in Effect before Topic 606 [Member]      
Disaggregation of Revenue      
Revenue     $ 2,182,879
Percentage of revenue from contract with customer (as a percent)     100.00%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Industrial      
Disaggregation of Revenue      
Revenue     $ 596,557
Percentage of revenue from contract with customer (as a percent)     27.30%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Education      
Disaggregation of Revenue      
Revenue     $ 391,937
Percentage of revenue from contract with customer (as a percent)     18.00%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Office Buildings      
Disaggregation of Revenue      
Revenue     $ 288,090
Percentage of revenue from contract with customer (as a percent)     13.20%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Healthcare      
Disaggregation of Revenue      
Revenue     $ 319,958
Percentage of revenue from contract with customer (as a percent)     14.70%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Government      
Disaggregation of Revenue      
Revenue     $ 143,958
Percentage of revenue from contract with customer (as a percent)     6.60%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Retail, Restaurants and Entertainment      
Disaggregation of Revenue      
Revenue     $ 225,348
Percentage of revenue from contract with customer (as a percent)     10.30%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Multi-Family and Residential      
Disaggregation of Revenue      
Revenue     $ 136,075
Percentage of revenue from contract with customer (as a percent)     6.20%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Other      
Disaggregation of Revenue      
Revenue     $ 80,956
Percentage of revenue from contract with customer (as a percent)     3.70%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | New Construction      
Disaggregation of Revenue      
Revenue     $ 829,978
Percentage of revenue from contract with customer (as a percent)     38.00%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Existing Building Construction      
Disaggregation of Revenue      
Revenue     $ 796,946
Percentage of revenue from contract with customer (as a percent)     36.50%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Service Projects      
Disaggregation of Revenue      
Revenue     $ 206,506
Percentage of revenue from contract with customer (as a percent)     9.50%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Service Calls, Maintenance and Monitoring      
Disaggregation of Revenue      
Revenue     $ 349,449
Percentage of revenue from contract with customer (as a percent)     16.00%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Mechanical Services      
Disaggregation of Revenue      
Revenue     $ 2,176,223
Percentage of revenue from contract with customer (as a percent)     99.70%
Calculated under Revenue Guidance in Effect before Topic 606 [Member] | Electrical Services      
Disaggregation of Revenue      
Revenue     $ 6,656
Percentage of revenue from contract with customer (as a percent)     0.30%
XML 61 R47.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers - Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Contract Assets    
Balance at beginning of period $ 2,736 $ 10,213
Change due to acquisitions / disposals 9,509 6,573
Change related to credit allowance (79)  
Other changes in the period 6,456 (14,050)
Balance at end of period 18,622 2,736
Contract Liabilities    
Balance at beginning of period 166,918 130,986
Change due to acquisitions / disposals 39,885 31,556
Other changes in the period 19,434 4,376
Balance at end of period 226,237 166,918
Revenue related to our contract liabilities $ 165,800  
Calculated under Revenue Guidance in Effect before Topic 606 [Member]    
Contract Liabilities    
Revenue related to our contract liabilities   $ 126,700
XML 62 R48.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers - Remaining Performance Obligations (Details)
$ in Millions
12 Months Ended
Dec. 31, 2020
USD ($)
Remaining Performance Obligations  
The term of the renewable service maintenance agreements (in years) 1 year
Practical Expedient true
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01  
Remaining Performance Obligations  
Remaining performance obligations $ 1,510
Expected timing of performance obligations 12 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01 | Minimum  
Remaining Performance Obligations  
Expected percentage of remaining performance obligations 80.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01 | Maximum  
Remaining Performance Obligations  
Expected percentage of remaining performance obligations 85.00%
XML 63 R49.htm IDEA: XBRL DOCUMENT v3.20.4
Fair Value Measurements (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2020
USD ($)
item
Dec. 31, 2019
USD ($)
Nov. 30, 2021
USD ($)
Fair Value Measurements      
Number of employees covered under life insurance policies | item 86    
Combined face value of life insurance policies $ 61,700    
Cash surrender value $ 5,400 $ 3,900  
Minimum      
Fair Value Measurements      
Weighted average cost of capital 9.50%    
Maximum      
Fair Value Measurements      
Weighted average cost of capital 17.00%    
Contingent earn-out obligations      
Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)      
Balance at beginning of year $ 28,497 7,375  
Issuances 16,715 19,500  
Settlements (10,114) (1,369)  
Adjustments to fair value 9,119 (2,991)  
Balance at end of period 25,979 28,497  
Recurring basis | Total      
Fair Value Measurements      
Cash and cash equivalents 54,896 50,788  
Life insurance-cash surrender value 5,420 3,905  
Contingent earn-out obligations 25,979 28,497  
Recurring basis | Quoted Market Prices In Active Markets for Identical Assets (Level 1)      
Fair Value Measurements      
Cash and cash equivalents 54,896 50,788  
Recurring basis | Fair Value Measurements at Reporting Date Using Significant Other Observable Inputs (Level 2)      
Fair Value Measurements      
Life insurance-cash surrender value 5,420 3,905  
Recurring basis | Significant Unobservable Inputs (Level 3)      
Fair Value Measurements      
Contingent earn-out obligations 25,979 $ 28,497  
Non recurring basis | Significant Unobservable Inputs (Level 3)      
Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)      
Impairment charges 0    
Interest Rate Swap      
Fair Value Measurements      
Net loss on derivative 300    
Interest Rate Swap | Not Designated as Hedging Instrument, Economic Hedge [Member]      
Fair Value Measurements      
Notional amount 130,000   $ 80,000
Interest Rate Swap | Recurring basis | Total | Not Designated as Hedging Instrument, Economic Hedge [Member]      
Fair Value Measurements      
Interest rate swap liability 42    
Interest Rate Swap | Recurring basis | Fair Value Measurements at Reporting Date Using Significant Other Observable Inputs (Level 2) | Not Designated as Hedging Instrument, Economic Hedge [Member]      
Fair Value Measurements      
Interest rate swap liability $ 42    
XML 64 R50.htm IDEA: XBRL DOCUMENT v3.20.4
Acquisitions (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 12 Months Ended
Apr. 01, 2020
Dec. 31, 2020
Jun. 30, 2019
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Consideration transferred:            
Total consideration transferred       $ 41,600 $ 2,600  
Recognized amounts of identifiable assets acquired and liabilities assumed:            
Goodwill   $ 464,392   464,392 $ 332,447 $ 235,182
TAS Energy            
Consideration transferred:            
Cash paid at closing $ 105,950          
Working capital adjustment 40,455          
Notes issued to former owners 14,000          
Estimated fair value of contingent earn-out payments 9,100          
Total consideration transferred 169,505          
Recognized amounts of identifiable assets acquired and liabilities assumed:            
Cash and cash equivalents 47,460          
Billed and unbilled accounts receivable 18,702          
Other current assets 15,634          
Other long-term assets 1,556          
Property and equipment 7,709          
Goodwill 72,788          
Identifiable intangible assets 53,400          
Lease right-of-use asset 19,736          
Accounts payable (16,453)          
Billings in excess of costs and estimated earnings (24,196)          
Current lease liabilities (2,337)          
Accrued expenses and other current liabilities (4,109)          
Long-term lease liabilities (17,398)          
Other long-term liabilities (2,987)          
Total assets acquired and liabilities assumed $ 169,505          
T E C Industrial Construction and Maintenance            
Consideration transferred:            
Cash paid at closing   73,000        
Working capital adjustment   2,006        
Notes issued to former owners   7,000        
Estimated fair value of contingent earn-out payments   7,560        
Total consideration transferred   89,566        
Recognized amounts of identifiable assets acquired and liabilities assumed:            
Cash and cash equivalents   4   4    
Billed and unbilled accounts receivable   13,660   13,660    
Costs in excess of billings   2,040   2,040    
Other current assets   108   108    
Other long-term assets   53   53    
Property and equipment   912   912    
Goodwill   44,431   44,431    
Identifiable intangible assets   37,200   37,200    
Lease right-of-use asset   1,234   1,234    
Accounts payable   (4,123)   (4,123)    
Billings in excess of costs and estimated earnings   (2,838)   (2,838)    
Current lease liabilities   (175)   (175)    
Accrued expenses and other current liabilities   (1,881)   (1,881)    
Long-term lease liabilities   (1,059)   (1,059)    
Total assets acquired and liabilities assumed   $ 89,566   $ 89,566    
Walker            
Consideration transferred:            
Cash paid at closing     $ 178,000      
Working capital adjustment     7,800      
Notes issued to former owners     25,000      
Total consideration transferred     235,400      
Recognized amounts of identifiable assets acquired and liabilities assumed:            
Total assets acquired and liabilities assumed     $ 187,000      
XML 65 R51.htm IDEA: XBRL DOCUMENT v3.20.4
Acquisitions - Acquired Intangible Assets (Details) - USD ($)
$ in Thousands
1 Months Ended
Apr. 01, 2020
Dec. 31, 2020
TAS Energy    
Acquired Finite-Lived Intangible Assets [Line Items]    
Estimated Fair Value $ 53,400  
TAS Energy | Backlog    
Acquired Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 1 year  
Estimated Fair Value $ 5,200  
TAS Energy | Trade Name    
Acquired Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 25 years  
Estimated Fair Value $ 8,200  
TAS Energy | Customer Relationships    
Acquired Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 10 years  
Estimated Fair Value $ 40,000  
T E C Industrial Construction and Maintenance    
Acquired Finite-Lived Intangible Assets [Line Items]    
Estimated Fair Value   $ 37,200
T E C Industrial Construction and Maintenance | Backlog    
Acquired Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life   2 years
Estimated Fair Value   $ 7,200
T E C Industrial Construction and Maintenance | Trade Name    
Acquired Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life   20 years
Estimated Fair Value   $ 5,800
T E C Industrial Construction and Maintenance | Customer Relationships    
Acquired Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life   9 years
Estimated Fair Value   $ 24,200
XML 66 R52.htm IDEA: XBRL DOCUMENT v3.20.4
Acquisitions - Contingent Earn-out Obligation (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended 12 Months Ended
Apr. 01, 2020
Dec. 31, 2020
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2020
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Business Acquisition [Line Items]                            
Revenues     $ 698,961 $ 714,099 $ 743,468 $ 700,131 $ 719,584 $ 706,918 $ 650,302 $ 538,473   $ 2,856,659 $ 2,615,277 $ 2,182,879
Federal                            
Business Acquisition [Line Items]                            
Net operating loss carryforwards $ 53,200 $ 44,900 44,900               $ 44,900 44,900    
State                            
Business Acquisition [Line Items]                            
Net operating loss carryforwards $ 6,500 $ 46,200 46,200               46,200 46,200    
TAS Energy                            
Business Acquisition [Line Items]                            
Revenues                     106,400      
Contingent earn-out period 27 months                          
Contingent earn-out estimated milestone payment, minimum $ 1,000                          
Contingent earn-out estimated milestone payment, maximum $ 8,000                          
Cash flow discount rate 17.70%                          
TAS Energy | Minimum                            
Business Acquisition [Line Items]                            
Cash flow discount rate 15.00%                          
TAS Energy | Maximum                            
Business Acquisition [Line Items]                            
Cash flow discount rate 23.50%                          
T E C Industrial Construction and Maintenance                            
Business Acquisition [Line Items]                            
Contingent earn-out period   3 years                        
Contingent earn-out estimated milestone payment, minimum   $ 1,000 1,000               1,000 1,000    
Contingent earn-out estimated milestone payment, maximum   $ 5,000 $ 5,000               $ 5,000 $ 5,000    
Cash flow discount rate   12.90%                        
T E C Industrial Construction and Maintenance | Minimum                            
Business Acquisition [Line Items]                            
Cash flow discount rate   14.00%                        
T E C Industrial Construction and Maintenance | Maximum                            
Business Acquisition [Line Items]                            
Cash flow discount rate   15.00%                        
XML 67 R53.htm IDEA: XBRL DOCUMENT v3.20.4
Acquisitions - Other Acquisitions (Details)
$ in Millions
3 Months Ended 12 Months Ended
Jun. 30, 2019
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
item
Acquisitions      
Number of acquisitions | item     2
Total purchase price   $ 41.6 $ 2.6
Walker      
Acquisitions      
Total purchase price $ 235.4    
Amount allocated to goodwill and intangible assets for acquisitions 187.0    
Purchase price paid in cash 178.0    
Promissory note payable 25.0    
Advance to former owners 20.5    
Contingent earn-out obligation 19.5    
Tax equalization payment 0.2    
Working capital adjustment $ 7.8    
XML 68 R54.htm IDEA: XBRL DOCUMENT v3.20.4
Goodwill and Identifiable Intangible Assets, Net - Changes in Carrying Amount of Goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Changes in the carrying amount of goodwill    
Balance at beginning of year $ 332,447 $ 235,182
Acquisitions and purchase price adjustments (See Note 5) 131,945 97,265
Balance at end of period 464,392 332,447
Mechanical Services Segment    
Changes in the carrying amount of goodwill    
Balance at beginning of year 234,660 235,182
Acquisitions and purchase price adjustments (See Note 5) 72,788 579
Impact of segment reorganization   (1,101)
Balance at end of period 307,448 234,660
Accumulated impairment charges 116,600 116,600
Electrical Services    
Changes in the carrying amount of goodwill    
Balance at beginning of year 97,787  
Acquisitions and purchase price adjustments (See Note 5) 59,157 96,686
Impact of segment reorganization   1,101
Balance at end of period $ 156,944 $ 97,787
XML 69 R55.htm IDEA: XBRL DOCUMENT v3.20.4
Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 11 years 8 months 12 days    
Gross Book Value $ 366,987 $ 262,456  
Accumulated Amortization (135,180) (102,482)  
Amortization of identifiable intangible assets 32,698 27,082 $ 20,089
Future amortization expense of identifiable intangible assets      
2021 32,344    
2022 27,412    
2023 23,514    
2024 22,164    
2025 19,977    
Thereafter 106,396    
Total $ 231,807    
Customer Relationships      
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 8 years    
Gross Book Value $ 255,692 183,061  
Accumulated Amortization $ (103,919) (80,813)  
Customer Relationships | Minimum      
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 8 years    
Backlog      
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 2 years    
Gross Book Value $ 19,800 7,400  
Accumulated Amortization $ (12,600) (6,388)  
Backlog | Minimum      
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 2 years    
Trade Name      
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 20 years 6 months    
Gross Book Value $ 91,495 71,995  
Accumulated Amortization $ (18,661) $ (15,281)  
Trade Name | Minimum      
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 20 years 6 months    
Customer Relationships Noncompete Agreements and Tradenames | Minimum      
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 1 year    
Customer Relationships Noncompete Agreements and Tradenames | Maximum      
Identifiable Intangible Assets, Net      
Estimated Useful Lives in Years 25 years    
XML 70 R56.htm IDEA: XBRL DOCUMENT v3.20.4
Goodwill and Identifiable Intangible Assets, Net (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Asset Impairment Charges [Abstract]      
Goodwill $ 464,392 $ 332,447 $ 235,182
Impairment testing, Scenario one      
Asset Impairment Charges [Abstract]      
Impairment testing, discounted cash flow analysis weightage assigned   50.00%  
Impairment testing, Scenario two      
Asset Impairment Charges [Abstract]      
Impairment testing, public company approach weightage assigned   50.00%  
Walker      
Asset Impairment Charges [Abstract]      
Percentage of fair values in excess of carrying value of two acquired reporting units   27.00%  
Percentage of fair values in excess of carrying value for Walker reporting unit 24.00%    
Goodwill $ 96,800    
XML 71 R57.htm IDEA: XBRL DOCUMENT v3.20.4
Property and Equipment (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Property and equipment      
Property and equipment, gross $ 264,408 $ 239,165  
Less-Accumulated depreciation (147,202) (129,369)  
Property and equipment, net 117,206 109,796  
Depreciation expense 27,900 24,500 $ 22,600
Land      
Property and equipment      
Property and equipment, gross 7,167 6,206  
Transportation equipment      
Property and equipment      
Property and equipment, gross $ 113,802 106,972  
Transportation equipment | Minimum      
Property and equipment      
Estimated useful life 1 year    
Transportation equipment | Maximum      
Property and equipment      
Estimated useful life 7 years    
Machinery and equipment      
Property and equipment      
Property and equipment, gross $ 43,386 35,575  
Machinery and equipment | Minimum      
Property and equipment      
Estimated useful life 1 year    
Machinery and equipment | Maximum      
Property and equipment      
Estimated useful life 20 years    
Computer and telephone equipment      
Property and equipment      
Property and equipment, gross $ 23,215 20,744  
Computer and telephone equipment | Minimum      
Property and equipment      
Estimated useful life 1 year    
Computer and telephone equipment | Maximum      
Property and equipment      
Estimated useful life 10 years    
Buildings and leasehold improvements      
Property and equipment      
Property and equipment, gross $ 69,683 62,301  
Buildings and leasehold improvements | Minimum      
Property and equipment      
Estimated useful life 1 year    
Buildings and leasehold improvements | Maximum      
Property and equipment      
Estimated useful life 40 years    
Furniture and fixtures      
Property and equipment      
Property and equipment, gross $ 5,861 5,244  
Furniture and fixtures | Minimum      
Property and equipment      
Estimated useful life 1 year    
Furniture and fixtures | Maximum      
Property and equipment      
Estimated useful life 17 years    
Construction in progress      
Property and equipment      
Property and equipment, gross $ 1,294 $ 2,123  
XML 72 R58.htm IDEA: XBRL DOCUMENT v3.20.4
Detail of Other Current Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Other current liabilities    
Accrued warranty costs $ 8,914 $ 7,452
Current lease liability 16,586 14,016
Operating lease liability 97,162 86,713
Accrued job losses 2,151 2,226
Accrued sales and use tax 3,731 2,938
Deferred revenue 4,559 5,506
Liabilities due to former owners 10,280 11,219
Other current liabilities 45,271 38,273
Total other current liabilities $ 91,492 $ 81,630
XML 73 R59.htm IDEA: XBRL DOCUMENT v3.20.4
Debt Obligations (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Debt Obligations    
Total principal amount $ 236,000 $ 226,483
Less-unamortized debt issuance costs (267) (348)
Total debt, net of unamortized debt issuance costs 235,733 226,135
Less-current portion   20,817
Total long-term portion of debt, net 235,733 205,318
Revolving credit facility    
Debt Obligations    
Total principal amount 70,000 28,000
Term loan    
Debt Obligations    
Total principal amount 135,000 150,000
Notes to former owners    
Debt Obligations    
Outstanding balance $ 31,000 $ 48,483
XML 74 R60.htm IDEA: XBRL DOCUMENT v3.20.4
Debt Obligations - Future Payments (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Future principal payments of long-term debt      
2022 $ 23,000    
2023 34,000    
2023 26,500    
2024 152,500    
Total debt 236,000    
Interest expense      
Interest expense on notes to former owners 1,354 $ 1,531 $ 642
Interest expense on borrowings and unused commitment fees 5,319 6,887 2,211
Interest expense on interest rate swaps 338    
Letter of credit fees 830 512 474
Amortization of debt financing costs 544 387 383
Total $ 8,385 $ 9,317 $ 3,710
XML 75 R61.htm IDEA: XBRL DOCUMENT v3.20.4
Debt Obligations - Other (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2019
USD ($)
Dec. 20, 2019
USD ($)
Dec. 19, 2019
USD ($)
Dec. 31, 2020
USD ($)
item
Dec. 31, 2019
USD ($)
Dec. 31, 2018
USD ($)
Debt Obligations            
Payments on term loan       $ 15,000    
Financing and professional cost         $ 1,405 $ 844
Outstanding balance $ 226,483     236,000 226,483  
Reconciliation of Credit Facility Adjusted EBITDA to net income            
Net income       150,139 114,324 112,903
Provision for income taxes       41,401 37,418 35,773
Stock-based compensation       $ 6,934 5,878 $ 7,161
Principal financial covenants            
Fixed charge coverage ratio       2.00    
Other disclosures            
2022       $ 23,000    
2023       34,000    
Revolving credit facility            
Debt Obligations            
Borrowing capacity   $ 450,000        
Payments of financing costs line of credit arrangements 1,000          
Outstanding borrowings       70,000    
Outstanding balance 28,000     70,000 28,000  
Letters of credit amount outstanding       49,500    
Credit available       330,500    
Book value of assets pledged as collateral       $ 167,800    
Number of quarters of net earnings used for the calculation of the credit facility adjusted EBITDA | item       4    
Reconciliation of Credit Facility Adjusted EBITDA to net income            
Net income       $ 150,139    
Provision for income taxes       41,401    
Interest expense, net       8,282    
Depreciation and amortization expense       (60,629)    
Stock-based compensation       6,934    
Pre-acquisition results of acquired companies, as defined under the Facility       (18,511)    
Credit Facility Adjusted EBITDA       $ 285,896    
Principal financial covenants            
Number of interest rate options | item       2    
Leverage ratio       0.8    
Fixed charge coverage ratio       7.2    
Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio | item       4    
Period of Credit Facility Adjusted EBITDA for determining additional margins       12 months    
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Weighted average interest rate (as a percent)       1.40%    
Revolving credit facility | Through maturity            
Principal financial covenants            
Leverage ratio       3.00    
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Letter of credit fees (as a percent)       1.25%    
Commitment fees payable on unused portion of the facility (as a percent)       0.20%    
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Letter of credit fees (as a percent)       1.50%    
Commitment fees payable on unused portion of the facility (as a percent)       0.25%    
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Letter of credit fees (as a percent)       1.75%    
Commitment fees payable on unused portion of the facility (as a percent)       0.30%    
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Letter of credit fees (as a percent)       2.00%    
Commitment fees payable on unused portion of the facility (as a percent)       0.35%    
Revolving credit facility | Minimum            
Principal financial covenants            
Fixed charge coverage ratio       1.50    
Revolving credit facility | Minimum | Covenant Requirement            
Principal financial covenants            
Net leverage ratio used as basis for other restrictions       2.50    
Revolving credit facility | Maximum            
Principal financial covenants            
Permitted amount of acquisitions per transaction       $ 5,000    
Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction       $ 10,000    
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       0.25%    
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       0.50%    
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       0.75%    
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       1.00%    
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       1.25%    
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       1.50%    
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       1.75%    
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater            
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       2.00%    
Amended senior revolving credit facility            
Debt Obligations            
Borrowing capacity   600,000 $ 400,000 $ 585,000    
Line of credit borrowing capacity accordion option   150,000        
Payments on term loan       15,000    
Financing and professional cost 1,400          
Unamortized costs     $ 1,300      
Term loan            
Debt Obligations            
Borrowing capacity   $ 150,000        
Repayment in terms of percentage of original aggregate principal amount   3.75% 1.25%      
Payments of financing costs term loan 400          
Outstanding balance 150,000     $ 135,000 150,000  
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Weighted average interest rate (as a percent)       1.40%    
Notes to former owners            
Other disclosures            
Cumulative number of companies acquired | item       4    
Outstanding balance $ 48,483     $ 31,000 $ 48,483  
Promissory note | Walker            
Other disclosures            
Outstanding balance       $ 10,000    
Stated interest rate (as a percent)       4.00%    
Promissory note | TAS Energy            
Other disclosures            
Outstanding balance       $ 8,000    
Stated interest rate (as a percent)       3.50%    
Promissory note | T E C Industrial Construction and Maintenance            
Other disclosures            
Outstanding balance       $ 7,000    
Stated interest rate (as a percent)       2.50%    
Promissory note | Electrical Contractor North Carolina            
Other disclosures            
Outstanding balance       $ 6,000    
Stated interest rate (as a percent)       3.00%    
Letter of Credit            
Debt Obligations            
Borrowing capacity   $ 160,000        
Federal Funds Rate | Revolving credit facility | Base Rate            
Market rates relating to interest options            
Market rate (as a percent)       0.59%    
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       0.50%    
Wells Fargo Bank, N.A. Prime Rate | Revolving credit facility | Base Rate            
Market rates relating to interest options            
Market rate (as a percent)       3.25%    
One-month LIBOR | Revolving credit facility | Base Rate            
Market rates relating to interest options            
Market rate (as a percent)       1.14%    
Debt Instrument, Interest Rate, Effective Percentage [Abstract]            
Additional per annum interest margin (as a percent)       1.00%    
One-month LIBOR | Revolving credit facility | Eurodollar Rate            
Market rates relating to interest options            
Variable rate basis       One-month LIBOR    
Market rate (as a percent)       0.14%    
Six-month LIBOR | Revolving credit facility | Eurodollar Rate            
Market rates relating to interest options            
Variable rate basis       Six-month LIBOR    
Market rate (as a percent)       0.26%    
XML 76 R62.htm IDEA: XBRL DOCUMENT v3.20.4
Leases (Details)
$ in Millions
12 Months Ended
Dec. 31, 2020
USD ($)
Option
Dec. 31, 2019
USD ($)
Dec. 31, 2018
USD ($)
Lessee, Lease, Description [Line Items]      
Variable lease expense and short-term lease expenses $ 7.7 $ 8.4  
Weighted average discount rate 4.20% 3.90%  
Lease expense $ 28.2 $ 24.8 $ 23.4
Weighted average remaining lease term 7 years 6 months 8 years 1 month 6 days  
Rent paid to related parties $ 4.2 $ 3.7 $ 4.8
Minimum      
Lessee, Lease, Description [Line Items]      
Lease term 3 years    
Number of options to renew | Option 1    
Maximum      
Lessee, Lease, Description [Line Items]      
Lease term 10 years    
XML 77 R63.htm IDEA: XBRL DOCUMENT v3.20.4
Leases - Summary of Lease Assets and Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Summary of lease asset and liabilities    
Lease right-of-use assets $ 94,727 $ 84,073
Operating Lease, Liability [Abstract]    
Other current liabilities $ 16,586 $ 14,016
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Other current liabilities Other current liabilities
Long-term lease liabilities $ 80,576 $ 72,697
Operating Lease, Liability, Statement of Financial Position [Extensible List] Long-term lease liabilities Long-term lease liabilities
Present Value of Lease Liabilities $ 97,162 $ 86,713
XML 78 R64.htm IDEA: XBRL DOCUMENT v3.20.4
Leases - Maturities of Lease Liabilities (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Maturities of lease liabilities:    
2021 $ 20,254  
2022 17,004  
2023 14,727  
2024 13,221  
2024 12,108  
Thereafter 36,645  
Total Lease Payments 113,959  
Less-Present Value Discount (16,797)  
Present Value of Lease Liabilities 97,162 $ 86,713
Supplemental information related to leases:    
Cash paid for amounts included in the measurement of lease liabilities 20,443 16,895
Lease right-of-use assets obtained in exchange for lease liabilities $ 27,346 $ 26,811
XML 79 R65.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes - Provision (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Current tax provision-      
Federal $ 36,556 $ 33,281 $ 22,728
State and Puerto Rico 12,798 8,388 8,589
Total current 49,354 41,669 31,317
Deferred tax provision (benefit)-      
Federal (5,483) (3,750) 4,347
State and Puerto Rico (2,470) (501) 109
Total deferred (7,953) (4,251) 4,456
Provision for income taxes $ 41,401 $ 37,418 $ 35,773
XML 80 R66.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes - Reconciliation (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Sep. 30, 2019
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Income Taxes        
Effective tax rates on continuing operations   21.60% 24.70% 24.10%
Federal statutory income tax rate (as a percent)   21.00% 21.00% 21.00%
Income taxes at the federal statutory rate   $ 40,223 $ 31,866 $ 31,222
Increases (decreases) resulting from-        
Net state income taxes   8,406 6,644 7,470
Valuation allowances   (254) (279) (2,852)
Net unrecognized tax benefits   18,557 7,338 (15)
Nondeductible expenses   2,470 2,180 1,926
R&D tax credits $ (4,600) (26,133) (4,569) (2,726)
179D deduction   (1,062) (5,126)  
Net operating loss carryforwards       2,225
Stock-based compensation deductions   (426) (714) (1,293)
Other   (380) 78 (184)
Provision for income taxes   $ 41,401 37,418 $ 35,773
179D deduction     $ (2,200)  
XML 81 R67.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes - Provision Changes, Examination (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 12 Months Ended
Oct. 31, 2020
Sep. 30, 2020
Sep. 30, 2019
Mar. 31, 2018
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Income Taxes              
Change in provision for income taxes       $ 2,800      
R&D tax credits     $ 4,600   $ 26,133 $ 4,569 $ 2,726
Additions based on tax positions related to prior years $ 26,400 $ 7,300     26,858 7,473 2,726
Net operating loss carryforwards             2,225
179D deduction           2,200  
Reduced provision for income taxes   8,300     8,301
Provision for income taxes         $ 41,401 $ 37,418 $ 35,773
Internal Revenue Service (IRS)              
Income Taxes              
Refund claims allowed in Income tax examination   8,900          
Tax Year 2016              
Income Taxes              
Provision for income taxes 6,100            
Tax Year 2017              
Income Taxes              
Provision for income taxes 8,500            
Tax Year 2018              
Income Taxes              
Provision for income taxes 11,900            
Total Tax Years 2016-2018              
Income Taxes              
Provision for income taxes $ 26,500            
179D Deduction              
Income Taxes              
Reduced provision for income taxes   $ 1,000          
XML 82 R68.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes - Deferred Tax Assets (Liabilities) (Details) - USD ($)
$ in Thousands
Dec. 31, 2020
Dec. 31, 2019
Deferred tax assets-    
Accounts receivable and allowance for doubtful accounts $ 2,186 $ 1,660
Stock-based compensation 2,791 2,561
Accrued liabilities and expenses 39,761 25,569
Lease liabilities 22,768 20,873
Net operating loss carryforwards 12,127 2,750
Intangible assets   7,988
Other 627 525
Subtotal 80,260 61,926
Valuation allowances (514) (369)
Total deferred tax assets 79,746 61,557
Property and equipment (13,877) (11,286)
Deferred tax liabilities 1,339 1,425
Lease right-of-use asset (22,715) (20,873)
Long-term contracts (609) (876)
Intangible assets (242)  
Goodwill (11,615) (6,020)
Other (2,626) (2,004)
Total deferred tax liabilities (51,684) (41,059)
Net deferred tax assets 28,062 20,498
Deferred income tax assets    
Deferred tax assets $ 29,401 $ 21,923
XML 83 R69.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes - Loss Carryforwards and Other (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 12 Months Ended
Oct. 31, 2020
Sep. 30, 2020
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Apr. 01, 2020
Operating loss carryforwards            
Federal deferred tax assets net operating loss carryforwards     $ 9,400      
State deferred tax assets net operating loss carryforwards     2,700      
Net deferred tax assets     79,746 $ 61,557    
Reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties            
Balance at beginning of year     10,199 2,966 $ 8,929  
Additions based on tax positions related to prior years $ 26,400 $ 7,300 26,858 7,473 2,726  
Reductions for tax positions related to prior years       (240) (8,689)  
Reductions for settlements with tax authorities   (8,300) (8,301)  
Balance at end of year     28,756 10,199 2,966  
Interest and penalties accrued     0 0 600  
Reduced provision for income taxes   $ 8,300 8,301  
Federal            
Operating loss carryforwards            
Net operating loss carryforwards     44,900     $ 53,200
State            
Operating loss carryforwards            
Net operating loss carryforwards     46,200     $ 6,500
Increase in valuation allowance     500      
Net deferred tax assets     2,200      
Maximum            
Reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties            
Decrease in unrecognized tax benefits     $ 28,800      
XML 84 R70.htm IDEA: XBRL DOCUMENT v3.20.4
Employee Benefit Plans (Details)
$ in Millions
12 Months Ended
Dec. 31, 2020
USD ($)
item
Dec. 31, 2019
USD ($)
item
Dec. 31, 2018
USD ($)
Employee Benefit Plans      
Percentage of contributions of covered employees' salaries or wages 2.50%    
Contribution $ 16.3 $ 14.2 $ 10.8
Amount payable to plan $ 0.5 $ 0.3  
Number of employees who are union members | item 6 7  
Contributions made to multi-employer pension plans $ 0.0 $ 0.0 $ 0.0
Period in which certain individuals are entitled to fixed annual payments 15 years    
Maximum age under which certain individuals are entitled to fixed annual payments 65 years    
Portion of benefits vesting after ten years of completed service (as a percent) 50.00%    
Period of completed service over which 50% of benefits are vested 10 years    
Portion of benefits vesting after fifteen years of completed service (as a percent) 75.00%    
Period of completed service over which 75% of benefits are vested 15 years    
Period of service over which benefits are fully vested 20 years    
Unfunded benefit liability $ 4.0 $ 4.1  
XML 85 R71.htm IDEA: XBRL DOCUMENT v3.20.4
Commitments and Contingencies - Other and Bonds (Details)
$ in Millions
12 Months Ended
Dec. 31, 2020
USD ($)
item
Obligation to perform subcontract work | Pending Litigation  
Commitments and Contingencies  
Letter of intent under dispute | item 2
Damages stated $ 9.0
Obligation to perform subcontract work | Customer | Pending Litigation  
Commitments and Contingencies  
Damages claimed $ 15.0
Surety | Minimum  
Surety  
Percentage of business which has required bonds 15.00%
Surety | Maximum  
Surety  
Percentage of business which has required bonds 25.00%
XML 86 R72.htm IDEA: XBRL DOCUMENT v3.20.4
Commitments and Contingencies - Self-Insurance (Details)
Dec. 31, 2020
USD ($)
item
Self-Insurance  
Amount of loss fully insured above per-incident deductible amount $ 132,500,000
Amount of excess loss insurance covered 132,500,000
Workers' Compensation  
Self-Insurance  
Per incident deductible amount 250,000,000,000
Amount of loss fully insured above per-incident deductible amount 250,000,000,000
Employer's Liability  
Self-Insurance  
Per incident deductible amount 250,000,000,000
Employer's Liability | Maximum  
Self-Insurance  
Amount of excess loss insurance covered 132,500,000
General Liability  
Self-Insurance  
Per incident deductible amount 250,000,000,000
Amount of loss fully insured above per-incident deductible amount 10,000,000.0
General Liability | Maximum  
Self-Insurance  
Amount of excess loss insurance covered 132,500,000
Auto Liability  
Self-Insurance  
Per incident deductible amount 250,000,000,000
Amount of loss fully insured above per-incident deductible amount 10,000,000.0
Auto Liability | Maximum  
Self-Insurance  
Amount of excess loss insurance covered $ 132,500,000
Employee Medical  
Self-Insurance  
Number of medical plans | item 3
Employee Medical - Plan One  
Self-Insurance  
Per person, per policy deductible amount $ 350,000
Employee Medical - Plan Two  
Self-Insurance  
Per person, per policy deductible amount 350,000
Employee Medical - Plan Three  
Self-Insurance  
Per incident deductible amount $ 350,000
XML 87 R73.htm IDEA: XBRL DOCUMENT v3.20.4
Stockholders' Equity - Incentive and Other (Details) - USD ($)
$ / shares in Units, $ in Thousands, shares in Millions
12 Months Ended 165 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2020
Dec. 08, 2020
May 31, 2017
May 31, 2012
Mar. 29, 2007
Share Repurchase Program                
Share repurchase $ 30,120 $ 19,550 $ 28,533          
2012 Equity Incentive Plan                
Stockholders' Equity                
Number of shares authorized and reserved for issuance             5.1  
Number of shares available for issuance 2.9     2.9        
2017 Omnibus Incentive Plan                
Stockholders' Equity                
Number of shares authorized and reserved for issuance           2.9    
Number of shares available for issuance 2.0     2.0        
Stock Repurchase Program 2007                
Share Repurchase Program                
Number of shares of outstanding common stock authorized to be acquired under a stock repurchase program         10.3     1.0
Additional number of shares authorized for repurchase         0.7      
Share repurchase (in shares) 0.7     9.3        
Average price (in dollars per share) $ 43.99     $ 19.63        
Repurchased carrying basis $ 30,100     $ 30,100        
XML 88 R74.htm IDEA: XBRL DOCUMENT v3.20.4
Stockholders' Equity - Anti-Dilutive Stock Options (Details) - shares
shares in Millions
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Stock Options | Maximum      
Earnings Per Share      
Anti-dilutive securities excluded from computation of earnings per share amount (in shares) 0.1 0.1 0.1
XML 89 R75.htm IDEA: XBRL DOCUMENT v3.20.4
Stockholders' Equity - Number of Shares (Details) - shares
shares in Thousands
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Reconciliation of the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share      
Common shares outstanding, end of period 36,188 36,658 36,894
Effect of using weighted average common shares outstanding 354 196 308
Shares used in computing earnings per share-basic 36,542 36,854 37,202
Effect of shares issuable under stock option plans based on the treasury stock method 123 204 283
Effect of restricted and contingently issuable shares 73 73 107
Shares used in computing earnings per share-diluted 36,738 37,131 37,592
XML 90 R76.htm IDEA: XBRL DOCUMENT v3.20.4
Stock-Based Compensation - Stock Option Activity (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Millions
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Stock-Based Compensation      
Stock-based compensation expense $ 6.9 $ 5.9 $ 7.2
Income tax benefit $ 1.5 $ 1.3 1.5
Minimum      
Stock-Based Compensation      
Sum of age and years of service for accelerated vesting on retirement of certain stock options and restricted stock awards 75 years    
Stock Options      
Stock-Based Compensation      
Vesting period 3 years    
Shares      
Outstanding at beginning of year (in shares) 382    
Exercised (in shares) (114)    
Outstanding at end of year (in shares) 268 382  
Options exercisable at end of year (in shares) 241    
Weighted-Average Exercise Price      
Outstanding at beginning of year (in dollars per share) $ 27.06    
Exercised (in dollars per share) 18.85    
Outstanding at end of year (in dollars per share) $ 30.53 $ 27.06  
Other information      
Intrinsic value of options exercised $ 3.2 $ 3.5 $ 6.7
Weighted-average remaining contractual term of options exercisable 5 years 2 months 12 days    
Aggregate intrinsic value of options exercisable $ 5.7    
Number of options that are vested and expected to vest (in shares) 300    
Weighted average exercise price of options that are vested and expected to vest (in dollars per share) $ 30.53    
Weighted-average remaining contractual term of options that are vested and expected to vest 5 years 4 months 24 days    
Aggregate intrinsic value of options that are vested and expected to vest $ 5.9    
XML 91 R77.htm IDEA: XBRL DOCUMENT v3.20.4
Stock-Based Compensation - Stock Option Plan Activity (Details)
shares in Thousands
12 Months Ended
Dec. 31, 2020
$ / shares
shares
$11.21 - $15.00  
Stock-Based Compensation  
Exercise price, low end of range (in dollars per share) $ 11.21
Exercise price, high end of range (in dollars per share) 15.00
$15.01 - $35.00  
Stock-Based Compensation  
Exercise price, low end of range (in dollars per share) 15.01
Exercise price, high end of range (in dollars per share) 35.00
$35.01 - $42.50  
Stock-Based Compensation  
Exercise price, low end of range (in dollars per share) 35.01
Exercise price, high end of range (in dollars per share) 42.50
$11.21 - $42.50  
Stock-Based Compensation  
Exercise price, low end of range (in dollars per share) 11.21
Exercise price, high end of range (in dollars per share) $ 42.50
Stock Options | $11.21 - $15.00  
Options Outstanding  
Number of Shares | shares 14
Weighted-Average Remaining Contractual Life 2 years 2 months 12 days
Weighted-Average Exercise Price (in dollars per share) $ 13.76
Options Exercisable  
Number of Shares | shares 14
Weighted-Average Exercise Price (in dollars per share) $ 13.76
Stock Options | $15.01 - $35.00  
Options Outstanding  
Number of Shares | shares 130
Weighted-Average Remaining Contractual Life 4 years 4 months 24 days
Weighted-Average Exercise Price (in dollars per share) $ 23.54
Options Exercisable  
Number of Shares | shares 130
Weighted-Average Exercise Price (in dollars per share) $ 23.54
Stock Options | $35.01 - $42.50  
Options Outstanding  
Number of Shares | shares 124
Weighted-Average Remaining Contractual Life 6 years 9 months 18 days
Weighted-Average Exercise Price (in dollars per share) $ 39.78
Options Exercisable  
Number of Shares | shares 97
Weighted-Average Exercise Price (in dollars per share) $ 39.02
Stock Options | $11.21 - $42.50  
Options Outstanding  
Number of Shares | shares 268
Weighted-Average Remaining Contractual Life 5 years 4 months 24 days
Weighted-Average Exercise Price (in dollars per share) $ 30.53
Options Exercisable  
Number of Shares | shares 241
Weighted-Average Exercise Price (in dollars per share) $ 29.18
XML 92 R78.htm IDEA: XBRL DOCUMENT v3.20.4
Stock-Based Compensation - Fair Value Assumptions (Details)
$ / shares in Units, shares in Thousands, $ in Millions
12 Months Ended
Dec. 31, 2020
USD ($)
item
$ / shares
shares
Dec. 31, 2019
USD ($)
$ / shares
shares
Dec. 31, 2018
USD ($)
$ / shares
Fair value assumptions:      
Expected term     5 years 3 months 18 days
Additional information      
Stock-based compensation expense | $ $ 6.9 $ 5.9 $ 7.2
Stock Options      
Stock-Based Compensation      
Weighted-average fair value per share of options granted (in dollars per share)     $ 13.06
Fair value assumptions:      
Expected dividend yield (as a percent)     0.79%
Expected stock price volatility (as a percent)     31.70%
Risk-free interest rate (as a percent)     2.66%
Other information      
Compensation expense yet to be recognized | $ $ 0.1    
Weighted-average period over which compensation cost will be recognized 3 months 18 days    
Total fair value of options vested | $ $ 0.7    
Nonvested Options, Shares      
Nonvested at beginning of year (in shares) | shares 81    
Vested (in shares) | shares (54)    
Nonvested at end of year (in shares) | shares 27 81  
Nonvested Options, Weighted-Average Grant Date Fair Value      
Nonvested at beginning of year (in dollars per share) $ 12.53    
Granted (in dollars per share)     $ 13.06
Vested (in dollars per share) 12.26    
Nonvested at end of year (in dollars per share) $ 13.06 $ 12.53  
Additional information      
Vesting period 3 years    
Restricted Stock and Restricted Stock Units      
Other information      
Compensation expense yet to be recognized | $ $ 1.1    
Weighted-average period over which compensation cost will be recognized 1 year 9 months 18 days    
Shares      
Unvested at beginning of year (in shares) | shares 91    
Granted (in shares) | shares 118    
Vested (in shares) | shares (85)    
Forfeited (in shares) | shares (4)    
Unvested at end of year (in shares) | shares 120 91  
Weighted Average Grant Date Fair Value      
Unvested at beginning of year (in dollars per share) $ 47.58    
Granted (in dollars per share) 39.03 $ 51.02 44.02
Vested (in dollars per share) 39.13    
Forfeited (in dollars per share) 45.21    
Unvested at end of year (in dollars per share) $ 45.21 47.58  
Additional information      
Fair value of shares vested | $ $ 3.3    
Weighted-average fair value (in dollars per share) $ 39.03 $ 51.02 $ 44.02
Aggregate intrinsic value of restricted stock vested | $ $ 2.9 $ 3.5 $ 3.3
Performance Stock Units      
Other information      
Compensation expense yet to be recognized | $ $ 0.7    
Weighted-average period over which compensation cost will be recognized 1 year 4 months 24 days    
Additional information      
Vesting period 3 years    
Types of performance units | item 2    
Percentage of units measured on stock price relative to peer group 50.00%    
Percentage of units measured on stock price based on pre determined EPS 50.00%    
Period for which shareholder return is compared with peer group for units determined by EPS performance 3 years    
Calculated fair market value | $ $ 6.2    
Value of PSUs granted | $ 2.2    
Stock-based compensation expense | $ $ 2.7 $ 1.9 $ 2.9
Performance Stock Units | Minimum      
Additional information      
Performance measures for dollar denominated award granted 0    
Performance Stock Units | Maximum      
Additional information      
Performance measures for dollar denominated award granted 2.0    
XML 93 R79.htm IDEA: XBRL DOCUMENT v3.20.4
Segment Information (Details)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2020
USD ($)
Sep. 30, 2020
USD ($)
Jun. 30, 2020
USD ($)
Mar. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
Sep. 30, 2019
USD ($)
Jun. 30, 2019
USD ($)
Mar. 31, 2019
USD ($)
Dec. 31, 2020
USD ($)
segment
Dec. 31, 2019
USD ($)
Dec. 31, 2018
USD ($)
Segment Information                      
Number of reportable segments | segment                 2    
Revenue $ 698,961 $ 714,099 $ 743,468 $ 700,131 $ 719,584 $ 706,918 $ 650,302 $ 538,473 $ 2,856,659 $ 2,615,277 $ 2,182,879
Gross Profit 136,999 $ 147,196 $ 145,695 $ 117,093 132,560 $ 142,702 $ 120,016 $ 106,665 546,983 501,943 446,279
Capital Expenditures                 24,131 31,750 27,268
Total Assets 1,757,355       1,505,012       1,757,355 1,505,012  
Operating | Mechanical Services                      
Segment Information                      
Revenue                 2,413,016 2,251,560 2,176,223
Gross Profit                 509,740 465,144 444,960
Capital Expenditures                 22,550 27,933 25,945
Total Assets 1,215,985       1,056,609       1,215,985 1,056,609  
Operating | Electrical Services                      
Segment Information                      
Revenue                 443,643 363,717 6,656
Gross Profit                 37,243 36,799 1,319
Capital Expenditures                 955 1,504 57
Total Assets 449,588       372,254       449,588 372,254  
Corporate & Eliminations                      
Segment Information                      
Capital Expenditures                 626 2,313 $ 1,266
Total Assets $ 91,782       $ 76,149       $ 91,782 $ 76,149  
XML 94 R80.htm IDEA: XBRL DOCUMENT v3.20.4
Selected Quarterly Financial Data (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Selected Quarterly Financial Data                      
Revenue $ 698,961 $ 714,099 $ 743,468 $ 700,131 $ 719,584 $ 706,918 $ 650,302 $ 538,473 $ 2,856,659 $ 2,615,277 $ 2,182,879
Gross Profit 136,999 147,196 145,695 117,093 132,560 142,702 120,016 106,665 546,983 501,943 446,279
Net income $ 42,840 $ 50,088 $ 39,495 $ 17,716 $ 34,052 $ 36,233 $ 24,173 $ 19,866 $ 150,139 $ 114,324 $ 112,903
Basic-                      
Basic (in dollars per share) $ 1.18 $ 1.37 $ 1.08 $ 0.48 $ 0.93 $ 0.98 $ 0.65 $ 0.54 $ 4.11 $ 3.10 $ 3.03
Diluted-                      
Diluted (in dollars per share) $ 1.17 $ 1.36 $ 1.08 $ 0.48 $ 0.92 $ 0.98 $ 0.65 $ 0.53 $ 4.09 $ 3.08 $ 3.00
Gain due to insurance proceeds received         $ 4,800            
EXCEL 95 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $2"65('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 " !$@EE2:MOW#>\ K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>*';7#DR:RT9/'0Q6V-C-V&IK&L?&UDCZ]G.R-F5L#["CI=^? M/H%J':3V$5^B#QC)8KH;7-LEJ<.:'8F"!$CZB$ZE,B>ZW-S[Z!3E9SQ 4/JD M#@BBJE;@D)11I& $%F$FLJ8V6NJ(BGR\X(V>\>$SMA/,:, 6'7:4@)<<6#-. M#.>AK>$&&&&$T:7O IJ9.%7_Q$X=8)?DD.RHTYE_)2CH'7+/KY+?%X]-NPQI1"5Y4HA#+'5])_B#OEQ^CZP^_F[#SQN[M M/S:^"C8U_+J+Y@M02P,$% @ 1()94IE&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !$@EE2OIA6.. % #5& & 'AL+W=OO::I$:?MLF$?:(FVA4BD1U%Q M\N]WE&3)#>23L'V)]78/']X=GR,OYSNE'^.-$(8\1Z&,+UH;8[8?.IW8VXB( MQZ=J*R2\62D=<0.W>MV)MUIP/S6*P@YSG'XGXH%L79ZGS^;Z\EPE)@RDF&L2 M)U'$]Q?-4 M&*=_R2[[MM=O$2^)C8IR8V 0!3+[Y<^Y(PX,V/"( ^I7#$6<".^4N/2$,(=Q>.M>)AC/GK MK.!TAN+DFC -0D%NDV@I=!47'(.VJ>M0BK 9%FR&3=C MZW?/!AA#5C)D31B.?%^+.#[97Y ;^(Y\D=6^PR'[@QZY@M4OUV2B8=>!\2SE MF[K_G>?]3E7RQ"$726!$EI5=!],76E8$BFOZ:Y9C>P?9>*]VLI(A#O=1V1V* MQ*B598+B^OZ:6K%2YEH]!=*KCC2.>?\'1JTL&117^M?4YBHV4,G^#+;'ER^. M.!@X/71]E"6#XCJ?1G $6_[C5'" 74Q(F6=H+C(WR@/?#+?*(D5BAJ0,]=I M#_MXLI>U@N(B?Q\8*%IJ12A[MWQ/%L)+-'BKDE9MN8A $Q=&>8\GY.VI0\F6 M:_+$0W1/PLIBP7 YAX+O6SU:O$1+%58QK &8SK!49V5!8+AZ[YU$KI^]#9=K M<;3 U@#=/BRP$L7* L :%8#O<#1L/TK0*0@DCR'+?#*+XZ0ZS6HP'T2,<2M% MGS42_6\JA&(.Q^9TFZ0K3T5\LX:R?M,&J&SP[[==O,]U4IF.&(-LU+=62-U3T-'QE!TUDI7BD0-S@W7 ML%Q&GB< "&#\#!+C6*H\PT4ZY[B(>!B2JR2&UW%U-/_?J8"5BEI+N-]O@_UK#%AL->AGQ)#&QEI*T] M51V4'+E_P,CMT[,>'0R/L"IEW6TDZV-8^QKV#3/IBV?R250&J@;*<1SJN+WA M&;:1<0\:,;@4%Z?P:1#;+5"ZX&K*X[5"J[V["9D[/*VQ?'>>%P MTP>,5:GJ+J[!^T)SZ"JLHU(#UVY3UG:Q1H%;RKJ+R_$(O.5G'@MY579?U0#4 MKO]2O5U<=6?CZ1T9)7Y@X#@S,D; FDL/V4>9X7C'6F&=@SZPU>6TGQX3S[8: MLI9P\;3HV8_23G6G_#QK^'_F5M9C$HH5F#JG PB"%Z*!P #!X M !@ !X;"]W;W)KQ=Z0(^M;I'%>_H\^]K&X M@Q:[O$@W^\*@8!,EU=_PQ[XAC@H0NZ4 W1>@EQ9@^P*L-%HI*VT-PB*\N\G2 M#Y3):*A-7I1M4Y8&-U$BNW%69/!K!.6*N_YD/)N,AH/>/!B@^]ZH-^X':/88 M!/,9ND8OLP'Z]>HW=(6B!,W7Z2X/DV5^TRW@S;)\=[%_RWWU%MKREH%8?$&, M6(ABBC7%^Q<7)_RT>!?\'DS3@VE:UL?:3+],I\%XCGJS&?C\:JB1'6ID98UV M6XUAOD;0-F@A+\1?N^@]C$52:-NJJLHIJY+3[/W.L7WNWG3?CYM$$X4]WS]$ MG>BT#SIMH\[[*([%$B;/(MV!.IB("P%27V-AH5CD.0ICF-AALA (E@BTR,0R M*E"^3#)=RQ[89=;1AF MGMZO<_#K&/V^)*]_U['GVY5??-ZKHYBP'4?I637*<1R;ZIVZ!Z>NT>FD6(OL MR%U^J3V'7VS/5>W9E-"&/36*>2YKL><=['E&>\/D':93FD5".Z4\Y9V$V5Y3 MF28*8X?IE?D'9;Y1V7,FMF&T1.('H%6VJFS-5/:&3JBO2G <@AM"-5$V.QI' M)T+Y02@WKU%I7E3J1%Y$0$"8%B+,DBAYR^7Z+GXLY("!02'GC'QZZ1"Z? 1Q MU9COTF8_J5'48RWN":Y)AXW^YVD1QL#4+(.1A$*0KU^>]]4:*C5Q M'L?$MUN$'B&9F$?4=/(<3.=_HMYX@()_OPR?GX!6%AH'HC8J\2AN+CNZ M.,R]MF%%:IH2:M0["GJS $V'#X_SZ\FWZQ>X*MK/I(S@)P_!E,TGHQ/LS^M4A5A'O>:B[0F MRG6)TZ*S!ATQDZY:I@S+DX9BGN,QQVGJTP0ZV,&D!<6D)A[Q+\J?1S!4AZ/A M?!@8DVA2$XJ<0=1^<08X[;*HB"K Q&GR=EV(; /[L]="NWW0$ /[I&5&TAH9 MU(R,WF?6N U_RJ1*UQ]4Q0#%-K&;W:&)(URFPBTB:UQ0,RY 9+8#EB_2CTJKQP.>58&%CQU-&J1KF4;>U+6NR4/-FZB25."=5 MLTMBC#>5ZO92M&W1K4E%S:2JLHFZZ\]I50'E8.8I8U0-8Y1Z+8LMJSG&+MGZ MG)E(3 ,H[&).E9,I-9 3R(]:1BBK2<;,).M/GIZ&<[G9F95[G_X$\N'Q0S#N MMS2KN3YY!/XUWX8+<=O9PLY49.^BT^N&K$\Z^M7>!)Q>TU MH9S:3=YI S'C;DL:P6HP,S.8>\ME))-A6/KD"1VD9V@1;B-8"K6"->>6E-J. MT@^Z.$SF1->IH+7@7Q<.4'4Q#'7=_T6\+&:T,Q,Z HE MY6A9I_%29/DOY?>.0C\*5/JZW+5ID]*:.,=W&&XYFV UIYF9TPKYRN%\L7RN M?(31[[5U@=J]=O?H4YW\3OH49F^P;4"Q6$%)_,6#*K+JTV-U4Z3;\NO=:UH4 MZ::\7(L0A,L ^'V5IL7GC?P@>/@ ?/<_4$L#!!0 ( $2"65)&]"?5DP, M *L, 8 >&PO=V]R:W-H965T&ULM9=M;Z,X$,>_BH7V M12OURD. A%42J4UZVDI[VVC3WKYVP E6#<[9)NG>I[\Q4 *$D'17EQ<_$J8T(4>DM8*B=&K-3VLVG*,"8)EK=\2U)XL^8BP0J:8F/*K2 X MRIT29CJ6Y9L)IJDQ'>?/%F(ZYIEB-"4+@626)%C\O">,[R>&;;P_^$XWL=(/ MS.EXBS=D2=3+=B&@9591(IJ05%*>(D'6$^/._CRS7>V06_Q-R5[6[I&6LN+\ M53<>HXEA:2+"2*AT" R7'9D1QG0DX/BG#&I4?6K'^OU[]#]S\2!FA269&",#162-,Z:^\_T74@KR=+R0,YG_HWUI:QDHS*3B2>D,! E-BRM^*P>B MY@!"NQV M4O!3T]G3M^73U\?YW?/#'-W??;W[-GM RR\/#\]+=+7 @J0J)HJ&F%VC/]#+ MF A(=SPS+7N^+7IT3O(L&]@UR+,?J<)]= M[&X'37<3]%>#X%2#X.3Q!A\?A)[H@RKZ((_NGHA^3QDC$21LR+-424C^D- = M7C%R@S"#=833D"!8D2@4)*(*,2XED>@*QCCBC&$AK[N&N.C5RWO5JW4W#:S1 M<&SNZ@-Y;.0'UL&H(C7K]$.1VY+T;&-U2W'J^1XO7*> M(,-%38(\H^&Q7X-WK,$+6AJ.;4YH\"L-?J^&&902(GX&NFITT][17;I\H\R:=B6=6QR0M:PDC7LE;6 /9T(($.P$8:O M-VB+!=IAEI%Z*J$MS)^,8;/JG)"BBV&=ZM:R6^AGC!KTHXI^]#'ZG!&F*5,Q M%_1?$G7ACHYRP[/R7XOXO%T#.JB@@U^"IE)FWTU:=+6BJQ]9GDF"9Q9?B.)RP[.9/$YJR;^H3S:S@?P M+\KB,F)]%&W+"?P@L)TV]"6F3?)#Z;7[:V\G^>E4+J/545S;=@8#WVM#7V#9 M9#Y45[N_O#[#<5QFXF>3NA/WN!:ZP<"S1WZ;ML/0]3W7';5@S=I)4A_C_\)B M0U.)&%F#IW4[A,U=%"?CHJ'X-C]K;Y/ MIO\!4$L#!!0 ( $2"65+0!KMJDP4 &H5 8 >&PO=V]R:W-H965T M&ULI5A=;Z,Z$/TK5K0/K=0VV.:S:B.EP.XBM20*:>^^TL1) MT!*<"T[;^^^O^2@DQGA[=5^20,Z,YWB&.8/OWFG^N]@1PL#'/LV*^]&.L%RL=F0?%S?T0#+^SX;F^YCQRWP[+@XYB=>5T3X=(TTSQ_LXR4:3N^K>/)_< MT2-+DXS,!I/3]?@1'GS<6R7;'RAOCR=TAWI*(L.?#/.=7X];+ M.MF3K$AH!G*RN1]-X:V'C-*@0KPDY+TX^0U**J^4_BXO@O7]2"LC(BE9L=)% MS+_>B$O2M/3$X_B[<3IJURP-3W]_>O]>D>=D7N."N#3]*UFSW?W('H$UV<3' ME"WH^T_2$*H"7-&TJ#[!>X/51F!U+!C=-\8\@GV2U=_Q1[,1)P;0'#! C0$2 M#?0! ]P8X*\:Z(V!7NU,3:7:!R]F\>0NI^\@+]'<6_FCVLS*FM-/LC+O$2'RPC,OH/9W%],EP$'@&OP''G@XMLE*'9Q M3@J09&"YH\!!H* "#S1C.T*X&=KLCYW M,.:,6EKHD]8#4GKTR.H&8'@%D(8T24#NE\VA(S'WOFYN*]C@-DFX\H?_3Y(4 MZ^CM.GJUCCZPSL)_\<-G7Y; VM"H#,M>\C9!MF&:!M^=M]-]E>!,:"#+.L=Y M$ARTD6UU_LX8&"T#0\G G47+' MZ;J)AM)AM1PL)8?(?WP,PA]7X( M*EHD/!%,J-RE(&.$2R!3;%+CX8R7)CZ8$A!"8F^1@"P\L#NH8X"^QH!\\/&Q MD%- _0*SL2T6JPSF8"AV>QD,6W"@0\).%R%6M_M=G&WK<83M"-C$20[>XO1( M -V %1\I>#&3C!.-\^R:3[V OJ;)-BXG3OF8@GMQ.A"*&B=!72/'$1]1*4PS M!]H-[$0:JE5ZQJGFTNCU?J]'8NQ]#+1[Z>J#=*C#@< [;89J<:X";QX;<-$4 MWZ6425]3;;N7AC[H&D+;Z;&1X0P3#=#I]!FJ!;II+P_^]]G"_VPVR^DON93! MOL)"!QJZ)K*2X QHZ4AD)<'I]ND4;M@R' M'&V(1J?/T%'*6I,,/O*#Z.=TX:L$#75BB33EYCS$1;("%[R'UB]WTB>R\6&= MYOD&BFF6H/"-V!>EH*'-09TN([4N>TEZ9&3]1R)00D034RU!\1C% MHM&),T+*'%>)C?C[-G_5XX,E3_C\>2WU E\/S0B[J$5\36-$WCG+\7>O6Q7^>F/H5\BO-MDA4@ M)1ON4KNQ>&!Y?;!77S!ZJ(ZZ7BEC=%_]W)%X3?(2P/_?4,H^+\H%VN/5R;]0 M2P,$% @ 1()94K&Y5);8!P WBD !@ !X;"]W;W)K)74)0'2V$Z"M4U6IQN&81]4BXFU M6I8KR4G[[T?)JFGQ)J5S^B6^Y!SRD(?D\QY:1P]9_JE8<%Z"+^ER51P/%F6Y M?C4:%?,%3Z/B9;;F*_&?VRQ/HU)\S.]&Q3KG45P[IC@=P\.V+]\G=HJR^&)TG\-4%195#;?%'PA^*O?>@&LK'+/M4?;B,CP=> M%1%?\GE9-1&)EWM^QI?+JB41Q^>FT<&NS\IQ__VWUJ?UX,5@/D8%/\N6?R9Q MN3@>! ,0\]MHLRS?9P\7O!D0K=J;9\NB_@L>&EMO .:;HLS2QEE$D":K[6OT MI9F(/0>?61Q0XX 4!QI:''#C@!4'B"T.I'$@J@.U.-#&@2H.R+_(H7)JEJ[LS(7 M_TV$7WER=O5N=O7F3MY=S,#5U/QZ>KLMXNK-^/)^]DO8/+[ MA\N;O\ 0?)B-P;.?GH.?0+("-XML4T2KN#@:E2*:JLW1O.GY];9G9.MYDVZ6 M4;5RP>3V5BSE%^":YTD6@^P6G,;9NEK;+\2[?\4LB-U2@K_?\O0CS_]YSTNQ M*7D,)E&^2E9WIL[/GJIS0U_CCKZR-!6[=%9F\T\&[XG;^T:<2,4F_VKUG[K] M3^,XJ083+<%UE,3#RQ4XB]9)&2T-;9V[V^HS\1<=P\FTGD=BR>[6+=JM6U2W M0RSMO#Y]<_KN; *B$HSY_"7 \ 5 'O1-Z=FV1.N6JK/\_H1 >#2ZWT^";C-D MF,*P;3;5S3!$?D#:9N>Z&60!8DIK%Z; _)#0G5EK:O!N:G"OJ7DF]F>QB')> M/.\U3=M667N:$,;,$@_9Q4.>(IX)T>(9XA S%$)S/'07#ZT]L26>R]6\VE,< M/!,AU.^>5T=9O;\6V3+F>2&.N\^;I/SJ6*ALUQMSCOZ=T!_):IZEW+3?F#9& M,>6AAY6%TFG6"LW?A>:[)Z(H-M%JSJLSKQ[]*\=X@UVC@7.\^XUNLPV$P@+; M$[4 _ O/YTG!8U/& WUW,1@H6S#0EP6%ZH3I1AAZEG4<[D86'F1D^PO=-,I0 MBPUY+/ MT4%/DMSK'9_HN\R3>2FB*:K,@I^C=/TK6/.\EKN556'ED:>E 2'D M*VEHK%IY4([!"X.-:,FR:N&>9($''VA74IHN6UL,A73OR&X'*SD%W:":;5=* MSN=&HND)ZOEEE[?!(VT$V;@XZO,TLZHX:8A'53M0R2Y(G8&.D_LDYF;!?=[XMG.,$ O4V#KMVM%) MUD$W[.K%(+*ZWN3SA9A,8PZ9OEY10+%ZA$,=>HI=.TA)/>@_*LC.1><;B!.B M -O.!HE*Z&:E1<0&QAI#AZ.N8@U&P\#WB79XF_C(B*\(U'.#G5@EH:<=]+H= M"0./V/:E1"YT,[>'=C3/E@Y9MYA%$K/(C=GO#&F"3,!$*&34LJ*1!"*"/T#1 MHKW:R\TTMZ9%.FD@)!BIBZ;;KAV>1!+"A].U2#("N1GQ?Y1MTW1+4U&L,&.* M#"4/#%2R&*P0IA:0(TD6Y";+H>0MTN$BT@J1;>-)N" W7 ZE;Y$.((35DFN* M3/@)?347NE5U:VP9JD04& MRK!EUAZ?9!!R,^B'*ERD@ZM2/8$E2UAB"[NQ]1B%BW54$:BIR"ZK=J 29MA= MW3D5+M;+-)%C2E3QV&W7CDZB#_DKG -1D/HX9 IDSO%.B6QZ%E= MQ>3O M#'Z"#70EA%%"M%-&MU0-V[%+R.*.Z\^#J&8L.8G=G'2K9JS3"U(/8O4W ZS# M4+%KARC<-VN/3W*-N+GV M0V4S,=QH(M^WW240"3C2<:/Y"-E,#*B"6LG89=4.5-*,N$M&IVPFABM,2$FH MPJ7;KAV=9!_I42-VR&9B*/.P!Y$JFXFASFO;M8.4!"0]"KU'R&9BJ-580!BV MK#HJH4G[W3&VI50U0OTI&ZI#EF-#5:Z!# +V:>(,="QE!EM5))<2I&^+=*M8X]6.J0]LBP?M8MH.7@*?]GH1Y M9/ 3:D U"3&%@4H(@Z5JN(U]M/<<6O7DX]LHOTN$"EKR6^'IO?1%ZO+MPX3; M#V6VKA]-^YB599;6;Q<\$LJ[,A#_O\VR\MN'ZFFWW2.=)_\!4$L#!!0 ( M $2"65(M64*3:0D *XG 8 >&PO=V]R:W-H965T&UL ME5I;<^(X$_TKJM0^)%7#8%U\F\JDBF!FEZJ9)!LRL\^.$<$[QF9MD\OWZ[^6 M#!BLMDA>$@-'LDY+W:>[[LJRZNO9\NZ7G\9#JMD*5=Q];E8 MRQQ^613E*J[A8_DTK-:EC.=ZT"H;,L?QAJLXS<^N+O5W=^759;&ILS27=R6I M-JM57+Y=RZQX^7I&SW9?W*=/RUI],;RZ7,=/[>^I!AY>[V;_ILD#F<>XDN,B^R>=U\NO9\$9FCT#V'8 ZPX0 M/0/X=@!_[P"Q'2"T91HJV@Y17,=7EV7Q0DJ%AMG4A3:F'@WTTUSM^ZPNX=<4 MQM57X]N;V>WW:31ZF$1D]@#_?DQN'F;D]AL9CV9_D6_?;_^9D0'Y.8O(^1\7 MY ^2YN1A66RJ.)]7E\,:UJ!F&B;;^UTW]V,]]Z.,_"CR>EF123Z7\^,)AK#X M/0.V8W#-K#-&,OE,./U$F,,<9$'C=P^G(3(\>O_PP,*&[_>#Z_EXWWZT1O]V M?_N#W-Y-[D%"N)[6$S MUM5C5>1XOJ*N0SG8Y_G0L@B,"L[$,2S"8"QT^!YVQ,#=,W"MEAK-_P7W@!!4 M5Z0N( 8E19ZDF23YGIKZ7GU*XFI)UF7QG,*1(X]O!,)F&==I_M3$G;1.936P M6-7;K\FS6G6T*LHZ_5^L0UJQ('"_O$X7:?P(ZTKS.LZ?4G495Y6L4>]IYO<. M;,69%P8=PYLHYCL!Z]@=03E.$.)F]_<4?2O%2(*^)&E#4;Z"_E3H$?*1)8:< M=H@@*"%"IT,$03'/<7 BP9Y(8"4R7L)NJ%TAI=*&0;$8;"K;U@3&*JCGA1VC MCS%4$/CX6L/]6D/K6J_C.8C98VTS>&CH@=*"C]D-/KC5JD>0SA""),4E3X>=I.>[1C0G2IF2!^<)JVQ#!03WBEK.7% MK+S^A*R1 *4JAH@%O/H]8SO1D?TIF+;+!8/YCK%-""P\F.R83BNLE+_#WROE M\/52DD6R(WS:*+Z[-3*]'4KM'3_!E.6>UR6!3>;RH(=#J\[4+L]WI5S'Z7RG>!6!>H,4X+DEE$6@(^"IEH!DJO! M!*X1D! 8==VN#T<([A!TS+#5=&H7];$2!DU+5G4*)2PXJ0H^$(=TE)*OB:PJ M%9T>TRS3WRKP)E"TFU)B,(CT![)U M7,.UV0&S9P>W>F=S2.%/;BY#U)YROYL48#"?=XY A$Y&^^BT.0&CUDBU"U3D M?!>H+DY$*M;J,K/K\FBW[^OX31<6ZE3 82@W<"@RJ#723!P# MG1K6RCFSR_G=IDR6L=) \ *P*5BR?FLC]2S5NK9*:DO$BGG%5F4Q4J7&Q]E:NHS XWK\D10U.UJ/8*BAPV8 M8XZMV#.[V)L"BVW"^U8.Z;*K!9%";X(=JU2 M7>3HM%<'6@71OY3=#FUC;XZ)9N"&HGNT4&#HB>[>1!@0*D/1XZ6\%6)N+\[W ML6BC:B#0DQ1RX^H=<8B;-?6 .7[@=!L^*)!!]6MP1("AZ],^CFU"P-F'(M&W MZ. @Y+64%,G2KO>4'LB%:X7.$[72Q$< M=ST#%R$XRH33UQ7DK2)SNR+?Q6]-4UD_V/H(0T1.=9_2H(@"35M$&)""=/62 M;"6:VR7ZD&23=Q0QVA7@IGQ"B=2_@E8^N;W>/EQ!4]:IOAFZ!*R<]EPCD<-P MW ^Z3R,P&*6LIT/+6Y7FIQKC[VK[C3E:?3O=P@2#!7VY&6^UEI_0VKW9%V2> MJNPLG^OG)Y5J%2V+;"Y+/!ZBM;((N_TN%"=XZAN+%[" JJW9Z&LVAE6=CK]/T#CX,D2]7LVO]03DCC MV^NN=HRB>/>1 (8Z3.F/.;4)@#B1 .S"ATH>#YKF<%E!+"F;AR!Q6:I>>S]1 MK'4.15Z7*0*CW(@D&,P5?0\,Q,$3\M./R(TR]GR;1UX%9V0% M""[P7>-9*#:=@,2GY_F<:%,"<:)JGSQ #3N^GXQF$W(>39JK"_BN>1-D=!,U M%Y._?TY_C;ZKUT10OF;&(*C1HT!0+O6,D&.B0L?OD0C1YA["GGOT\OE$'N53 MFJN6DJY 99D6: 4DS"3"A849+$V8<+VNS$0(C'NNZ-O2-B41]I3$PE.J;KJ5 M83/UX5L;K@A"0SL0F&F("($=&Z)A.#QXD6DERR?]0EA%=+^S>2-H_^W^I;.1 M?M6J\_TU_1(UKXZUTS1OLOV(2]CABF1R 5,ZGWU84]F\'-9\J(NU?EWJL:CK M8J4OES*&V*8 \/NB*.K=!W6#_2MZ5_\'4$L#!!0 ( $2"65)KTE.==0, M ,P' 8 >&PO=V]R:W-H965T&ULK57?;]LV$/Y7#AHZ M;( GV;*3!JUMP$XVM _%@GIIGVGI;!&E2(T\64G_^MU1MI*T=5ZZ!UOD\>Z[ M[W[P..^<_Q(J1(+[VMBP2"JBYDV6A:+"6H74-6CY9.=\K8BW?I^%QJ,JHU%M MLGP\OLQJI6VRG$?9K5_.74M&6[SU$-JZ5OYAC<9UBV22G 0?];XB$63+>:/V MN$&Z:VX][[(!I=0UVJ"=!8^[1;*:O%G/1#\J?-+8A2=KD$BVSGV1S?MRD8R% M$!HL2! 4?PYXC<8($-/X]XB9#"[%\.GZA/Y7C)UCV:J U\Y\UB55B^0J@1)W MJC7TT77O\!C/A> 5SH3X#UVOFU\F4+2!7'TT9@:UMOU7W1_S\,3@:GS&(#\: MY)%W[RBRO%&DEG/O.O"BS6BRB*%&:R:GK11E0YY/-=O1!/6V+Y'"!C7@.Y_$1NG;^(>(-% M"M/)"/)Q/GX!;SH$.XUXTY\+]AGV;,">1>S9_Y'(EZ$F*9Q%@VM7\U4DV#P$ MPCK W68U@O>V2$>@X :-ZI1'*)QOG(\6(VB\.^@2 TMKOKF57*D#0HU%Q;B% M,M%+O"@^;@LNHY?[8O<0T!]T@6$$7:6+BL&T+72CC'D 7IE6@"M4HCR" UK2 MIFR/F3Z4YS/C@%U,^!%#XC$P_$$; N MCRWBWX@'3"-DQ8*71A71J&30O@CAF&^JO&OW%<\W7B+D1MF'X92G,GIA>+;3!>#\ MH02A*3S/=VBW09=:^9@D[ATEA>)>YE-)JO"1'L-[2G\T#+(G$[9&OX_OB/AH M+?7#=I .3]6JG]"/ZOT[]T'Y/9<7#.[8=)R^ODC ]V]'OR'7Q'F]=<33/R[Y M?I7H18'/=XY[^;@1!\,#OOP/4$L#!!0 ( $2"65+WSRE*U!X !1= 8 M >&PO=V]R:W-H965T&ULS5QID]-(FOXK"K9W B)4IEP7 MT <110$S3'0/! 5#[,>TE;839,F3DLI4__I]WB,/V:Z"WNW9V"]0UI'YYGN? M^GG;^B_=RMJ^^+JNF^Z7!ZN^W_SX^'$W7]FUZ2;MQC:XLVC]VO3XZ9>/NXVW MIN*7UO7CD^/CB\=KXYH'SW_F:^_\\Y_;H:]=8]_YHAO6:^-O7]BZW?[R8/H@ M7'COEJN>+CQ^_O/&+.VU[3]NWGG\>AQ7J=S:-IUKF\+;Q2\/+J<_OCBCY_F! M?SJ[[;*_"SK)K&V_T(\WU2\/C@D@6]MY3RL8_'=CKVQ=TT( XU^ZYH.X);V8 M_QU6?\UGQUEFIK-7;?W)5?WJEP=/'Q2579BA[M^WV[]9/<\YK3=OZX[_+;;R M[-GI@V(^='V[UI^Q';SV>Z]HO9.V3.]:>GA2_M4V_ZHI7366K\0*/ 6B$]B1 M^^+DWA5?VOFD.)V6QJ=_\NE'FYW%S0S<[Z&_O@^-7.WJ?$GGKYJFPYW*L.R\V&%-8N% M:PP>,771]::W$,V^*XRW!;;,Z"D_L5_]:M-FF'I6VL-W5] M2_?MII=W^Y4M/C:.?EW3#@S)Y=IZ0#TA('BU]<8TM[3>/,*(%PX"A_WJH;)% M._@ ""!N*NS4XD!8G>YTPZQSE3.>T PMBLW7Q5;6ZS,#;:D?7K?UC7MZ9K> M L']I+BLL56&4[ZCT.ULYDW3&=9"G:PYL[8I;.T@T 3\I+BROC>$O;6\AC^! MK=87&QR^K3J(_&WVJK?SVG0=ML;)^Y8@)/U,?Q(.YX/W.+^^7#!'-#V34M!H M%PMH148O/9^6FQN!?NOP>&<#.0@$-@( 5$!!QS6&SG>[!8':V!T:&/: MM[(X)JA!JPI&-JWGW90@6 X+6*5H[(9O:7RE7$O T\:'5P1KS?L!J,%[L"T=WAAJ6@U$\\7"MVMEWW@^(>JZ M[?H11Z;S R$L8,3MAZ68&6)TE#DM!\YHL2"3#81A\O=^$(O*<@&^!@Y@9A=' MKL%96?)!(X\3X 8,I/6D&GKS5<];%@OC?'%CZL'FU*3US1QD[)Q02035%O\: M<)K(G,P^:0%Z2ZA%:PR -3!2HX:?&8E.OFS;:NL@M@Y"ZCS3OBO>3<+RK@'FP8;&"D0&)I%C=OB51L%@$Z>+GAR?_O1O__^_K/%BP0O87[N> 1=D@\-]LL7X9_J,_GD*](F& MC/=_*)Z4%T_/LM]/RZ?3)]GOT_+)V6G\_::!%K7$,"1=#1Q3X V^VH"C9R^= M3\N3IQ?9A;-S7'B:+WM:GAU/XX7W '[']OFVP=]S%8(W3?'WH;%TC(N2.>_U MY?6+PD%QX.R7UQ^+?[03OGLT/97SGQS_]#K*TQN6#5F+;DZG/Q57X'W7%[^V M'6F%AQ_:C9L7IR<7CR;\.IX@T84D-A7T0U)C8DC(((EZ%Q9<.3B$9 UKUC0P M6 >2 H*'[;^"_"%YZM,AN"L=VUC9K4(=C=L2%SX-QC)@N]$9NC$:SP+A<6R M02H4N\Q)#\[E'#6?8W('T -#R\)O650 \NC%@M1(Q)>J/SZJ%T-&(-10E?/; M8@D)8V6"=VY@F\'\!5R#-6F; ?;9=%$!Y8HTH +GLI D')(4ZIAV(*F:0$0$ MK$$64-6 Z!:L#NM@(;=L"LP"O)RX?GI>"J/31FSOW3I::!)[D5*H9EYH0NK# M5"V;K3^9?Q[M8Y+TE;PJ+O#*>"(GC).U27 Y+!%:LK>X5 M\Z;G-\R&5&28.U'/Q8OH\$O7GNSMA20"BE/0,J5@=7O I=GS[X7 M^1'*$\8.[Y5I#/!O)GUK$!+"H"YD\CJ"8.:^<'!PR'B*B=OX%CJ$2$-;_PH/ MH"Y.FWY*76M%8RX^)*L2<5E9)L MNO^J@#'E)^7OD^"L9I"M'!@89O?V+H44<&(JT8=@\=PIH[TWPPR'*7 X=><2 MGC),ZMYSI2&6'!JQ* MP?^9PDQQD&TJY;@QX\8[I/F^DQY_"A)A=E;LB,-5,YM-3:$79*?;"%;@%2)N MQ-,M$SP=X,!KWO:C%\EH0@\'Q&B\A@>'3S7]LZ/I23RQ M2N<'\C_#.9^,S'?,&\AM-Y M%Z5&*9U^97IUAQ@C -=NCH9-\*EI?3D8P Q!Z&27__YW.A8AV+TZ%A#2.A/R MB"B;$AP[;+JAS$?/:2@HE:IE7U$Q0R?)J;&1!JD%:.7@G+$# H^7C2[AT7&TC_+ST[3^)T/W18+"0. M60;(S'!\3WD'RWRFO]U0L =@%$)A1M[;1=>-EK(W M$!\(#!CX+J1M)VJJRO) MHR9>>$U"QTI%W,8:D3"9[QEHGU)PKDO<47&UAIF47K1?>XUI ]&PUQ9<+ %H M;1.+1T:1\!/^X3++G::*DCXLVI(@5Q_JWAVB;_IYJ):,:I;;;@QM0RFCZ'8> MQB8GC7"+*"^RF[*EC$I.UW:]F'_\'\#+<2#*U^>Y/$-Q-M;&&Y4%__7"=$$< MLE1H3#<'=B4"MW.PIR^[2F_HLG3*DAI_P?X1#57[KNF]1969$^DAAQL$932UTU! (7T;=VVG"9Q:0WOJ._;(G/\FZI;JK%5AR MWH>])+Q.7@$=US7Y,V/!A,5;LP,KD ?M.QLZ!.%=5E,9ZV0<2?5%*O^P?B9G M7)XJJ*X,HDM6&23/O$7[U7'NMNAN.\H+J410H<'1BG0,?IU3 $7$-K-2$'$D' M]X)6_HQ HR11N<>L_52LVBTN@K*+I +NPDW$-N-SJ.LH7:HL$@FHJD3:&&C[ MTK3;A@$9:Q'V[Q#_9&IN#])2-]S58BGB9^,<#&/066-V@ L8Q$HDDD%3%.8^J&8M .1B\,KU'6BIM9%_M% !IR$("+X'EUNN M@LJ2\.E*Z9^<_" ,EZ'L]SYF'YD-[TN(A7H)Z'=0"Q([^^J\'+51;Z+RM/0A!_AI"G/&G1)EGF- MA23UO:,.M)J7*S2BZ=@WIK4E6W>YOWS4<:$DQZ1A'T45L]!Q7+U5<('UX'$, M34R/4XUMY*"Q?8K494X"(BL[/I,?81AR4@T%-I+*9 M(",-/=$6B&RE+.(3H#*BICHPX5!33'F=(^>G/;B(K\D,29&H)D5#Q25?5K'0;7KT5&>7X 7[C M%K14TF.OB@NW,XXHR)LS:XZ_LPV8_:/*B+G53&&P4,2J,TP*D8Q5D5"9#BSE MJ%"6I<." N1S$3*8A6KQEP4JI4+<39RM4H MO2<%/*X$'V 7"L?BRN+RYA&RM\VRC\I@+%NL+JT'@_7:Q<**8V-CL7"K5AP7#0S)MYS[%K:H:=?P; BH*E8//TZN)S'_$RIQ]#O4 M&8&EIFV.0 '19:8>RYH6, ^LFN7U0C8_%@RC-HB)*@H1DW77*)%DGO)':DG- MR"B/53*[6<%[.RA'%;E;59;OT'JG=]T7<>UKU4X2MG;1NR'VTRS/IFUKJ6YG MI,BJFW/$QAV!#]\H"CC,/ MABL18/.KUL/^WC@/67GI.J[^<:7@H6JTJ[?_?//R:/I,E=JC"5$^AXB6_M3Z MNBK^9DT-N7CKEW#"?]<M(JZ MHUAO4V(BK 62S+PU7["BI%4H9@1-8+'F6H_2)$8LW]M159::[.)BZB]G+4JY MOY07<"218P,G<8-0ZE:2/B=(4*SO<22.O4:M&^-4^_UB$P0 M2K7BO-=),XJ!SV]F\L,-B538P'&\4X])V2.JDL-\HBC*0@QO%[6XO]K1-#,5 M$#/KHQJ-<9HH(/'%.!$?*\U4$X_@E.#;7M.>T-8=5V7* *3*H;C7\[:FS=5& M[,BNF+NDF-F[D+ 99Q:ZCX\UR4('-9EZJ/NT$S,4*]-0$VWI:2+BN%'H_ZY) MZ \U"T5EHWY;^'V5FX)P40JHX=<'#@U?F%JBWC[+BP,7S+[43S1]=C+J+SH[ M/LY_3\^S7Q?EL^,GQ9LHE8W=YNG^F.T.;YQ.C_>.?7HZW;MV?K9WZ>+9.6#? MX=:',SBY"]<_2D@JSR\N]EX^*2^>/=F[^G!Z_&A_Z_+D_!0$J 8M41 /4>## MS$L>THAMMY[R_V3T%UG#U9P8WF41ZL-I>78ZW=_MX9/3\_VKH?ZW]_1).;VX M>!2BX,3GE%><:_";VI^":LR\2T[6?6N;T]/S[P:)GGTO/;!LR)CC@O;(2U7? M6NC.,X/C#N"-KV:\O*=RJ:NMO#C->^4NRN.3O,GM+&^LFQZ73XZ?_=N%. DS M;->]LIBUZY5/GR6XOTL(GCU)+_SIO'Q:/CLY2[O]2=PX+9^=GV>GO(NTTV^NVEJ2"4,RCBUU M(U/E#HK.2[]T=-[8C?!6BG*<'!(W>RO9?TXG8C7"KC1=L),I?0>2S& D2=Q[ MI#E]RFA,J.427B3,'.WQ"EC<< UD=-G&RV,@)"_%G=5V YJZF*$E @W<,!%W MAR$Q%$(?T:A$2*C$#%D**X&2Q4!ILAN;RL@<:4^*7\E58.3!=GN\G"54S,;U MVF_"Z(K9L[@'I8,$8:.<74C(R2-$HO9.F-*3#-*D>$7B D:-[4N2[>Y2LCOD M@SUW*\$=E4RBBMEV99NLCK"WW-I\YD5A T/U8&9[\CFE%T><,*[#5*'5?H2^ MF)2/1"P/XBM2,,>8MW0$[N/>QT!<<%)\W' AK7>A4953N9NVB\T&FX/\5*9: MDV14)8$!8S^L!_E[Q%F2CZ7VNBKTW=OQ: >Y]^*%$]34>,1-W>06CVN1K@FI MFK_R0TW1F=JF6EK*W? FUZ$<3D^\Q5'$EY]P+9SD*OF??PU=[03/&\T0LD"^ M:>"Z+%E#:B-E?-9URI0ADQ+U!9SBN4TDR3J*E XD]2;V948=&92'U;97^JM+ M+??<=I+:[CDY019"Y)D=Y06EOG&37&4H&>=!%7*^J#C0#MJ3'#\P+Y*3E@AUW@ZQ& M32LEAQ(L=;3T&)Q4$TF=(!]V^[&X?,08I%<@M.R11'A *"F("&#,7C=M3=U@ MG#\YDGR42X,,,?R)5P3Q3IH#N6TE[A?V*:DKTCCH@8Y:?BI+-28NS@VSSYK! MD+=$+#^E#@N.8)IF,(>&+30B?3OO6VY@*:,H9<^*\NHRZ5()I(Z5T/?@LTF= M6$"DX@[-C."J9Z Z GP9WM"D[&YA(1V. M<5!J]9YE*Z8<*G$N[GDO(TB\QGD;UC6IY3AC_AW%4(ZZ9[3OB.KV-)D$GPF?JI5NB80$NH M8NA)UU-RD9SYT4(Z]J5TSD_.0&Q3MM?>8:EV#BAI=8D*&._9CAED&::L,EX.G-?2.?"9)9G.*'[IGX-X@'A=;P"FG9,M'%>DIF*;FDK"(Y+I*[/G .QG:8;"9?W!I9IF M>42L"8YJMT!M2A&*4LUEC# F/VL!,XPS[B JHD)OK,DLA'%EF<3C,["?J9DX MIK:TJ'&;OW3U5:.0+B2<=1 @3O#JOBG_G &5]N9]]G9/%3CMCZ#/$K ?"I^- M^^U^S.'$>!Z- M/;:L4[;Z/(3YR;Y-/M4N.)"?6A1U>QB$7XGA?G7DIZNGRU=JOI)5JXFXWG7< M9\6CPUQ:SLQ1^0V\E'=&%A+4[ V[!IOLVDH[.=4.)BNE1HG5T\@JC5Q;M44- M+2-U[^ (A)@I(8EU4!=IF77Y^! ^U#)",.1CQ#Q9*\I%N8VY.W.8&,:H=]1- MH-"CTZ193.9SY!CR";$82B96;'AH$!_',CG8U 22#0./&G\#24/PL3-!+844 M\0DC$#C03'7.J"S[S7GL,JGO@[K4Q+P!IX)"4"2 3[AY2->_TD*02&EVXS)M M_&MVC&N:JGX32]/Y+>T6HE:+WG A%:R5IK U,*'N&)NW_*TI#:#^OX5OT=YF M;6RQ] W"#MPV$7]K'T:Z).PO*UA2\\.F6$D=;EX;MV84%^QL1I-8&YUWH5(I M"<41R2 7WE+IGAU/,^M:/U,K-2[RPT"3NDEQDO ,E5U9$91 0[?Z M5CJ:=C\MD-.?%KR[F6\:N_FNVO7:]6FB+HH>??DD=O%]XK7[6VVOA8BE_ONM MW),&V\!W&I9PIEL<=L )^U^K9]-P+>FW5^]2BZJF9V>#JRME,7ZCU+$T< 5K M1P@49&2WP1HAY$ ,"P%/Y%#0-#V=I&'#N ([96Y[11ZZ:/B[%U(XV7 M0R&'4JXHEX N;:?N=D0NFO-,YN@TF:AQV$IRD]9BY:'IS! O1PV5FNBBI=)V MY-'0EGRU@:0PJ7]%*752[)?X655Y[>:3D>@%@.'4LS;6I=$<,N[2;:*.3W:^ M&.^[FS 6$74H)0;-_(N$3^VB%(>)]V>1O#$2>H3U=7A_X GVK.VE9%;W<*)E M'CXVC.@<4X"KC",&:M+L4MJ(AKDD?.?9#/7!$X:N-]EFSCWA71N]VUYGFWH* M&^/42)9MR./\V&MXR*G*AK%VHM1D28]BNO8.*\U0AU8#+1+IT!S="NGA+MB# M?)XK#(KN:$DV0!J1S=C#HM?[8FL,L96V"7R/VW0:KU,.S0X@0#"RU1***1Y<@F"S4MYL%1M=(O, MRS0WQM5LX,-45YDE>(XDP7-$29HCA>!24HQ1P<%O M",%4KNDK#O';*"&<^DY,E8JJ\G^$J]%'@0[1:P9=IRKG1HJPH66NW/W>5 #\ M#LZ(W[:JZ'-N5'W330(?BN#0YQJK@7K=*>G@.U/?-W2;9VN40G@BM-D#3>7. M[_1%,N;P&1DR&4P-2F"#Z+.1AAE. F@;ZMI\$<*Z;I3$H]?B"%QV2/UX$V,W M<81:5!G;ER8=;4"D=2*> VHFHZ_=W;7-F.WT2Q::3 D?_4K.?#BH($4<(DD$ MBC0DVT-%5DK1=!NG-8>9K9U=B/='O\54 >U-;I8XGHO?YF$6YQ=O--P/^CR] M0I']C!-TS#"Q ,9!S8&,@FA7Z83EW$N(G@+HP?'D'N<[\T]0Z-J[)P-Y(6)V1/, ">A=\5LJWB:G5Z5/.Z(7]0D>L$B6- X68+FC9 M<6>\X3BE;?0+;W>?)D1=Z9.'P3&,'T?(*[!7U Y(TQ]" FKC%-7_GCI_/]G] M*2N>"9_YUE3Z!0KRBRRUO&]6W!ZYE)7?ILD0[2(.[9+:\]$=[##XM&S3;:3P=-UJI#*:OCQCH'K(V M68Q*;DR9/KK7MYMT+SI[=-3S_Y1FHDSJN.=-D^;YZ$O^::RWHT$VE]W).J,X M21FSE=E']:FA'NZ:O!7=2X?@: MJU@N_WP,1YSA3-IS^N,O[NUTPHH&G76\V=20HQ#9^K>;^$_JQYZPG^CF>%1/PPG5Q$R-7] MXP-L3=;98>0K!U74(\7U7_]BUIN?+M/H@&3?V?V\_]6K5ACS.A@%[<@*(7;$ M17;2+%FO.19-'W&0&6Q#'&,7]RQ4_<;X P2"B+TO?'"M*WT>ZP!U:.0IB$=H MH_PV/2;%H4\F/\Z^5,W#$O0][DZFE^2CU?%J$3[Y?2E?NDZ/R_?"?S-^2=]Y MJNT"KQY/GIP_$*4OX8I#^_"?*PL=ZND!W%^TD%#]01O$#Z$__V]0 M2P,$% @ 1()94KXM*Y&"'P .6@ !@ !X;"]W;W)KO6.WSN*_?6IJC^:.Z6:Y.%0E.:; M1W=-<_SJV3.SO5.'S(RJHRKAFUU5'[(&/M;[9^98JRRGAP[%L^EXO'QVR'3Y MZ,77=.VG^L775=L4NE0_U8EI#X>L/K]2177ZYM'DD;WP3N_O&KSP[,77QVRO MWJOFY^-/-7QZYD;)]4&51E=E4JO=-X]>3KYZ-\)KF1351_Q MP_?Y-X_&2) JU+;!$3+X<:]>JZ+ @8",WV3,1VY*?##\W8[^%UH[K&63&?6Z M*G[1>7/WS:/UHR17NZPMFG?5Z3LEZUG@>-NJ,/1OF,H#4Z*;)R(JO\V:[,77=75*:KP;1L-?:*GT-!"G2]R4 M]TT-WVIXKGGQ3MVKLE7)KJX.R>NJ;&K@DP$BFKOD-4VO:O/ULP:FP@>>;678 M5SSL=R31Y"X/=F>1-F:L\'N 9T.@(G5I"7TVOCOBMVHZ2V21-IN/I^,IX M,[?P&8TW^Y*%7UUW-,W<33.G:>;_:/Y>'195]2MSS+;JFT>@BT;5]^K1B]DH M^:SIW%W:@%YMJWVI_T?ER>E.E2(XRC#7RYKZK<)!6H,\RE MM\K@PS!Z:7:JKN&&IDJJMA:1Q4DTJ!S\=ZC:LH&QL@9U&)71T,@PD=&YJC-2 M3GCZ=*>W=\E))>KA"'?AI0U\*!O=%# ^#*<>MG=9N8?5 1W-7674)5FCY'U6 M*/,4-16(RAZ TJS&0;=%"Y+(G*F9 :/D%UKB/1"2'!2.KK=9 73G"=F-FCYN MA8^ZW ?S_ BK#9XQ:@^VJH'A=+G5QZPHSD S36J2[_[^\G6:'(OVL(%!X#=] MQ,%P'F&X29,,]@FL$_ZL=KO__(_U='S[/#&Z868U=4N&+$T.5:F;JK8C['1- MJVC8T#%E ?F6,D>-AL& /N8\CL"+PO%@V\,GSZ91!T-LDH=@=K#T#?R? A>/ MF:YI!/BU &E$,O(6MYB&Y<=AJ^JJW=^!2Z"=_QFHAXUXWV0-\O%E0=*&PE/W MRF5UKV"[P1,PA\#F%AHO\=Y[^F%E72'T"K$%641QRNH2AF3IJ%A"][6"#^T1 M/N[T _P*6PA+J>K@MFW3DB"8!MFW;4GDP8M]I"<3$.[.2$=5;X'IX-=&";B/ M:&2Z#[<$-AW6TX($AEX'.&4\2/C<"7@(@;F%_O4#"+,VG+,:L; M:ZA*M:\:[45ZH_,U@5>1)<@4N8:OM HF!'^[ 271W ^VBK(?L*ZN@@3TWI)%' ML.][:Q;I^N0Y3EB*2;-+5=9C\89M5"#-[-(0?Z(.R7I5#L[(BP&,Q>(16[?A9_]6E>($^#F@]UBS?G(1@+O(F,L'N-,(F29C8X55M[/)J]ZZ,[H?EP/ M^^V4Z-RK$O2#&&'W#,T:+LO<54<32Q]M=$?_:#W![ QKP"&4^K=6=?DIA@XX M#1X^WL" >YXJG+K.+=N$!&"_XJN=%/$MTD(-9)=D20)\ .2#KHAM9)6' #VD"NA.SIC8;'D-@: MPSG'=?F>36:.H'2GT4#![7#_,3NS5(/K[+OG_DELE^Y(%@Z 4,!,%U:MT. C M@3=P.X1U",.RC2YTP9T-'63 0X4@VJ@HY);C;,>HB80-;@LB8;G WC M0H"G..:];+L%=*&HD7#D55)6, .26C9 -NTIXB]/1&[7&NQ+BIMXL2_B%UYE M!8IL\IY21X0[=$[S,&MQ>'U 5$*J452&0D(6%R(D.0,:)P*]T1)2+W<'KK!Q M+2 ),#3PN])WVX,4\8NUBR#2V#V.*H;TT;"C8A<]"T,SIOQ"K! MX[@.&\]U10O"9(12C,[3X8#/ WD*K^TB?O10'@-AW&)/&-"=ZQT@*3;HG+$Q M8I4X;,;EL$V7K<@OMD(BNF.E8'@-8@YNM'LCC!,,Y]M-*2R$?QE3Z'GWFI20%$8Z;J58V9<5^)7,"CK"D ML9R.U>=JJ&1"5X=P.*M+HI.S6PBR M%WP=0USKFE]J_H2SGWB8WX7 85VD*7 M+V/2*[N:B"';*ZQS3/+93DV0=5_CTTACAHI9%-7) !;#-52M@<',DZ^Q(PU_#.Y35['R"9,0$14VRW?J0?8'K\?3+U>P&21=)B M[[F9I>L)$+::/ FOC6=P;3)]TC?6SU8'!;*;0!DOF'@S7Z2+V^63RR\6\,7\ M=\P V"$'.)6A$) 87HR\6L\OYY.A!W?[<7(S':_2Q2R@%:Y-EO-TLI[VC_=[ M?GZYZ0C( 5%93J>1^*QF2^^=B]:R\'=,\TG&KFX_R=4OUWF_;=/I,IW.5H$< M3I;+]':R'F;^EV[:RQYY\M F:/P-8'MZ(QPT@QSVKGYW69PY3U.7+JM!\65!TP5QEDNIR5"2%6 M9-@Y32TQ(X2!=ZK(;7XW\"^-AHAZUV :6C$ M>%^SND%<1B"L=, ]S%I@$HT M)[:-?L"R1G,'JWX5@CJ,RFJM4+2HB&7T01=9'=M-W!F!G89 .*"K7R%.Y<@9 MAW%+=0C-;\R&79-!"*,R^"KV563ZD/,[V#J/Z"5"QZ4"78(=,9)7O[4> [_K MG27R$N0=<$3R$"? HLGCR70^FB0')%KRV8\GD\EH92]APA=A++IL2H9CB-') MYO;8P9$7YF-VML6!*]2X\1Y/IZ-IAZ#%:.VN )N]<(MWIV1(D%F5,J0)4Z(F M7@GCZ7#S*!7S![<*(I?KN_3ABZLOF-@L3 7BOV,A .W@XB0))*9#HT0^7MAB MWKGAT)+K=F581P%$V7!VU.7K=\PC2E@P]&=IM_8 -+2;"X>!20, EU6U2GTV M^ST+?6A*=C5S ?31!5*[MJ:TCQW7V&I&3T:.&:>(!3939E1GDC@RD0H1:KVV MT4Y\OR] 0:!+ 7A,>*$R,K0$;$$ZJ3N$8I6,(],3B"0:KJ$((K517F&+TR)F MGI58]:*$)FU-F2SI4:.N5_GA20QCF)!HEOZ&B2PJCDI57:B.7(FS-?H"[ ;_'S. M!( $DV/C2D#L0<)E4-B)&N/E>%MD^D %H@/F6D'*/V)M-,,"W45:$7< LR*6 M%_=9K=D4$(WD?3# IBRF@5C&L/)H](9YCOX.'317HCL\(K,43CA*W@ ..3*5 MJJ:RX5;7$"9QGI8S>!+2^P*3#9DJ3,W7>UUZM8HGQ+(2+YZ=**6-?!(VK"/W MT(9*YR773@IZ66'13QP2C,Q9;]R5:'*2'V$])DL/MHS@Z@]H%!.%?3N7OF&4 M_!TYS[)'^0*O-MT"50NH@?-2<2KO<$01$06M.1>9Z&(AN+KRP=!H8BS&IT.%N)CG-N'B3"NRK%)H4QF M8W Y9QCL>ZJ=8TH?;8 +DSVHB66WU#"[G&G:PA,O84!'TTG0S"H >W!"$X5?/ MI0J7\2(9-FJF=VN3L^2GW1P#Q%[6RJQ\7%9[C9[C0^4=B<6@ M1^4[3&2NT,'OJ@!5IA\*0>)IY*+G>0N& AW S:^","YG^YB!B(,[&%Y92XI]\G:N+52RGJA MDMI"F].X'!.74H(1\C"7!/;T&(,\$J!C5F>NZC>\%EW":-)D,D2PM21BQ9I^ MZU>2^=GIQM<]2>8YV<7>FCMQ#M*R$/9XB&@YU>I UM:Z8S%FF;CW!\1U9)\HV6PKJ[ _)<4NA&2$+=;4H2!F1VO;;G")B=ZQH^O<:MLU MQ.:X0C=,Z-C:@IQCJOH[15"4H ZXG3K+S64+_?;?1R8Z8?_XHM#YKVX@2KG9? MVD!K]H9L5=@:Z3!"C$&YY'EO _X"R;+E2)K$H\KA'DU"?]*^-4R/]/<%X0!. MY#,-KJF/E*':X/ 4/(:D8=$O2F^F/4A M0O>.Z[87-NB(#*21_@+NIMXY8. MM$H"KY"3O$;7PF.3W;+7$,T9@) ;MKGH7TA4N0/5*4:H<\1$B0VD*@N[!925 MK,^M<3!,A"<@SM"V'=WA8-\H@0F MB33MOO[TZ&L.F696X!GBAM=&+_$]KE601^> M;3= 6XT9<,&1U%ZO2F*Z;Q2G6=4#@:B];ZRO.-&%K1D2==CN?'2!".*.Q\JX M#F..1_&KX:X&:JVLW#B1"KBH+^0+T6*Y8GVMS^RCQQHE[R5MSZVB[&VON+CG M'E+N@H!T@#>.VRZQ9Q7.HD^W!8A..4V4?"RK$T.ZV+!DB,^.;1-8O@M*73=X MQ[ %"45TU-9)6C,6BP.>AQ!-$QP9/D.9("O8O(/>LV,'M3^)\FWKM#NVK.3: MQ"3;;EKOZ3#TQ9:-JTTNUC;Y+C#7Y!G&7MR]%AF1&['M5-#+E=G6>D.=XJ&C1=0I:$\4B<4& MG+9_BL AB/K";E3J#^7C&SB_I<;6_B0A%ERA7*?@$VI;PQ@&I!@B:/[=^9LP M9N#L"B60U$.&K$!.=V?S73G7)G!Q#K5>TZIM1BW.!\B#6CNY3,&LHE@(+)TFA.68YH!3IUR;H5>U&58 Y!KN MLZU2-M\;J@-8 B#&I.R8LP.6O4 C .!S+E%.$'9C+TT4I&UH'D= MKH#0&/:-76NO+/F4>09[G$M*D9*O%^TZ>H=ROLLPJXR0#7AG&L[.!@L2)9(S M2+;5G>BG8-%GG<,DIFU4&P6]-M0RN8)89MC-A8W90%O,YK,NC B%)<4OS M@%1BU(4.T7N1V6I$'J M"!(Q/3VA5S]6A=Z>17*$?X Z 'Y@N1 WG-V@[8Y"!_4Z0-(6-L"*LST; '[0 MV+A$>LBP"84:V0.L-Y2LC#M60*!M9W(H32_#PVO8:-3BIL-! @O@R\J=Y*T_IS8XK+7BGD=_#N/,C3U?:A.G#I>0 M02(C'_?;WJC1?L3XIFRIRD64GX^D'L[&)TAF8Y[ G0![&?6&ULJ.DZ&1P8Y: MN+\ W^@29PD 62.9HT8B:+S^)#B,%1CRT Z^]?)P:(VMD1K3'HZ7XF:DY(Q; M[XZ,D;NXM_S([L$S"(-2FYY'V!54T0@U=L BWQL^32SRQZ6H6UV5>TP0[MRY MSNCXSX!YL;L0)-&LD6!HG^U%IB3MN:OJ3@AH!0V/18+ "!IU 1YNG==?02/= M-I2+]9$L@'+QJ>A=RRI%1CM&,[2)L,5WV)E 4]=L(\&'X\.TOP[$!OU-I/JP MP<49K!QKKS>A)K"AJ8,8UJ6D%THF554\#>$JJL#'ZJ"Z;1@9>D,T-UE]ME'H M;RV8(VH48%]ZQLPA/DM1DNU'":D+>E*()PY]69,1;C>C$I_A/2G7I@'@ VF! ML(V" AAC+^5@,@/@K.I*>$^NS:I@ZO78!R#4222)<8R1AHPTM2Q@AQ#7G9F# MET8L[KL)O1A0HIXAMRMU%^H7,\19(3 M?,D-Y-$5?2&+(Z N3?]L@JI:!@AB_VQ@7_]L!GM^,-X+0U@?6*'+L55FUU3E M.[8@SC=&?E_> M\$&O9$BY68';A1PBE3JE/7%TO?P_V*1%ODDZN<+VL@\^!1\4(>A 3'SX":*S MMBZI5Q']@$FYELTIK0C\43>L=ZN?SJ9B07?+)[=R!:* K:[VH"D=5Z?D3W2> MIJU-G.'!>#ML_J23&%%K'/S,'Q@H^+G#(&[YWNHJ]]Z*:!6YZ$>+:*J\2D5@_LVUA^ MY"C:0 "7T^*);-?R@\?N8:Q[2UQP^I5W'&KX=\J@*"3I3V2]%Y>G_.]C\/LD2,23-]E%D9JE7V=!KI<+GZKX.1Z M[EFCHE??=-9+B1C?D0;8599[3J,"J@K?@^/RS?8%'!M54/33+7S=5:<@:YR* M0J06]O+A.4F(^5[Z*&S+S%VRHZ-5=-(J:(<& 2NK P3CTL6,)[]MPM=M%9_+ M(JGF%.]-#E>R6F[XYQW4^E?__&\TB6\N]=5^;S4#&"?&!<_-G+@_!3-/Y9):.0<[7\]$B^5/TU70Q21?+<;)>CB:=KR:K M93J=SMRUV]O1"FYYXY5L<%)WYFP^2Y=S/\1D$1%@?\Z6LW0U6?G;9J/;GMN6 MZ7+ACS.-1S.XYP.!CKY%KQ=XO^?@9#P>C3M+7$X6Z72UNGK/9 UCK8;'^;_V M\POD\X,D2.S[Y'JD,9#77KDE>?V>X8;NW:D)'B5,QRM_4G&VCK;_<;)>PU8N MO=S/9IT;%K?+=+'P^SA=D7"\ TDO9T%XK0F2?EQMT,M?]7J(H\.M5T\#[Y[/O4B/IF,IGW3S->@59[Q MH"ZSGMNFZW4ZOHUNP]&^@VBQN=NB$1^D8P6;,EZ$3_9)_&RQ3B>+Z+95WVVP MJMM%P+PYW?971$C\RH(A.B8=N[#H'7^RG*:+L;]KVF_*AIWA5?JFL]MT,?=':M>C>=\^P':-UX$=[;6!T^DBA8T- MS QMZEOL[7SZE^Q QQN ,J"4$[,]RN3H6*:K6Z^#_;LW&<_3Y:TG:]Y_UVP9 MZ28SETMR0].O\)&Y7UGOKMW.T^ED%M"X[+EI/88]6P8WK?[?Y/]S3?Y+FT,F MV_\[[;W]\#=UP@*BKROV6?_9#)1\YD>8+R-YP5M@T'026.GYHNL@IF!B5H&# M8,/[QI;;K.F]3HT3S 6^Z78>"/&2]#_ M?IR2&30R\TDZ'_O%#Q@9V,_I=!W0T1M4F3MV'O#5B< MM_XEI,,.8PR&VAO"(8>QODU7R\@3]%$YFX,;G ?JMZ31_OUZ[UX>_)+[!I$[ M/T@J0 3^)Z/%PNBI.QKN[ 3=-\I _;5I).VXJKA'<:#NT! MUK[3+_B./,/'%2\R YS",V%KDS_I'O?Y8A[$M@';[EIJZBEM>!PU]MCT&)V4 M<)4VWXJ0)<>[S*>YW%N:NCR,7WFW+> RUR:QG8%3+*/+#2B"W0G>HYCE]R3> M]I"8O$BT[^T$E\P:V:1&3!^,$,[&J2W,"=@#*IB4X=H)9PV"TG[0W"POAI+3 MF*K,72\YC^:KW]P[P8PX_[$E14SD(VYTN*0MZ3T#E/[@HS%>YX(GM:N?I,%@;O.0@HW+GFN>ND]-(A=>"J=%4"W]O9 M,YP]@Q6]/Y7PC^\G"ZG6KCW8)[VB]* 9#=K1?S<0^-S[AO,43O/<+Y_^1JRI M_=AG4:_<8GF;8"W5ALYC?T,,WN@SIC&=NX4G.MER@:"A/5Z<7$9//%J=GGS! )9-W'XVN"A M]Z_,[DXC5]*GZ1NLU)^]>@ M59?V%K8WXH*?\)UK9OHIJ!3\&%0*+N^,&@B'"@R^ Y6KP_;ARX-UV(FAT9MP M_ZKO3*5"V)V4(J@A-7@K+_5O6;"E'O"UJR9\6T%U]'U9,,.%1$AWB$O8Q^^- MN*0R.O_LES.T?*QW/)Z,%A/VS/8HCBW2\1DTT]N(3H@!SZ$]4!4)7.)Z_'2] M^)-_=NE?VK$AF_V8V!B-1M^37"/11U*BL>FU#] M\I^#\;?S']5Y2T<5\:TI.WAT/%HM'C%.MQ^:ZDA_'&93-8#DZ5?L M8U(UW@#?[ZJJL1]P O?7@E[\+U!+ P04 " !$@EE2$C315I0* #4'P M&0 'AL+W=O:8FVN95$E:3B>'_]?N>0DJ7$3CJ8SF(?]L47ZO#< M[SI?&?O5+97RXB'/"G?16WI?OCDX<,E2Y=(-3*D*/)D;FTN/OW9QX$JK9,J7 M\NQ@/!P>'^12%[W+4S7:C/5K@JSZ5=OU6965WT1KWZX%8OEIX. M#B[/2[E0=\K_6GZV^'?08$EUK@JG32&LFE_TKD9OWAX2/ /\IM7*M7X+DF1F MS%?Z](;$D,I4X@F#Q->]NE991HC QK>(L]>0I(OMWS7V]RP[9)E)IZY- M]KM._?*B=]H3J9K+*O.W9O4/%>4Y(GR)R1Q_BE6 '1_V1%(Y;_)X&1SDN@C? M\B'JH77A=+CCPCA>&#/?@1!S^4YZ>7ENS4I8@@8V^L&B\FTPIPLRRIVW>*IQ MSU^^E]J*WV16*?%125=9!8U[=W[@@9Q #I*(Z&U --Z!:#06'TWAET[\7*0J M[2(X %<-:^.:M;?C9S&^4\E 3$9],1Z.A\_@FS2B3AC?Y,^(VL%\V& ^9,R' M?UZ)SR*B"'SC2IFHBQY"S"E[KWJ7AP.Q@X"X*;P"G!>WTBMQJ]U7\5$6""9Z M+&21BG?*ZGM)G@]@YVT5+O[];Z?CX>0,9^*JM#IC'??%2@G%*%.A"V_H(^"W MA-^M9"GDPJI('0" K!(E3&6%>B@-<4;']])J.Y/=ZV(A$J#37LQEHC/MUP/Q9:E$82A\929D;BI(E9A[9G"V%GX)'6UATHF5 M=&)O-!D.A@B:+./X!_DY])&H?*9LXUC,0JI &K'-,NV=MJ^!S"=0#'>&?&D M9POS]@&>9%5*VNK*34\'XBK+B -26$M$3:Z04XA@I)=)DDI%;\ M0X8G):G$%";7B5BJ=*'<0/Q:..5]1O!L 0?Q@308O0O,!"P.+5( 69M4]%9F MLH"3W'&1D61?>/,]>[,N6#/CX=D_ 6K%+^ MNU82^J#<]]3).+*(V*+0_R9%B@*J(![)6GO#P:3Q-ZLRM@WLOH/S 3E1M&ZV M%JFA$!%+"5^2Q;IC;[^$NDG0)U:.]@J6O+J[%J>CHXV7;L\W;2=.,NFWL$>YQ MQ&UFE'PYA05T^U3Z*2N6%; &7?Q;I2WI%>F6 ME.'7Y%LI$3:ET"3-BK(CVK*2TI@+:;=E#V8A=&WP7A?,U=@1U%BIA!")5_NE M+AZ!B*565MIDN=Z(\ @B;Y>UNS;3CX>C MJ7C%')K*X<2]?M/X]7_[>U=9AQ<]Y;Z^%(.@=MC:A<07X^'FU](M6="$?I#M MH=].R=\31X?]T^EQZR"ZW[,G\=('/>>255G*Z1&,:3G.2)1.@D6?1=8_;$FT M&^(:'27L2KD'V;78QU0AS"S3"RZX[@^*,#[J3T^F3P]NGG8YM;.MGT5X./[> MQ_^[GC7:*.0'>-:P?W)Z^D<]*USZ,9XUZ4^'1]\!\8,]Z[1_.#W9?;!;=^B? MD+(\53%*KZCG2%U+C)+X%:^F>,L)4-^9-K+E79/(QLR+3HN&+F;RXD!HR%\MRJ[65IS0.8 MI7Z^E<#3BGM5P.+(+8WU^]SF1ZJQF;\V>8DFA35X<@;"*&L>BN$ZTTP%2Y7% M_E[;=+^4%F+.P5*1:+#5$5%WN@OB&.4H_1<&Y]CKI&J&-@[5C7M0 G#;6=F0 M!T[JJ,H*_I# #M[*-';+5+6(WIH+:AA(=FE$ADH9YIPDL15W*3'5-";DXDJ6 M#EPUR ..V,O/J)^@8DS%S1FH@<1C\Q*)VV:"N@X3U/LX0;5YXU*_U6!=/JBF MN@H5FC3'O2:WEEDG/$5IH!ON[6@<(]*GQT+E96;62D7/DWB8SS#BIC32J8U( M>\>CP4G=\0:Y&WS4/ND"S:OG=DLX)"'+5JY/!]'G T92IMR*<+4!39K! 9_KZ9(IZL+QB\'H, MTF'2HGP&1E-6:V?R"W-+$"IY(?L&;4MD13.K"_&*%VPJ3!MQF&&-S=&GPNQH MZ%*21+M=[H GH8LG#W^YU2:SQK0;_*QR:#5Y+\.EM*F/;1HON$1D$#-^MJ96 M%4TZ[2=#IB"M6 PQ%=R=',_5#EQ6N"O)0IOERRLU6 SZM!+4>94SA[E\X-^E M7#-,'TF]6% )F&_4#*_3)L4S.%Y!4_P<6LR2"E-G&!+6S9B/#-$7RB>#UXP> M&3?C_K\U*P2GMFHA+8^L\\K3TJ*Q"^AL;!@KCTR@#LY6G&:>7 EKB<;,[>3X M@MN0YS:C07?85*!*UD-=(LI!"Z$D+V6Q" ,D(C.F<;#9SN2V,[T3),A3.AZ( MNQ<0CC MH@$!@T%U6&E0*60=-(IKT1T@EK>FD'[;+"M%VZ--\-5!^B*CJ!@+ IU;DXOI MX.@GL2]&)X/A3\&J8;Z^*D/SDY$C>QQ]GT MKJ/C_LEHTPR/IOVCX6;JNN.E7G<=7'^_&@W[H]'AZRT/^I/CZ>;\BENM9GG9 MLDYS8PI,K1OC_G0Z:OZU1$31:X1[;F;K=M;U]Y>N;Y"[[UK\-66@*DU1&__Q MQN;) BCL5SC=.8V"*FF-71B+#!<6&F'O@VX^Y?5TMU7X?_?[UW6_.]\?_)CN M-^9)D2CKI2Z:+JE37G@/59CBT2IJ2V?5W@)W4*R6BON&==S2(S2YI,Z G5JO M?22R C-5CAH6)D6J)QHB#]"5B84Q*?>:Y/GX]-B>FN$@[9?VD.F6':03C'B*RT*+(*_;6DC@L)AL9=]3MG8J] MP_3ZR_\V#8FXTF0M/:%Y^4KSM7BI-Y99EA*F^5-!ZTYHKN^#WR90]$ KAI6MSVKRRO@IO:C?@X7WW1VD7]+8B4W-<'0Y. MCGK"AG?(X8\W);^WG1GO3NOS\]M MNE0K:3OE6A6X,R_-2E;X:A;G=FV4S'C2*C_O=[L7YRNIBY-G3_C:6_/L25E7 MN2[46R-LO5I)<_M"Y>7FZ4GOI+GP3B^6%5TX?_9D+1?JO:I^6K\U^'8>I&1Z MI0JKRT(8-7]Z\KSW]8LAC>4U?7F5/3WIDD(J5VE%$B3^ MW:A+E>A"5I8ORYD?X=[QU[F4FK+LO\@\ZJY=.3R8G(U%S6>?6N MW'RO_'Y&)"\M<\M_Q<:-[0U.1%K;JESYR=!@I0OW7W[T=H@F3+I')O3]A#[K M[19B+;^5E7SVQ)0;86@TI-$'WBK/AG*Z(*>\KPSN:LRKGCU/?ZFUU60A^^2\ M@D2Z?I[ZV2_<[/Z1V;V^^*$LJJ45+XM,9=L"SJ%*T*??Z/.B?Z?$;U7:$8-> M(OK=?O<.>8.POP'+&WSR_K;$#8.X(8L;?J:Y[IQ-"?:U7B MW!00:.N9U9E&WHIR#JE*7):KM2QN.RQ46[%$2?BEEJ92!N-U(;XO*7R+1%RI MC](F0A89C9,BQTA=+(0J%C"0,OB<().L7A0\B#92F=JE[=J4-SK#3K#LJLSJ M7)KM ?;65FIE!9F3I))NE4J719F7B]M$K,L-9O/B10:-C)8Y!J=5:2RL2PK! M%TCB9F.R-7C2;.ZAUH"H=6DJ9X"R-G!#NI2%3GE-*)@JTG2!LE9UQ#MUHXH: M*U;0:E97A:6(NM1$W,H=:V!I9FJPO>4!E9&'GRI"#R: / M$$!#(*"H]%SS]J2UJK)N6B,GQRV=0P:4POUZI;($!DSSFN-$(BQ695U4;(%% M668;6$0\@HFK)8(,(NSCK\-^C_V_/+:7_:F7TB[%6FJH5XDT+RVI<2IZW5$R M'77%!S0:NI+*M:[@69G]%X%%/@T2AMUD.!J)'\L*>]+8$[8*SU(7I5A&%!D; M!O>&2;?;%2]MI5WZ[CFAPG(D7DE3G*&W0KE;6J^5,4UZ$-%\@ZX7TV34'2'& MTG)1P-^9-Z(ED9_CDB-FXHRE#PK3H3-K=2J&XV1XT14OX"DOLBYF_DN:.D6, M2A6FD [!%)-DW.V+-X@;Y'D-]V#77L$P9I1<#(9^3%X6BS/4G-7>J&0TNA!O M#?"+J6Y9 ])PO>6F,5:;BG\U(14N]Y/Q9")>Q5;21251L"*#-:-'@V0(V[]6 M0 ?"$ PX*^=GM?4#6XVFR7AP@8+NMP\?;NW]4>\"03-XS$:#PRT5$?41)<.Z M,+#D)=I'"!2*!QX99/2'26]Z\5A<>MOEK%7LSG9H,AB,'Y,^AL)3?032L\HM M46XYX.!T+-2=/A:O@P/N6*HW3@;3R>,]GQW1:SJ!7ONQ'%G&M@+"KK&);0?&#$TJB$*OY_T3-(*A7T!591 M1=;TFQ35/U>Q,G.(R3F%@X[[ 42Z2&_]2*=.&Y!H)P04*%I8:EW51@FD=%&N M=(I>7:BY)DE&V7&CME02FFPP)06L\L5YCO9O]X &!MH0C9FV7)B<.7S<>=UK MCBZX6-OK,]?N,*R9(8S;+@(L!*RWO%'>2SP$NAF%$"Y<)*$'9X S!#?=,@1Z M(J_0<0L;*KRD7*OY&47XF2EO98ZB[@S1V !>RSFE17/?Z57Z^0YL 0$JN3I@ M"FV=)9* ;5Q T\X;@;[M4C!3Y*KYW-F89MQAOXYX#S_DH8_EJGFWK'1U9*B&WC?5@[.M($" M/1!!J"VN*H4X"_Y%N[M1N1A@G75=6>=0I,R*JV>TA9I\" B.PH%J9;C8.,?6 M:^_:[5C#9F 4G>JUW G?R,+2!1TP!&VRJ7R]T5?B3/0'G9'XJA/AJ5ND#O?0 M-BM",K5:.9#L/,\E'A/:5FL4<1RT%'8TKW-4[!NL3^5!25AFU][ C?C?UK0# M)XV=$LEY'\K:Z6C0Z0?LCQES1> U%P5D$ZAQQ1'@U(9SW(]O7H=S7"J-N85V M&VDRY]#3"]@E$F@K2@_,V1[;$6]P4$S[V4HIW M!*WO6,X!R)JHC\890'VWDCY@"BJD[SUM,YCT&W.]@N<-M=7FW'19HGP\HEM^ M_W0A&""K0^X[O(W:VC1O:$;&+W?.T1WQ8:FA/_Q :,CI"5\C."(C!$_LFV+& M<($&(J[VIK>COJ-B_#/7KQ>^P8=!.]T[' L>D8IS M+1U5KTHZ]S[4RJ?-$2F.B4.GVG*6ZX5LX.)NKW*H;TDQS4V82AB2U('6%APA M@8EW0D26-X2#17]\QFP)(+O1!!="?]^O\F%V>\+6GF4Y[87BB:0^G33?7,I% M6)+!(BHZ++3?H^_9]A;D(6X554Z:O!3O]:K.8PR[UY&IOS1->86C&++0T4R7 M;0?E/ARUT0;7]<:=\5?;>*Z1CUH8"HG=0L9DQK"Z)':=>[< !+A61%$8U\7= M"=X# D"A>F:!"LD"S1EMAT-*'F(I397RS&^4 4%D;.[(CHNC#3K'PQ)<_4.I M4D<(EYW50R38>S5GC!6=B_0*9TOMSE%TF/=!&E5'\5)$E/47"L;GC.Q/''V4R*JY=;^L?JDOI;^PE\,^VZ:=0=;X1#'/*_R5KD MQ:15)FG0*?'"R'>"Z!2Y>IUS_J6[%MSB?1T'&].+RN]-YDE,U[8LR#JG$&ZG M.I2KG4M;&_&QN38&&<1R75M\ ,7<[/ZS2>9V!P=(9B<^T^[83V'-YQ[&1C2Y M.1_W;2>)R,+F+2>#+%A8L_CS/^ M=+IXD%Q@!Y=,C6ZQI;.&0XU,.^S>0RQW)_>QRJ/!?93RM-??)Y2'PV0XZ#V4 M4!Z,&;O=3R@G_<'P#CYYF/3ZOY5.3B:#R8/8Y-YX]/E<#]J_^;L\&=DUU^8*'[>GE0?RA=SG]IAC(ED:QGC+P3Q%X+X"T'\A2#^#03Q MD CBWN@OQP[_35BRUFCMIV:49]!BONP *[;+./5WB":@Y5T:[!#]U=\EJ$;) MY#C=M;OH] B[U1^ZM3^1W?)X[<]AMZJE48Y@_XW\5DXF(F9XE^D:_5\Q7?W. M5'RANOX$JLN=K+;>=8S@G,PR)]LOQ\_&8/4]6&@]N<686NV3"=P=8DJ$*0]) M[_N17C_"3DN*M!)G(AD>6F@#5.>I)Q)!5(C+2V08EX.= P3&G Y[G8LV-ZX8 M(&SCUT]B:B)K\!,>0N_9ME*]Z?9#PNB!D*<+^, 5\7I(]O2:QGR0^37$7/U' M?%_F?"MP>:]?7[J#((42G440 (>I*$)/CU+<4?PV=7[;/'ESTL.S-^I[I_W! M*'I[$7)=EIWV)N-.-UPG2.>/:PX8A?,"7!D;QJ-O">]&=.)TV[TN)>Q M(SP/A._&^,1,8,8YP8?9+4T9=R:M'8^R2YW&]\PQTK/',Q]\A]+$,6<9/68F MD;#,W$A'J/*1LGUI5\RHJ%+7:-Z]15;"#JGV]&E$O*:YYKK"*171O%R@7O'L MK1>%H^>,_A5F,EK[X)/9:8R^GUZ-]_Y'\*L':I=?Z\&GFC*D^:KOS:/:.M/"'53K4'5Y_BQGWP4HEEUY' M[L?E+D8[SOR,H2/'426.=R9-E);>M'0L127.7&O2]-R >7IRLNM$S1O.F@[! MA(BX^^YV(__6PI:X%S+G!'W/OV[Q*^\0.8$GLK\/4=20 7S43!V9$]O@CWQK M$"C7.RX.0NJAV^^9V&0W2VP4F_XY0 "1, /VQ/B2@Y$X(4(2E-;)-C7D.BS+ M7BR,6O!KZ,_;.(N!QK:5FP=#3<2%1H(QP&2*V!/WCL),.8)=ST6J3(5#UTZ0 M.0A-7HZ0ZM91%=75++A[O*^18G&4+U7A7MZ0?J<1L]=")68X8:_RMD'JKE^C M+7+Y-S'>DON1E360,F2#M(PA(T06/7+@_8; :C>+VC.GNL*O;17*!S-UOF,+5\ NPY^Z'3^UP]_.Q'^!3#?_G:HZIW'_] MGGOUL!S;*9A9]HLM]>.^[[FW6Q=K8^_<4BDOON=9X5Z>++U?/3\_=\E2Y=+U MS$H5F)D;FTN/5[LX=RNK9,J;\NP\#L/1>2YU<7)YP6,?[.6%*7VF"_7!"E?F MN;2;:Y69]4DEUK@JG32&LFK\\ MN8J>7P]H/2_XK-7:=9X%:3(SYHY>;M*7)R$)I#*5>*(@\7>O7JDL(T(0XUM- M\Z1E21N[SPWU?['NT&4FG7IELB\Z]7=$$X7Y)1;;S&KL<]?OC4F7>LL$[)(Q4VJ"J_G6LXR)6X*+XN% MILY[4'*XK#O$1#E$LWIG"+YUX4Z0JW25P#G%;F>-& MYNOX48JO5=(3_2@0<1B'C]#KMS;H,[W^+['!#LM!RW+ + >_T.R/'YQ[^WZH%X,:W_\WX M)^.Q_5IFLDB@J!<(0)7/E*V#,)JT2Y^(N#\,HDG<&:&G*'YQ8,U5\JW43A,\ M.7;2JK10Q2FQ@LA@E7X% I L,.JM4N*]\4H,SUI2P_&T?9Z.@M%DM*?4=!S$ MHZ&XR5< 0/*:J[6S"E .L_U',CP^W'<:!5$8G>V-\_!!$Y*.CQAINK\/#:1 -]]E'T&,Z&#ZB8AQV?-P/ MQY"V&QG1< 0"@\[(8#0(^M.8TTTN%E8M)"1MTVK6<'+DMWUFI#L;5A=)5J:( M["=1-.J-4">RC'R*73))RKS,0#<5&C&@+3L?]K)([D!(\,&R]5(G2X0$+13> M<,;GV[1R3>K4P=,37V!M9:DI$*:T$*4HL:[#P2OG"2X@QN^)-R0XY#96Y 9H M,;?J6XEEV280>B[4/7N+%$JTA<3.D^8$/BD$@$P=RKGV'F"!8H_"9$FD6XNQ91-396AZS-5LOH,N=VQ&8 .,:"N_T^!#OW/%EEE2 MI_J6NFOES^578[7?-'Q>58HR=(]?N#V^+"HG08M(:W*^VZ80@AC9IKXG%).G MA"4[@D["IV=;K=Q*<0O^@%'+?U>E@# )_8E?F\.2L2P6CF Q)!4%8 $$3H\9 M8BLJ9-KEQE#ID5L2^1V/G_[%1(K#0XET""+(*37V$HN'&I*<*Y3KHK(#@@,A MY'2J2,5[:36Z*^@&WA8@7N$_[3[6M#V"*0')HI >9"X<]JSD*?@+!QL0STRQ M>$9@!M^:-?(2"U25/$UZ54. X33EL@S%-DW<-T)W[7"G-L*:9[NX3OR' M]E ^Z9W]7$;7:/O,TV(AX\Y?(LZX BC4OXV7JI"V!1(DNR M,E:^^OWSS>MGZ&:(7R5I"PTN1TA!M6WZ=B2 *@0"N#Y3CI;[>[0DAB4]#:"\7BOK-LY!Y$7MAGR("B;%$2\6O.L#LXC0=P)TRH\ MD$99*@IJ &%]@M6J7X=1\YZX+1$J#^6IMM2M']U].%6P6 V_#H\:#C*3R&J M^C#.'.*/;$3GC'<-QM3J,>A474M:LK%:YV"CX8EN_K:,V-6'>M6@]BC#L]QO M<;'GR734FS2M*QB'VA?T&%R D"PSE6GHVS:%N4PI9Z5#H% T-4U.)0A2I\Q7M7--.WF MZP'D#^H^<670W7"D4GA0*P0LT C+ROVU][D#[HD;ZO,]U:@:M=ENA#T,P,AO MZMRHIR*.W#1CX*C4W*9S.CI:V#__]W&_&C_U^X9U7I MLROD-2*WG3A^JCQ^I/ZHZ *6U/[#J7F9B=\ (TZ\M0@C<4TNN^HXS!^I53@%:7Q,<&'K%MY20ZB,='RF EGKEQ*37/0['PV$PFG:O14ZC ML!],H^E9]X@\Z0?A*.JNFH3!).J?H1HG=YE9B+A#%N>62;A]/8WB8!2&6X(X M@7>G1T%_,CD3GRRE[WN9PT!QV!MN[QVB8# ==LA-@M&H8 MK^Z'6J&BWKBC0'^$4_]DO*,X7_^$7<7C41P,AJ-=\V!H$F]7\2T!7[XA8[VW M>E9Z61>SI/&!W?$!EVY2MV!M^9ZNCQ5 MU@$XJTJ$(O5A>%5BN,K M,LM6#<&;[RMDO'+- 7G&W5&Y,E5IV9[S*"%K)*F3$I#7(L@,'.:,<]0 "R)/ M:?",KB]%CIIC@&I(B 8CJK*,/OAX9:E!179C4E72T@[].'Y0E_0_N+O\\^#A M\.'57WOS%<;=(._'0;]S,839;:+$".(H[L[U.Q=HP3#:V==YB8-HM#,WW!,# M^3,=C[L!AJ(VIZ:S71$B::;;N-P-=;K)C)"">Y=EAV[(SSL?*1"I"_X4PVU, MX:OO%>UH^[7GJOK(L5U>?2IZAP*C"[H*F6-KV!L/3]##\>>7ZL6;%7_RF!F/ MM.#'I4(:6%J ^;DQOGDA!NTWL,O_ E!+ P04 " !$@EE2#LQ]6(H# M"0 &0 'AL+W=O0&, 3"-HFT;Z=6VI56=[U6_>B%2;#.8,XVE]U_W[%)(+E]4=53OX!GF'D\ M8X\]+'=*?S$U@"6/C6S-*JBM[<[#T)0U--S,5 NEU]WJ]5+V5HH5[34S?-%P_78)4NU40!P?%1[&MK5.$ZV7' MM_ )[.?N7J,4CI1*-- :H5JB8;,*+N+SR]39>X,_!>S,T9BX3!Z4^N*$WZM5 M$+F 0$)I'8'CZQM<@90.A&%\W3.#<4KG>#P^T#_XW#&7!V[@2LF_1&7K5; ( M2 4;WDO[4>U^@WT^<\_'&_#D<.B^@5 M![9W8#[N82(?Y36W?+W4:D>TLT::&_A4O3<&)UJW*9^LQJ\"_>SZ7N/^:OM$ M>%N1FZ^]Z'#%[3*TR'868;GG7 X<]@HG9N1.M;8VY*:MH#H%A!C4&!D[1';) MWB1>0SDC24P)BUCT!B\9,TT\+_F!3$_ Z0A./3C]X25\FY//R,NH4S6,ZE+A MV3"6J VQ-9"-DGC$1+LE[RH<?%BQ*?OW?WC?&"CPH M4/UGPF<#FUZ26SRIAF %0/, VE?!P0)3^AM<;JXL\!$7Y-8MB_L>LXET1G(: M9_F1G%$69:/\A^:MZ92VW-\.TZK&Y!\K'$?]?=[ MXR@8W\$L36BRF"9/YG2>ST?Q2C5=;S%1Q[!X8W6U:N$[6CS16$)9/+FSB.9I M.HJ7O9 5EH'Q. EX9]5*5D0TG5;?P &-)Z83,2MHMD@FD=$DBD?Q0Z];87L- MGK@1CVX\,.+\V1[.Z2*+7]"RHQBOL'2M[H>;&;<4(]LBTCS;QIBR8G)C-&;) MORXFEJ4TC19'RU9@24SK=HL3[N>[*,N^Z:6OW0JPO95BJ(O7V._B-,=Z8N^/ M-*R@259,FI>/+24M]MK7N&=89,]LKX\#A4?LT\;= MK?!D_^ MD("[C$\/DCLW=#@X+BX<+,B.&W+&\EF!+49*Q%$4T]G\('K+,\9FV62 V]6! M[ZGR:?;2-1H>=:4&]-;W7H.W5M_:H4&-VK&]7PQ=;3(?_@WNN-Z*UF Q;] U MFN7S@.BAWPZ"59WO<0_*8L?TPQI_44 [ _R^4!#?!^-.S_@=02P,$% M @ 1()94N3YKO[. @ .P< !D !X;"]W;W)K&ULK55M;YLP$/XK%JNF34(!#"2D2R+U9=,FK5K5:MMG!RZ)5V-GMBGMO]\9 M"-!UJ?:A7[#O[;GG?/B\J)6^,SL 2QY*(%+L?1"1P@$Y-8A,%SNX0*$<$!(XW>'Z?4I7>!X?T#_U-2.M:R9 M@0LE?O+"[I9>YI$"-JP2]D;5GZ&K)W5XN1*F^9*Z]8VG'LDK8U79!2.#DLMV M90_=.8P"LO!( .T":,.[3=2PO&26K19:U40[;T1SFZ;4)AK)<>F:Y DXM*:Y"6?.5LS06W',PBL)C(N0=Y!WK>@M(CH!$E5TK: MG2$?90'%4X &?8TZ8'F.7T1\1+R"8DCG]"0AB_@Q7W9<8,7OU;93[(D?9:D MR9*\[N&^#)I-R'_@=I:\LXB1)5=XI8QUX>A#-DK@S>1R2]YQB1I5&28+\_Z4 MO'V3T3#^\&HK-A'*-;)RC3PH74/Q$\W)69[K"@I2,ZV9M(](U%C3.YZ0S)]' MR4B>^4E*>_EP" +PDO8%/SYC$4W]-)L^5R=^& WJ YE?:DV$,@8&(M2/TF@D M4?H\S#"!$7B.I$(RECWT'K$_B\?1\S@;'= &L(@"I]T]R IZ0^*GZ;R74C\- MAY3CIA<88Q5QLQJ/6=42], ["GV:A8,8^30:0(__+SV)U*>S@7JT>VH;@6K]LUX7"N+P[;9[O!U ^T*:3*7;J21S4N<1 M(B$);9)0 Z25S->?M3= $A1E)>G3W2^22.*RKVM?0+W8:7-G-U)6T=Q_,JQ>ZKG)5R@\FLG51"//MM#WQ%QLM3ZCB[>92]/QD20 MS&5:T0H"7_?R6N8Y+00R?O=KGK1;TL3P=[/Z#?,.7I;"RFN=?U%9M7EYLCB) M,KD2=5Y]U+M_2<_/G-9+=6[Y,]JYL9.+DRBM;:4+/QD4%*ITW^*KET,P83%^ M8,+43Y@RW6XCIO*-J,2K%T;O(D.CL1K]8%9Y-HA3)2GE4V7P5&%>]>J-7%;1 M[3)7:T%2LB_.*JQ*S\Y2O\)KM\+T@14FT^@7758;&[TM,YGU%S@#.2U-TX:F MU].C*[Z1Z2A*)G$T'4_'1]9+6AX37B_Y0SSVEIRU2\YXR=G_0VQ'5R!G>V:W M(I4O3^!-5II[>?+J%C"4B,S544KD:I< M5=_:L:?1Q3@>C\?!C>FB=^.S-$64:U$.]IDD\][(]OZ\O^2ONI(VJG1$P 6: M]:Z4Q@ZF@95PUFP1SQ9)1X:N1!YMC2I3M<4O4>BZK(:\)^>]5:;3\]XR[Z6U M]'LR?5Z76,-4ZK\R WA L\K:6I2IA%IM-:3O\?3\XLGP;C);/-FCDE:+HU*R M8?SL-E-(]2))AO?!"21^B).T-D9"&%O:1P\5Y8<%G(SCQ>1BG^QKNJJ-#)2Y%=\072 ,OV$D\%A8 M[U#V#[O3_TIA(DE8&)*Q+X[ ;R;@I7F,RVF@E;Y9C:<=^\EL_]FLNSB/Y_UG MG08G\VGOX>>-1#!?00/?U>#^]^G \)OO=R76D\ H^179@Y419)[7))$^8D$9 ME I$"-).%7\UA!W5V=M]G<6A"#VZX6,QY ]F6QX'G--H$B?S6>]ZGDR"Z_/9 M]&$!8H.E-H;%9B-(!RY>6Y";ZJ)0%4DO6DG9[4>N<=E>G<>+Q47'33R=3([N MI9I[1E0RLCNQ/0"=R=#UCIE,>/^]K,CBX'E-C AI7R2=2GHP-Y]U$Y- $,D ZSMU+.)D,0^N+R'0B^ ZB2\F0\OO@M^U M8^RF"7ZD,PYK[RFLO2L[0R.[BJ,=P*=PL*%KI,VR5-H,0NACS\7@T1KZ9YR1>&/7I>7AG%%W9AMJ8?;IE4U&"4FPUV2;V%YBLSYO.@OIB\>AKR2AJ9)( #$X2MJS9R7DH)$X4EGFK M(4(S&IRSQ]K.9=V&[48 #P7$H&G_%F5-J,YQAQ0%F[ 2^4)CF2ME+-F!+ EK M0)*M1%DID>=$<$Y[D'5NL9\N.0%#$6IX$^+>:==:"0\W,H>%9\0(1OV&6L_2 M@O2#[EELBGE+C7#B;,I-V\B<:4FQ+"I7@"FAG5$IK44$J4P)HZ2;1,3L-IK( M(U3/2+=43()9;.#3JF(KRF^Q-URPBRU;%FF!GR=X1"C1@@.42!D75M]BXE<$ MSDKF9"BC6:>\,H! H@0C5TC9%(O182+&@+;25\4[56TPTAD.1Q$0T;/CW4:E M&\Z-EI*7;1-+?2\;GZ'RGQZR10\L\Y9N*.N]/8Y.QR'-N%]!],NZ8KOS^W>^ MX2UH?_>:48R&RM5*IEX?/FP5$EE$YDRTHPZR&G]OWX-P%7LI0,M+10; 8J/A MJ-WN%?*57L;M!$V@-ADES8;Q(29^4(1D0S"JR@AJ,CQE!%T"QBTAB4#J43Y- MA05]&V'6S(K:"^JCZ,8#7 "B%'(,[?U[K8RSR4+AWN"^&P;K:'#D,'$RS M*J2+%9/1=/Z(IB:C"_SPE&NCUHJ,3JS71JXI"@W**#\T)*@1ZU+D[%99+?<1 MY0C^@I^-R"#U) 3/;E]=5X0T&7-1[F]^>A'B(&-0-SQ(OOS,@:$T,1HKS2Y' M\] I!^#96YL,_#1)QL&<;J"X%RHG QU%UT @"-* DRO.^Y@YZFNE+"5"&55F M->R$XS#;)TR1V5TUNG2X( TW]$C&#AQ9]*[A!$K9M+W)44NX1U&-9@IP_)!'\>*KVC-7OA0E1-M)'W1"'T*,N4; 2/K5J7 M:H5$IJR"G6',%!,X_:/B5ZTPI,YI6Q>'/9#N(%#0CYW7LHWQ!-902:MF0XA8 MD21K6CKHM1 'S:Q&?GX**,VT:&TLV^X:5%9- M^M?*<"]:^C!B:P)E"B>I5/=D'UC#X0[1#,_G (%?PI1LMI PA4_+5K@D.\-= M%Z_(_[?,F]W*E(5-L0YJ0U1>J08>6Q9)(@X0 _OH##HFPM+.6&GX%M41A_B> M>&MBOA'1T;2*^KK1O#Z)9>Y1_-$&RJ_=6J?<2YTDE]&'!T7:E>23>#9^N)?0;^(MXNFBJ^;?'%-( MVXQH.QCC^'S:-30^D:J>TGE,UE-8T/&X3+JB_\//:(CQZXC/M*VT13P/^BC? MTUC8[)['B\OS@1)",.*.R<5S&Z0OAU#)EW;/?/OB/8#'"(2ZCR2-INMRH[Z" MC&N7'!+.#(?P)H"7M($QJZH3U \F:MBR[BG@H4R3'+JIR M&X?A\Y#DD2B(!E6> G1^"%> M(;C5RIJ&%3-33HD[12>#O.5-U+D:-UN$C_4 M,SE$J8\$*W&OC0N@R#2M2W9VE/UP]QS"V8A[ KR:"E()=Z'8>$]13,$Q&^K(<7>8XWNUTWM= M0='E$M7KZG90LN[!MCMMO5[>OJV-CJCE,$,QB SR#+E$[T"-DP1 MFDG:(,:(+'.5BXNT1"91!S']IR7DX-:Q[Z>$+'&L)$6QZSMT\?G=!I67[$[= M;F3&N!.4L>-'(8-'I/>3;-+.W(=07P]3X,+7_H9=P+9(C%%^ MI#G2!QAQY=6!#6V*8AL[P6R;%&HM2Y;BDHIY2DT+0"@*7=AOZI(/HND]EM6E MLU'J8T:W7HZ\M39-/_3]N]>W'T>^&_HS1N,-AAMHAV<])"X'$-[CKN$-.E<9 MY]T.C]^5!&@R8^9\>M1/CBAW(DIH <_'=P))W'#H\DB[(:<'Z)5] GS4$;Y6 MX$(WR 5]P=54F2C2&3'C-L.K=C(',A7N;+^7X3&(]9+0S_LV=@@'6)(K%-M5 MXQ%].W0PMS0:-7R07 MSAS0_9A9]RX>ZJPX[$&X*P!OU,MTE2E!N2W"#@C2, M;]?\0#5 I3'#:YO@QGLG4MY$*$'8^J:2(\#3^P""NK8>4Q? 9(.00U%\/S$[ MB%G/CN'.^!%]7CYJEW@ 8SXP,/'4]AR$>SC-U6V+/NQ1 >9TJ<]H,NNNCL#/ MPXSN[]+<'_>6_M3BT/ZHZ?FCP9K7OIV[5Z+[!M>!-@RT):F'2PI7Q;(VUN4- MW&'V90?;&X. LC3"=X\X%Y!POE7<5N-8;@E(0][CN\=.\^X\)U\]7=7_: MQBA:4/47+JAS)L ->YVBT& 4 H3R,=]!TM=P06H9R%X_I]NSZ6KXPK3EM>ED M>-BQ];(92=*BL8WD&LN%JW2KC:+;KG/!!P;22> D1NCZ_5F_P#%CPP&NF-, M&R8ZW'(0WYI44F:=1EQK9:/SS"WB9NTMJ5;AJ$S"C-C]99>%L<17 @FN:\@[ M*88[NEP8"9)O83>Y)#14&^[:[)K4+6RCMM;48VA@560/-'RC2X^Z RX<^6UJ MFN9"%9#@TG(KSUTSB!F.ZZ7N^E0F42H< M@SV7//L-73]Z0*L31>-MJN!H7NW[EJ/ VU[;_QK:#D.QD1S,N,U-!! ?@Q,V M"H^NZ2<*?H7#=_*ZK+3SKY(8XC9QPTLAJ#VYIL9/=8@K-A97,+JXV3;%^3#+ M<4#2=HR1^RQEKK"/\PJWBR)GRM4=9_;MT1KT([DZ<&^G4!>H?YPOG+ORF*;3 MV#^7[/K0?%K2"H6J,#K9LG(_0]?FD+2KH''C@N;A0WI1#E\ZX-.A@WG1]W(B MF,%WTIW1W_82R _0.ICR@S7_>YZ_@7XHCKH/+#<9738S'WOX0+SV[['=.]HO/]3/284CI.*EU'BKA*Z"GL] M.WYGF.#-]QOZ99K8HK9/P\/)@V7V@P=1!SKCDQ%RJP>[ '^(IOY+##^S7?N* MYHU[8^K6O3%U1:]"F+;2YM==L^;@A),A3/%=.]>'#CIW35 /S]?:-[.:]QG: MM[/ LEY+"IZQ+P7=6 X/9?\ T)](TJEN,NF_R_%03X5H_ZTN@R#+[[P$?4C, M_!R]C:Z[D%";JFOPXW%[LLEY%D4M"+C A39LL7+XREESIO\0^1??I]X%O:44 ME.!Y XC;0-3V]6/7D<,N+C3VVD,K K-'SJJZ)B:5H.Y0-WC_:9K\N+BN/C7" M\B]9_+7"6OQ=PDJ."NL*-W-^._2')<7GJ?3O!T-MV*A+\6F]7S79V;4P"'BE M:,V/CQK_6H&>_WT"'1\1*&5[**^:MQM06"]-\XY!XAN@W9W9PU+_(O([T!X* M_XA]-B_S_&GBG(S_+GG.6GEV+ZL<-54X]:&_6IP%_U8!HVO^3PX=&*,N^V?_NY\G]?EKJJ=,$_-Q+Y MOJ$!>+[2$+J_H W:/T.]^C]02P,$% @ 1()94H$:1\4=!P GQ( !D M !X;"]W;W)K&ULM5AK;^,V%OTKA#==M(#&#_F9 M:1)@,M-%"TPQP4QWBOU(2Y3%K22J)&7'^^OWW$M)D>,X:(O=+[$MWO<]]UQ& M-P=C?W.Y4EX\ED7E;D>Y]_7;R<0EN2JE&YM:53C)C"VEQT^[F[C:*IFR4EE, MXNET-2FEKD9W-_SLP=[=F,87NE(/5KBF+*4]WJO"'&Y'LU'WX+/>Y9X>3.YN M:KE37Y3_9_U@\6O26TEUJ2JG326LRFY'[V9O[QCJ84D"I4XLF"Q,=>O5=%0880QN^MS5'ODA2'WSOK_^#%+_J MU.>WH\U(I"J33>$_F\./JLUG2?824SC^*PY!=C8?B:1QWI2M,B(H=14^Y6-; MAX'"9GI!(6X58HX[..(H/T@O[VZL.0A+TK!&7SA5UD9PNJ*F?/$6IQIZ_NZC M0DKN9N)ABYY,DE;O/NC%%_1FL?C95#YWXHFI@0F"Z".)NTCNXU_,^LSG;F_^)S$X,+7I#"S:T^-,E>EUO-AV+H"M^5:*@;R)1 MUF-21"8376BOE8O$7N4Z*2 EJU2HWQM= _1>-*BK%96I$EDEJI#;0@G,HI5> M5[M@SHW%+[D2I7%>.+VK=*8A[$5M+$/>9,+G"FY?MR*D50+S3<*#R(1)DJ;6 M*A7;HS"-%8FQL"P]+&3PI#A@.A@8-(DDUZY/_:!]#D&A*QB5A?#*EA08 %0& M ,$QL@]15,9CU.$(F!+(@"*ZEP7%+KX0R,=42YDDID&>&:MR74U9FPIE<\*I M6E*0Q5%DUI1L OF_>2[(EG*Y?VI*,8AX+ZWF8M7R6+)=FGV.B9-)U:.0D 6= MT*G![/K MMH?"$K.],=F;AL)S3K6F"X3?886:1XT#"/\#5])3I1%%PJ&(E%#35Y!:@A7B MZ&0OBX8 U2;:E]OL50!D>$ZU&(MW+H =XI1T6^74<$EJ:_8Z5=R?LBYTHH$E M^(U0-;%3%3!: !24!"GK*K$<'&JV-1:D0 "V9X'J*JP^WB%[J<,,O9@@ZI8J MBA1@AZT_D&88X /O#BH;DL8J%*EV >$<#O %1?"C*K1W /JDSA 8C&. MO^$G\_'U-Q%ZX6K%&Z\X,M+[YIPB*J(Z%$U*\2J78-2>B.&I&=QM?@1I/(%9 M$!<5!'"SDO%!]$>5TQ=Z]_$$R!W=')6T3BC:(><91B&]-L\-YWD5;\9QA]0( M/Q?C30]<1G(\?X+R\T+\_6^;>#K_GJO^%)P;P,/*"@UHF<,JU:N\P\S]VUCM MCRVOBO?@$ED=26"V_M[!%: $%((-(33@5F84<(8&/AM9,.51%7ER^/"0P]^A MY:,*(PW[N&XT#D5U9+D(M)KK>BQ^- >%"E/K>N[2%>8>O7'#R,B)0GEUA=%_ M,3IVGC36$D81%4$=CA7FQQP5L=1G.JFE9OK@.- I,"S'_I>[*&M$\JC+P--7 MBY.6S@<>H[;E6X6X%0>N:(-E0@/C M),=4<3!-@6R/-98I(0+5;L'L7)LOB$.&&7\V*&%IDTBWY_HQ&(M/'66!E(&L MH-&25X)=2'VDKO7Y$<7VN;0^"TZ'*3%$$ M)O7,D^&R#]IQ T*XL$,"$P%".C O:N),H5.&W,DM@"@Q>'+B6Y8VC8,Y]]W; M/IJ_^GG.LQ=.@.G+^_%*7"^B=;SNE:_$9A%-U_-69Y#W'P_Y$[-"-Z[#TEV) MV2I:;E8#=S.XFZW$1W1N>),8:G7"FVFT7*_.W*WC:'6]%K\86I'GVDAQ'S4\ 9@VMKU/9B]8N;C+\[-Y%,,)SI;G9W$TFVZH?AC+#-T[DYBO MHM5BV?8F0.JA(Z$S:W!UO22T.M2[XRL7SHKAO/-;\%JM;7Z^_$J3P: M%EQ^? %,9[#XTM1UT=VTAK>I;IN 4;IU)-W_<[09##^<;ZE!UZ>#'QCP]]+E M8?O1JI,E5>FX@""R#*K3\7HY"BEU/[RI^17$UGAO2OZ:*XE520(XSXSQW0]RT+^3 MNOLO4$L#!!0 ( $2"65(+WZ#5^ T "DM 9 >&PO=V]R:W-H965T M;W2]%BJ[>/.* MQ^[,FU>ZR%.5R3L3V&*]%F;W5J9Z^_HBNJ@&[M5RE=/ ]9M7&[&4#S+_>7-G M\'1=4TG46F96Z2PPU%O20O__BOH'EAVRS(25[W3ZJTKRU>N+R460 MR(4HTOQ>;[^5I3Q#HC?7J>6_P=;-C?H7P;RPN5Z7B\'!6F7N5WPJ]> MF/1. M+(C+!3'S[39B+M^+7+QY9?0V,#0;U.@?%I57@SF5D5$>EZO?NM7QB=51'/R@LWQE@W]FB4S:!*[!2LU/7/'S-CY+ M\;V<=X-^% 9Q+^Z=H=>OY>LSO?X7R]S77]=L(DZ?-Y$G8G_A/P\FT?GK4.3B9E^)7HX-IV!\. MFL MA/W!^#,UV(G#P=A;VQGVHN8IZNTK,*ET4"\8A].AS\P@C(>1S\S ,_C=Z8AK M7 !6&/1\G^B/PT$T\0>&X7C,D18'$&8BJ.5B(?F48P] (@!1;'0\/R MQ%%W]!4(#KKCKQS%03?" &AN M'*%TUV6N<=Y;6E2QF"AL!4^=8X>9S+=24DJ15A[E@4AS"BH=Q<+D1:[-KGIO MX "VS%#V_SH_?3@J I1Y*KCB*/CJS,.M[P B/Z,FWP%[81SW?7^+PLEHU!Z( MX[@>P"YD06S1263Y[XO2=<@M%D:O_ZKL\".0I>48/QI.$\12P_DH' V:=#>F MV*^??A%I(1R4(S\1['Q-GA@.O""/QU/_*9P,XQ9NH_9;XLDV1# M,4)^'HX]7OK])L0[T="CIRE4"WC]+$4 ? )@MAYK<4N*.(PFS5,43N-&^ONO MQ7KS\CWS RLE*O=D&(51OYW'AJ.VD.-XY*7&\?1]4+(%E>U;I1.%O9&G$R]W M1SX9_]?W#M)AF4S@/ZFV !S"F!T2Q%:8Q#Y+X+GQ& X\] X)/?_MBN!W@G2V M)@T[5Z@E/-RQ,S@F2&<<#8Z,(EZFGG9_0AP:[P";>$?0V'>#B4?LKST\G@&$ M6T&@$,J AF:[X#+N3E OI"E-YGR*O**,S8/?"V%R"$?YGS):4D@"D<*MSLOY MI^.#J)C5'Y3771<:.LI9([##A2F1+Y/S-)E5S M-B0!8Z::KY1)]IB6&<2C!YR) X%G&$ LBN!QT1[6B/45A M&21ANJ3WP'VP)8'.Y0DK=GZ5?.3((7 M.!],+E26[ZH22![L/PD4$]78 @9Q04.S;O-X'L9-'LOGV0&D@_2/*FY M;+G([?U#Y1/=X,9R -%Y&IY2.]L$FZQ$$F0Z4.L-G(_PF49D'X%-W>!]8RB. M@$19J],GT* E#5R&^FTQLRI1PNQ*M%5 D4;G\@HZ9(Z,I!X-T8.18U_[V6$N M[Y1"_OC3][7CM_.[#FZ?!D=K#1,5SDY4;GN$X4:26'=IZH&MA3#_OJ MH8ZZP0=2G\A*X+._#EIHAJDI%A&J8M.VXY*4#/+ M'4FDYHH*/G"SEF:NX'2S0J4)J%CO^/8=KWVR-WD)JI^S.2A"X#V'\+8LC1ZA MO1N+P(*=OU=B!IXI ;X('A1B:D&6888V.@-K=0,A\0FWJKX4_+\_%/[/ N8;=RR2DN92/0D"CZ3/ M.H;84>Q$L-O!I/(^]I.(I\QDR!A2U;EE[>0K;] M:3CVUL5#@J3UX_=49K2('& \<#&:' [WPHD'@#X;:D;023SV11PV&D%.!^9@ MA%[Z[N!_OK09^HBUT_=1 M_U[3PXO, RE@J\'H8!B,^%7.^Q.Q_&=]'= 8%LS=X21_+]1F[;>Y.E$?)A][ M4D8 Y!,/OCMG,M1CQXEV5=C2C(=(GIS*K\Z:%^Q6'DF=+:]PT*^Y06)PVG@Z M'_7\VFHR]EAYWI,Z\>!(:;6OPW]IG6QQRK2$'OFL=T8A$M#)JB0.1WZ%@^=> M;W#6-XX%(]PK'/EE3 & MF&G" X:[!VF1N$87 WO@-IVJA(^\_6/E[SM2OOS<\-4TW2L&8\H+?8_X,\:C MO-_O3UO/ R\/U2F=3_$CS42@2L*CE]/NP(>$QXQ4H3W B\O!H#OUYU>E"/#B M/DYLD'$%)!YO'E!W(0E8599^"X9^".HD!"9$6=:FP5$RDTO%U06.(<7^ !'Z M$5=)7)2P''[]\CERC-I0V#6J#J0(2^^C VA//)*#-F!<",D<\#U!QTG2"/ $ MY$LTQ=HA :^56G:!8:6H;/8.>MWC!P7XONQUA[4<#*%G1*>I[); _BC^RY*H MLL0)-IT,^V7",5T20CFI,ZXK%L>J QM6(6X9FR.6H5X&YUQH O H&ZRUD5>I M^DVFNRL,9U?D)*[+7&Y?.@:UIU,N!AWB*8! ( #<@N3,:J&^)X::/NZ M#%%4==T5QA8$@>$@#^7E<7\25SI[IQ,9!JAIL*/P*YO3,0!9L,5'T.).2Y85 MF):JM<5E'.8HG7!@&[DL M4F'2'6R:<*,=BB;C6\L 0E>U+=G?I<==98\C_DIQ'&R$R=62/#UZL!+;MK!D18P[O1+IM@!S9FDN&%1Y;D=2?2R29:5ID>V\+L+1 M[6X79:>(>CA@3\_G!:L9R<@%M8OG:E:M#C@!=K=4D\/#(&QCVFK#8[KH!EX! MR]GHYZKMPV7NG;9EV^B&DV$VQUSA:YB/%:;/T#1+FGQ,4TZVFD(DF.I($&7! MI*AO))%FB11J)9$26R&)_7]PO?7'BU_NOKPM(1;LUN@,&N*0]?!'+XRF/B") MPVGK:FH"A-.\OZG[>BYUEVW'36TW+S:KR_'6CLXSN8^NF^N9O@>],OV6:?;904_BWX!)#=0^A[.R$6\U2NN7G# MF:CLQZ^TVH?G]U&-\[)<&RJ"XC M*$Y_SA2IB[\6< 4#P!-UQLN4_;$PRB;*:<%OG4Y=0_;V_L$UV;*YZZ)[_=_J MQ#C>6+=-9[V\=1\Z@%22W*22[]^A;)\FS576%FZW^YM[E[8X:K 7\$^!&=P2 MY$.4.M[ XRL%^.L:DD]*;GEU0CKOWCU6;?P3ER9Q;Z\K39N>;IQS MPO9[H).F0\_8@[PU^$X NI@=HU*N'5SK2G+KECN'+'K=(R4-<:;W\=&>5L?- MMPS,A/MBCZR ]YY"G*TZ(I"Q*'O;NK&N^R5%+)(:#S'-9GPEB7G@G+L,;FK0@CERLBP59J[Q& M:UVZLAMQ)Z@]Q2F, MW8HD9YABP\=W5G;62U;I.\BT;>L2MKJEC-D:W;B=^7+EN5T/4E3UI0D<8\0O MF8\2CW7/%K1[5PF[<@?6E44,0'5;44$0=A8W,UACFB$W:%\^-.Y1I6_"*$?= MB14PDZF"^4K XSZ= 4+;T7++?2/>VK]Q):3!&K^,)^V+V],AZ_R<$19G^3)1 M9O(3;+R5*3A8\\>9T!8C-^]Z]VPR"/UZI X>GMH$'N'F]B*G2L&7-"?OM(Y] M@WGM?;ZZEF;)'^FR?%GNOF2M1^OO@&_32:A6'.M0N8:MOA2.5^K MB%>_FH3&LRJ346TF^71Z,:F5MJ/;Z[3VZ&^O71N-MOSH*;1UK?SNGHW;WHQF MH_W")[U:1UF8W%XW:L5/'/]N'CW>)@-*J6NV03M+GJN;T=WLW?U<]J<-_VC> MAH-G$B5+Y[[(RQ_ES6@JA-AP$05!X6_##VR, ('&OSWF:#A2# ^?]^B_)>W0 MLE2!'YSYK,NXOAE=C:CD2K4F?G+;W[G7LQ"\PIF0?FG;[/<=SCY-W!F.7UT-JX#?; E ME\< $Y :F.5[9O?Y2<3W7&1T/AM3/LVG)_#.!Z7G">_\!Y0> <\'X'D"GO^P M"T_CS/*,OHY%GYF4+:E@'U%GY"IRK536,NA2*Z\Y4&B<#<[3!J^N#2B8J#VC M?"(U"0,%3+4+D:K6F+<1E94P@\-#HWSLEK@G$#+Z:\V!>^/&:]2L-CLJ<(P& M"C@@^2&AE*7H];)-99;V)^,3WVD%>5X9X#7>;73)B=[AQD!M0]%1GBW>R&&% MV[ 'V$#PYY^N\MGEKQ24Z3P @"WZR,#\&"VZJ SLSV87V3DJR1AA V=*>HVQ M/,_RX^79+\E!9[-I=O7JRU5&?U84TS&J=JV-84RJ@99G^"DR=)U-L\5@E7"F M!^=NH05>WZFE85$)J-XS*A(RG^LE^R'[D[T0&B.LH>'4R:QNG&"3HU[A(KQ83%^L>Q7F6I7)H2?%#%%/ M08:R+J0I9]%$26V4-BDTE7G=C#Q'G-8Z]QN];% M.B7&2ZA>)00N\HT$7PKQ("U>,DO;4J,^6V23I*8#]3[9,!? (=JN)#S"#.& M3!VERL#,(^X()%7Z&0O*6F!(RDM+0CFN@88I @25W&>Z;NN^E%!)TLZXT)7N M,E1$>NX4UN#?R0I%EU@TF#2$UT$+='XL0*G9%;C$89PB M$$5DMZ.BBPXH11B-)).V"Q5N9?5_7<1:6[5RO5&(*K9IX[YRA;1"Q.S;HO5> M$(U62VUTW,G)XK$'Z=!&ETG'/=J6+9B>Y.K.]OT^T(;17!?3-Z0JY I%MB^D M ON-+GA,EXO]]TKC[RM[4D5)2*3;[Q*J."_9H 1?;T]:I10A9!"YS\D7(3 X MFV?3X[XVSV;#@KC+BZWZ;NT?=;*O7<.3@ZFF9K]*LUM O2-'N@%G6!W&P[MN M*GK9WLV6'Y5?:12%X0JFT^QR,2+?S6O=2W1-FI&6+F+B2H]KC+CL90.^5\[% M_8L<, S-M_\#4$L#!!0 ( $2"65(H'X0YM0D (P7 9 >&PO=V]R M:W-H965TI>9 M9)JY7)MGB%R*J$&" 4#)ZJ_OMPN HN0X+^V++5' 8O?;;[]=\&;O_'UHB:)Z MZ&P?WBS:&(=7%Q>A:JG38>4&ZO%+XWRG([[Z[448/.E:-G7V8GUY^=>+3IM^ M<7LCSS[[VQLW1FMZ^NQ5&+M.^\,[LF[_9G&U* ]^-]LV\H.+VYM!;^D+Q7\. MGSV^74Q6:M-1'XSKE:?FS>+MU:MWSWF]+/B7H7V8?58_[RH7ZSN&2' MR%(5V8+&OQW=D;5L"&Y\RS87TY&\WUY4)58XBNRYOA06?Z]%\_9!QF&UX^M6&= M-ZS%[W20>/F+COKVQKN]\KP:UOB#A"J[X9SI.2E?HL>O!OOB[9WK.A.!<@Q* M][6Z5-G@KX6NQ=_^\!G]A_/ME_+O:?_[\ _;&Y MJ^N5^J%)=6>UZ=(/'_4^C :KOI+2GE!IFW^#_2HZ59&/*%%E::NM+/:T':V. MSA]4)2:6RO25'6N85K98TMX$?H"ML275M"H) #MK(K0= 0 M/SX[<$+)1+/5(ALY<%AWW:#[ X-1N3XX:VK9>(PA1#R0-,'9UN#T/;S7?>\B M'*+:<"I@"]H(8P)?BA#>5D0,O"0!./: BBW]Y4\OUU<_OP[*#<",50R!L K5 M2D1QR\P*YY)WD.E)J&:04/P .XALPR(>%/@!@BADJ'5C40?/CF9P@! MN-HPK/"S@3&UA0O8F V"&I).5GPDQW*7./1B*M1HV0 M.*_BWBEZH&I,W$K@XCR4 A(H;,3.0-]&_II/1AFT.C(_-F0-[5)@C#7UV%$1 MDW>E_H S4V0FI%)@+_4 0P]2!LC>3URD7 '[U'1'":1Z-ZM%S\R*[V&Q/]B5H$8J:K;Z/VO!D!H7M= M%:Y:<\^AUU0)T\NFQEE4#$/420M=J;<")#H@=1N8*5UPR9&4JH"G1?K$F[G3 MDU!PF4)3["$8,9D]R-5QPA39GXOKM6K='N3T4*7($" _P;"L"I[L-.I=4CE5 MFI3445931D1):MKQLZ1%[%$1\I#1UG%9L,"A*!:NVA[)IXPQ<"6$$2!O$-5-)=,UHXB@GW?=NWS.U-;C+;J[4AX:#;K2Q\](\E@@RWX6B M>+E&F!B.#Y^KF/,)&V!=\^=]ZX[M=.N #>\+Y'<&]YT_"JT.9#0 ,LU&,F\20\U2G;$TN\"H1#T[QL<(V MU&K;).VH75)S82YV5>WLN TE)R%$Q^)'\R21_(3>5 MC"W_F!+);LI\H@==I?;/Y0!6ZJE35A4-48Y)/.%]1\LK]9M!/KVI>"Q8GHGU MU8L_L_MK_ .$$G(>_P!'*/1/?IS,0)-R"FJH& IQ3 MSZ3T0;AY3.>/4L"9'HW0T$N#E"K-3;P#"MT+W..]^-P?9CN7L?;(&XHN#K*Q!]X MC=S/\AC#M$4:2KWPH 5UU:FS$:8N=R _W4>F*P:X,L*9V?<"_.P6PL E"Z2V MWHV#:@E5T,YNGFK'KW#R;)HT04!NS;9E]L+7"BT#Y8ONQ T7:0HB[9O@_"9W M$(;K>.G4WK,FI+:3AB.^ 7&!@S4?\]70GU\I99RBDP:@@X5,<'@_75VO5\>+'@\QTU4] MLXII-KUJ064XON"POE;"@2?+R-/ XX=,9SV/-=C!KQ$Z$U,3$B.I^T$]%.N. M ,J9?\U5F.>=?*4*A$2Q7X]]_JZG7)L2+!9\APU/JT^JUQ-*K;[W$N]B]H84 M?6&UL[5AKC^.V M%?TKA!NT&\#Q0_*,[9T'L+,[0?,AR& G:=&/M$1;[%*BEJ3&X_[ZG$M2LCQ^ M($U:H!\*#,82=1_GWGON):7;K39?;"&$8Z^EJNS=H'"N?C\>VZP0);EUQ6@_M;O_9D[F]UXY2LQ)-AMBE+;G8/ M0NGMW6 Z:!<^RTWA:&%\?UOSC7@6[I?ZR>!NW%G)92DJ*W7%C%C?#3Y,WS_, M2-X+_$V*K>U=,XIDI?47NODAOQM,")!0(G-D@>/G17P42I$AP/@:;0XZEZ38 MOVZM?^]C1RPK;L5'K?XN*[*7:67]?[8-L@D\ M9HUUNHS*N"]E%7[Y:\Q#3V$Q.:.01(7$XPZ./,I/W/'[6Z.WS) TK-&%#]5K M YRLJ"C/SN"IA)Z[?W8Z^U)HE0MC_\(>OS;2[6['#I;I^3B+5AZ"E>2,E6G" M?M25*RQ[K'*1'QH8 U*'*VEQ/207+7X2V8BETR%+)LGD@KVTBS/U]M+?'>>! MV5EG=N;-SOY@^BY;F%T;_2)R_^2"E7>N$(R<)I,;+T:K_GYZ\^V0;0N9%8Q,R5Q8 MADG 2&%C.&Q4&Z;73'8&\;#2U7=?&Z[D6L*W1\1T34UHA_&6D(E,N((_2W(:6$P/ -]RDUOF-#3@PVD# MTZ*LE=X)@4NH9$""K@5\.V(_(Y2J*5M\RVP0,*[A>R):$/R]L%[#?%:(^\H2&1FDHR"\Y_*2JX: M>Y["\]] X;-FWG!X_G\.__LEBA8Q2(L)"4TGDWA70'+ _U(%PP0#IHD'5C_*JGC,4> MO*/F*'F^CT5;$90PSBEX]EG4C@4OPU=1T-STN (R2AWZ*,EV6)$!F@;5961 2W*.4 M$A<"&GAB:Z/A!<%^=M*CNLT\DH?5LD0%[UC>07^JTE?4\:',F:LE'CZY35<.0%>R4[CBPT:Y#;/]WO&+XICID#UT3$ M7&+[$3YWZ&SR0*\84#)?\!*".@#4"W="[5@E-MIAPA+9T':6^Z,\@K"$M)2. MGJ!65F2-P5@ !L6WH!1V>SU2\7^QC:GK^>H*]RC+D[IMTTCN(G"O[+!TME_NRC]@C-Q706?:$ MM3#%'M X&1/M@SU'WL7]]O'IN=UI:?/ =*F;6!F_XU&T%5*,IM&E;RZ*?>O? MF(B[$=71+,%5?U(=C+!\G\0=H"&K4GFG ', @C9*;+J==$YRU"5BO28&D+O# M':.WA\=]^^U*W#V()\B&?S6FP=![%ACS KUXNF@JN@EX:,U/V[ =TMYXQ@Q% MLO(UUZ%5>%9('/6(R3X]PCB\>9\JCN-F(R+(,!#\>CA8(2+7F+#KVOT\A%J; MKK-(>X0#(VMM8Z&XROS\H=K$4ARC.N&PTIX8JB'NQX%PW@".5)7V#0;_#?"I MT&>]].%LBR:4W%LOA1LRB<.=HU1R!%'ZG0O]0'J^:;L!KHV'#V-2YVS+[5N9 M+B/9+DJ-V"]M8?\3M/&8^]DXGXGAOH'Z?;'/29OC*H^V"2?PUJ!2)&;8HOZ; M^%?G9L=)\&'/Z#5.CEGF.=,>,)6P_HQ1L8/IAJ"_ZQK[H)TQFB.:SGA'U;![ MY[W!T;X7T$BY,(]Q3EWZ-.!BX?-4"_]Y2>U"X^_?PYQO&ISI=)5))>SI4U,_ M"5OIBM-2C0U)#;.-9$-Z"O,___L/1!L^.1U6Z:T<52T4C0K&/L9-Y2CWP[;9XPAH]=/KX72QH)_K M*_^S6,ZZAX_=/M+X ^;1OI:=<[>W?S5CT^4U2R>+;NWY7,V/*^R_%R4W@0P] MS%>SQ(.%]70^1!).8(ZHNO$>SGW]%@JO-(?;D*/3=&-V41!3MNBE:YJD2/2, M)8OTA,?>5"'B7MQE6NUY2G_3R?P/I*?MD%Z"YNF",C--I_1SM4S>,N?4)\)Q M[VMK*;#)TC=E.G!@](8/K]UJ]]GZ0_A:NQ*0 &0 'AL+W=OBD+M7HWCD!S[DZXW!@?/KEUN^%G?"?-S>*G@Z;ZAD>2DJGCRQ'+Q(K7A?D@=S\))\\S<9#YB::V-+-UBX*#,*_N?/S@]! LN)P,+$K<@(;[M1L3E6V[X]4LE=TSA M;*"&/TA46@W,Y14:Y)O#.G-]9V3ZY>P&Y,K8&UF"K35'=;T\-T =YYRG MCM*-I90,4(H3]HNLS$:S=U4FLBZ!,Q2R;)Y!%Z MTT;6*=&;_B%9.Z1G#>D9D9[]"6I\E!(&X7.]Y:EX-8(HTT+=B]%U/(_8T!;L MGXI71C.Y8AJG,+G%83V&F-%&Y:F!!?8-K[+#P;K*#4S&=UNA*,RK5#"]X4K8 MEVS#[P5;"E&-82 3BIF- *. Q6\+7M'2SOB"QL<0'48H<%K8"^?P#'[G&L9@ M8+FGV6DH"3R4N3%"H##X]D9RE>'#VUQ!&$NE(_9SA5MR)*LVK-02I MV1#17[A*-\00$[_5N=E;*A'[MS2\L!3.EF2TCJCB 7\+MN.:/;N(KB"VBP)> MC-FS>?M$:GNVB))F .Q#^^X%!UD%1AJ#.!'E$M3O8V5L&<+%\..2/&$K*/\5 M>^])CS"5:UB1RG65_PY3:HT2.PURS')GZ+2L%&8C0?GWSO#WX%DX$[PHE];B M:U$)Q8MB3R^UG29(;)ZFD,P51]?U MRW8;45G6ZA+-"MXHRFTA]T+\ UP!C(]L6&5A@$ XY2D)R TK!->&+>8L8I]% M*S%NMA(Y>@I,TTA^SV2:ULI;%5Q&EN!7_ &BHA*KW(3Z0EX'[,'KXFRX.!O+CR>X@0D8VN/7.L:)( ZKFNUM]&N6]:]TQ]- M&9@%"J'UP7+,&)4TC-_SO.#+0D3LXU96'>\ UD-ZM'#,=L(F&>!-[F <5VQD M03E%,JKA^ ,V4X(R#::=4M:5(;/:[6%"B3@&%NJ MA8UA!Q28X@OUY; 1N)&V> 43BDVMLNZ:AFTAQ6IVXAC/<4M9:["7/GW._OZW MRV0R??&'__\'8Y3J^>"4CN,-34*'''SYF:"3R,Z^F:W7D$54YCZ14-+U,&H+/6+*()A?-,]58IX0X M>1',ZX_X73-V$L>STV FQ.#EO'G^T2:9;Z2YS=4WS>P)";'2B)=<7 8+IY-H M/FV7.LC9;#/CA6=BL7!_BY%0;)R_LJ=&T(N@9J%,J2 @!5$;@VR M$[H .G/@T,I%( @86Z^56&-R.*(>*/\-QQ%[?9R3-F%.@GKA13$;L!UF,DP\ MH$BL&@\H."962:,O4-L0&GY)3S+F)?-&@D*,,83\6<^!>FUSYOB[M3)[FE:N M6JU\)7/FE6U6R0F6T(GV:IKL!LFAG?_BI/J]_WV4AD'>?_?^K^? ME_^L_[_69"#_^*'QK&'1>DN&9>^E3#_\)O#9(?'>==-E?]H'ZC[ >[N52+,X M.9_&Y^1J_\I7@IV HU$LG/:+5C"S]^99'$=)S,[@QSR:3%@\8TD4%K!X&BTN M<+@_U#SC0J(PM12F$S:+POD)I-,9C??'FN>IIS%+HCG02&;L(NH4FJMH<6!+2@P@K$_HC' M2NPCQ@[,P4LMT&H%Y'[()+[CZP$Y:NV"?NBFX(#R[U( EF!5MPMN;7-/*3-1 M$.[.\HR L27 JWV3BW+;S6*.1BM'/1%L=L2] KZ P=.7;]]Z0DK!+)R5]G, M)5QJ7.+1VU^7OHB!S_WL'YBAJ15A^5\'B*KQS@!Q_=BN#T3_NA3O?*7+AI'BW;UAUQ_.5M!3XNE2V![ MP[!-/=14='%Q9$\JB7YT#@7=UL7^ZBY>.=JIN",(*)Y&U:Z_&800Z"!U%32N MO;,8E$(4W*&&;@E%Z&5;P V4[F>3*&Y1UFZ30\QAF 6@8RG"%MF= QQ !G=T M /Q.O!JB $UV0]OSXE!.#T4.@4B+&B3T+X8A3<@^M6I3,\3>AAY^M &C$/Y$YOJUT=@AX(+L=QFF]C@)6Y-O M[[P^V0U.YMVN"ZIBD%6>T'4]QC-8)PE+6C=WM3BE.>BX:PY@#P8_TAGKTT\# M#DYR_W].!(9<]>#('P.?.#Q"N K]>+:(YBU$\7X?-+Q\]D<491_#MD,N_@XF0RN:72'!^@/!)"*/1Y MQFV'N3I^8!S4B2=<.K =D'UR98@!7GZE,K@(^)[",&W[:4O_@),A8',@HS]2 MI-L1%)?J0\O0\)$&.@5>!,2(D^D88S:#G_T##&3OT:[Y@*7C&GG:@4O2N:PX M.' )%-CG]S:X7@I#[>/AG1(=<'B(F$%:Y.H,P)PL\XH<+;RI\B?+ TYV@GZ= M3%[I!2EKD*WL^BX&"'+A@Z=Q1A)OY>PK4/5*TF+M>_M>=4)N= M[,POZ>A8: !VDQ_\*7&SL.D^".%7%3:;X6I$.$KH2I575*!CK&AF,R:_G!%T@1>(-"4!?&%QT0$%H9/"VT]EW!RL*1\DVA M2Z9NAC6&L-0KHC!JM&4-BJIJOG+=_#'A&6<2=[8&J($XB'4*:1!U7!321$&)%<#A"%85.,T+V2*V\T%_C#'.P)>/HXB%,K88YHPX, MW9_PL6D4YY.G3Z?^1OO1&H L U#*ZE38S)CE[MP!R]"R-@XP-0G;9L: $$H M;7).WRP4>>O,2E R2!7@/)5S'%XC!5ZU/77GVG%08E%0'K*Z2GF1UA:H$8AQ MV<$?LASO6MT'"DF+BM[CGL@TW;^.$1&TWR=8)*B])%1B?**T9UT (S92'PVQ M 1CB[VA=&/@5>]33'+K!W0&XIZ5,81Z-KY_"5 $-_SS87'2HO. MW7[OPXX.E.IBI=?6Y0_M\9@1Q_;CEQ:[!\<&ULS5;? M;]LV$/Y7"&W8$Q&)%*D?K6T@2;NM#P&"9.VP1T8ZVT(ET2/I./OO=Y1LC0(: M&UC1HB\B>;S[>'C#JVI@G219WJNFCU6*0W9O50N]=V_1P;XC==YTR_]Q JP_+ MB$4GP4.SV3HOB%>+G=K ([B/NWN#JWA"J9L.>MOHGAA8+Z-K]N9&>/U!X5,# M!QO,B8_D2>O/?O&A7D:)=PA:J)Q'4#@\PRVTK0="-_X^8D;3D=XPG)_0?QUB MQUB>E(5;W?[9U&Z[C(J(U+!6^]8]Z,/O<(Q'>KQ*MW;XDL.HRY.(5'OK='D M/#J#NPW:N=4C;##%CGSH1X(Q4XO8(;#?CJLCR,T(PE\!89SB.>6XJ0#I]\9BY[%:;G3;* )<@09A.X)S,3B=-#/A%'.)"T+&(9^#T''3+$ORF]'6DGNCUXT+%&12 MTEPD,Q8HOX J18;W)"6W:M=XRM^_X-^H;MS>8$S!X9Q*&4*7,KQ;&0^CX8*R ME/V M ;7]AO0RB5>Z6R6_RRE.5X'ERA'R$J_X^(NP0&4^.X9GLWK%9R*;\O>EWW8<]#\=F,W0 MY5E2Z7WOQE9HDDZ-Y/78/_VG/G:A=\ILFMZ2%M9HFESE,B)F[.S&A=.[H9MZ MT@Y[LV&ZQ688C%? _;76[K3P!TSM]>I?4$L#!!0 ( $2"65)WQ%N_=@0 M +X, 9 >&PO=V]R:W-H965TBQK%'2RE*IBADBUFNA:(2N< M4%5.0M]/)A7C8K28N[UKM9C+QI1CD^#H-+;\CN$/CAL]6(/UY%[*!TM< M%L;&(C#Z/.$9EJ4%(C,>MYBC3J45'*YWZ!^=[^3+/=-X)LL_>6'6 MQZ-T! 4N65.:6[GYA%M_IA8OEZ5VO[!I>:-X!'FCC:RVPF1!Q47[9<_;. P$ M4O\K N%6('1VMXJ?,L,51I"QE^!3((X4H*L]9P(0HL]@$F M9%]G9+@S\C1\%?$<\S%$@0>A'_JOX$6=TY'#B[Z/TWLZXDY'['3$WS.PKT,& MLS'\(^S@8-D=<-%>7WL/: 5FC?""3&E FR*@ &-UCZH+,C!1T"+(@.OMA>5_ M$2/3)%_23=;PE@O"D8TF5NT!/N=8&Z@)1*^90BC(F'='\/-/:>A''_ZSK_-F M1]P$7&2#G>"V/.S;+"39*F7);W4 M+TIJ#;622VZZS2"8D5C4T_'42[+I@)YY09;T=)1XV4#-9WJ>NK%LVBPDU#. M(S_<*VBJHF"_?#-OFL:'B_5M\*ZO+A)-DD&!AE10@W(+J*)F V5!%'K3I*^P M0P6;>6G2(X2Q%PSLIX(/HP%)UVS:P_^?"G8:[Y&#(%DR2_?)WJ5#!3N-O@4K M_,(ZF[)+X=[SI6R46<-C^_R#7+IJ\F"#-#SE4MEWGL&;>)S2'%&6MA6L:&B# M@LK*2$J6;A2U"[35D",6>BN)-#45P \J45@RZQ+)VU.2U[+:V->?NQ:V/4IP07*SWH+:R2 MC3 :"@E"&A!DI=;4HHB;K10B#5%DI>UP[XU\3YT(#Z)0^V-YYXV-:3#[H(&J MMFY,VRVI_=FAKP#9!F#CQCP;RB=4-+6":%SC) <<*+G2&&VH)Y(RBJVR'RNX M5>(=1J$Y+W^@R'.*_Y="KAM;NK E1/D 7"YI#'!QD[4U5#N>G.8NDJ6X4R2X MU@V[+VT2M2%DJZ_50UD8.CX^-.Y,!C-EA6KE)F<;&PI\.UYVN]UP?M+.I#U[ M.]E?,;6B\H(2ER3JCV?3$:AV6FX)(VLWH=Y+0_.N6Z[I#P8JRT#G2RG-CK * MNK\LB[\!4$L#!!0 ( $2"65(2>B!3&R0 .IT 9 >&PO=V]R:W-H M965T'2+U\T&V]-01^MRQ>3T].+%VOC MJB<_?$?WWOL?OJN[MG25?>^SIENOC7_XT9;U]OLGXR=ZXX-;KEJ\\>*'[S9F M:>]L^_/FO8>K%V&4PJUMU;BZRKQ=?/_D9OS-CQ/Z@-[XQ=EMD_R=X59F=?T) M+]X4WS\YQ179TLY;',+ ?_?VUI8EC@3K^)<,^B3,B1^F?^OHKVGSL)F9:>QM M7?[JBG;U_9.K)UEA%Z8KVP_U]F]6-G2.X\WKLJ%_LRV_>S%YDLV[IJW7\C&L M8.TJ_M]\%D D'UR='OA@(A],:-T\$:WRI6G-#]_Y>IMY?!M&PS]HJ_0U+,Y5 MB)6[UL-3!]^U/]PQ-K)ZD=VY9>46;FZJ-KN9S^NN:EVUS-[7I9L[VV3/]*_G MW[UH86H5I?ER7.Z:K6>MNTH^RFA*D2%-,36=W.9-Y4C2'QT?"8 M,VNKS)8..!$7/\INK6\-0F_-G\&? *W:9QO8?%TTP*L/R:?>SDO3-# U[+RM M<84H6?%/A.&\\Q[V+Q\C>AJX)%0R&.UB >*,P(OOQ^'FAE>YA4UF5=W"O+ K MA*H._1C,1T?H^CS0]?E14OR9PXEQWL("_(%,<%1&U:;V-)M0"@P' U@AM=*9F2M="Y2@K1KXHBMQ-* F MGRU\O1:^"OMC:EO73=MCE;A_ AQ/K+AL'@A2NUM98[# S>U-V-L4F MCF_F@,;&,998@MCL7QWL)G -D4\< +]B;.$8':Q5":D24X(("7>^K.MBZT"> M.) >SA/N6P12M1QE1_CI(O#3Q5%^NC7-*GL-EE/VIF(+[("&^ /#9+^R4' % MT P1+8" P;8HG0 ,,3M/6R$<;GI_'QE$..L&0!BWBT!ZR6*F!C)1*>/\TN\XNKL^3Z M*K\:7R;7T_SR;!JNWU2@:"R2+O)Y!58WP WLT ZVGGQT/LXG5Q?)C;-SN'&5 M#CO-ST['>N,(J5T&4KL\2B,?8/L[]HZO*_A[S@P]1'7_WH@ C.SO7641M!7KF[L?,P=B%?!Q<_=S]H]Z1$]/QE/&R>3TV]=!VKPAR<%CXN/FV71R\7Q$G\,;*-A 3E4%2,\HY%G_HQW!6IG98N7 $HAQHJY[M M#UQ""8ID_I M@>M)U,(W]V!2 4-F8-&M419W8%:9)HCG5,TH*&!?%K@;-HGJ MIH\[0*E8+N"!D7Q=@"*#%3T ^X'NM"!+2%&:!?!7Y,3Q><[,AQ.1F>;6P;!" M4<22 Q07#31"D6:*FI3ZGTP^N9(/0.?OINK051#G(P]J!;4 0&<+H-HUP5!; MU/=D>0Q;7VPEX^)%(^W"D'6WV.H56LA(9Q8OP:*MMX0[A&U_#S#2T]/1)?B. M8 ?75=[[%A;V4M7I1U"G-XQ7_F:BW["Q4^GV^.EY> J#?+!H!,,@KXQ'1,)V MHL3+;KHE.+(D08^R^54/3ZB0?R&%_%/"(X(2&/OY-]G+8 YEK[U96PP ,"HG M@,J5 9NH42I/WOW _,.81X@-SY5(#*#?A/O6@$A@!K'\HTVFC)FZ,&K^H6G! M:G?C:Y AB!J<^BW81V4V3>V/1"0T#*\->IX/]'Z+KL>2M"TZ)X [Y)]VB\Y% MB6-%(X<-3;(S@U#B2?<_Y66,Z4W^>Z(^1K*RE0,"!E/@X9! 4IB8@N4AD'AJ MLN+E^QU(9@E3B(W+-"[>(K'&NQ:E MX"W(.&]7&#T"B2-:]PO@'8#G<6*ZVE)@!PUW9-\EK2VUB;NJGJ&?0O+=59NN M%>L8"*_ V>K-8[..=KG@OR8PH_MJJT(HKD^XX0E*OB_$QY\"1% [*W)3P'PT MFTV)'C/P3K-AJ("E"NX^O%T3PN,&!C[SMNU]B$H3Y+ "1MQL>+';U*26 4L1 M_.@RDVHA-WY=%^R]D^<3\9G2>>+8D\',_E\B&_KB_?^9W NJ+H135*?NZ[Z> MG ]DB"1X5-)?GXPG8--W[=(/#PCKAD=P MXL;O^(8NL<;1@]? #CG5PAGV,T8)R+83B 9#"9Z&U0)^2PJMR$M >KXV #Z> M!R2NQ'3(:P5]S:YG+D8@,&51E_62A3QP^KPK>1V]-:KJ3QD[-QU"D1#7!3B3SOP7*"O#O#7Y5+\HC)L MT$;100LR6_(1?8BFS$LP.@]AJA>):U>F%7.(( ++M9N3;J,V-8[/&X-EJHL^ MVJ6_?T_&@EMX5,;""G&<$5I$&&M2PPXFW6!L3EXVC/ATB*0W[C5P^"@!+R M_MV&F!+:TV@0,?90HFM<)FQ.YHO@"@'.0=677@->YP6C>,_=%=]J'#?JV"!8E#V7O@8N!;X#-'>G#V$+PT M#/AQ#)(-3V"PCCP">@OA1,ND?6[, ZD9!"1OD6$F9@S02K8IP2$TJ7,+ZUBX MENV!4_&X[KN.;8J4O.6H_!1J[Q&WB?9QM9K M"0XY6A$SP'V,D[HF4D=!23KB%?S0?F[%M5:DP5Q;8";V@TL;.2T0"GO!8*8N MD\A[3"3*RRRT<>5BRAV=(9C(OW7%DD!-XJ/IK[;":%JP?H>A2?$T>(289Q$2 M0]H$2@KV-RU;(?"_+B^% >L GP9<#;K[,#9\45B@OY:)3MDAB5>'9(62*R*X MG@,I*\<170N=1SG$,XVRGZO"^B]:9_X5. 18R@@[)$ Y OR:UZ,\%PA;MM/6 M+89Y),)=*)>V7T$G(KE2$SJ.M[#,>\PU:&&@Q/"4=@-LCAB+@-^IPB$D37]693-R'AQND&?(3K&L8E M(@T2_$N<+G[]W6] M(?>;!_F&."&<@7'#$9YN)TU,VDW>WJ,>0R8$",@8>VD,B!0L%N%\6X"EN' % M7'N*1>[-M#(PQP3^E M^R2Q*IJ$L^-Q9:A 1E+?DXR4^,6\J 2IL98 82B!N#0;E-+3GM6>3#+*7N\E ME6)9BVE4FA(6-3"CC+(WB9&*E22"PGCP42>R*4P$B?ZZA(XU+Y4.N3-*DO[7 M3Q^81\F] ;-V"[@4U,-;#0^ MQ(E%GL]=\8L^C%.G$7G43C"\D M/XF%;>JZY+J$!!5)#G@.KGN#RP?3+;%V@S^XK$D_F^J3[S8,Z0K$75TM,4!A MB<)1=7+<06.783,B'KO$V[AKC9=H:/839J D\;JU25X>9K%+#BEP"*Q1(1 \ M$AD:9P0\X.HH,&(H7P-D?EM[T+_WS@.OO'0-Y4@IG_),)-KMNU_>O#P97XM0 M>SY"S*.>7X"/\+B$8((=E[T:$0J 8 4XQD&Y, M)K]7 $--9B<4DY!%$R3"="(@2 M#\C;15 MZR*%#]F\GMW];$0DWJC)E4\>D$Q$4"5/- M'-?X-B*Q7^+UWROO^JHRKR!LQ&[3Z]M4%>A-3C/KU4?R7'\T)3OE;9(] %@0 M^6(EV/AZTJL,.SL]3:_'Y\G517Y]>IF]"5Q9V6V:% DY ?UB.C[=V_9T.MZ[ M=WZV=^OB^AS6OD.MSV9@Y"Y<^SP"*3^_N-C[>))?7%_NW7TV/GV^/W4^.9\" M HI.$CE(0^CX$/&BA=0CVZW'+ DJ_452*C='@G>)A_ILG)]-Q_NS/;NZF]#RGLC%>L3\8II6.5[DIY.T//$L+8DGL=7H]&@P.^U=@W ME7Z(98PY0"EAIJ>KNN0P1A?5A3@Y&$$UR! MQI5"H#!ZUX"?18?1PGL;:PXHX##*WJ+%1)@$$\;#QTEJD/KBF^24L:9:]0:@"_AEHWSDDT,26A47M/I6U@E7- M5:3-=F6K)-NS-]S:_$:#@BF@.9Z9;='TYL(MMD4I6U9HUTH/?"%U$I"8#\(K M8#"%F+>X!6J)V(= &'"4_;RA=&?KM*J9 NZ;N@F5*9M!>LIC1I #RQS' 9NG M6W?\=X^R."R-M9B%MK#8?OL6>CGLC."JL4J-NA+0.^AGC%VE$:N_TDM5UIC2 MQHQG#&'1)'=:.X%OO(.ML$MSE)DGD9DGCU7-4YUP-.7_JDTFN*?X_.%]\US7"2!H$"P(7_)FYC624E,P)[:#8-*'P.*@WE;Y6 MZKKQKR9VW%!=5>RZH;@2*G>60>3C+#!K 0_1RP$I[3Q0$MK-F'9JNN72$JFE MHX1F/:[C#@'=<_4IU66$^G2?'LE_C0'8U6--66,Q> M4MJWF_TFP2?^BD7)K[%VAYS/JNK,4*^5!!/>S=N:*K3RP/[)NRQPFT0BB-3 MDBRMJ/%)HUY(36/:$%O&X*ZG136X\*6F3>H@ ; OE1N.>Y3-&VZ8?+V] MQ];[W9Q0W!S!()>Z$.*M$"TJV#H[\EV"D'"/0FXD:V)-?4+\.X(A[]5E26$= M5E" 7FY5J !N0?AQZ%!"Y/VPEC(,BS@,U^^(%[ =2+6;, @OE#8, MX'5-/\F#$5GB\96@HR\FZRID2_4V E3<\=>OT>R2T-&5L=0BG4_8]%3%5=6@#?II?N1B3=R'ULHW"UPM MAL"X2QR?;EV#R5Z/LA[CPNB']0:2KD_!<[IS6L0V!NKM 4VULT'.<%#Z;/># MD'KLM]4Z[%J'=A[G(2@[ [*GHZHS MZM%<@%>#F>XDYCL'WY6*7"0TFBPN"06'FJYDX# B5LW;6*ZDKW"0-D_>@\7^ MQF5V<%LN*,M6+4^0-(&BZBV -D9W6:BF/(80X\N2EZG=S#N "J"0!VM4"WJ, M K>_TA[(-I8@*F&;BQ^ICX7K18N>-ZZY NET"2<+R+PQ=9 L*LY-\^S-'I.G M4GF#YYR0[0PV&U5F4MR"#&HM8IA9S&^%@P]R+L!IM/':]5I1^Z9U])GXAF[I MU8]O/KZ\B3OXU0;?*I0!2%5$L!1#XAS0!EK.M58=$C$)G>\Y*J/0P0 *&!W% MUB[)57A!+E"_X9(LMJ04O/BMTZ;EMHXVU>YR@']*%M3UX!*.6?+Q0)'Q]*AE M_1:)]JU#_^2(=?Z58V1TIZ0[2<$#$IEW#542T@D&5)V0J,7\$?SD![TR=@CW M>N[5-G!U(;7*HH^CMA3E2&*RIQU[)K;HQ J'X=()-4C4WXS((EG8!)I*ZMB\ MNC$E]^ITZ6D&U.#/0DZHGK@L,=QHC4'^B;F"+E C<=>0#R*O6P-#(9^.JIYM M">W$Z/M4Z;*/4E<\069\_-27F^1<@T'"^O+/^]7U2E7JA^V<)<'I0#:/ QP MIC,1O[WB@D=/ILBC)AM4*R:$?2B@J?XA+WQ$%7HR_JVD,UE@)0]NXL1OX\3' M!.*- X.+QCYHX-I$1Y6,+6&ZA. W>(!&>(T8M&930M] MUQA6$M_,@MU7/R3%JZ&B!(B]HVJD<"WE3?$6BP0>P:(*[C;9BM/;\]*X->$\ M(T<@F"NED68[K$! 07&"1:SAV:5>5X(SS99+@2*"DT9)'5 P\:EPY]4JH%2KFF MJ25\%PS1$KU?+UV:6(EQ(LVI- T"5-)$1\FH3RHTVAZUR#CLNB%1<'+9H*OM MBQ,,TN/A.RWU,8E;73YPH>#NJ2\I_G' PR6\XU##>UNOUZZ-[;Q!%N#A75]0 MNSN.I[.,CY^K\BNMKWW@POQ!GO^: 9#/8^O/EI]Q;;\2O_BME,5BCPZ !09B M*:9O17GBGUZ]C]7QD@"9=:XLA,[IBUP: E(DT M(4N3U%,2^^TUHPQMP"'N"_/0R.JY1I)"TAJ;3A8/?HB6:;"$4W!))T>SP_?! MWDL8'W>3\#O%-9!YXU@DP21&KP&5("9C@6PP(;@3XA@!Q3-7QL>/2$D[6 ?) MY\L_E^-\4!I%O2Q8Q4*M_0HB$ME>BH7Y7(H%P(-2.E*W&_LCT?#C8C8QSA,0 MAYB4N]>FL*!+,.!NYI_8Q:\7.1OU-#^)IGO#[K&.+R>H='2,2%)5EQ/+>W#T M^%"24(\FS:2ZKCPT6(FM89=2$DV T:#(BJ@I-\JB1;\\E*N%06 ME38AAV,I!OI5$\"3^]]#!29C=?=)Q_ HGG(25]P/RX;)P]S].M<8?]%90X?Q MH3/7/E)D(G&!I9(>@,6Y9B4D/C0)J2@B;]$44@R@B?# FBS90GJ$$)U$Z9,;!0XJ+#EMI,##F&U,>._D@C2@*AN -[>(!,.4[U_$T M3Z+P&2HR/AU A<"F-%Q:)($JJ7)?FT^,6-?T LWX66@ 3C8IYPL2="-%B$;E MLU.X!E#JFW&< &<%S:AW<.VA:?ID)\<)2LJ@#L5:J6R*\-!Z01B=.']Q(*4GD>/\&HSXR" MR$0P(4E+SMU M(FE*Q?:4WQ0O4A=NMJ^U$)Q,$8* EU*@[D=6>.JC Q;@3OL M;%@=@YFE'WQ.0.Y WJG9C/&A%G52N\]19UU/BVX%Z3$9DCU;57*]AMO#/EK M=26'D![>C7J?\;A@-0S#"35?6-D0SX88'S_7X18KEK%!C=&(E>:L/CZ ]SEH M_1X=;_BHV*.34,ARMQF63A"9^=H4>D5SL)QG)[DNAX\M>I6TE23S 4-V$E?6PT ME.0B1DGHZ#?-A]6M]K@DNTG:IA*[M%#[E#!46_&2XYE ?]8/AVE+WF(,*^K$G/*9#C M@0TK-FX!%;"7>A+$1H]&IXZN J2LG"? CN0PJ'?,#DF@]PZZ]OT^W:3A=J< MOU]P*L(BGE5E0$BB6DS\>;2W\GB ;5MOXK-@E>)6S__"I8V)>*#:7\E '3W> M=AS;G\?'6Y,'3V,_-M!P0O-S2%J[]#BTYBA]3&+) M\.2QHE\%C-2I/0P1Q_%!AHEC?V1-@U $R61/ST97X8Q+*AX<+ A"\%'EM/3E M)*C$HB(L!-MJ+?BAHJ+=P\/0=:W76XD6<] \'K(BAMP-**"2IA[!WP$5(%*> MCD<78>5BZ-,&MB:I,S-\FD\1!'%V]]?_->O-MS>Q!XUS<.1H'/_TMF:^N5.M M*C6M&DP)L$AVFJ3L)* GL4H*)ZAR#<>UL"&N-0A]^,$*&!![!VI1YCV>1CF M'>R=5>[5>OS'\7&5$?UN'%O%TN,-(W-X M=1%Z_WMU8'H8C59\-^$,SQVE@OABE3K"3*VD20(16$Q MAJO:T0V8BO1# \A:H= 8^X5W7XR*-]@BR8K1#.3*$39FDL) VDQA/Z=I9W+; M&W 86BY\D:'2>#L7#@;HCK)?= I>F=:54T/$SDBQZ'SH!R,.G^J/"F8IU8_$ M'T\OX^'"S(=R--[3J]%9_P$R*.&0S;.3>G'2Q63^7I[9)UEI:3$ @U=.#^=\ M<"^&)\9+C*/R1@.XD]I_.OL88(&%3DSLDLX3*(L,45^!0\:HF%EW#YR7PXFY M.=?; LQFM??<^^CW%IH4S29AE,$-#OR0Q"/;9 ;>.V^U5W)UJ/F6<$#*#,7] MV6CR%[HS'5W_)4\:Q#%9URL9Z%%4__2KN2D3P1"1P;%Y/K\:'38LN\FYH*W? M'")AUB'T1LHH;#M <[!8.Q^/2@?ZXSZ>3JWC6=0Z7J>(G2IY,(RGO B*T M@/86E_Y0#GN5(CFP^#%8 BD6=J M_O1N]7TY>^ )T/1A_?@TNS[++R=IU^W567YZ.95ODGU_^9*YC7VHJ?AI-K[( MSWL_0C*&Z<877(&86!)#K27 MXVF/(.0G9QR[KONC'%1NWOX96/ZG'$:!%)E,7^>DI/9ON/V,:@&?[??SC:3Z!2>#9?I/Y>)*/3Z\0?L"65'JQUVY^D5^< MG0MNF*3>JQ#:&PVFNCY':FVT;.B]F"5\G/A+-3?V#P8 A%Y?/L_Z[P/">,JW M \2T1Q9WV-VKEE9J325^FZHCT_PG6?NK#I8@!H^_>T0]6>%GX_J":N=G8898 M!2CH+/EE(>+7J^OS(Q*DGLFO=' 5&R>=H\>S,_QE/CU+N7\"PX_'0U[OB^3G M)^FL&?R1S88/?^)?H@QW,_TASQO^^M'6&_HQRUG=MO6:_EQ9 RH27X#GB[IN]0(G"#]O^L/_ 5!+ P04 " !$ M@EE21KMU_QP$ !Q# &0 'AL+W=O92MS#"3IAN5#L2#I-NPC+9UMHA3IDE2<_/L=*5M6 MYMKKL'9?)-V1=\^]DYIME?YHUH@67AHAS?5H;>WF*@Q-M<:&F4NU04DK2Z4; M9HG4J]!L-++:"S4B3**H"!O&Y6@^\[P'/9^IU@HN\4&#:9N&Z==;%&I[/8I' M>\8C7ZVM8X3SV8:M\ GM;YL'3538:ZEY@])P)4'C\GIT$U_=YFZ_W_ [QZT9 M?(/S9*'41T?CR!F$ BOK-#!Z/>,="N$4D1F?=CI'/:03''[OM?_L?2=? M%LS@G1)_\-JNKT?3$=2X9*VPCVK["^[\\0962AC_A&VW-T]&4+7&JF8G3!8T M7'9O]K*+PT!@&IT02'8"B;>[ _)6OF.6S6=:;4&[W:3-?7A7O309QZ5+RI/5 MM,I)SLZ?NF2 6L(37TF^Y!63%FZJ2K722G ")$WBOI%T;^$G66+]5$)+%O=G)WNS;Y*S&=UA=0AH'D$1)=$9? MVH#*@TV"2I3U]+RO5(%CV@B8 26.+HDB=W)+K Z$\#I)I M,6!D.3&F0[5ID$7QGG$FK7F?UOR+T^J'#;>O0)EA@B8?DQ6ZQ$"EL>86A#+F M[\74)?T\R,U L6KU.>50*9J=QE)FR"*[=EO<;E?-;ROF_ZN6?U4U>^()]3,G M#_?T'?EE==N-]3WS5W)0]]0'99F 6R9\:)B%!:ZXE,YUBL6K0W>%%9?)FT++ MHFA(Q_F *H(RFL!]LZ'<.B623AQVF _&4BB9KGN)-(Z.W$[3^(B79T>LHLS) M]II.EX4%?*$#V"",%RAQR>W%(4A!7A1'PDE0E),C[CB.+HZA@R1/*0%U%TOC M:ZBE!A/^T*1I3YU5(7_V@Q^VFEN+5'?+Y:#S*O6,VIT/!Z@@2^-CM/$DS8^Y M[ATGQQ4R3H*X*"[@KBOI0YW[[OK4X7S'<5T;-+/XC3)KF M7VR2V_N(E6#&@%6@?,55K=9(1X7@;,$%(0\B<4K129^IXCX3-\\=U/*;CO&= M0N,M*-+AT"R"*!E.NVPX8>,HF$3E-V_B0S/3]#_;BX.Y'4S+@]U?U 3EY"#P MU6LY#2FU:MOXS82_U<(W]XA 7@V'WKN M9@-LTK1=H.D&R?:*^TA+M,VK++HDE6S^^QM2MB3'LO>!ZSV ^V*9U'!F.(_? M#*F+)VU^LRLI'?JTKFK[=K)R;O-Z-K/%2JZ%G>J-K.'-0INU<# TRYG=&"G* ML&A=S1@AR6PM5#VYO AS=^;R0C>N4K6\,\@VZ[4PSU>RTD]O)W2RF[A7RY7S M$[/+BXU8R@?I?MG<&1C-.BZE6LO:*ETC(Q=O)^_HZZO$TP>"ORGY9 ?_D=_) M7.O?_.!]^79"O$*RDH7S' 0\'N6UK"K/"-3X?Z^E65;O5VDDU0*1>BJ=R]?OI1;O<3>WZ%KFSX14\M;91.4-%8I]?;Q:#! M6M7M4WS:VF&P("-'%K#M A;T;@4%+;\33EQ>&/V$C*<&;OY/V&I8#_Q@(O#'!"3-2)B8*8Z(B8!TBGLJDDT@M4='96-=H8O332VC';GF9Y M/<8&"2.1L&BA*T@XCF^]6OD(<4\)QG)'!',,QS6".=G,WUBG(26 IA:E5 MO;08U8!A8-U*6RM[CG&4X8C'W3@B,<[RGM-/(-[_I^S-E:HJSPHYC4I@WM&< M<9Q14"REY\,YPF&.LO,Q7K_4<^ &^HFBT$T-VS5@*?7H$^G B&=1C.,\.3]\ M$<.+Z!LD%&!MY9#P02#J8D1DFD6'\K:LCWK[%3IC),4Q'^@*;9A R&+Y(&C?=S(3X6/&O#V?.>S7AT(E82QO?!)>=*-[ZIF9\)O$/-9PZ;Y M9ZW:Q=F>B.*4,IW;&$LPX^D@#FF2X)QFQXW_A4X[ 7)Q!W+Q%X-#>7 MY],42&[Z)#LJM"O8$<=)U+.@\9X"NR=/.$YIVI/Q:3Y"EN D[FL!F7*@^:@= M*#*VZ2SV]+T%*2%3\F*+"8TQ2].3-("S.$N/\_E?>WY%?'[T< -8L&NF1Z)Q M$*^C<1OB]7U= @>C1CU%?1^&2=JW>3S;<_\KE&7@RJ2/>\Y?$$ #AN.X]R-+ M0W#)!'&=C<9Q3G/-!.&4A4CXL%C[+ MKQI5E7L=P<%ZFN.(]2%.Z92-B8&V.(EZPT.Z\!$REF68Y'MDGMN/4E1N57@0 M/ZI'"DXA\7#E6,3S.,,TWB-+Q\A@5WD\,%X4R'[0C]+4H> >TX.^P(5XE#]- MX(Q!>JIDU&@4H&BH13)-@.H^%"D,3^M$8T2];>-N:M<6PY/Z,9Y#B]^?1[)I M-.8'@V:@*92*VHTE4Z='@M.\ MS\%Q[U$2X23OU8K&J7BREYNM<3] 13]$@]TS]4NB?F>C7LLCS"@?Z)B,$&4$ M?)8,B-+_0_X?"_GOMDUGB_W?B/>[P<_RR5_+ /0WQ2@,>_3G<\A2O;B MQ9, 4TP'*!W%+PL$ XA)!P6B!=Z;3PJ.8]!R[J#WM#9=:%*"LP&@<#K:CJ0Y M!_@;I!D9A>$4:E,>#8(X"?D_Z/W^(7V+?A1D(HHCTF_^",B /QG+!E1C*C," M=9+TNN1[JES#R=AB=.O/ +(.)V2/.+>Z5M#6>_,=+Q@$@+H'PF,%(\MQFNQ5 M@C$M>01E,!JD7Q*X_==:']P7JK:7]UX9VVD4;H\ MN(@"5&JO;H8S9*^BP02'\I4EZ!H.:4LX$ /".@W'^M\;9<--@D4S?S^PT594 MO5K04Y##@Q^T&ED6'TQ#/J?\D!@.=7$GV,@J7+V \*-78&=I_G57BJ?FV_:@ M"-*["X"M)7O%HT%E[S(.,I]'!]-G-,(D)H<:1IBGR=!Y$I)IZ+;#"\7V$FXO M[[UG.X^.9?ML\)4&SD'+\"W*HG!WVWZPZ6:[SUWOVJ\\/7G[K>Q6& @OBRJY M@*5DFL839-KO3^W Z4WXYC/7#@Y=X>]*BE(:3P#O%UJ[W< +Z#X"7OX34$L# M!!0 ( $2"65+$G>JC[ , &0- 9 >&PO=V]R:W-H965T)"+[S2F,U9$.BL MA(KJ$[D!@2N%5!4U.%7K0&\4T-P953R(P_ TJ"@3WG+N9-=J.9>UX4S M2*Z MKBJJ[E? Y7;A1=Y.\)FM2V,%P7*^H6NX ?/[YEKA+.A0.?1 MV6IB]9W"%P9;W1L3&TDJY5<[N1_L-R4"V_FD1P*6G/S66Y_@S8>YV FN7:_9-OJAA[) M:FUDU1JC!Q43S9=^;\_A.09Q:Q [OYN-G)0WD"JBN%>")&TV.;FG*01_/ X.[6-T@:Q%7#6)\ M #&*R944IM3D5Y%#_A @0/*.7 MQ3R /.Z0QPYY? #YIJ$VD04I["9W=A--J,@)ASO@&F_7E$P04T)/@Y0,%%59 M>4]P;5NRK'RL4?4OIZ"<$TQ(0K4&T^(SFC+.#,/]6N6<6-ICZF2U4DRL+7V9 M?NI&AZ.ZM:Y(COEK08PE1IO$["_<[:&GVG^3 EHJ]49-"JN;U0 MI +P.Y&!\'\<2^BPQH76%?P7M%_ E2)7_"1(3+E;$UMA=^,DT^:?@ M4AA0H U1U"#1MW33D>U^$' 8;&*S-KYH^3Z4'!P$,SZ1Z:R?!#@\U97F,=QLJ&]4Z*#.GI?+621\44)=D/ MXC,E4J'62'>V%JQ@&47-6LA4@[IS!9^)36W[@I8%3S8&PS[;9Z1Y/%+;"Q)L M(G7#PF>%(&OU!F&\>?%_D%^/%UTE=TFWHMSRW&9D"FLFA'V_,.I[C'-/H'=D MZH^F$W*I=6W5]\2,3OUIM&=ZE/B3<%]2L;/C)Q;\T6FR MEY_G?V(_VH 8V;^=SB)!I)Y%["=)U,UZ(6+Z=L$-%>0?IDW0ZWPK4&O7WVOD M22U,TP1WTNXOQ'G3.>_5F_\?5U3AN6OL7 HT#4^FR&;5]/3-Q,B-ZZ-3:; K M=\,2_P:!L@JX7DAI=A.[0??':ODW4$L#!!0 ( $2"65)&F[[\IP4 -H5 M 9 >&PO=V]R:W-H965T?N;10LB/:D:(1G<5X^IX,--Z_FHT4OF,5%B]%'/"8:84LL(:/N5TI.:2 MX,(NJMC(=]UX5&'*!R='=NQ2GAR)6C/*R:5$JJXJ+._'A(G%\< ;+ >NZ'2F MS<#HY&B.I^2:Z'?S2PE?HPZEH!7AB@J.)"F/!Z?>J['GF@56XCTE"[7VCHPK MMT)\-!]GQ?' -1811G)M(# \/I,)80LS;F#\+3">CRX$US.%7O."% \!1F!3 M9YB_-&SL]R+^2/*7*/ @VV$3F][P$+.[#0@@5; MP,:U@A&ET%KXT*_G,(;.-*G4;STZHDY'U&OP-6S HF8$B1)J=Z6FP)J@$E.) M/F-6V^DD5T 1@0 N*8E-26 L%)$JV;9$H?! M%&6 0929KRM2.(CRG-4%Y5,00;@2-=<(>@6:"E$L*&-/E5*_WS=@2RD8M N# MVG0+^@?HW,./?W @T $%BV:B5@"AAJ_0]]^EOAO\L/4YV>;+YM()5C,TQQ3, MTRAG0ADS7B#/C9PL2H$&=@2=8\D,X"\"X>Z-OA9$Y M'D LO\#6.',B-T)7)!=3#ODNVB J _DE*=D2)B.=FQ<"R\%F:]4+%"9.&+MH M#)EJ(6M^VW[D>6.()#F!)<:&+A2ID[@^^@7J1D*[AO2 UZV!G4SDQ$'8RC#! MIX>:R&I#RHFB&%U*.&^EOK<6& OG#]*4@+8,_;0LJ6[8=Y(T16?K4:)<8SZE M:P%;2D>!$T+LSPD<9DB:4^M0E(>U:@57%F5.$L30XEKW(8Z0I3W('S$211H5XD( GEX,B-QNB\RX!/:J\Q FR=+B1LRUV92G8M5'+/6= MW)T!\?/. %/O&YE]JL?VX]XL.^&3>&TO([8;KEKQ00&O6-HT/Z>1/??Y'AI) MT_0N".@INHE5PWFG2%DS=$Y+LK%\)?7&M*7WMBV-E*J"G3C7KTT#V, MK>4R5A*45U*,4]9K!IEW-^9&'4AFVI19M86@>% M!1C6436C<[7;-G<+*C1OTX]OA&GN^T;Y1=L'>JHTZ:HTZ:\F]!I-T!DOP"]) MP09S=&E9M[P;MN<%_#W0A&.>DQY]::Y,L'P7A/[I5\/?5*G"A>IUXIG%9Q_/3KL")P8.))1@/.,?MDHFL MA39T=] S-]W%S:)@%S'+X _P!BT+0R<,O'UI69#8PV$W+7-\8)/;61GP'/]K M29F3!NE>G,Q+HB]G9)Z3IMZ^C,QQHVRX4;4]G=YS5U<@[C=B63N _R4T:]5- M5F]+J9:"K1.N)VC58\KB/V(JT T?\ZBG^)/_F.%$3KJ=+SU6FFVA1_ 7P_\" M>M3LQZ<*;+1VW09F3>VEHD)V0S8W;]UH=W%YVES7K<2;6\\++*>4*ZC\$I:Z M+Y-HT.S]Y8<6>>_ E02P,$% M @ 1()94H2HQ;:T! )@X !D !X;"]W;W)K&ULO5=M;]LV$/XKA#<,-J#9(O6>.@:V$*S=OHCDD?>JNX?'\5K(1[5D3*/GJJS596^I]>IB-%+YDE54#<6* MU; S%[*B&I9R,5(KR6AAF:IR1'P_'E64U[W)V-)NY60L&EWRFMU*I)JJHO+; M%2O%^K*'>SO"'5\LM2&,)N,57; 9TY]6MQ)6HU9*P2M6*RYJ)-G\LC?%%U>Q M.6\/?.9LK9PY,IX\"/%H%M?%9<\W!K&2Y=I(H# \L;>L+(T@,./K5F:O56D8 MW?E.^F_6=_#E@2KV5I1?>*&7E[VTAPHVITVI[\3Z=[;U)S+RZ/(6OF.:CH92[%&TIP&:69B M7;7<8!ROS4^9:0F['/CTY(,0Q9J7):)U@:X+5FL^Y_2A9.BZUK1><#.=*L6T M\M!'2)+^O=E5@_%(@WHC9)1O55UM5)$SJC!!-Z+62X7>UP4K#@6,P.[6>+(S M_HIT2GS'\B$*L(>(3_P.>4$;C,#*"WY0,#I4AJW*T*H,SZB<0945#8@5+U M!)-K_&?C#3.V\IR6:,;D$\_!ZMW>>U/0\O3>RW'&%@ @ MNAUW]'NA@?V*EK3.P5&-()-8]<#D-IMPVA[]&9$@\G!*'(J98?+FQ)EI_K7A MBAO 43:+5HT$5Q1#*S 95!5_04T;6R"H,\;01Z$9B@:MJ"C)VGD6>W$:'SF5 M)1Z)(W1=K0#2S%]36^\D W"&L/U-+>"]Y.MC#_MX<$2WY),A-#YV!"D[8B)! MZ,6Q?\KD)$V.R$% O#!,OC]JNS$AH"<](D>9AZ-C]1C\R,*HPT7B._\X\!.P MULT,',4@('0H81QZ048Z@"%J@2%Z/3"(:B5JZSZLN M,? ],U +3*6CHUG3= M*0^4PPVL;*(9U-A @H&-?@%3*K=X\O^!PVO'+_9&9L6OTRE^M@/O QG S=CT\#S M8^R>2GTOQ<$ JB!_+,4"$4#_8CCZ2POX'KUB@\3!P'@AB*,$T.'+=H M[+N.DQB@)HH/PP.DE+2G.HHV;HLV?G71SAO=F%O4_9/L&9IIQ?Y=%7>KGEIL M.$IM[_OL0&OH GY (V#2'3'3]KDFOKQ'VVO$)VZ*PBT1."@+N_LT)Y""F+A[ M@7,;>1$^X',6Q,/QP5YT9 9D?Y;L$PM:*'CVS#68WI[P(>6S?58=)JII"S 4 M4-*582.G=X<:7]@7BD%=:,DV;7Q+;1]!TTWOOS^^>4'=4+G@<(.6; ZL_C ! MW)>;5\EFH<7*O@0>A 9 L=,E/.28- =@?R[@7MTNC(+V:3CY!U!+ P04 M" !$@EE28OX_W6(# !U" &0 'AL+W=OL M:H[&$$$C9/]E+\=]F!C,HPL&]&A ?=R](Q_E6V;9:J'5 6FW&FANX%/UUA"< MD.Y0GJV&60%V=K71<+[:?D5,ENCAA)25L9]"!+7GX+""&Z(41Z"G%-7R6^Y<4-B@E&-*+1*[QX2#GVO/A? MI?P*.!G B0][ YRP%G<$F, M=9YLQ=%.U7#7A-RCJQ*&3!LD),RHSH"=N;Y%/_\TIU'\Z__V?3!6P(WAY7\F M?#1\U]7H$:ZL05 !O-ER[:O@M )2^HN[W%Q9P _)T:/;%C=/Z$AZ@S),TFPB MIYA&Z2!_T$R:5FG+_#,Q[BI!OZ#1C) 8SR,ZRE&*\VR4GUA1P6GI[\_&42"^ MT[(DQO%\=![/\"R;#>(]5$UG(5''L/!TM144T7'QJE1=(M% /7[AC:].1TQ&8IKC=!Z/(L5Q1 ;Q7:>EL)WFGK@3 M+V[<,TCVPQG.\#PE9[1T$N,]E*[57?]$PY%"9'M FA^.D6":CV84$QK_XV*B M:8*3:#[9MAQ*8MRW1W!X]'=7%%W3U;YV2PY]KA!]75QB7Y$D@WJBUQ,-S7&< MYJ/F_+7%2$+3O<1] Q67?5.HH(ERG.6#YMR3%4Y:0R$-%,X.3*.;;!8@W3>Y7K"J]8UEJRRT*3^LX'\!UVX! MS.^4LB?!.1C^::S^!E!+ P04 " !$@EE2.2/DU]X" 7!P &0 'AL M+W=O>N[ MT\NYJJW@$NXT,755,?UR"4(U"R_R]HY[OMY8YPB6\RU;PP/8;]L[C5;0HQ2\ M FFXDD1#N? NHO/+Q,6W =\Y-&:T)JZ2E5*/SOA<++S0"0(!N74(#%]/< 5" M.""4\6N'Z?64+G&\WJ-_;&O'6E;,P)42/WAA-PLO\T@!):N%O5?-)]C5DSJ\ M7 G3/DG3Q2:I1_+:6%7MDE%!Q67W9L^[UUB M^<+9B@MN M.1AR^I6M!)AW\\ BH\L+\AWZ98=.#Z!'E-PH:3>&?) %%'\"!"BUUTOW>B_I M4<1KR,]('/F$AC0\@A?W]<?,R_FIUH1H8R!00CUHS0:692^3C,,FX+@ M.9(:Q5CVW$?$_C0>9\_B;'1 )6 1!4ZT)Y U]!N)GZ:SWDK]-!PHQ]U88(Y5 MQ,UC/&;52-"#[BCT:18.9N33: ]_+WT(E*?3@?I<89F?/"R3\@L\I,9'=]? MY$_B7L#?6B<8#2NL8-V.9/?%UM)VLVEP<^AQ-3P M;(I#5G=CN#.LVK:C;Z4L#M)VN<$_%V@7@/NE4G9O.(+^7[C\#5!+ P04 M" !$@EE2IJ4_EV MSC*Q/.UXG?7$0SJ;:YSHG9TLZ(P],OUU<2]AU"NY)&G.N$H%)Y)-3SMC[_A\ MA.O-@M]3ME2U;X*63(1XQL%-M82_*=#ILTLVT>1NDJ4SBEY2Y.,3G61,'9[T-+#'1;UXQ>K< MLO+?8>7YY+/@>J[(%4]8TF30 [U*Y?RUQK:P[)$ B63Y@TP=C\ MB<&!AS,PBKTMOZ??0' MP\/MV: ?'6YHB=P^?SM-"% M9#40+.A;OD[O2GM4>5=RMPL:ZV96818Y[2)-."G\IFJ5^^I?9_X?C$K"L$[7 MU=B,7"W%/7#[^C<,_1J FAG@^E6D@O[FOWXU&#AA\U\%-B_T&S^?Y@PZCBFX M^X=@VWQ_V,S1%I ,2I ,]@9)RD$K!D69O4*CI-@N)+1SN]G@ "SCK,#(-(L\ M@ +[)@(=C87$_UWU6[%SM8D=IQ[*U88 CXALV0>9SMMK] ?B.4'8;XS#P*N- M!_T*@;L$3(24QFV*@'>@*A8*U(4=.D\U>H],&:OD8349E:.!$T7#RAK'][Q6 M624$)-6,J"5=[-AM@JUJU0K=^OPMTXA\[#!6VVI=]RBH\B3T*J_TAY7_QG9+ MH/4J2Z8IAWW![-:-G2'L5X1!S1'!UO98A2-R@BBLC4?@T&%M'#A#;Y\,')89 M.-P[ R6#O@C[C-*\"^NFZW7W,4[^A$X:XG]U?O-T.4;2;RG0G;+GS? M//E2RD 0Y?B!2-R+\5+:HXT /WU;TU?:Q'M>T[??1]RS>TQX?M8B?C_",8S(%U]+&!C]P1D&%C7O)CFC\O0!K MM#VB*3@*F9W*3,L5&\I3IAS86&^4[(_J87#,0#6EY#3HH^W^1%8JXW= ]P.?HH&3Q#<[!"E24,P'L M^+-#OG3'78@IG+@M:9GV73^LZ.XX.\KQE$=N;\[O'JP K^NZU1*OZ_6KT54A M10)[&&P9VQJ_9^"FE/6\VV#]F+Z^L\H?'.P!A%$)A%$[$.R%A0%VDABP@Y=A M:I;N/M:ULL-KEF.UH#$[[4"R*B9?6&?OFO)?WQ> 49&E"<4DLE7\AN-VP!(. M'3Y">HMDSQR\-?1S""_BP3Z G=<=AO8! Q^@:!]0_&;0T^'&-JZ<>H]#SHN\ MJGJ?C9]Q$8C\BMGU\SJ=G8E4QU%(3.*XYC7$D3'KH W6M43P+86A]RR];^G; M]_0VRHN-'L84^K?Z&0J+3W44-YK%% "'P8/&"VH6@6[([#^U-@E&F5%*U;2B MVC"?I2\,>DVL#37G6*^L?!3848"C73G7J]U10<*4!QVI[757.EI=] M8WO'52VW-X46$0K4G0(IQJ5#I+U]LP,M%N;&:R*T%KGYG#,*R,$%\'\JH/U< M#5! >05Z]C=02P,$% @ 1()94KM"/:#* P "@L !D !X;"]W;W)K M&ULM59M;^,V#/XK@E<,5\"MW^VD2P)]!3#DN>9" MS[VM,;N;(-#E%FJJK^4.!$K64M74X%9M KU30"MG5/,@#L,\J"D3WF+FSI9J M,9.-X4S 4A'=U#557VZ!R_WVV1I[$"QF.[J!1S"_[98*=T&/4K$: MA&92$ 7KN?<^NKG-K;Y3^,1@KP=K8C-92?G9;GZIYEYH P(.I;$(%/_^@CO@ MW )A&']VF%[OTAH.UP?TGUSNF,N*:KB3_'=6F>W4T,7 M,R7W1%EM1+,+EZJSQN"8L$5Y- JE#.W,X@$P)4W>/=$5!WTY"PR"6E%0=@"W M+4!\!B"*R0@^N*=DT13XHI"E.V9*[F^ M:K[F=D&FJ5_$16]\02:I'Q9)9S/(^^TA_XJWHK"?E )A7ES=!8ER/YOD W<1 MNHMR\B#%YLJ JKN['UH=E">AGQ7YD;LB]O-I09ZDH?R$-:98^%$>#U/,_2)* M1DB:]23-WDQ2?+0:U;KL*?L*3\?!+4]? ;4$P_-C+E %_P7Y_@"J"(C*-LK MB15'\7DS#"$:7'<<^G&6VM/X2#4J_#!TLN18UE(39>FQ+/%C=(*R[%@6^U$X M(7A_^.5<(ZF.-)+0/D MGNE2-KC]UO(=DKV8%I?DI3X6K'7Y<(+C![:.D#/OR9F_F9RZV>TXV 0Q82;: M^:+]U'/W;AG9LNLD3U_Q\V9LLJ?Z_WP3'5W=E_%E2PQX&0XV^#+>4;TE.\HJ MC$D16MLZ'K_P-4;?*)?BZ39T'$_39%!&K/UDFHT\O7)E<(QKGFG94T.#NYY1:'55!6 >5K*8/ =L' "L'0 &0 'AL+W=O(A"1, M2$(+@%&\OW[O!2D2U(-6FDW:+Q(! A?WA7,NP*NMD!_5FC'M?"Z+2EU/UEIO MWLQF*ENSDJI+L6$5O%D*65(-3;F:J8UD-#>3RF)&/"^>E917DYLKT_<@;ZY$ MK0M>L0?IJ+HLJ7R^8X787D_\R:[CD:_6&CMF-U<;NF(?F/[7YD%":]9)R7G) M*L5%Y4BVO)[<^F_N4AQO!OS*V599SPY:LA#B(S;>Y]<3#Q5B!GT]22=.SI:T+O2CV/Z= MM?9$*"\3A3*_SK8=ZTVSD-'RGFIZ M(5!^: EO.4P3]^\KS)1,N>)?F;*F3[11<'4Q=5, M@V@<,,M:,7>-&')"C$^99=.X+L. M\8@W(B_H# V,O. ,0T?$A9VXT(@+3XC[ +LCKPOFB*6SD>(3-UD*F\3AS4+: M>%2R@FI>K1PMG P 'P,_ ML?R[9# ]'SK/F2Y8Q99<7WPO-TXC-TR#B[X=N$GD]>W0#<+D3 ].B1LFUMQI MY/E]R_?V'9CO?-!-2-QY9"L3NB3R;65"*^ /IW=!1U>!2=C4A;EQ@YY@ MU1&8PPY4[)E1J1R&I#.$$80/M\$/M--@2*,,C 2W,/"1J0@Z2P 0JQ.0"4XE M_F7\"@2&E\FK1F)XZ4,'R-PT@HKG2P>UAMI(X:2=BGTX%+A(;QE#E&6*'=5A M%Y1#C[?OP<-4M:"M_J\A^]U1$\"9I_"&^,ZKD<9[.P&H'G&3O2<]EY# WH*^ MF\;QL(,0TG7 *AA!+(=RUCY>M*F#:;&4HOQ6@/E/J,*5@;VC"),"O/2:QVX< M]@R0(!QVK5]I4=.F[,4\H2;Y>NB,0@OW2#*W6VX:D8N!1G4E6296%?^]I9"6 M-WJ)/E!6E%BZ!$&/>E,_LN0)W*HU9#U4F@[[#(<+9:E&!E80UT_[EN_.26_] MXP^TW/QX;_2!*.5<6S;$KA\,H3V*AT8F)+;8(IG?.ZU:X++]J$Q]UXLMGUAT MYMMB['\[.]"'+9A _A1"00U&I7P&@-A2F:L7!;S43R"!(XLW1?;Q-1Y5&*T_"8(=/$#X_TPGZ96][]!?:AM#@]M5@YL=,@M81]$SX=X=&X MX]'X;!Y5'')^R3,*=1VYJ5;=GXQZ< MAGR2V"9&O4?>5YI6*T,7;>Z>"XM0X%NGJB%,Q=9ZD0V>]4*;\T+'N5 _6/&) MARPTSK.1#9_3P*:@O4.)M3,/K(!8A?%!-RAB4^[]B;W\M;D.. T1U,]-'OU6 M\TUI'T.G?@ A3RPK?6"'U.*2)IDD7HZ]%LO7M6K#>$@KF%1VJ="_,&EEB135 MZC4>54RU+FEF>6T:>S;1IXFERLN9-"7A$9[?]^'?A,BWO"@&1L>VZM/8!0 Z M29'$C6VZA;;GA:.Y<6PS0GJYLQ% ,P2K&TL3L\-^PO)D8( M->D(-3G_8+K3I>=[FX]L(V%$4>?-40WI!R^M1,%SBI0TY*)C=#FNT],(*=I* M]"1(%P).:;0YW9ZKV/M$BBO M %Z8TD84<"W_3%?7X=\U__[\PLU<(=RU&PI.^[W/P$-X[6-G MF^?Z#,J5-MM+M'1]Z*[>!VL>(Q5 MQ]I?LN!&FWNMSBLQG,K[4@;/^OWN-(?9KO78'_+,!=27++.O-M"A?<.: M MU8[+*W$F"*+EAI#AY;KM<-U-20='*/MU(WL.]J7W*>E0.P4XY$'T@L&=S- MCZ?#,32:65_02B97YCLA?BJ!'=E\3.MZNT^1M\T7N'YX\QWS9RHA4953L"5, M]2Z3:-*4/[N&%AOS/6XAM!:E>5PSFC.) ^#]4@B]:^ "W0?:FS\ 4$L#!!0 M ( $2"65(I0BJ0-@, '8( 9 >&PO=V]R:W-H965T326#AVL!T*_WYW M3AJZ4="F:=*D*GZ[>^ZY\YVOTY4V=[8"<.RQELK.@LJYYB@,;5Y!S>V^;D#A M2:E-S1TNS3*TC0%>>*5:ADD4'80U%RJ83_W>E9E/=>ND4'!EF&WKFING4Y!Z M-0OB8+UQ+9:5HXUP/FWX$F[ ?6FN#*[" :40-2@KM&(&REEP$A^=CDC>"WP5 ML+(;++2^H\7G8A9$1 @DY(X0. X/< 92$A#2N.\Q@\$D*6[.U^@?O>_H MRX);.-/RFRA<-0NR@!50\E:Z:[WZ!+T_8\++M;3^RU:];!2PO+5.U[TR,JB% MZD;^V,?A=Q227B'QO#M#GN4Y=WP^-7K%#$DC&DV\JUX;R0E%EW+C#)X*U'/S M&Z?SNTK+ HS]P"[N6^&>V,XM7TBPN]/0H0D2#/,>[K2#2UZ!BQ-VJ96K++M0 M!10_ X3(;2"8K F>)F\BGD.^S])XCR51$KV!EPX.IQXO_0.'WX =#; C#SMZ M!?8:M(%I-.Y P562%DZ_ 8N%%X8EF#JEYOVTV]3?@6C9=:8E&2#4<7CD76.8$T MMG+[EQX@&8/;>45(A(LG0A(O7^7)5%Z_-^/W]'; MKAX89C/X<%%&_RI'&8Z?^) ^&3O3=8VI]#+V>PPPE!BF+D2#?GJP%V<9#0=C M/V2'H^'PHBSQ(22MUOK[\^\54N(/8/#YI>O:;NX9?SQB\>$!2Z-LV+MY[CQ)-%]'2RAT'8PKEG):QM?::V&$V$I5IFNO$EUTBNK'^A M,3;*IY##-F5;\]0+UH#9\QRN.$DQT".69.D6BVC.&9'["&&TL3#(+4Q$^?1, MHZ>UUIZD](NCR5^$9UTA&P&:I!E%)DYC&L:'0X"VO5OA1B^HP2Q]Q[-HN56N M:PO#[M!43[I>\BS>=>1+;I8"8RJA1-5H?S(.F.FZ7+=PNO&=9:$=]BD_K?"/ M 1@2P/-2:[=>D('AK\;\!U!+ P04 " !$@EE2!1;,V5L% "F% &0 M 'AL+W=OB+*(![8[_=)T)"H0<\KAS43(DFA8RFFHYI*2W#*518BC M:!"6A/'>Q9G=NY479Z+2!>/T5B)5E2613Y>T$(OS7MQK-N[8=*;-1GAQ-B=3 M>D_UQ_FMA%7HI.2LI%PQP9&DD_/>Z_CE96;H+<$G1A?*^X^,)R,A'LSB]_R\ M%QF#:$''VD@@\'BD5[0HC" PXZ^ES)Y3:1C]_XWT-]9W\&5$%+T2Q6>6Z]EY M+^NAG$Y(5>@[L?B-+OU)C;RQ*)3]18N:=@@:QY72HEPRP[IDO'Z2+\LX> Q9 MM(,!+QFPM;M69*V\)IIBNXGBETPW.: MKPL(P3YG)&Z,O,2=$J_I.$!)_ O"$8XZY"7.Z<3*2PYTND-TWXGN6]']7:+K MY$9B4B<%E+$ B;D-];P@7&V+<[>J#R!P(@J %>-3 MI,UQ+;'%_J:JK5Y4"'^-UO[*%?P3-:"WW%:#!^;D->-U* MG@'> ;I-D-;RW^;Y=\;DOWTVA^SG2/O=C9< 7P_30Y]M6'^KY[O*'E"SO*-F MVO'=WW2MQ;+;]Q;BFNTKZ* 22GA%BIWNW:RCK4UV1SC\ O[6"YE",0Z3.+2I M]@>;4'0$B68PJH[;-<^C;+UY$<6R>-C#X.4I"!^V@0K-6ITV"8H=/A^E;D6>H< MJ468,I>NF5&7.K]^@1FG0>S4=-2M@:M;@^ZZ!<-V7A7VN":$2?1(BLHT<:B@ M9G @"@K,$F.5:0Y08NR+J6DL6X>';H7?"X(X@KBX;"?+5%RYA.: "EO?C*M- M29QZ[='EBM<^WZSXO4@\7Q*A\<'T#X)S&(5RTXZ>&"TV9Y$H&)[^N,E5U^VY M3?A'44!)+\Q U>9.XF"XXKYCZN%D(BF%^JTIU'&-)-&;10D'@\$6G;S=.ST8'$#B#43J'_>;=U6#BT.=F1$5W[J;-U3+78^&2Q\P&/L#W/[SZ:=:P5&Z/IM"\??@>L!LVF4SG [V*_=:4>B 0N:@D'V+CS6# M8:@!7D78]<'6K>[P#[;MFO\7'VV[<'+PL%?C9#6;N8C5:#'U8&/S(V?: ;9 )O;NCDLJIO2%3:"PJKNMK)+?K+N%>UW=/*_+Z!N\M MD1 MA0HZ 5;HJ? 9)>M;L7JAQ=S>1(V$UJ*T?V>40+(; G@_$4(W"Z/ 74U> M_ -02P,$% @ 1()94N/Z.R9A P < L !D !X;"]W;W)K&ULS59M;]LV$/XKA%8,&T!$(D7JI;4-)&G7]4. (.DV[",M MGVVADNB1=)S]^QTE1Z.*VAXPM.@7DSS=/??R\.B;';3Y9+< CCRW36?GT=:Y MW>LXMM466F6O] XZ_++6IE4.CV83VYT!M>J-VB;F29+%K:J[:#'K9?=F,=-[ MU]0=W!MB]VVKS-\WT.C#/&+1B^"AWFR=%\2+V4YMX!'<;[M[@Z=X1%G5+72V MUATQL)Y'U^SUC?#ZO<+O-1QLL"<^DZ76G_SAPVH>)3X@:*!R'D'A\@2WT#0> M",/XZX@9C2Z]8;A_0?^ESQUS62H+M[KYHUZY[3PJ(K*"M=HW[D$??H5C/M+C M5;JQ_2\Y#+JBC$BUMTZW1V.,H*V[857/QSH$!D5RPH ?#7@?]^"HC_*M1=MX+5%"#&T,;X^$M\-_PLXENHKDC**.$) M3\[@I6.^:8^7_O=\SZ"*$57TJ.(4ZG"EB5Z3.BBD6F(;X-7=:>-\28D=O-LO M5?:\AQ]_*'B2OB'?:KV#:JNZNE(->03S5%> G/I6,E/9K3:8G7* N\[JIE[A M?D4^:H=:U]:"LT0Y@C1"NP0S4CDZ>D48Y4S2LI"!3(B2RJ(()"6C><$G9KG, M:2KE)6>LG%@E,J-9$LK2G%,N12#),\K$U$PFDB:,?S,"/E__!&6&KCI3S/_) MV@,\0;>'(&].!4LQ[VS"34HSD082OV/\S<2N\&66)7EOM+7DWNAU[0(%F90T M%\F$!9Z?HE5D$CM'3&!I7I;G:4T8+<5E M6G-:IN$%\4TI)M&E+/R>^B=58+MRA+S$*S[^(FQ0F4_<\&S2K_A,9,67_K/C8 IJP6SZ6<^2 M2N\[-PQ$HW0<)Z^'*>I?]6$6O5-F4W>6-+!&T^0JEQ$QPWPW')S>]3/54CN< MT/KM%D=B,%X!OZ^U=B\'[V GAEI;!,KB5J2BI-^?8>2+^7JCC<)9S&JV MQB?4O]4/DB2G1\EYB97BH@*)J[EUZ5U6 M:P+" C-M$!C]7O :B\( 41A?=YA6[](8CL=[](]M[I3+,U-X+8H_>*XWG%4UL?S&'9 M,*E1%F_PD5>LRC@KP"#"V:_LN4!U/G,T^3-63K;#ONJP_7>P/1_N1:4W"FZK M'/-# (<"[:/U]]%>^2<1;S";0.#9X+N^>P(OZ+,/6KS@WV9_PD?8^PA;'^%[ M/N@SZMWPJCM:Q-%C)3X);H[LA:I9AG.+SJ1"^8+68GG:"] ( M] ;A#9E4@&9O@"J+Y3/*OKK JIP&7@I<[8XL_Y,6,D7V!9UE!6>\(AS1*%JJ M;,#7#&L--8&H#9,(.17P_ )^_"'QW>"G_^S?9K,7EAXL?5@&L SA$5^P:K"? M^P!3U[6]P!MKPL .XV2L\4+;3=.1)DX3.XT'JY^E4 IJ*59<]TK/FY)9,,AA M9,=I-)*GMI?&@QS$=CIR\YDN:%YEHASB)<2I-U@$J1V. "/7=I,A\-"WDW"H MP]WGZU_N;^'A]A&>/ET^WGZ_;;IBBF>CZKF3<%Q>;^(>BL'T0/2&V1M>-.;P M?@-6?(@U_6Y9_W.R>L.>GR9K%"1V. U&FICV/'#] T(3B[Q#^J9VE(3'R7KF MG0_L(M,X'A'4)T*-Z.81HZ8C9U[@VU$\,.P885,[B0<$/[2]4?Q$>#\8B73, MH@'^_T38*#P01T4R8IH08?PDE"G411F*=@36T;Y$0K+6BS5"/IN4##A@PQ5SM+I+XI M!W[4B<2"F93(WLR2O1+EUMS^M/<\QTJ3GFD06=9(V<%&PO=V]R:W-H965T,\4I) TVRL+\I"R[;7BGR.167)D\YQNT^_DYRXZ5@,@^V-K8>[ MW_WO;)T6C;%/K@! ]EPJ[991@5A=Q[$3!93<#4P%FG9R8TN.-+7[V%46>!:< M2A6G23*-2RYUM%J$M:U=+4R-2FK86N;JLN3V90W*-,MH&)T6'N2^0+\0KQ85 MW\,CX-=J:VD6=Y1,EJ"=-)I9R)?1S?!Z/??VP>";A,:=C9G/9&?,DY_<91&74AO>/Y^$3_%'*G7';G1( M@^XV4%"YX.5IQC7&?LB]US M+7_R4*_W&T NE?NPB)$">?-8'*'K%II>@ Y3=F\T%HY]U!ED;P$Q*>QDIB>9 MZ[27N $Q8*/A%4N3-.GAC;JT1X$WOL"[TPZY4FVF)F?NQ2&4CDG--#3JA0E# M%K86"!G+N9!*H@37$WG<11Z'R*._+7@/>]*Q)[U9;<$*T$B'R>=DX0"Z!L81 MK=S5R'<*&!KFP!ZD^#V9]BOT\\?3P2QYUR-TV@F=]H+NJ5L@:*X%7)'.BDL; MZD%#Q070H<<+,M^$FW7A9O^\YO../?_/->_G3T:#T9]K'I^=^A+L/O0V1W]N MK;%M -UJUSYOVJ[Q:M[VWGMN]U([IB GUV0PH__ MOVLG:"I0@_9&:2.%(8% M70%@O0'MY\;@:>(#=)?*ZA=02P,$% @ 1()94DRD>5: @ &ULC57+;MLP$/R5A=!# K31VU8# M64!L-V@. 8RX:<^,M)*(2*1*TG'Z]R4I677\2'.1^)@9SG+)9;KEXEG6B I> MVX;)F5,KU5V[KLQK;(F\XATR/5-RT1*ENZ)R92>0%);4-F[@>1.W)90Y66K' M5B)+^48UE.%*@-RT+1%_YMCP[,90]A@KHP"T;\77 M&"%MX_>@Z8Q+&N)^>Z=^:V/7L3P1B0O>_**%JF=.XD"!)=DTZH%OO^,0CS68 M\T;:+VP'K.= OI&*MP-9.V@IZ__D==B'/8(_.4,(!D)P2(C.$,*!$'Z4$ V$ MR.Y,'XK=AR51)$L%WX(P:*UF&G8S+5N'3YE)^UH)/4LU3V7K/MW 2UC3BM&2 MYH0IN,ESOF&*L@I6O*$Y10E?8$%D#;?ZI, =ZT^<2=W%$A6AC;S4B,?U$BX^ M7<(GH Q^U'PC"2MDZBIMU2SHYH.M>6\K.&/+#^">,U5+^,8*+-X*N#K&,=!@ M%^@\>%=QB?D5A/YG"+S .V%H\6&Z__4$??EQ>O).-.&8MM#JA6?T;"8Z0@O0 M>;A^1S :!2,K&)T1O&,*!4IU*E4],[9,4T9>LNDDB5+W97_[CD%)XD_?@I;' MH' :A2/HC?-X=![_QWG.6P1%7O'D08N/UHS]()DATR (4$\=#4O8,?G._[.)9^=X5;([VH-H,ESD7,ULM9:EQ]M6R5K**BZ M%B5P7,F$+*C&J5S9JI1 TPI4Y+;G.*%=4,:M\;!Z-I?CH=CHG'&82Z(V14'E MCQO(Q79DN=;+@P>V6FOSP!X/2[J"!>C'4E8 5TQP(B$;61/WXYT; M&$!E\0>#K3H8$Q/*4HCO9G*?CBS',((<$FU<4/Q[@BGDN?&$//ZMG5K-G@9X M.'[Q?E<%C\$LJ8*IR/]DJ5Z/K-@B*61TD^L'L?T-ZH J@HG(5?5+MK6M8Y%D MH[0H:C R*!C?_=/G.A$' -?O '@UP+L4T*\!_4L!?@WP+P4$-2"X%!#6@+#* M_2Y95:9G5-/Q4(HMD<8:O9E!5:X*C0EFW'360DM<98C3X\6NHXC(R(*M.,M8 M0KDFDR01&ZX97Y&YR%G"0)$>>8 $7BU*P7&< #:;5N3]##1EN?J QH^+&7G_ M[@-Y1Q@GW]9BHRA/U=#6R-KL;2EWPV<7P]U!"_SV:^(SDZM8M^)^NT\@X9G M<);GUQ(DK>J>5XQS1I9-HZ:S:,W M>I'BAD'\*U^D^*0$O<#MZ.A!0V'P/U6 _$C:F'/]$%G-EQG?XXY;U01 M]^ L=7]A36YJ;T>RY3CM-7'W$N]Z9TGLTZTN3_->OMW^6Z5Y+Z3N>26]YXFL MI,ELDN/=F"(!DIG-):1,D\\"A;4]Y:>2&76F?*^8[GG); AAY6>0@40:Y!M] M)I,N@;]Q3S71.R%B']SKS#W_"Y4KQA4*&PO=V]R:W-H965TQ>3L9BHS/&Z;T$:I/G1/ZZI9G870_@X.G! UNN M=/' FXS79$EG5'];WTMSYS564I93KIC@0-+%]> &7DTQ*A1*B>^,[M3>-2A" MF0OQH[CYE%X/_,(CFM%$%R:(^=G2.YIEA27CQ\_:Z*!9LU# MY(Q7O^2Q3L2> HQZ%%"M@(X5@AX%7"O@4Q6"6B$H,U.%4N9A2C29C*78 5E( M&VO%19G,4MN$SWCQW6=:FK?,Z.G)K/K>0"S C"TY6["$< UNDD1LN&9\">Y% MQA)&%;@ -YDI$\(3"DS!@3M)4Z;!9Z&4>7LVI9JP3)T;N6^S*3C[< X^ ,;! MUY78*,)3-?:T<;A8UDMJYVXKYU"/ MY4#49UI2;["\^FOR7G\&\%ULJ#5*Z A^V8KI ,(J.(N^0PC$*NJ,: M-5&-G%'50"--5QEG2?)SP\QSD A31[S@H)E6>D6K-XJ5TRLEFG8%,VJYB7%X M%$I;!L9A3ZW%322Q,Q+3^!E1"F@!A/%5FDDB)35Y*\"M"US4-?_!Y7[*B [EGQ,D;# M]I1 X1ZJ#IVPUL8D#OZ=ID 4B<@/Q5?U; MVSP"W MW_B@#CSW^FGQC)[#\ZF801T;>!\=;8WO.J0<#6$!CMP _[O8C; MHF!+6^RF[6NW]K@-W/Z]/;;$Q<\1]]26K WM;\>#X*@A.V3:/GI[IUTYE5.>QQT]OX57T^I\T9JICCN_$&G*78&,+HQ)_W)H/)+5 M"6)UH\6Z/%.;"ZU%7EZN*$FI+ 3,^X40^NFF6* YQYW\#U!+ P04 " !$ M@EE2Y_A0F&L" #L!0 &0 'AL+W=O=Y M8=U&N%I4+,<#VI_53E,4]B@I+U$:KB1HS);!_?AN/7?W_85?'!MSL097R5&I M9Q=\3Y=!Y 2AP,0Z!$:?%]R@$ Z(9/SN,(.>TB5>KL_H7WWM5,N1&=PH\<13 M6RR#+P&DF+%:V+UJOF%7S]3A)4H8_PM->W=&C$EMK"J[9(I++MLO>^U\N$@8 MSZXDQ%U"['6W1%[E [-LM="J >UN$YI;^%)]-HGCTCW*P6HZY91G5X?V,4!E M<."YY!E/F+1PGR2JEI;+''9*\(2C@<^PY^89/CZ@95R83XO0D@ '$R8=V;HE MBZ^0C6/8*FD+ X\RQ?1?@)"4]_+CL_QU/(CX@,D()N,;B*,X&L";]'9,/-[D M"MX3TYKJ/\%&&6L& &][P%L/>'L%\ <[*@W-&;9"S54*++-(G8'ZA:PEC\E] M?.7&^[U]W($Y&8OE>P8/LTTB2-EI2/>TUST=1-KC"\H:X0TV_D](0\X'U1_(",%=OV#^L;Y[K33F'%>Z[:X]_P= MQIV.HNC#>_K"BPXDPMS/&0.^B=IF['?[47;?=O#?Z^T&PO=V]R:W-H965TNA0-"@VUF5:4>H+'F2G'3_?I3L>-F6 M=H=>K"^^QT?29+;3YLEN$!T\5U+9:;1QKKZ*8\LW6#$[T#4J>BFTJ9BCHREC M6QMD>0!5,DZ39!)73*AHEH6[E9EENG%2*%P9L$U5,?-S@5+OIM$PVE_<\_'M;3A"[O.-HF -];IJ@.3@DJH=F7/71X. .GP M!4#: =*@NW445"Z98[/,Z!T8;TUL?A-"#6@2)Y0ORMH9>A6$<[-U6PS0!:Q% MJ40A.%,.YISK1CFA2EAI*;A "Q_@5MG&,,41[I'K+1+N=(F."6G/X 2$@CLA M)27;9K$C<=Y%S#LABU9(^H*0$=QIY386/JL<\S_Q,0751Y;N(UNDKQ(ND0]@ M-'P/:3*\?%@OX?3D[!7:49^P4: =O3EAKS@;]\[&P=GX!613&ZH0,.\_ M;]KFHH?US3M6U9_FQ\2TO,/D0,UP,#FN9M*KF;Q!#=?6^1I9-%O!Z>_%9YIC M%H^IF_R3JM$@_4MAMM_6W_:R:MRWZV[P=='?,E%1,D%@0 M-!E\I.R8=GBT!Z?KT+"/VE'[A^V&YBT:;T#OA=9N?_ .^@D^^P502P,$% M @ 1()94ARH5$7\! 6!, !D !X;"]W;W)K&ULK9AM;^(X$(#_BH7V0U=J2^R\$%84:5OV="===17=WGXVB0%KDYBS#91_ M?V,3$B")X7K[!?(R,WYF;,],/-H*^5,M&=/H/<\*]=!;:KWZTN^K9,ERJN[% MBA7P9BYD3C7KAW>##EBZ4V#_KCT8HNV"O3;ZL7"7?]RDK*/O3B'DK9G*XS/17;WUGID 5,1*;L+]J6 MLEX/)6NE15XJ T'.B_T_?2\#<:0PB#H42*E SA1PT*'@EPK^M0I!J1#8R.Q= ML7&84$W'(RFV2!IIL&8N;#"M-KC/"S/OKUK"6PYZ>CQE&U:L&9I+D:,G46@) M,Z$ 0B_1DQV>287NT$%NRA*Q*+B=LYL)TY1GZC.\?WN=H)M/G]$GQ OT?2G6 MBA:I&O4U,)J1^DG)\[CG(1T\F*!GH%@J]*U(67IJH _.51Z2@X>/Q&EQPI)[ MY.-;1#SBM0 ]7:V.ARWJD^O58XP M=H-.N\K:3-92LA3![":71]J'?V\XM(9-FMF,?>SY80S!WAS'N2E'0AR',:[D M3LC#BCQTDG]3FL/^!VA&9<&+A;I%!21,,4>94(JU,N]-1D=A!'%7'D)/X3 GGWR+/,P"(M4 KX;9118_@[/\8^'N SSC9!S_,0;A/YY MB%ODR"(FVEL6^/C1HI0;AL=1_'&=?7&[O(]99H5>M^+NW(S;A9A3 +LG=?J M4NYD:V(\\+J67EVLL;M:UZ KNNND#)NM B%-R*88AK:CB[$NS]A=G\M>]Q;! MJK%?5K!]T5^SC"^H(;]%$Z82R5>'!?!"=_ EI-%W)O/VG>(>[P=#>K?B">2* M'6S)C3 K3ZQEV?^;!MSVXZMR'&W&,0.;-B>%IARVL>]!%[%S+J:ZZ&-WU9_6 MQ?)TR!L8R(SRN=5)M]$K .L:C]U%_ID7/%_G+EMUS<7#7]I0D[I($G>1_%@8 M+Q@-PDMA)'5I(Q=*VY[JT!U!NC=\%_#<)B_/,JFK%'%7J6?Z?F&629W_R:_] M;")UYB67,N^'9MEM-+H*%0QN:@ZMT/ $KNCW'V-UJL[,'&3&A(D_9R MR6C*I!& ]W,A].'&#% =IHW_!5!+ P04 " !$@EE27X%PT50) !J1P M&0 'AL+W=OG9Y7G]VEU^>9]LRB5-SEP?%=K.)\C^O3)(] M7YSALY M^5MD25'_#9[W8]%9L-@69;;9&]L9;.)T]S_ZNO\E&@98]!B0O0$Y-6 ]!G1O M0%]KP/8&K/YE=DNI?X3;DVPRK--<)VE96ZO1&$G4:Z#ZSJ\R8O@NR",B^CA(3VIE6\>:+_:RN=K,B M/;/")+BUO-U>.U=##5:.U/]KGK^]J.'RS@V]6^V9N1'1=M)TAKPTK1GFZ)(H+P>TO M\M3\+3O&"^ &'Z(B MB(+'G=W'KB6Y(V*$9@A]VX67 89'BQ:'10NGIU_2I5U-'D>)PYD\.).CXT8= M?*NAN%$M/&","9+\!#?M<4H)(50W;/1A8GIRV+@C4C73W:CQV-&VW=&2,0): M1TY7-\OMHK[(+F^-)(%'QPTFX)T,1<[>L@D)IJ0FY 0Y7>,PH;@'.AB(%M/) MP>,)B>4,=Z/'9\AGR@T?R '8G01^7:WBA0FNMG&RC-.'PN44Z!OS\5$$/(G= M1.E"D6BA@V+-B#A%4<A2Y0V(\(STH\AC2&76C"#("=J>$ MGTV4E.M%E#NO,/ XUJ/CAP!C$C=C.O"SMSS"A<08G>:OKG%<8 M'#^>D!8&/T+R-@KVBW3;B39M'2\:$@+Q)81J7_K)7N2B MC+9YE-I]K=V.VBUE:7+[E1=80.]D?%E-@$7)8&%-VHJ94,T9/@56QSBFD*(] MP )*)M-K:T](-6,]P'+;Z1EW HM"IJ#N3'&[3VN6X M-VD4Z)Z.+[ M>T*2OO3FL:,SX88-I 7J3@O_,,_5@6U1YMN%9Z-/@<_I^!*; 7&RP1*;M:4S MII1*VCI;[!A($,:-(X'CV0'KLNE%MB.\>OB!=5M0:XP4.A7>'>.DIKAQL'T\-V!D-KWP]H2D MN._PT6>(/!M_!JF"N5/%%Y,_5>='=WGV7[,H7<='#%B>C:^R&= I&ZRR69=Z MQ@R='D)VC:.6F'H.(1FP,IM>97M"]JILKYV;ES@D"^Y.%B\8NHZ2I/@4W-H- M6VG2*+4?59K[-DOC,LLM7[FB ?GS\24W!X[E@R4W;VMI*I'$IUNXKG%*R[Z; M(QS(F4^ON3TA^\^6?(;,!R_(&MR=-6[-8AVE\2)*@CW27"S%&_GCINJB"5_-92 ]OGX8EP OXK!8ERT-39C5#!Z@J2.1^0?(:^F[8"TH1PIPF;ZA;;)"K-,MBF2[NJEQJ;G[;QLLY\<1K"OX%7U) (H7XPOR@4PJQ@JRD/1%MM< M"\[[N =85TPNMD-/2"(].R\)K"[=K#X63%Y3/R*!S^7XZEH";'GI!6E;COHTH@8>DFX;' \JIJ$ D\+<=7QPIX5 U5QZ'J M4+U8:]ZS$U? DFIRU1MZ0MH-M;M80P$+JPG$JX7)JXH^%!"U&E_)*B!2-5C) MJHYB#D;[80+\J*87LIZ0PG/72@']JFED[-\M[E! WNH=:J8;1=.#%:[J.$XF MG+(^ %SJND5KBAJ%.["*0P.=Z_%%KP:ZU8-%K^XHSZ"B66Y_ M'!.X5$\O>CTA?>5@&JA:3Z1Y/>4:&HAH85H+?MZ*U"CK01- MKWA],:EO&XT1:2Q@&M$[N @#HT8K"QI?"F/4Z!E!@\7PB^EQA870K(=S,&IT ME:#I]; O)A6>:E*,&HTK:!I-_(:J"XP:O2MH? &,4:-)! V6P"^F1QH8"8YZ M8=-H)D'3JV!?3%\-,FXV^'DZ_,9&S=^IL\!'K83OT$O8;"8]J; "-]L'WZ-_L-E .+B#,,0= MK8$$2T%(3_$R;C8'3M\=&/IB:NT1SKC9YN?I\QM-!;VID (W.P??H740-WH' M\>#FP1!W= 4*T;?9PHVF0#Q]5V#HB]E[CC-O/(/$AGJHG^52V(ELTW+WF([# MIX<'QOQ0/R7EY/.KZD$R];--P,WN*32W4?X0IT60F)5UB6;5?:1\]UR7W9LR M>ZR?='*?E7:]]&ULM9=; MCZ,V%,>_BH7V85?J#!C";95$FF2V%ZFCCF9VVX>J#PZ?QHVR+)H"#BEAVA5$_V MC!=$JB$_V.+(@:3&JLDCDMX9$C414%X7]O(&>G ME86M\XTG>LBDOF&OET=R@&>07XZ/7(WL5B6E!92"LA)QV*^L._QQBT/M8"Q^ MIW 2G6NDE[)C[*L>_)*N+$<300Z)U!)$_;W %O)<*RF.;XVHU+58G9$P);E?]!49BLKLE *>U+E\HF=?H9F0;[62U@NS"\Z-;:.A9)*2%8T MSHJ@H&7]3[XW@>@XX&#"P6T)*&Y^*!LOSS?H_?O/J!WB);H<\8JH:S%TI:* M5\]J)PW;IF9S)]BPBQ[4M)E G\H4TKZ K1;:KM8]KW;CSBK>0W*+//P#4!L MCX[ *4NOO8):SS=Z.N=?UF[H!4O[I1N6L1%V7.RU5CU6OV7U9UFW&2D/@%*U M^R13^?RMHH+JW!;(1BD51R9(?G7;U+I!!R?VG7C /#8*_' ".6B1@]<@<\B) MA%1C)QQ2*A')53W4D;^&&XQ(;L+X.DC8@H2S(+_)##A*#([0::;&,R\Y',=B MX0]?\MCH!B\4X<340"=TX$_#_E92/<1?+B*/*' MY%?,L.]/@;L7W8;.&%4["7TH^]-\N+1JJWY=W ]<(A MZMANL'7ZL)=3!<\?*^[\S/>O@_D9W]:8UOR7IW(8*BM===CV0[&@:U1V3JN\T MEYGZ,@&N#=3S/6/R/- 3M-\ZZW\ 4$L#!!0 ( $2"65+!JIE>*P, $H+ M 9 >&PO=V]R:W-H965TW&<.,$VY-+2/H0:NY>'T@=Y=^P5U4JN)%\"_?B.M/;:A5AN2P,!8TM:S3EG M+CN>[E+I[Z9$M+"JA#2]J+1V=AW')B^Q8N9,S5#2DXG2%;.TU=/8S#2RPAM5 M(LZ2Y"*N&)=1O^O/!KK?57,KN,2!!C.O*J8?;U&H92]*H\W!D$]+ZP[B?G?& MICA"^VDVT+2+&Y2"5R@-5Q(T3GK137I]F[:=@;_QF>/2[*S!N3)6ZKO;O"]Z M4>(4H<#<.@A&/PN\0R$<$NGXL0:-&DYGN+O>H+_USI,S8V;P3HDOO+!E+^I$ M4."$S84=JN4[7#OD!>9*&/\-R_7=)()\;JRJUL:DH.*R_F6K=2!V#+)TCT&V M-LB\[IK(J[QGEO6[6BU!N]N$YA;>56]-XKAT61E934\YV=G^$!QX%/FPFO@Z!XMX\(\ ,?G7.)EMG+S-@HCW MF)]!*SV!+,F23Z-[.'IU'(!M-;%K>=C6WM@=B$F X[SA./<#0 -733QG MZL9EAP4O:4FC"(U7,,:+EHM%P$8=:5?G*PE$^\V-QB 1]Y MY>Y1[$?TR$Q87E\86:8MT N'\/5FQKK$[#T3D0 MCPW';(=#[>.H,U5#MCVD:_B+?MI.DVZ\>$+(52/D*BBDB;9MHOT7BL+8U$LJ MWTL" 4N3;:],7D8)P4_JGY)7\RJD>Z?'I\]63FFV9=/I3=V[K M?ZFS U2=Y"Q)7H=4;WMXVGHY.66K0SG=_B^DY\^7TVW_3L.]][_F-$S5:>_+ M:;PSWM X,O5#G(% MW.J-53,_+(V5I=G'+TL:=E&["_1\HI3=;!Q!,S[W?P%02P,$% @ 1()9 M4BLQ%&=K!@ 9!T !D !X;"]W;W)K&ULU9G? M;]LJ%,?_%13M2INT-@8[/SRUE=IFTR*M6V^[;@]7]X$X).'.-AG@I)7N'W\/ MCA><&--V2A_N2VL[=\Y.RF_7\NQ$%#KE.;N62!59 M1N7#!4O%^K2#.[\^W/#Y0IL/W;.3)9VS6Z;OEM<2WKI;*U.>L5QQD2/)9J>= M<_QN% U-A;+$-\[6JO:,3%6(6@72:ZE J@IDOP)NJ1!6%<*G5HBJ M"E'IF4U72C^,J*9G)U*LD32EP9IY*)U9UH;N\]S$_59+^)5#/7WV@7*)OM&T M8.B*455(!D'5"KT>,4UYJMZ@5XCGZ.M"%(KF4W72U="JJ=M-JA8N-BV0EA8P M055G6Z&V]"$I=GP>:'Q6(ZVEJ/2U./IBTV*_ M;-' 9G4V[)]T5PZ5O:W*GE?EI<@F\&F*9A0DK$I'@.06:2Y-&_N]FJ8^'@2! M6U9_*ZOOET75 C I)2L]5>IR-=YO--Z+:FUOAF>S4!BW"1QL!0Z\ J]XSK,B M\XR3X=;2\, C,-Y:CKT:OY<\AMA2&'6POL#P4]I$-Z%+KFGJ' <^+UHX87#1V9OKGD^A]XB M1F5^!#D'$I.4SZE9[[T>L!C#D=>[-RP1><)37MHT7=<+!KC@TN(B\>N &E2C M0C&D^#SG,YY0*%GD8J*87-%):EBS+,R*^(FM6(I"']JQ91OVP^V"IB6^H/$) MF_,\!XU&[@.(= :NR3(RC.+!'D^J8G4,#\)!SPT4;)&'_[EO]]H M$_<'N+H&C6:/<(!QM"_/52[LQRWR+$+Q MT"OO?/H/9'&;I$J+VN!TBATV1,08Q_M2FZ6.2!SC%JF6R=B/T-J8A+7-C,8E MDUQ,G4KCA@;2BP<-J8YB.\-V-P&TC"9^1L/,AQ78S!E(^KG)2[Z*!O)V;5MF MDT,SFUAF$S]@R^0!\FA@-#RPGP6'L= V="M;_9T48ACW]WSL*A8,AL,6'UN" M$S_!/^TD6D?)$_.>RNJN:K*?^#A*0>;3 BIB5P3BSVR?M>I4>IN9JVLDNXIY M1K)="(A_(6B.Y#\+85;U*RI_P+[_6G+@+AKGZ+S<(E??%8(]/QI/H:>P9*7H M7"EF%RGL6Z2(Q3[I'WHF6&P3/[:?-Q.:<';.!$ ML*609A BV) S=*?,XVTMN?@"28I$7VR",=Y),(@W=A;F)#YP[$)+W]!/W]\D M0V7U$3(X2K63(;14#_$S8UB/R5T]X1L_/>$++?E#]JYJ]AR.GSD!*(\-7R1B%CRAKW_U^XAM& .'\G'LR7(- ,()0LJY^[$ M/&QFW"W9=FBQ'?JQ/EN[?HI8[ :F6L\&ULS9I;;]LV%,>_"F'TH07F M6+Q)J%]FI5@RJ2[%?%2M M!&?3VFF9CU 0A*,ERXK!^6G]W8TX/RW7,L\*?B- M5XNF7BZY'GY<#: @Q]? M?,KF"ZF_&)V?KMB#0*MB.<\E3H$4__N><+S7$=2.KXW00?;-K7C[N3O6:#O6J(Z''?$2-<;9E M60T *5E0S+@2?OO4$ MQ]O@N Y.',$_EY+E('4UT=7WFX"T#JB1>7].8!BH?K[?[6+;"NT:M<22K5CB M[8E//"WG1?8OGP*V+->%K$ Y TIX(;-9QNYR#EA5\ZNE5#O5UW79;3ARS/NU8'M?LH)'B,VIUTM3$+>\S>V=$P1H1$ M;;-KVPQA"F/4W>GA]C9#_PRYN 57!1?S)T^?1=M@T2+K7Z" 1U3Q^0<;UL?>UO_JG*W:A"D;)7I-<6F_Z@\H-*_ M[-(PMD<^()1V2X"!20N!5\2?I523/%.37,U]60*]Z>$"E ]J +NS0& )@21P M+52XDY^@5\A5)3.UXU J9BP3X)[E:ZX7JR*-5+VD>@5P)HJAVF:I(7O2W=2M M#UKZQM ISR 5HA?&WF43L=53H9HUKC$S!(;X%Z :-)"%I'\9Z192_8&K)M7H M.<>'V!,Y(J%K@ Q;H1^NEPJLS8VNB[OF(DTWW2-XRI4HU3.=DFRJPC@*'!B$ MAH/0#\*_Y$(MI72M)HB:O9LAZ6P_M-NG(2:.]@TZ871 ^WE9S(>2BZ5/0=2A M@(8. 0:OT,_7&Z%**2&?ZE'1\V+EHEL3:%= % 5CAP!#6.A'K"?C7D*;J!&* MXKB[362(BOQ$?;^[#K-"LF*>F279I0392*68N)B%#%*1'ZD?N*K=@-!%VK"< M#==5(Z)3@XU-.(ZP8PJ@G:VHGYL7/Y:@8K9K_2$;E$,8$HH=C1M0(O]>53-! MY8Y*ES;\,>55M8C L:MO##=1#S<;,N3U..W@ MN5.%SNQ:TP2@Z#J-].FR6#M$X=@V4@2GRPW2S SDPL7<*Z]C& M>O8CR% 6^2G[&5R!!+POIFK[*C(E4F_:I5@WAU!*X4>F0,@+5J3<5X(:QN+@ M?ZAP#3BQ'YP'U@4)MJ$98>=>&!MH8C\TCZH,$FSC4Q]0.D3LU/E^>!Y;&238 MYF3D[@Q#2>RGY L5!@FV 1I1U[X3&WYB/S^/+PP2; ,S'M/0-6(&F#C\!>H" M;,")_> \IBY(L(U-LG?XX35I:S14Q7ZJ_GS9D&![SPIQ& ;[JOO,VLH-=;&? MNDF]C6GM;.Z:_4ZG6GN[BP)BB>VQ:I_"&5X3_Y[XP$HH(1V'"T&\I[''J"W1 M,)_XF7]PL900F_H[6]5&H]>F+=&D!>)/"P>74PFQ4\(8[I\E]ABU19JT0?QI MPW?(2>P,00C!<%]8GUE;VLYAL#^3'%V9)<3.&3A"^T?75[UF;<$FMQ!_;CFB M@$M(QR$&POL([;-J"S69A_BWZ@=4>0GIV)\3U?B^PCZSMD23C(@_&;U(+9B0 MKLU]C"U$]9FU;\)D*])S8'U$Q9@0._&H@HCN2^VQ:BLUV8GXL].SR\J$V*EH M"./8@D6?6?M1C4E9U)^RCJL^$VHGI:%^2+#__*;/K*W69"_JSU[/+0Z3)OYN M<=C>DS;Z^\S:^DUJHST5#\N_<>%[QF82$/6?CO]4;4A-$J$''';WUX:3)DRK MVHYB9SU$=QXB^I/"4<7AA-K URH<(@SPJ1_XQQ:'$VIC'5%W;QBL4S_6CR^_ M)M2&,\+4>=Y*#9UI_ O47]0PF/:H 3_@4A"DCWA63C\ O(3E.X-CPT/#1FD(8,XO,$! MO/NS.W19@5R^!,#2!BQU8&F(64OE=U8Q#5^O3;ONX_6?:Q.(KC24ZM] VD&3 M=A"LX5)I9KK;YJ5,HI^4;V"?,#N4H4.Q:_UY/DP'B6'Q>4_R89-\V)- ]!\Z MI_D3%\M 3:,&=G1,*L=-VG%/*A\4+#8<7;/%7B[#,!B] )6!^4R:^4P^1-K) M6VG)(65/F]RG_96]E[0 ]!4%[>\#W^,P!TX9.@D5J%)>0_" M81/JJW(-TY9YC&M ^J[IT.ASWJ'EVBS+!?&,$EHQQE1FLM-_5> MJRK0#[,EU%#1*@\N>N]E>')4_;V1X;"3]:0ZJV':5*?C@PN,>+LQ M2KSA$7Q,TDEK8]77U,*++NO (9UKCGBG(V&GZ]L(-4R[$0)]X V0A#=J[^V# M7@]=XFV0#(_:"M[J2%^KZVJ%, [I]E_B_8_TW>IU],+X[=YJ&PO M=V]R:W-H965TGL/JSVP24&HLD'8SNEE?;'KQ-"0II@S!9>( GG7%^?&Q_?A-XJH;_8 M@A .7J(P9F>=!>?+KYK&I@L28=9-EB06O\P2&F$N3NE<8TM*L)^3HE!#NFYK M$0[B3K^77[NG_5Z2\C"(R3T%+(TB3%^_D3!9G75@9W/A(9@O>'9!Z_>6>$XF MA/]4I27YE)]?^ M64?/,B(AF?(L!!9?SV1 PC"+)/+X703ME&-FQ.WC3?3+?/)B,D^8D4$2_A7X M?''6<3O )S.)IR*7P/!X_WSZ>\T8$&V5!GX @9)S(-X3F(. M+C"-OPA# 7=/83#'^6+^."0>[0:Z%?*\^]E7ZC//=6^@_EN;?21^^K^_A]]-OW M*7^G3G?K=$VL_]($4&D"*(]G[(CW+67B"F-@RPW WR-Q#5QS$K%_)&,8Y1A& M/H:Y8XP'\DSBE+09Q'#-M')FUL\\]VW/]6S8TYZWEV(3YD!3][PZ[+(%9AJF M[=9AWUM@N@Z--X->M0WJ6:Y9AUVW1;,]^&;0FY:96KJAHSKL1Q-F&:[I&'78 MN E#KF7;UAM%;EMP-K20X]1Q=RTXZ"+7J>+52F^6I3>EI;\D/J$XE-Q$5AG) M.MF-:I=CV-)L;T5/+KIOBK.-$(2)&&V**7T5K?@*T_8=SFZIEVC0Z_(.FBC3 M]-ZBAFN4+4>-E&*-]\6J">24 CE2@28<.X1V]F%[;&GU; MRR;(M!L5'WI-_9NHD1)JO ]5TP?J5?^G2Q5Z/)^ BYC0^:M$;KC53L*3%156 M^Q5$_W' (Q4DB2K#$K^+1GG_.GB6"*(U:$S<;MS;4=ZI7 M.3>TCIPB?MF9HM5(T=V=8F7\4.[\ \P68!8*FA^P:9**5&G#ZHH,Y)&@TW7T M/V2EK21H=76IIJCR/*3J M>9FF;?=9/7#E?NAT[H>VNG6Y^QV@Z9Y(R.A:)8BCM'@+&/M"Z"#F),;Q5-8]H,KTD'DZL2O?0H?[UD[7'^P)9H!7$43F M^:AR*[3'K8[G^0/4;"=KGK_N9E"SG6RB1DJH\3Y4793*+9'<+8^XRPR*H6I= M?8LH*JB1$FJ\#U47I7)ZY![)+P9[(D'4]>1^46T,2&[G!_F%TM9G5/YOZ*=[ MWU%M!@8\ENQ[(D%SS]9G5'N'(7?\@V7?NSL:6V^ C-/)7FT+QIY>^ #9Y9%V M=QS:U@OW[%^T,:;S(&8@)#,12>\Z8@G3]1]3ZQ.>+/-W\$\)YTF4'RX(]@G- M .+W69+PS4GV6K_\>[#_'U!+ P04 " !$@EE2F=JCW*C"D^>9Z.,\BI'LL"!+XY2)53@TN5>KI00!-GE',O]/V9EU,F M1IN5V[M6FY4L#6<"KA7199Y3]70)7![7HV#TO/&#I9FQ&]YF5= 4;L#\*JX5 MKKP&)6$Y",VD( H.Z]%%\&D73*V!._$W@Z,^>R8VE+V4=W;Q+5F/?,L(.,3& M0E#\>X M<&Z1D,=]#3IJ?%K#\^=G]"\N> QF3S5L);]EBB^J>/=2+.#,*@QR"L#<*W&D2U M0?3:8-IC,*D-)BXS52@N#SMJZ&:EY)$H>QK1[(-+IK/&\)FP=;\Q"M\RM#.; MB_B^9)K9&FCRD?QE,E#DQ>;['1C*N/Y WA$FR!7CW.ZO/(/N+8@7UZXN*U=A MCZN(7$EA,DT^BP22#OOML'T0#@!X&'<3?/@<_&4XB/B]%&,2^7^0T ^6OVYV MY/V[#UV\AE%V$"-*8%%"OQ]E]V:4A@LSD ^$&34UCAQT](8:#\!-&KB)@YOT MP/U9YGML$GG 2WO6)_^1-MTJ\ INYN#L''K8A"OOH8/!M&$P'63P4QK*25&J M.,,K3PK%8NBJ6X6R/',\"<:SQG?%KGTH/#OS@M^LX3<;Y'=+^1VH@53/&Z#Y M[ZC>W23J,TD6/8R.0V]8'CJ_:2/!.Y+RMF_SKL'PV+M%!87)P#8LF+W(-/D'!4(OB?9@FX]?-Z5WIARPPJE38)K$]JI6 MW]%FMU%Y%T[;O-K?6O7G%,D)II*.5U2E#+\/' X(Z8_GR$M5:JQ:&%DX?;*7 M!M6.>\Q0P8*R!_#]06+WUPOKH-'$F_\!4$L#!!0 ( $2"65(/RT&;^ , M %@. 9 >&PO=V]R:W-H965T";I50E,_BH5HY>*V!9 MY506CN>ZD5,R+D;3235WKZ83N3$%%W"OB-Z4)5//"*%A>CV;TXX(FUJ&R^(?#5A^,B:7R*.5W M^W";78]23SR#0L9/&- M9R:_'HU')(,EVQ3FB]S^!36AT,9+9:&K7[*M;=T123?:R+)V1@0E%[M_]K,N MQ($#C08!71'?(*EHWS+#I1,DM4=8:H]E!59O*&]EP83_C M@U'XEJ.?F?XI9;;E14&8R,AM!L+P)6>/!9!;89A8<3N<:0U&OR>?L:T^D$6. M\Z )%V3!E'KF8D5FI=P(0^22- $O;L P7NA+=/GZ<$,NWEV2=];I[UQN-*;3 M$\<@ XO#26NT\QU:;P M]E[ MXKF>VP-H<;8[34[ \9O/X5?Q_(%X![4U.9#TI;ZLJ>^JKN^)9$&3+*B2!0/) MYJQ@(@7"#'F$%1?"9L(4S\!4W[?910NK:%8>GJ:^[P5!/'&>#BO6-?/\D(Z] MQNP(;-B #4^"G:4_-EQSN_9UU:SKC4IS7,!DK;@ED?V+JP4%QFAR\0! /DL# M)+SL([++%!T@I#Y-@K!%I&N6Q%X4]O.(&A[1N44'9('E7H/B,NO#&74 !%'@ M)UX+9]>L]5V.@,8-T/@DT#O \@J>LH(\@'K"&FLN(D^_O6-GC3) MDC=M]*134,\/HLAMU;W/;+C1J;N79/>WM7J=ZA!D[,7C<8M*CUD8)P-$#O86 M>I+(;;G&;=I66N\:!S=^/'%@5_W'++L^O:U#'B+Y0*E+![!X>RS>FZV[.M31 MBG+C(.A4K6O7:I1CL/M=@/JO=$"Z*3<%,Y 1CD7DJJH>-H'"1=,+V>]J&D4D M[9Y]W>X8\GXOH:K8\GR45M"N^21R/ M![27[L67GE;?-]6 N+NX$QJV]^T>LR2*QM$ E;W2T_';J\"XITT'16"_#]"S M-X+712#IG&-H&"5!T"Y;UZZO YR#,WH)N(SMU463U';Q[KC:S#;7HUEU*6C- MS^VUJ3K[[\/L[EQWJ XOJ)O H#=XKJF&.5S]0 MU@#?+R4V4?U@$S27R>G_4$L#!!0 ( $2"65(Z=X@C9 4 .<: 9 M>&PO=V]R:W-H965T<]]O%C&\9K MEC[Q):4"O,11PD\'2R%6)\,AGRUI3/@Q6]%$_C)G:4R$O$T70[Y**0D*HS@: M(LMRAS$)D\%D7#R[22=CEHDH3.A-"G@6QR1]/:<16Y\.X.#MP6VX6(K\P7 R M7I$%O:/B8763RKMA[24(8YKPD"4@I?/3P1D\F=I.;E"T^!W2-6]<@SR51\:> M\IO+X'1@Y8IH1&4@>(PHN$T&219A? MGG%.!?\.KF4='NW4ZNN4"A)&_)ML_W W!5^_? -?0)B ^R7+N(S%QT,AY>=?)H[?DSY'1XY3.C@&&WP&RD*41 M=+&S.?0UYM/=S3U#-K@>2ESXPQW^=A@70Q2[CF(74>R.*#^X".5THP%XX'2> M1>!/.6]Y/K1_4Y)JA]7L$$+PFEL"#\3E\,J!#L@K-XAU:K&.T?>OE'$.SB5U MP&\2952GKO3@%!YR2CY/L.OZWF@\?&Z60KL9G:)GG$$_,Y&E M,H-FIO1%+K&:L=#T.V*I_@+<5\\1QL/M^)! MWQ^-.N(I$D,S.>^75&[UYH*FVJAV.ZKE8K^#6% Q%9JA>L\$B;01-8S$DD]= MB2I(0C,E+XI]$$W!+8V*6C5RZ;)G6* M.] ,GEW6R1!WJ%6P0V;8Z6L6_ >NPB2,L]BT?56$0^B U8L4V9"9;'M4;X_' M_NI%BH/(S,%S,GN*V,+D2\$-.8?L484T9$;:/CUJ]HCZ>U11$9GW>KOP +6W M8-#WK.W=*&KOYT9VH]6F0L539*;?NV#@:6" W+94K\T"%WM>AU9%5V2F:U6? M.\U]K'"(K0-6*E8@PV:0[5&I/1[[*Q4K F+S'N\^)0$%UR2F)G>-(_0AS]!8 M(0M_^BFZQR.RJF.T6QVC33H5#O''#]"XO>WSH>T[6[.K:K8! KD-=O2S"RN2 MXL\[0E>N-DG@N8V]2:55U\Y!7L<>!BNP8C-85;GN1@/%0VP^NGZPZS&)E$#LQN>S1; M\=.&AWPMITAHFTFXSXLYL\?RQ9Q)G.*J;=[N?7 XR$O?<#1>7]J'' Y%3MM, MSGV&P^P1.=WKYK#Q!4!V\Z+XDL+!C&6)*-^'UT_KKS5GQ3>*K>?G\&1:?G-1 M;LI/0%R)-H,Y=97E422.5#)_"@(QGY)*/>6HOU8WTHS\GB6C M)7)%!0>)^<*[#"_6X<@"W(Y_*#9J[QNL*QLA[NS@.EMX@56$#%-M*8CYN\<5 M,F:9C([O':G7V[3 _>\G]C^<\\:9#5&X$NP;S72Q\*8>9)B3FNG/HOD+.X>< MP%0PY7ZAZ?8&'J2UTJ+LP$9!27G[3QZZ0.P!PO$+@*@#1(> Y 5 W 'BUP*2 M#I"XR+2NN#BLB2;+N10-2+O;L-D/%TR'-NY3;O-^JZ59I0:GEW\*D364,2 \ M@^L,N:8Y)1N&<,TUX5MJ/R^50JW.X&]S#C^L41/*U$?X#;[>KN'#NX_P#BB' M+X6HE6%13SL15ZV(Z 41802?!->%@M]YAMES M]XU+L5/;EU%0TR MKC$]AS@\@RB(@B."5J^&A[,C\/7KX=,!;^(^2;'CBU_@<_&'Z[(B5)H[IV%5 M$+E%!?]>;I26YN[\-V EZ:TDSDIRXB@!1.=VS/](]Z_:-!_7OQT:@TY=LSN$V1$TD%"(X#(1KW M)L9OF(A);V7RTXYD5*6BYAHS2(DJ(#<%V]Q9PAX55="X\F;J-!"EZ)8?WJ$V M.\-61\%Y$+P?D#_MY4]_/0^Z$0,F9KV)V1OF(0QVQ3'X:5>J>L-H"JDP:_P1 M2%5)0=+BE3DX8?!D$L*]PAX.4GTC[ [E$%6THXK>,MR[,A?&@Y)O4)ISXF(H M:2G,_)%9"VEQ!S:D^ M]ARM3NB()J>RL*NIX7!1_3673#\';?X.O#GZM@XKB))3SNP*;#A<88=>B ZZ M7]1GXVD0'-1T?Z]5*=$<(MOR*7"UK7W>^]F^K;QTS=3!_%5XL6J;PQU-VZM^ M,F>3<@4,&ULK9E=;Z,X%(;_BA7-Q8PT;? 7A"J-U#8=[4I;J9K.[%[3 MQ$FL 9RQ3=-*^^/7?!030@Q=<=,".>?U\8MYL/'\(.0OM6-,@]%Z B?O%[[S[4[G%Z:+^3[:LB>F?^X?I3F;UBIK MGK!4<9$"R3;7DQMXM:2S/*&(^)NS@VH<@[PKST+\RD_^7%]/O+PB%K.5SB4B M\^^%W;$XSI5,';\KT4G=9I[8/'Y7_U9TWG3F.5+L3L3_\+7>74]F$[!FFRB+ M]7=Q^(-5':*YWDK$JO@+#F6LJ1NL,J5%4B6;"A*>EO^CU\J(1@+TSR2@*@&U M$\B9!%PEX*$)I$H@A3-E5PH?EI&.%G,I#D#FT48M/RC,++)-]WF:W_B]^%OD5%RR MU27 \"M 'O(Z"KH;G [#CO3E\/29HS>XOA6XT,-#;@5[OQ4.85(+DT*8?$CX M*]A*H3KO8RE'"[D<'"\+Y!/BF4Z^--WM",,A]&D==E0MK:NESFK_8DI=W*Q6 M69+%D69K\Q0;HJUXE'.BJ]I2SF^4<0%)8(9$J]RN.!1B/^RNUZ_K]?^7NRG3 M7=7Z)U5 :(KU6\5VA'EA$/K=M09UK8&SUF7#2L!>SRR12;$([N,3X8CA'AV M HLJ[O@!],, G7':LABZ87S.:? O>. I3[+$98R%**0C>VYY!]W NU>:)P69 M,\4V60QBONFD2(\.!&\LDJZ2+-:@FVLN4Z/7/E,M=.!L9%,MB& XDJENG: P M5;DF5Q9AR(VPAVBU,Y?D\/XB"QP$Q[426=P@-"X3*KTF$PC&L_8KN0IK(@%3 M&IR9[B#+,.1FV!F;!P$!6>X@,K+AEC7(/6,;/'9[='J!@"RCD)LM#D][>8 L M=E PLJ<6-<@]P1GNJ5L'>?U L)!";KCP$AW63 EF383;(^OP@8/YQZ=7D1@2RWLILT0&XS'J]YNE5%AV,6*;83\1KP9"_%"\L[[VS(0@F/O(8C%D5DY#5[.8%L7PC;KX-\7P0,XA%%!EY;4;A"+*3+R0HY8))&1%G(].J2?&\3"C+@A]"V3*=>99$6'-_PU M/W9*6R21D9=OQ$*(N&=&'R=%>$(*.O-A&Q3A"2@H.C>OH)9KU,VU;H\'D8%: M&-&15WC40H>ZYT6#!VZ/3B\9J(45=4/FO*6]+* 6/W3D-1QM?'0?:0W7HP/[ M/T!0"RCJ!LN=2)666;E#R%-@(+LUKCK%+6CHR(LW:D%#W7.?#].@TCOZ*HE" MTM[ .(U"$.$6#::-S<"$R6VQJ:K 2F2I+K?6ZJOUQNU-L5W9NGX+KY;E]JN5 M*7>#'R*YY:DR+\"-D?0N U.2+#=8RQ,M]L66X[/06B3%X8Y%:R;S //[1@C] M?I(W4&]S+_X#4$L#!!0 ( $2"65(>8)0V$0, + ) 9 >&PO=V]R M:W-H965T"UR$LQMS(I M=]>V+9*,%%A+V:L MDCDMR3T'HBH*S-]N2<[JN06MPXL'NLVD?F$O9CN\)8]$/N_NN9K9O4I*"U(* MRDK R69NW<#K)6P<&HM?E-1B, 8ZE#5C+WKR/9U;CB8B.4FDEL#JL2=+DN=: M27'\[42M?DWM.!P?U+\VP:M@UEB0)CYJ#?Z M@.CUB-Y)Q,.NYT151!_^FXFQ%0H&R\/ CX(1I,'*%H2#HJ<$:W!"B(8FW&A\W[*.Z=+Y[SSK3NY'4->43C>=8.9&Z'P2/' M04>")UF?F,2J(_T7,9P8GYEM:"G7J;)2? M#]J)9+NFPZZ95/VZ&6;J2D6X-E#?-XS)PT0W[?Z2MO@'4$L#!!0 M ( $2"65)>6^= +0, /T* 9 >&PO=V]R:W-H965T4.UD(^JR6 1B\YXVKH+;4NKGU?94O(B;H4!7#S M9"YD3K39RH6O"@ED5H%RYH=!D/@YH=P;#:I[=W(T$*5FE,.=1*K,[I8:GO#'PT*LH 'T$_%G30[OV&9T1RXHH(C"?.A]PE?CW%B 57$ M3PIKU5HC6\I4B&>[^3H;>H%5! PR;2F(N:Q@#(Q9)J/C=TWJ-3DML+U^8_]< M%6^*F1(%8\%^T9E>#KW40S.8DY+I>['^ G5!L>7+!%/5+UIO8N/00UFIM,AK ML%&04[ZYDI?:B!8 ]_8 PAH0'@J(:D!4%;I15I4U(9J,!E*LD;31ALTN*F\J MM*F&G*$31#EZ M7(I2$3Y3 U^;Q!;N9W62FTV2<&^2[!)%^!R%01@XX..#X?CJ/=PWY38UATW- M8<47'5AS!V744$8596\/Y:/0A*%"4I[1PJQ(+DJN74YM>.**QYZQU2B,DB P MMJS:CCC"PJ271DW8.YF]1F:O4^8W4.JBY$:=U/0/S,P?WEA!E2H)SP!E0FGG MZ]VP)BTU%V'2_R#9$13U4K?@N!$<'^"K57F.N&EJ8H[^0WZ\HRR,XGX4?2C M$18F.(K=)21-"MN6"_=_4+YK=G$ M#H;?B5Q0,V[VQ M$U S\8[^ E!+ P04 " !$@EE2"4)+9:(# P# &0 'AL+W=OP'RM[I4=A;V7G)<@ M-)<"*=A>!S?XW0HG#M!8_,/AH,_>D9.REO*[&WS(KX/(100%;(QSP>SC$>Z@ M*)PG&\>_G=.@YW3 \_>C]_>->"MFS33(;S\W^.L@"E,.6U87Y+ ]_02>H M"7 C"]W\HD-K.XL"M*FUD64'MA&47+1/]M0EX@R TQ$ Z0#D$A"/ &@'H"\% MQ!T@;C+32FGRL&*&+1=*'I!RUM:;>VF2V:"M?"[@6&\T&_LMZ\/*_3ZU1OT"G&!ONQEK9G( M]2(T-A3G,-QTM+8;,I(T-KV**2!N4*R..2T"BRV7T<($MZLN1G9'2( MK$6E9V0T'B5+>[+TM\A2CXRDR1C9K">;_8PL'B*;>60X(:-L6<^63;)]D<;N M"W\'M)R9+Y"FH^F<]YSSR6WY0=AM!]H@>+(7CX:)O8>C4P6*)H5<.D7V.A#2 M@$9&(G>S@4+R($ -UYG(SRY-XEYG>_@[J^39&E#\W&HU8)7&9#AE^*S"XE_6 MMY;*^N%BIY$MH*@6M88<;619W(@3C M$;WDI)?\LEY^G%/, -('5@VK(WX1H-E(0*=:BNED0!_!&+>'MFBC(.<3R:4> M?4:CR]SZ1@DFEZGUC>)9/"+D5*;Q=)V^*:4R_+_FIG9RW.%'6RZ8O23$SFX? M;89UQ7[(L7=$?"/J;YDA(SJBZW0CX.DKH2EE@X$GWH',:)9<1NY;S2GV0O>M MZ Q?%L3PK)6RA6?7M*3:IK86IFU&^MF^[;UIFKV+^5O7#CE#.PW[?25L=NX CZ/PG+ M_P%02P,$% @ 1()94K/H $Y7#@ $%L !D !X;"]W;W)K&ULQ5QM;]LX$OXK1+ '[ *I(^I=11H@KWL%^A*D[?;#X3XP M-FWK*DM>2D[2P_WX&TJR25G24/;:FR^M[4C#(6?X/#,CCLZ?,_$CGW->D)=% MDN;O3N9%L7Q[=I:/YWS!\E&VY"G\99J)!2O@JYB=Y4O!V:2\:9&_W8N+\VQ5)''*[P7)5XL%$S^O>)(]OSNA)^L?'N+9O) _G%V<+]F, M?^'%M^6]@&]G&RF3>,'3/,Y2(OCTWYC-(\OY M=99\CR?%_-U)>$(F?,I62?&0/?^3US/RI+QQEN3EO^2YOM8Z(>-57F2+^F;0 M8!&GU?_LI5X)[0:;]MQ@US?80V]PZAN

X]0WN]@U>SPU>?8,W= 2_OL$? M>D-0WQ"4QJI6MS3-#2O8Q;G(GHF05X,T^:&T;WDW6"1.I2]^*03\-8;[BHL; M_EB0SX])/&/2-7+RAGPNYER07V]XP>(D_XW\0N*4?)UGJYRED_S\K(!AY(\8@X])38%HV^?;DAO_[R6X>4ZP%2;,LDY6: %!J9I-P.GI%M MU5+B@B\Z)-T=9&U^'RXE[)1R!FZQ\0U[XQMV*=89Z!N(2&9SVWJXEK=1H[).^Z+0=;M5]3:J>JBJGU=%7H"6 M4ME'EH#:O&OG>:V1;=MW0Z>IX&UUF:]?YOCZO_UYI(4&4F!AN-TG"TX MXG7!1H, 7XY'\(/^JYD(*]\"X\O@U;.KC@M71K0NVKG,"EX=9\.J[R@J!G.M%F.A$Z MG2]%-O[Q1H80$]AY"PBL\M(YNB83M5SR;4 M4@1JH>Y]+\ <\1(P9%K!2XDF3QP^%QAD4HVBJ0&V7N0ZS9F8\5*T@"B1"+EB MG=Q%V]NX9Y**"2A.!55,,(GS<9+E*['M=DVIB@PHS@9 GW;G#-KH;SN]Z$\5 M_%,<_V$\IW,\M^WD;O]X"L,I#N(/_"E+GB2$CRO$F]:(AZV>@E6*X^H.]$P5 M4E(<*J\R ?>4*K,E:+NM:QVJ!2T#N9*>^U9,P1PUX-PF/IBNMY-4!<@Y)_): M^7N]EDP(ELYX>7EG4-I&+MJOH4(NBD-7@YC7B]6)PK0-2D'_&MD*<&SK$*%! M+:4! V&+\V\[+FMJ60&L45IS,@K;;!S;/O "XL!\VCN^[!9)V.YIM1I)-+13,VSC, MOT_!BW@.#O0B8S]^*E>W4X$VB(=VV!/.V K$;1S$;_A2\'%M?ID+ NB((OYO M]4.M5*<^;4Q_XUN^W6,71X&Z@X/Z+A&QT\;B1DC<5$%!L8-#\;W@;]CXSQ6X M1U%5&O-54E%Q^;.H56-IS/-3B4<3#AP-OZ[2":^V_EUG@%.KW8;L-S3T:(\W M.0JSG4&8W;=Y.W6QVQ%FZ(61WZ.+5M]PCI(-. J-G:%H'*]W$:0"P!C+JH#7 M#Z5.&TI[=I*CH-3!0]P/W)2.U )D%K49UAJ%/0,K_'1P_-PQ*:JE-;0(1GW3 M5W#J&"H+G=0(H7-<@.%+( '7E G3J41967.JX/<4DJFG> )_SDL RN7^ARVW M7 F84\[)6_*AO'#.4D)',B/H7R@%_2X>11]QIR@6<'$6J-)'+7N<SV<.P^IFL:AK8,^\M3?.#AL?_Q73/PY(4V+#NFL*(7#T\0CNB:BFP\G&SV M=DU)6#W%07X. 7L6 FHI5&JUU9'7G< [RM<]_&T8YV5RGY7/B25@B'C< M\52R-H'7-H'=:P+MG,G^@/N1O9A<6H&DCX/DWFNM(- W5E0 8?D,-,P MBBGA"!3.!_OC_*%-/C O#A1+!#A+'-'@BD<"G$<.97!3&(^GR8%BE6!_5CF\ MP0=EFX%V\/&UXOE D5F D]FA#(Z/8AF2ST Q7( SW-]I\.$Y7*A(*<0/)![/ MYJ%BEA O\!S(YH91J"&E"Q4+A?N7D6Y7(IO(DS?B5>@\5-04OE9I*50,$^(U MH$,9WE1IPND\5&P4[GE$\VB&'TCJH2*H<, YT..87?%,B#]K.)39\5%,M>]0 M.TZ__Q.-8YE]$+6'BJ;"UWK&$2FJB?#\YT!F-XQBJBM'BI:B_1]7'\?LPPD^ M4F05#>C+.H[E%==$>!IT*,L;&@0,!!\I7HH,O 0K-0&[Y#R-,UFAVOUD?J1( M)1KP9'S8R?Q(P7R$YR'#3N;70AIG ZWV>>Z;J'W U.VX[K;C.B_LKR-%BC$B M',L_-$_S/[9F1]AXG(E)649?]A1VKJ/.YJU^]11!1$,;$0R-BE%'FP&R/EJ' M%)Z%[-ZK>!6U#Z=2M[?CP=([G' _I;6YV/+$Z!Y9[_%S5I(H\CF] ^OM3]9 M.&I_[5[_+7E:+Y-UL+Y6:FG-3);I]/Z@UAFKI[6U=Z&T]B;+=(BH/C58%EEA MUNT6?RV4IY;6;F7AP3S6 M/81MXJNU8+\)AWT6T5JT+!RT!_;JK,4@.%:AS?K"YB;SVOTZ R1N34IK$;-> MJZA$+:U3S,(1^B\?DC0-8#HE22VM: M#1VH.S5G-MI.#0>$5HORO#$8,MV<<]YT *BF@/[3QK2C%[7GN#'5FU$I7JT9 MNJMH^Y2_&[:[X[NN)V+6;@\S>J]\!2'&"_%&5VMO/>-XAU#8D'U3MJ M#2VU;=M^O?Q";@$ 9F@CL-XU6S>S'L:^&FSMTNR*V;?]?+6_.91JK:[4T.NZ MKWD-8AU#(8EJ#:S4T,':85YR2ZYEJ6 ECT% 6"4+"4"6X\T#\8],SBAMK^>6 M%AHDV@=LT-QL><"M M?-.6B,>5[!EZ%74QMOB.L:I%DC+T)=5VO;I,YK->]0K8>3 M&IHX#U1%-@UC.@Q"M89/:NCX_,Z3)"=WH%H&[IG^."6?1I"AWV%<6L,\!\>\75T:E^:8JC]:TR0U=#5^3OF;ZB#AA_=7GQ\.80>M$9*Z M^%FZ@]A!ZX.D+HZE.]K!((V.J(O;00-9][6.(5!7?]73WW(0P32,Z0@*U?HI MJ6O(IG=RX*WGE:@.&B*[>#AY&#?6X-30I/@'@PQ)-D^4CEP>).\V@R%:;2X= MJIR&K8:^QUWWF.F$FFF/:2CL&EZ@%[\DAJ;!H:YB M$+.U=*AR&AP;^A!W=!6#-&MD^YVN^*_IC]=8$DO I"))G($^(J-Z^ M7'TILF7Y\M_'K"BR1?EQSAF$X?("^/LT@XRU_B+?)[QY"?;%_P%02P,$% M @ 1()94B=15"9S P _ L !D !X;"]W;W)K&ULM59;;],P%/XK1Q%(((WBI4G2X$DLR"6>Z'O#SQ&:.%,QW;O6DS'?*-R6N"U +EAC(B'&>9\ M.W$"YW'CAJ[6RFQXTW%)5GB+ZFMY+?3*:U@RRK"0E!<@<#EQW@5OT^#< *S% M-XI;N?<,)I4YY[_,XE,V<7P3$>:X4(:"Z+\[O, \-TPZCM\UJ=/X-,#]YT?V M#S9YG:J?7$21S(<$DVN;KAVX]8)V0#7/!$QH,M#5 .B8T#0 8AK0&PK4Z5BZY 21:9C MP;<@C+5F,P^VF!:MTZ>%T?U6"?V6:IR:7J(NFH17*2I"<_D:7@ MX(KFN59% MCCVE?1A+;U'SS2J^L(,O".&*%VHMX7V1879(X.G@F@C#QPAG82]CB@L7HN , M0C_TO]ZF\.K%ZR^E:9J6Z"Z>S16,:JX6EO3Y+$DKRT&B42-%9&FC3BFD1#P# M*\D9I"@7@MI$X<>EMH5/"IG\V>,I;CS%UE/D;$93,(_B=% M!G+-A7JC4+##EZVM4'D962_F@+F;#MWAV+O;%^34)G'CQN8@_/,F_//>\+_; MCQDS('P@G4&3SJ"7YW*_ MSFW1#TY*&"9N>%3G%J/830Z-TA:CJ$N-81/^\-_4$&CN&UJLZ@XRS=265C_M M$!Z0" D#8/8\:=.GGR&I&8**03-EY$'V")8T&2>]Q#>H6ZTD- /%=;8Y,=F7 M1"C:_IDD)U6/3^0[M8F./Z6TC2=I%V_4I#+J3>5*"\4VK*[=6\(QOIJNSG@!'56/T!1+N @E[N3YOV!P%\"5PFZJL>J+0 \\?Z+RF9C7K M8$_+H%W)8'=]!%&_EN3^*2UW%T00_V\M=Z=YT'^./J%E/SCPN\7T]L8BAF)E MQTL)]JJHYH]FMQEAW]G![6A_9D9;.V[M:*JY^(J(%=6BY[C4E+X[U-&*:M2L M%HJ7=OB:\X]]US'3F_%Q9/, !1ZR2F3?2=3:G'ANG*:08[E.5\ TT]2+G*L]%3, M7;D0@&<6E%,W\+S0S3%A3M*S:R.1]/A24<)@))!N17+C.3 ).$,"4C[SJ5_,>B:>!OP0& E-\;(5#+A M_,E,?LSZCF<$ 86I,@Q8_SW# "@U1%K&WY+3J5(:X.9XS7YM:]>U3+"$ :>_ MR4QE?2=VT Q2O*3JCJ^^0UE/Q_!-.97V%ZW*6,]!TZ54/"_!6D%.6/&/7TH? M-@!!? 00E(#@HX!6"6C90@MEMJPA5CCI";Y"PD1K-C.PWEBTKH8PT\6Q$OHI MT3B5W(#V0*(F&A=M1#Q%=@U=2@E*(LQFZ(;@":%$$1UY.@2%"95G&G,_'J+3 MDS-T@@A#OS*^E#I:]EREA1EZ=UJ*N"I$!$=$#&%ZCEI^ P5>X!V #SX,][O; M<%?;47D25)X$EJ]UA&_#"FJMP,8*ZP1]4Z MU4$+"ZJ.I3+OYG/2;4=!U'.?-YW:CXK;7M2JHK9TMBN=[5I#;A<@L")L7FR- M1K4A7M'CY40JH5_&/S5^=*H\G5H_;E4&0N]Z(8"IXUX7?G3V*O7#3ASN^'$@ MJNWYX6$_PDIG6*_SJ!\--"C4-]!8806Y*43OHVO",)L23-&(2V(/L,=O+\J< MAA,*&B]W#2R*?$?')_P:? G5EEU195=4O\TYFS<5B+Q\G=YI;+2_A;U.M-O8 M_:@H"+O1X<;&E=+XOQO[)?VL3_\YHP9?1+;E5+=RJEO+/A(@C19N7'KF@^,G%G/"I*XVU3CO/-($HKC$BXGB M"WL/3KC2MZH=9OJ[!X0)T,]3SM5Z8J[6ZDLJ^0=02P,$% @ 1()94M'7 M&_QY P \PH !D !X;"]W;W)K&ULG991;YLZ M%,>_BH7VL$DW!1L"H4HBK_9$&( L\EJ^3**Y2J;WU?9@4IL;SA-:GTFP,7)59Z*8Z^ MK 7!N74JF8^"(/9+3"MOO;1[.[%>\D8Q6I&= +(I2RQ^WQ'&3RL/>B\;W^BQ M4&;#7R]K?"2/1/VH=T*O_#Y*3DM22\Y_F<77?.4%1A%A)%,F!-8_3V1#&#.1M([_NJ!>SS2.E\\OT3_;Y'4R>RS) MAK-_::Z*E;?P0$X.N&'J&S]](5U"5F#&F;1_P:FU36(/9(U4O.R$ QQQ0YX"N':(1A[!S"&VBK3*;UA8KO%X*?@+"6.MHYL'6QGKK;&AE MCO%1"?V6:C^UOB>Z!A+,P -6C:"*Z@4_ +L-[BG>4]9NOM\2A2F3'[3MC\/_N W@': 6^%[R1N,KETE=:D GK9QW\KH6C$3A$X(%7JI#@4Y63_'4 7V?2 MIX->TKE#DQ&W)+L!(?P'H %#D&;OW:'Z82%Y79HK)S46\G M$%&/B"PB&D'H1*&K\JW7W'J9;_G)6,ZCI?_D@,U[V/PM&'+!6J_X @:3(!B! MQ3TL?@L6NF#Q$!8E*''#DAZ6O 6+7+!D" N1J;@+MNAAB_\%6PQA" 8+-RSM M8>DD['M!='\_*")K5M,VL,[O\R!=Q L,1T>>N!:?;UF-3UXR80].'2*MV M6&CO;885R8'B;3.;[&#PW,+@= _;8%F &M,<:!3 I3DEJ<$9:_2U8"X951!0 M:F(CK"QG-W46,AH4$@51%%X7 &ONY=_,3Z41!SM5"6! M_5C:J[??[2>WCW9>N=J_,Q.='4O.8=IQ\ &+(ZVDSNZ@0P8WB=8DV@FK72A> MVR%ESY4>>>QCH:=2(HR!?G_@7+TL#*"?<]=_ %!+ P04 " !$@EE2$$'N M+$0# ">"@ &0 'AL+W=O,F-HFJU=PD M!I]S. YA[]CQ6&VV MNNWP%[,=V\ 3Z!^[E30M?U IJP:XJ@1'$M9S[PO^G&-+L(B_*SBHDV?41GD1 MXF?;^%;.O:!U!#44NI5@YN\5EE#7K9+Q\:L7]88Q6^+I\U']JPUOPKPP!4M1 M_U.5>COW4@^5L&;[6C^*PU_0!XI:O4+4ROZB0X>- P\5>Z5%TY.-@Z;BW3][ MZR?BA(#C"X2P)X1C KU (#V!?)1 >P*U,]-%L?.0,\T6,RD.2+9HH]8^V,FT M;!._XNVZ/VEIWE:&IQ??>"$:0,_L#12Z0RLI7BN[IC,5ZJF:^-@5;&+_K!'KK!P@N#X1!]%UQO%?J3EU">"_C&^6 _ M/-I_"*\JYE#<(X+_0&$0!@Y#RP_3<>:@YQ^GIU?2D&$QB-4C%_26>RF!:Z39 M&]H=5^+NBC =A*D5IA>$OT()DM6N%>N(D26VA\3K@L11%,_\U]-I=*!(F.)S M5#Y%A6$2I@/JS'LT>(^N>G_23 ,R&PZM]B"U0(]5(5Q).IGX9'0<)EDZ2C)% MI20=@7('*$HS=XYXR!%?S?$L-*O-)VV7V.4_G@Q*,Q+1D7\'"L=Q-@HP11%, M<.).D P)DJO;,XXBFI+1_#A0 M)(F"T?Q,4930"].3#=:SW[-1LZG%D"8CBTL'*@K&7]P4A(,+^Q0'[U="\(&= M6O:K[3SF@ZFY)(O&:^&"T3 :AW# *#TY@LYCG-QL^&J,][O,E$?FYK(7G6XO M.F'R N&!1DI!1)O_DXFY ;FP!I% A]EQWE^#0.Q19 M7VQI,>I_:(LO6Q"\RW25VW:AVXS2=M])A*V-9' "RA.]M3G93[3XXCDATIL+AB>T+5FPWC!9;JEF\=L><$IP94Y YR MW= I<$8GB[EY=L<79Z\AE^6L-8 TS$KXP<1.L::"F/C#WIF]OT M>N+J'I&<)%)38/7W3)8DSS63ZL??->FD:5,#V]=O[%^,>"7F$0NR9/E?62IW MUY-X E*RP64N[]GA*ZD%!9HO8;DPO^!0Q8;!!"2ED*RHP:H'14:K?_Q2&]$" MP"$ J@&H"P@' %X-\+H ?P#@UP#_O8"@!ACI3J7=&+?"$B_FG!T U]&*35\8 M]PU:^951G2@/DJNWF<+)Q2U-6$' #_Q"!)B">Y(PFF1YALTP7JR(Q%DN+M6K MGP\K#;>V MOGX_/!XQPVL2PC-\WCL28H3.;^A\0^=6!,VUH2C M1+>-$2I5L 1R1\"F9Y?VR&9*Q1T8;ETDGQ>^BY W=Y[;%O2C/!B'X6G4VA:% M$&JB3N1%C;SHW/Q2!5TH;1,*6S-AW.UZL^D%AZ/L=P_I!D1^Y=K]FC8[9J(Y?."^K8H1S MM:O!-+&KF/7:GJ*@T\&5+2B:=538@N)@8-BA>RRT[MD!*2E7!79+LW](:J;Z M(Z%DDTFKHIJOW1$8!T'4T60)BSPO[HBR1$UA,*"IM7F XYJ8+L&E6N ?X!\F2IZD^EJ1J U/H9*]6IL8_>^H'EA%&W076%A7! M[@IKBX)HY@U(.]9<.%YTOZLJRZV=#_L->MT9N;)$1;T5R,($8W^@Y\=R"J/1 MGM]Q]IR98ZO*B+.UKB8[V1] WX5=/5&OKU[DPYZD/IL71-'0:!Q+-QROW6W4BV-\?/1R;58=9<[@A6^SD=H-YO&)-O M-[J!YAO)XE]02P,$% @ 1()94H@P2K&X! )!0 !D !X;"]W;W)K M&ULK5AM;^(X$/XK%EJ=NM)N@YU7>H#40KOTP]Y5 MI7NG^^@F!J)-8LXVT/[[G;PT >*X](XO;>+X>6;FL6<\>+CCXJ=<,:;02YID M>%B, M/8CQD&]4$F?L02"Y25,J7F]8PG>C'NZ]#3S&RY7*!ZSQ<$V7;,[4C_6#@#>K M9HGBE&4RYAD2;#'J7>.K&0ER0#'CKYCMY-XSRD-YYOQG_G(?C7K]W".6L%#E M%!3^;=F$)4G.!'[\6Y'V:ILY::237CR=QRIU:@7]%#$%G23 MJ$>^F[$J(#?G"WDBB[]H5\WM]U"XD8JG%1@\2..L_$]?*B'V ,"C!Y *0$X% MV!7 /@8X'0"G CBG MP*X!X#O Z 5P&\4RWX%< _%1!4@&*[6.5R%&LYI8J. MAX+OD,AG UO^4&R( @U+&&?YWITK 5]CP*GQ?1;RE*$G^L(D^HH>!-_&Q;Z< MK&BV9/(+NGVA8)<6.^UBRA2-$_D9IOZ83]'%I\_H$XHS]+3B&TFS2 XM!5[E MW%98>7!3>D Z/,#H.\_42J+;+&*1!C\QX^WW\'?OV"<& @ODK#4E;YK>$"/C MGZ&Z1#;^@DB?]'4!F>%SM@9XOQ,^/1F.!QKXK1G^G8HWYW&@4],,G[+0&/NW MD^%:YV>GPP/#2MIU=M@%GWU"=ACHG)K.*>B<#KHRI_)\6==Y!L?Z/I^O=I;A2%@D6QTIF>NBW3CK=G MNMP2[4G$P[9]..N;ALKU!H>39AHJGWCZ4+TZ5,\8ZG4$T8'6LCCE(@2JYU&O MN:R&!4NH@@^*P\+$L""OC IM*?,TD3K'>DS:LWR[)5HYR3N@"MS@2+3V+-_Q MCY2=::@Z1?-KT7RC:'] WP0=DH#"GRU1PJ5$(17B%?;KC@IMH9_Y;3\(R57-.0C7K0L$HFMJPW1KH5^?\\!_+A?M-6](T"/GQ$N+N*[* V M8*>EBF::[3OX*&=FNFFNOYV99E&X;FH%@<,G1Q M_SC_;)*--";(.0X$$NJ^7!+&FP].V M7W9[QPZZ$@PW9R$V'X80(_H'ZFQ^5GNF6)L3#;MG$:\Y-[#YX/C0)K[![3+L MX4Z=FCJ,S85X7R??%%9347%P%IV:8HG-U?*#.FDJH-NE$VDJ#C%7G'V=3+T? M:?*=X'/H1)KL)N2,.E5D^SIAW)EXI"D)Q%P2GKB"&O8FERSR[^M[HC5I39RS MB-9D-3$WJA\43=>+=N^NIA00M8,&OOBB%E8EE<-T%+R#>9*G]/U:/UE=9U<9%S-#[!5[=8,WZ'KV;E MA55#7]Z?P2_290Q=>L(68*I_Z8.KHKR2*E\47Q<7',]<*9X6CRM&(R;R"?!] MP;EZ>\D-U!>#XU]02P,$% @ 1()94ALBA<-^! ZA !D !X;"]W M;W)K&ULG5A=;Z,X%/TK5C0/'6DIV("!41JI']K= M2K.[U;0S\^P0)[$*.&.;IOWW:P.%%!M:S4L"Y-SKXXOO.7:61RX>Y9Y2!9[+ MHI(7B[U2AR^^+_,]+8D\YP=:Z5^V7)1$Z5NQ\^5!4+)I@LK"1T& _9*P:K%: M-L_NQ&K):U6PBMX)(.NR).+EBA;\>+& B]<'W]ANK\P#?[4\D!V]I^K[X4[H M.[_/LF$EK23C%1!T>[&XA%^N46@"&L0/1H_RY!J8J:PY?S0WMYN+16 8T8+F MRJ0@^NN)7M.B,)DTCU]=TD4_I@D\O7[-_F3V9-9'TFA<_V4;M+Q;I FSH MEM2%^L:/?]-N0K')E_-"-I_@V&&#!(D $83 :@+ M0!\-"+N IG)^RZR9U@U19+44_ B$0>MLYJ*I31.M9\,J\QKOE="_,AVG5K=5 MSDL*'L@SE< #-W1+A: ;\P!<2DF5!&=?&5FS@BE&Y6=P=D,5886^\L#W^QMP M]NDS^ 18!1[VO):DVLBEKS0QD][/.Q)7+0DT0>*&YN<@A'\ %*# $7[]X7"8 MO0WW=3GZFJ"^)JC)%T[FZXJ@=!%(4P1O)FW8IPV;M-%$VLL\YW6E"RIH3MD3 M61<4Z'H!4NA>(E5.@>Y*L.'U6FWK0B_P%NXJ9SM0W QD&O5IA6"*E_[3:=%L M$,0XZ$%OYA#U/[HF;[9 +UPM)A(8MK11;+-A$]))AD9/Q>H46M"1;#NFT*39\-7^JL:&SQ"+,$C]G:*!3'.'/3Q3U=/$OW*]7E M/"7KXH?MD5&"TQ$_!RI(D]#-+^GY);/\_M5FHFU#Z!==[4#!I00Y$>)%K]8C M$>Y^3RPB$$&4C.C:*)3$$RLT[=FFLVQO*T6J'6N:JVE=EYZDUL!)EJ;N@;-^ MX&QVX/_4G@I7+3)K,&Q5PL;$*';S@<$@[<%\LVHEX8H43D$.K!'3 )W(0R>\ M-@S##.$):B>N V>I_2!%35H??U4_MV] :WPOAM&8I0,53K4E'&P HEF2#Z9X M9D\P=@,G4^184TDT%F4'#,,X3B:X#MX"Y\WE3I@652^MT/VJV4'OM923:&@7 M"X9I,EZ23AQ$Z=2['RP$SGO(&WM]1_:@[0\P#+,Q50GOL+JAM M$1X.K((Z4&DR]>8'(X'S3O(1;;Z"MBMX*$(38P^V .=]X2_.-T=6N,70]@.] MU+']\APXW&Q9G=P&YX"_:1W0]@4/862)B@L6!)&;%QH,!,T;B$, W^E79/N% MUFNT:* TP&E-UP((HF]@MH)-#Q@=/ M&:P]@DV1?9M^, 0T;PB.0XRS"(ZC1!8%XXVO"Z;W 6/5\D\.HN9?@'^(V+%* M@H)N=5QPGN@$HCU8MS>*'YJSZ9HK?=)M+O>4;*@P /W[EG/U>F..N_W?&ZO_ M 5!+ P04 " !$@EE2,#QO^3 % #(%0 &0 'AL+W=O]S%ROG:2]>U9@ M;6L*B)-$G-Y??Q(0(" 4I]<^W$L">+_5IV^7W45G!\:_B3V 1 ]9FHOSV5[* MXG0^%_$>,B).6 &Y^F7+>$:DNN6[N2@XD*0"9>D<.XX_SPC-9ZNSZMEGOCIC MI4QI#I\Y$F66$?[]$E)V.)^YL\<'-W2WE_K!?'56D!W<@OQ:?.;J;MYZ26@& MN: L1QRVY[,+]_0#7FI 9?$GA8/H72.]E3O&ONF;Z^1\YFA&D$(LM0NB_MW# M%:2I]J1X_-TXG;5K:F#_^M'[IMJ\VLP=$7#%TK]H(O?GLW"&$MB2,I4W[/ ; M-!NJ",8L%=5?=&ALG1F*2R%9UH 5@XSF]7_RT C1 R@_9@!N /A8P*(!+(8 M?P+@-0!O"/ F ,L&L#P6X#< _UA T ""*EBUNE5HUD22U1EG!\2UM?*F+ZKX M5F@5$9KK5+R57/U*%4ZNKO.898"^D <0Z!WZG0F!K@CGWU66'PA/!")Y@C[) M/7#T>@V2T%2\489?;]?H]:LWZ!6B.?JR9Z50=N)L+A4G[7D>-^M?UNOCB?5= M])'EOP4RQ.T<-\B[&#' MM"$[_!8*!7Y]R;<;R!1_E-=^8!S2) D#X@( 5*@ M7'41=O3R=63KU9;5:KJ%W*\BSU$ZW!LX+EN.2RO'6TDD_#2&]5I^CR$.IACZ M+4/?RO /QO,]P?R>B[RV5@9AFT+ -K*MU S/*8II14 M'91MD2J)Z YV-,^U?KI*0IY4EQDKXK2L MS>.8E^IWFDO@(&3E2DT:))44;&D:MM1#J\"7)"5Y#(C('E_%[CL0;E(Y'*GL MJF(0#50>6^'('X1B$XY"$48X,D,5QLUMJ9H1 _[_3>NKM=CJV Q-%I'8SG\P,U-B:KT \G(N_VAA7W M)9M0=4*FH 9C5-T_/(TXX1KH#:.YX29.PBHG:_^CC@5!8GA M?*8^% 3P>YBMD*FO_@1'3S7%G:;XV/*@"IBM,#2.GF1F&"R']==@9B@@&Y.W M?@5YNIVNY;L+ZW:NC67TL;,]S@V7'HI6-9X[(?2<^+A@'_T)CUTV*YP)-)VLT7KGW MJ&9,V^:[UNY&OT)=W'5!;.^"/Z(N'COXD:Y]XP9R.#:5],L]P5]JQO;1_ M) \T*S-;(G2%%7O_MWD>=P4-VPN:^LQN%*U#?1#2/FV/(R^J0[C!\[5[NJD/%3LW]1GG1\*5U *EL%4NG9- <>+U ML6%](UE1G5K=,2E95EWN@:A"K@W4[UO&Y..-7J ]O%W]"U!+ P04 " !$ M@EE2FAL$_A,$ "I#@ &0 'AL+W=O 1CR7G"A'WHK8\K/0:#3%114]V4) M_D M4A74X% M UTJH)ES*G@0A^$H*"@3O>G$S;VHZ416AC,!+XKHJBBHVLZ R\U# M+^I]3'QERY6Q$\%T4M(EO()Y*U\4CH(6)6,%",VD( KRA]YC]'D>C:R#L_B+ MP4;O/1,K92'E-SOX(WOHA981<$B-A:#XMX8GX-PB(8]_&M!>&],Z[C]_H/_F MQ*.8!=7P)/G?+#.KA]Y=CV20TXJ;KW+S.S2"$HN72J[=+]DTMF&/I)4VLFB< MD4'!1/U/WYN%V'.(DS,.<>,07^LP:!P&QP[1&8=AXS!T*U-+<>LPIX9.)TIN MB++6B&8?W&(Z;Y3/A,W[JU'XEJ&?F7XI2BZW &0& G)FR NG0I.;.1C*N+XE MGP@3Y)EQCEG2D\!@3.L9I W^K,:/S^!',7F6PJPT^2(RR X! B3;,HX_&,]B M+^(KD:*[OU(\^N1[AHDC]1!FYR!@QU\ M5W(\P,,6>.B AV> 7T"E( P>;")SDF*"%%M4]B#J>F(-"C("37S],]&44\4 M7RNR0;_.K> /&O>3\"^=MRU[ZVDTZ@\FP7I_9W08 M#?OQH=&\PRCLW[5&!^Q'+?N1E_UC(2MA2$FW=,&!&$E*3&J7CM%)]+"?',GH MLAET$QRW!,=>@G]6Q0*4W09M^LEF)0E50"IA:W4!UD*3?\F9TS*K(XSV:(V. MB)]:C+MIW[6T[Z[>%1HK9.;6ML#RSWYMA"A2-@VK/#U'-?$Z1K*_GD?$+UK, M?18'TNY;:?>73BN3F:W#FQ5+5R0%A<59X$3&UBRK*-%X;E%XSM[Q M@0J!;^UFPU9M.A7[0T<)V0)5OIH3A;M6$WK!GND[*ZJ"V+)383=0_X>>"QQ& M5PC:ZYV1/S%2N8\7/"N+ND)KL@9MF%@2FAL4:$#4\>JRBOL0#.K0H-8L!7)# M42GN2E>-;SOE^!DD83_T%M4HWHF)K]EEG3QM/VB2A37\0*]-E-5\W-L;^OZ8 M47@Y&[MF&0U^,!LYP[\?SHB?Q3BYE)%=DXXN=NEK,C).OBLC_IC7'/A=HX[\ MG7HGH(/V =^\XGSK8^T/%%^QCW8-.O)WZ#>1V^J4?3 DG-$%X\QL.YF-3LK] M\*AE1*==>MB/CGI"L/<-7X!:NKN0QLSCUT+]<=S.MO>M1W?+.)J?V7N8NQOL M8.I+W#-52X;-D4..D&%_C*15?2^J!T:6[J:PD ;O'>YQA7=)4-8 W^=2FH^! M#=#>3J?_ 5!+ P04 " !$@EE2,^/ C H# !P"0 &0 'AL+W=OU&,=NT?4G\=L]S]YQ]]F"M])W) 9 ]EH4TPR!' MK,[#T*0YE-QT5 629I9*EQRIJU>AJ33PS!F519A$T6E8!:['*T0Z$HT'%5W #>%O--?7"%B43)4@CE&0: MEL/@(CX?QUUKX%9\%; V.VUF0UDH=6<[7[)A$%F/H( 4+02GWP-,H"@L$OEQ MOP$-6DYKN-M^1O_D@J=@%MS 1!7?1(;Y,#@+6 9+7A=XK=:?81.0+ M0JRXVT:H6 7:'@?:R8N40M"TL]S>8]_9'&1&\K%+@1L##_M)RW[BV(__)D<> M_&Z+W_5&=PF(E&2UI(PBL;":,J)9)DQ5(U!4+U5L\M' GCI8>_P?1LD@?-CC MR6GKR:G7DRDOJ1089I#CKWNBH6SLNSN4_?V4O9:R]V]2.W&'D73YPRR?M8Z< M_9K1I0'U2RA4J\_LU!IZ0Y26,/P*(V-&\,6^YVHNB=S]EM&8K]=6@K)G]\2\QM=8G]Y>5M,;>%)/97DG\AII\A>57, M<.<2I&.ZN23;J[W MIH.J&PO=V]R:W-H965TRBP;$:SKJ]IZ6P3I42/I.(8V(T MG*E;7D2BI#O^>1X(]57O0(PZ"D7A9Y$*V/6'^)8IRO(F;Z4:RCLFX54 M.3.VJ9:Q7BM@6664BY@DR2#.&2^BZ;AZ-E/3L2R-X 7,%-)EGC.UO0$A-Y,( M1\\//O'ERK@'\72\9DMX /-Y/5.V%3=>,IY#H;DLD(+%)+K&'VYZB3.HOOB3 MPT;OW2,WE+F47UWC8S:)$J<(!*3&N6#V\@BW((3S9'7\53N-FCZ=X?[]L_>? MJL';PY^07J ?6=OU0*7?U'F]VW@T&$TE(; MF=?&5D'.B]V5/=6!V#,@_2,&I#8@E>Y=1Y7*.V;8=*SD!BGWM?7F;JJA5M96 M'"]<5AZ,LF^YM3/36YGGW-@P&XU8D:%;61A>+*%(.6AT@1Y +"X^%KI4K$@! MO;T#P[C0[\:QL;T['W%:]W2SZXDD.TDM$\7M$$I)\?KA#;W]XQPWDWWJ* MK?YF$*09!*EIYB2?N+^QO'C"VI[ MC=I>2[7PE(+56XGF3=)2J]<*?TG3SO&@O:9^HZD?U/3%UB(H_<9.J-P21#-7 M@X',#!J_@VY2/6P<#H-"9Z#0>7D<'L2LCE@@;*-&S>B_GWBC5PB^:@1?!07_ MF*^%W()ZH]&OG,VYX&8;R I./)>2;A*-]U"'.TYU[?"\T&&/+4S.#A[Z&]VS M)YZ7(3!B#S),.PJCIPW^;KC!9_,&>^#@,'%^A@(4$^VFH<<-[H@WV ,'=TT< M_!KD8,\<_#] !Q]2!X?U>N3@,',.,MVJ9HA'#^D(/<2CAX31\R]JAAPRZ$3- MD+UU4QA UZ61K0J&>."0CH!#/'!(&#CG%PPYY,SI@B$>-22,FN]2,'6?[0N& M>(B1P1EI;ECW(CC*O2U:1Z"A'C3T-&ALX6I9O'=7M):"I]N6N[O>P<2C_>.SCGK8 MT#!LCL7QCXT,#=K#@7:TPJ$>"?3T"N?5<3Q5@N"P/1_H M53>1['DZ])*.?_IJAR?G8;QW9N3.W^Z96EK"(@$+:YA<#JT'M3O2VC6,7%?' M2'-IC,RKVQ6P#)3[P+Y?2&F>&^YDJCE8G/X#4$L#!!0 ( $2"65(S9$XO M8 0 ,L0 9 >&PO=V]R:W-H965T MV292>L*:3;9D0U^H>MTN!8RLTDO($II*QE,DZ'K:N\4W"^QK0&[Q!Z-[67M& M.I05YV]ZL BG/5LSHC$-E'9!X,^.WM,XUIZ QW?CM%=^4P/KSP?OCWGP$,R* M2'K/XS]9J*)I;]Q#(5V3+%;/?/^5FH \[2_@L,L IV8OB@=O$8]#*N0OZ.%[QM0[^A4MTH"FN@P124/T3454H*LY583%\AK> MO[[,T=6G:_0)64A&1%")6(I>4Z;D9YB$Y]\CGDD P[@R>&)Q#"4N)Y8"[IJ! M%1B>=P5/IX4G=M 33U4DT4,:TK#!P<,9!T.OPX,%:2MSYQQR=^=TNIS3H(]< M_!DYMF,W,+J_&([]!OC\+T4X# M>G$.+?K(\37<'G64@5MN(3?WY[9M(5W>Z)EN,Q%$H+MH*?A&D*3#]:!T/\$ZOY1RMG[+EN:744A%<& MX74&H5?IH"R5KBQCDG9D:%@Z'W8GOT&_.MR.2K>C3LZ_9GW<_7-%,$+?DI2M,GEY%6"[.L;LGUD'N'8^XO^E M$KZ8[UR65NQ4_)S_JAB,YV&=T$DI=)H<,Z[D$KO=HJ:7JD$OS^DQKE03#WZV M(N-*S7"WG'U(.#Q!%R$55 -+-RC@20*W>)E'62L6Q=$*KE,!E*: 80:7$(&( ML:LD'FV;N!9'LF%V5$+8[KO'B[8P9O5%:U$<7,DL'G9&?1N&3'>W.RJ@KX2%9T'!.^1Q3(1$6TAS'D-S"(7;48W;P.W[IVK>8(;] M_K#E4,>5H.-N1:^V5X@"(L2[+G[H.UGS[=YONJ;8]BG9+_F7!T&^@/E_R]F?P-02P,$% @ 1()9 M4JKS;W6# @ 5@8 !D !X;"]W;W)K&ULC57) M;MLP$/V5@2Y-@,9:[*1I( N(HQ3MP:@1H^V9D486$2X*2<4.T(\O22UU@]CU MQ=SF/;[AC)[3K51/ND8TL.-,Z'E0&]/9#;K]CGXP46DFG_"]L^-@J@:+61O =;!9R*;B2[_AWV /'5 4#2 M Y*W@-D!P+0'3$\%S'K S+],EXI_AYP8DJ5*;D&Y:,OF)OXQ/=JF3X4K^]HH M>THMSF1K(XNG6K(2E?X ]\\M-:]P ;?"T(N?N"(M>R:)3DAQ0$B>PE,+4&NY%B>6_!*%-:\PM M&7);)$<9>GPZ^/9#,=*S7U?+-CE1J+\!N6 M9$=YRX\PST;FF6>>'F"^)TI0L=&P0@5K5\HCI)51N;Z#RJ&#-!:MHH;: M)L%=P5I;8*B4Y%!(WK2&> ^0%> @I;%2?%;W5BXLBK M<5[WDD63. U?]NM]2E#^GZ#N,<*]+XZCVGCGTC8;*[5KT'%W-,=;[PEO]A?6 M-#N/^TO3.>Z2J VUE6986K$E\KWAO)GA:!8'(5]4!:#)CZ;F M:NE56KY]U4K@9:6U-1^% 2IWU#&O=7"KCW) MU4)TNF8);_YHI60- M<,4$)Q)V2^]C^&$]-W@+^)O!09T\$Z-D*\2+>?FS7'J!<0AJ*+2Q0/'O%1Z@ MKHTA=./[8-,;CS3$T^>C]4]6.VK94@4/HOZ'E;I:>KE'2MC1KM;/XO 9!CTS M8Z\0M;*_Y#!@ X\4G=*B&OW=,OY'WY*^NV8(D8DJH6O MT2=CV2^&\^_[\Z,+YX<1^2*XKA1YY"64OQKP4 M:*4Q XSOL8!TY49U"DJ3KT(T;:<-%J\,*P@22QD3IJI_>K3(;568WIO/8X)3JZ+8&TF&'0GVF8Q+1VOO8UI0K^^'!*N;VUFG\ M^JI.O@W !G3E+NSL/(M1/(G#.28*IE%P8/+8'8-\C$%^8PPP %JRPI8SWE1L M1B;CP'7]]C,P?:!<&O,SW[*IQ/^&K,\A89"Y%#^3@A] M?#$'C$/LZE]02P,$% @ 1()94G34U!D3!0 /10 !D !X;"]W;W)K M&ULM5C?VWVOU6TG0KY)N*&=/H/4TR M==N+M5[?>)X*8Y92U1=KEL&7I9 IU? J5YY:2T8CJY0F'O']D9=2GO5F4SOV M+&=3D>N$9^Q9(I6G*94?]RP1V]L>[NT&OO%5K,V -YNNZ8J],/VZ?I;PYE56 M(IZR3'&1(;SQB"0NU,4'A M;\,>6)(82^#'/Z717C6G46P^[ZS_8<$#F 55[$$D/WBDX]O>I(F?6A^L/=#%GFO)$78+$Z\L<77RZ M1)^0AU1,)5.(9^@UXUI];@S\'8MWA?> MD@YO,4&/(M.Q0E^RB$7[!CR 7N$G._SWQ&EQSL(^"O!G1'SBMSCT<+8ZOFY1 MGY^O/G&@":K5#*R]X"=7TV%Z4)D>6-,#I^F%-1TV$X6]FV?6MIB%Q6MKT1#0 M9C;J0Y0VS?@>RPP/9>;',N,^J63VX PK.$,GG*\9@&!(TW>T8!E;X/#P"TR00' H9['<8VD,PJA",G @>><;3/'4L[;BR-/[=63.I3$_<69.G M2"P1=! $!( ^&)7*#"@F-SQD"!H74'\(;4!2#=-OF-(\6R';5#27#%J,-@HA MDT [&5*6E(0E)65M LEHR4.C77RD6RJC5G)Q^SH>%OXY8%]7L*]/%TM)G2Y[ MV*]IVO_=:X0;/0 [W?U>1GW-)!=1*RV[#00G(X=)[0QQ([5]PV6J9D,<.-UZ MRK72D",&&]50Z"N>93:]EM9A=&$RRLYWV8JZ,#]JE&TPZ2 >7!,I=C/IEW=,Q?,Q]V4]]!5!C4T+GQ&!XY1$:3 SYL$>H.6DUVV,UV M92U!M['!HXN$_:SSHV/G![C#KYHZL9L[?]B-)8NN[C9 84!SN]5%ST!*S)7& M-8=B-S&=E<:12!)#KE##113:@U#,-&X&8=SW1QUAJ/D.NPEO/Z?/]*4PB7&S M*T[ZDXZ^2&JN)/Y_2?#SO"OG:$8J\/O#@\[^T"+F""BI*9E@9UX]Z1C)N]5*LA7LB2 '3JU9I_]M>^NN6-?M@[C; MQU]YNH#4;+BA8Z@RJ".[>P,*,+LRS(M[/ I=B8M7[$ACL2H ,3I9 MW?:(N^V=50*_#&SB/'<6+GN->Y64R96]GU(0Z#S3Q15#-5K=@=W9FY^#\7M\ M,R]NLFHSQ<7:(Y70S15*V!),^OTQU($L[JJ*%RW6]O9F(;06J7V,&8V8- +P M?2F$WKV8":H;P]F_4$L#!!0 ( $2"65+)W?0R 04 -H; 9 >&PO M=V]R:W-H965TU*.SM5N[OSV0U.@@HX:SM-*\V/7V,(ID-PH(/Z)0D$'Q^?]_#D)9[ON7B4 M&\84>$Z33%Z,-DIM/_N^7&Y82J7'MRS3WZRX2*G2AV+MRZU@-#*#TL1'03#V M4QIGH\7F5+Q.'_,#_Z( M+D9!GA%+V%+E(:A^>V+7+$GR2#J/_\J@HVK.?&#]\R'Z;V;Q>C$/5+)KGGR/ M([6Y&$U'(&(KNDO4'=__SLH%A7F\)4^D>07[\MI@!)8[J7A:#M89I'%6O-/G MLA"U ;AM "H'()-W,9')\H8JNI@+O@)C0#EWD)8_4"/MPP1>-$?@1R M0P63(,[ WQN^DS2+Y-Q7.K$\O+\LD[@JDD M24 $OO),;23XDD4L>AW URNJ MEH4.R[I"SH@W;.D!##\!%*#@#/AEGL6K(SZNRH9-?-(2_PQ"#T%=I#,8>D'@ MB$BJB,1$Q#V%<(0.J]"A,]DOSTPL8\G 5L1+]@GH.Q&P+ )\!03-U@Q\T/)% M/$FHD&#+1%&LC\=T+"::F(GR&_YI80HQ]Y^.Y#>N\AOWRF^C[Z2W)EC,-*XG M&![/;E)E-SDAM5;82(U/2#VM(DZ'EGI6A9Z]E]3%1!"^*J6NQ/%JPL ")W@W MMSO1*=>Q0W=(- MDO=3G323S*5JR=%B$KHY::%^4GB+-C@>7'A+)NA&TY#"3X[<[NUHAY9UJAP-D'A^C?=DHJ[9+B;.V*:V&%W+#Z M:Y<^Z)KI8MX73NP'.&9R2L\$F[^.Y'CUD$4;0LX,OAOCRZ+SRR;/VZ,QRHE?&"'N3<4MQ+3:1VQ4>VJ9,C#XDS+5RBSKD1EV_M@F[MXT% M(W*;O@%K/^Y5>TM7Y*9K$PM=C2"R=$1N*]@3"Q9IR(VT?OK.FOKBX'CYL"4> M=ON\7^3"B>BDY (Y< &14US %JK8#=7A>K.* Q2>]BF_AB=WP;("A\P,#MGC$;M_8#PS80@V[ MH=9/X$E38-16/LL\[':$OPH&=_1Q"89991BF)\%@L8K=6!VP-V>-WL0S;S(] M7EQBJ4NZ^ M[<\1I[A :O\2=C.$W;A +-/(@(:0- TA&K>UKD4>Z>D(^W'A1/2POV$@EJK$ M3=4!>W/2[,W "W%+<2UT23>CV9$+EHAD0*-)FD83D99_&$*+O+"GT7QS\#?()J.V_Q/U!+ M P04 " !$@EE2;(?T0B\( "P*0 &0 'AL+W=O"IND\,Q9M$Y%$ M+T7;R6)__)(28\J6>"2W&>Q+(LGDX;E^YQ.I\QT73^6*4HF>\ZPH+T8K*=>? MQN-ROJ(Y*3V^IH7Z9<%%3J2Z%G8G+L_Y M1F:LH'<"E9L\)^+EFF9\=S$*1J\/OK'E2NH'X\OS-5G2>RH?UG="W8WW4E*6 MTZ)DO$""+BY&5\&GVV2B)U0C?C"Z*QO72)ORR/F3OOE7>C'RM48THW.I11#U M;TMO:)9I24J/?QNAH_V:>F+S^E7ZE\IX9D-S_YFJ5Q=C*8CE-(%V63R M&]_]08U!L98WYUE9_44[,]8?H?FFE#PWDY4&.2OJ_^39.*(Q(0H<$["9@(\F MA!/'A-!,"(\GN%:(S(2H\DQM2N6'6R+)Y;G@.R3T:"5-7U3.K&8K\UFAXWXO MA?J5J7GR\E[R^=/9M?)ERHNU?EZB][=4 M$I:5'] [-$;EB@A:(E:@AX+)\F/CP?<5WY2D2-7#=_K^*\LR+>%\+)7B>OGQ MW"AY72N)'4H&&'WEA5R5Z'.1TO10P%A9O#<;OYI]C4&)MW3NH3#XB+"/_8?[ M6_3^W02HDAPY)']^7JL:5^DEJGQ^B%$E&B$.5U"@13E)(7R.9X MKUD,VGR5IDR;23*5GC6$JCM <+(7G( ZUT7U6!75O%E4]%E?4_1?]*ZK"FJI MLTJJ!NSM9>+-SL?;9O:UQ\3'8V[;8R8>WH\Y,&FR-VG2;Q+ZJTX+P$73O;PI MZ'L7[@"B9WO1,U#5ORNLI^D9V5*A>A=:V-Q>4U'7#.(+Q VB+04I=(*^5R"5 M\BS3Z;8?^*$K96L%)@T'!Z'G)]TN#GR+Q?X;%V'0P/E@6!FF;,M26J3HA=%, M&4U*1+2Y9/8;I"*V*N)A*I95LJT%FU.TY9E*C(S)ER&JP@N$ M@3?Q05TM7 8A*.H;*Y_.%H)2!1T*V&@ID2"2#M$1%HR]) %5M+@;1& V_257 M*HF'(5M@,3.(0?UNNO#L11%4R=$C551PSI<%^X^*H@/DC/PF.OE>X"@=B[@! M#+FMHEI* M#>!JP-56)1O@WDF'>R<.]UJT#F"X_I,79EG3 CZB^S[J$5C #F#$MM*)5/%8 MLJ)@Q5+;K'M_AI(+&PQ&?N@;C]JQ8;J8*0U=3B+ M(X<2%KPQC+$'#M+8?:IKC/RF6GARQ"PZQCC=9S$=XU,39U^J5Z94?]?]%]UJ M^+3O'!#)MRB-83 =D%B#&OZU6>>@XV,O#AWNL1B-87;[^\G4PP@ZI)87!(<^P2Y-+)1C&%#!9!^H6]+C))/Q'<. J%KTQI.W?;' %HCQ MM#=,.H7K]M9I.RP@K-^G(&4L;F,8M[\I911)TZ&JWP_4VSYJ/:PV!J!75(O% M(E8.ZW&;#B4W8V&: M]QEZ64-HL3.$L?/A34B#6:39]6:NV%DP#6$P;<+Z("7BEA)!,'5H88$TA('T M1.IBI!U0EVGL4,)B80@SV2]<+"@[28])6P\'@PHM;H8P[#W\(H$RX@\BA/VC M?M(QR)E+%F3#&5@QKSB ?I8N119?(YCK]E?4L/9KEFGVU6CBQ8Z$CBQ21S!2 MG\R6KHW Y(2SCP_/(J<&=?4. X\'Q]MK'6)BZ+FN$/++-A',.2>S+Z,O&/# M @=WB2Q 1S!E/JS7@S(_:BQ=3PUA4*':/A+!?>1JN11TJ;&7%8KF%B6;VQ@(2WWK+:$Q;T<"M_?Z. M0:$7'UO;-<@55]MY(IC>WU%196PQIP.I?&Q;3?QV5#ZV#2+^AZE\W*;RSMVS MV*)[_'^C\CTK&RH?O5)Y'/4>GME.$<-4_F1HBRWNQS#N][_E]@CH?\N-&Z>$ M,)G__K)6P*K*>]VHAXVN!)5%^M"X4[\VHW=@3VP!/X8!_ZX^5= )I+2I-<@I M*3=");1*F^:QB:#ZV&1+=>:OJ4JSI>";=:>F\**Q[_G@F4EL^T0,]XE3]*\/ M3]7#M: HI?KL6$E+T>>[^TXCX)7[C; -((8;P%U=NBH13.56'6W%LU0Y65"Y M$05B957/1-NU8W+5B$ UL3:]8=7CBS:LF6"=1O[JSDYLH3^&H?^&9/.-RB"E M6]7,%(S6GV420]^^^OS?7N_L$>U;H.T&M9^IBUT5)= M.MBVDL!MY:?/\]O=!'O'V^X=@X+VB7Z7I)G#+MN7$K@[.!J\,NTVCM!OL/# MMG^SS<^-PD>6,/6\Q.>C'[#3WO/N_9/]Y\=7E4?VQT]OPX^W=8?#UHQ];>,7XE8*N*.,KI0(A6]4R$4]>>! M]8WDZ^J#N4J,7V'^D>?D_4$L#!!0 ( $2" M65(M"3#^@ 4 *H9 9 >&PO=V]R:W-H965T:. D:P%GCM!UI?_R:1R$8 MA[+;?DEXG'/LZ^O[ ,;/0O[(-IPK\)+$:78RVBBU/7:<;+'A29@=B2U/]9V5 MD$FH]*E<.]E6\G!9D)+80:Y+G22,TM%D7%R[DY.QV*DX2OF=!-DN24+Y\XS' MXOED!$>O%^ZC]4;E%YS)>!NN^0-7W[=W4I\YM(YP M3B@0?T;\.=L[!KDICT+\R$]NEBZ^4'Q=8N^'HS1FD>A0]*ZKN1YJG) U_KF%+@)BTC.H^, MSQ=,]2K>,$71\"#OP+D(O?[PP7X_.F+95[G_2H/?*M5 MW+=4+OI5IKMTB,IEO\IM*(=8=#5X76!P6.7KX'7I4[D>O"Y]*C>#UZ5/9?K? M]TM6QHQ%;/8ABSP?KN);55J1X=69P"MDO>&9H$<5UZJX4,4'5'_?)8]< K'2 M)7LKI H?8PZJ!P&01MV88%A#U._#;NTP%P7>L:@5[9! ^+C-NRK M38T&T!CTVF(I<3T7M6$W71CQ?,R\-FS:A2&?4$J,%9E9K08\&IE_/:6=V$&M?4,/]-ABA 3'< M;X%!Y@;&$E_9YH8(=0WWVP9%S/3KM06F&W9HF'!C@;E4^]5P?W=N!.O ,4R8 M66 Z 6(#-N_",*;HD.]9[7O6Z_OS2V3F;*NND&=X)Q MUD5YD!'#&7.+%D-[\=\RQ*\-\7L-^29R,TZSC"MK*^9W-PHCS".&TZXL..)J MAQA;93I0;_:V7LOZJU$ +N=$T20!+Z9"6Q 5Y=OURA\TZ&*LP&*;:.;W@WV M-V_[Z> R?X#IDN ]"/305.!8'\)ZDL'W5*!L4?-VCBSX#SJ,6@V4!:< M+MOTP.HWI0?VUYXW,T&W"'@,=:VPP"@S^ZRY!:8K\:$MU!04V%]1!F>!H#-\ MT*EZ%I N>YV,UD419K<#-54+N>^*_XK>WE/ZB<%X%+BRX+33$#&,F [4F[VM MUS:X*:>HOYR>"ZF?'4/%P2]ALOU-QW^41&D1GWV!CYI"A] '!CYJZ@[ZF+J# MNI6"(K,AL("0!\VB4Z':'3X]D !04W/0^VI.1=\?-H#,1^:6Z\(8A=BL-\/4 M9F^JE<8Z>Z]'$R[7Q4O_#"S$+E7E^Y'Z:OUAX;1XO6I&ULI9AK<]HX%(;_BH;IAV2FQ9(MWS*$F09" M J$[V62S^]FQ1?#4MEA)A/;?5S;& ?G@\6Z_)+9XWJ/+>W3S:,?%=[EF3*$? M>5;(Z\%:J+/D1K HJ41Y9MD8>U8>I<5@ M/*K*'L5XQ+MD\ M"OUF-5&2-&>%3'F!!%M=#[Z2JR6I!!7Q=\IV\N@9E5UYY?Q[^3)/K@>X;!'+ M6*S*$)'^]\XF+,O*2+H=_]9!!TV=I?#X^1!]5G5>=^8UDFS"LW_21*VO!\$ M)6P5;3/UQ'?WK.Z06\:+>2:KOVA7LWB XJU4/*_%N@5Y6NS_1S_J@3@2Z#BP MP*X%MBF@9P1.+7#Z"F@MH'T%;BUP^PJ\6N#U%?BUP.\K"&I!T%<0UH+0%'CG MC,,'YW#?.DAC=LOMLY*#W:3RV]HG5I65TTA%XY'@.R1*7L?+M$G9"&YC@23*"W02Y$J^5D7ZN>_UGPKHR*1(TOIYI656''=E)M]4^PS M37'0-UZHM42W1<(20+_HUA.[(X"EQZ49'/LP.#=V9\0IBX?((9^1C6T,-&C2 M+7]F&RW'9^73;OEB6W3*;[OEWR+1V?A9[[Z3$)#?]>X[*+_OW7=0/N_==U"^ M^#W?'WYOZ);]Y4%'%CO-%'>J>,[_G>(==="F#EK50<_4\<3>6;%ET*3?"]U* M6)X)WL=>&(0>&5GOQU.IC?F$XC \Q:8 1AWJ!:?8+8!A3!RCTAE4:>@&]!2[ M@Z)Y(3$JO0=ZZF('VZ?8O(VY3D!]YQ1;M#$[<#W/-4;D > \XMJ^?\HM 8X$ M=N!_Q#MQWFV<=SN=OQ-<2O0H^"I5D/U[M7=4+7&\T/1U F!4>^$9]D.8ZX6N M83^ $1^'QA#/H+;9KH<-^Z%*;=_T]1[ ]%F8&%V8 QCVM*^&_6W,I7KB&%UX M #"]Z% #6[8Q2CW[G/=>X[W7Z?T?^I:0%C'/P8GOM1*.V@$U!G?2IER, V-J M3=N4$]*6[6V*^+YIP R(1;%KN'D'4)[M&.-ZWZ9L2LRI/ ?:%0:>T:X%0&DO M'7.^ QBACFVL64L(LT/LP([[C>-^YUYR$\DT_M*Q801-H* S=:I Z$*?&!.> M99&0:,/$_DQY"273/II_W)VAN0!/(,@QUL$I!&%S_VA#>$@-: 9!YAIS!T+F MS@%!YHHPAR#7L'W1ANB0&-O>0QMRA@:SA)ASV1,VIH>=V3--LZT^B'3E#\$? M%Q?46G]EB'%]38DMT*?:1G:"!XS MED@D6,S2=_ F.:LCGVQ. <9&BZRC>W7.Q%OUM4BBF&\+M3]_-Z7-%ZFOU;W< M*+\A5W,"E"_*+UC5/?XC_/[SE[[!O.D^H8RM=%5XZ.NFBOT7I?V+XIOJ5O_* ME>)Y];AF4<)$">C?5YRKPTM90?-=;_P+4$L#!!0 ( $2"65+6XA-[4 ( M %P, - >&PO17!0JGRB^=528$9JBY$B;G.9$(RI+0KAWV2/PB\/@K^!'@-?[8)[T,Y SVU9 M'&:"]SLW@S:@R8AAL$8T@K>(DI4D9E2&&*$;&PY,(!%42*#TD=&E?!.IGFW: MMYXY38[#"!>RK6TKV,^5Z[Z7V'I&(*&T$QA &XC#$BF%);_33MNY#;Y( 6TC2ZR$C+%LBOCPVTH#BG.C!Q)\L*T2I2>22HEF#92@G+! M4:MA.\(9&IM@2A_-5^U7ML-NLL&>3^N:0X0>),]*T?I-U L;H_C@=E27=?*4DYPS;R1]<, [1=APHA"3/ MNIHY*HD.8 G!&DM%DF'DCT3E$C=J>YR:;%QS<(*:_^TZYYACB>A0M#[[Q[S* M[U;L[J;_H;G]6=E7_*K(V>7Q:W3W\;&+7)R"R)/8[JOC%SF[/DJ-GKN_!X^$ MG2="%P7F*1;!G^911_NB8%43J@AW7D'2%/,7+P6-5VBEG_H[?-T_Q1FJJ5IV MR0CV]CU.2* MNQS $P( L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %( MMB6/:(7->=I3W;+T]! M;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B M':5_'AH& #5- #P 'AL+W=O:_TCZ52/]C//"O,56]K[>[38KZT$/W UE16JE*J"Q:O@NQ=[\WE]M MLB=IY%)FTAZN>O7?F>BQ7!8RE\]B==6[Z#&S5?MO2LMG55B>):E667;5&S8[ MO@MM9?JJ.:D@%WQIZA;+EX\<0*YZT06<<"VUL?41]?DY,#X).+C9*JVZD9D5 M>L*M^*I5N9/%ICH-7,7 N8RZ'XZ?32=^TO^G&]5Z+5,Q46F9B\(V_:A%5@$6 M9BMWIL<*GHNKWO$0QHL5FQ86.HG=%LVIX-CJ2N&G;U?-55O =?I0?Y*P0]^N M:G ZR/'\/IG/;B>CQ73"KD>ST?UXRI)OT^DB<0 ]!- [&R#[\, =2!^!]-\1 M,EG Q]WT'@#G-VS^,'UT( ,$,C@;9+*8CQW($($,SP8Y'B7?',@(@8QH(:]+ M(PMA3#VRYWK#"_E\.J9C!"^FQ4O*/.?ZP-2:)7)32/@:AVEHE*:JA&G(@;Q$ M("]I(1_%DRA*P=9:Y6P,;M PD1NVEW;+QJ5Q(#\BD!]I(6^XU.P[SX#S3G!3 M:E%]P84;7F!S]P4MWBC]MX0?K=M=)M0GQ$+YJM1J+[.L'ANW*S@8GC\.#. ^ MRUO6PZPR)-8*1#<[B#T.C9RA&W?5%UPZ3"=#8I],A.4RJP;PW&Z%A@&A=15) MS* G(=IR,3&A#(F-,A%+R^;+3&[XJV<0<\B06"(S&*NB18/)8DALB]LB5;E@ M"_ZSS8098DBLB&F^R]1!"'8M"K&6ECUDO'W_,#4,B=TP5GDN;3W5UN.ST@-$ M\:)(9;L+,34,B=V06)7^V*IL);3YHYY"[,$-F3$Q>,1BJ-GZUS *JL[+X4SF M-#[Q,$EXQ))(Q*;.C+K3(0]--XC%D(@,LE[HM[]+KB&-S [L1A8<'CV>L8F; M;WB8(3QB0Z QWC^>BXD9PB,V!([INYB8,#QB8:#!:+LW,9-XQ"9Y(QQE'Q95 M@.7.C!XF%X]8+FY8>F3[TX7#W.(1NP6-3]NW&K.+1VR7[OBTJS=]3#0^L6C0 M0+75FS[F&Y_8-Z>!:F<_8M;QB:W31*R=6&A9B]@R;NC:"8>YQ:=V2T< U@F) MF<4G-LM;D=@+J(N)F<4G-DM'0-;9E9A6?.JR%A:9M><:3# ^L6#>+ ZR#]5L MZ6)B@O&ITQ"8[JP>8O()B>7S5KGE949R,3'YA,3RP$?7936K D>^"'W$W+(TQ $7EY[15F<^.;#G4Q,0%% MQ (Z5J\Z[G*$&2=ZGZI:GSD)1=W&1L8(=[4_PHP3$1OG%^8=AT<07 @;OTAG MK;N,&2Z1@L3,TY$;)P3S$>1JB*5F7RIP;B8Z"MD[_A6 M0*LWQUN(+5LS$&:8,V4,&W.M#W"V M/=L4?8A_TRH:?G(Q,0O%U$6W;LP1,/8GK8I!C%DH/L>J3Y_=E_D2XB(WBXPQ M"\7G6O>!8 1VN9B8A6+J=1\,LSV$T!>:J9=^WL:L"ETN)F:AF-A"G:MH'4%Q MC#DHIE[X09?1W!SR$G/09>V@07VP^?)Y!3HKQ.H>?L) >\JS]$&SZJ-^4<\+ MPNIEO76996-HFQ&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDMNHT 4A>&M M6"P@N&[=A].*,^I)IJUL #GEAV(;!+0ZV7U;SL ^J <]B3@C5" N_^@# 4^_ MRK$9#^UYV!^Z8?%Q.IZ'=;4?Q^Y'70^;?3DUPT/;E?/ER+;M3\UX6?:[NFLV M[\VNU+)<>MW?SZB>G^YG+EX_N_(_$]OM]K I/]O-[U,YC_\87/]I^_=A7\I8 M+5Z;?E?&=55_'&^[A_JZ20^7R=7BY6U=]2]OJ:KG#A((DOF#,@3E^8,4@G3^ M((,@FS_((YP]*2Y1Q29 TP9I ZX1<)P*O$X*= M",1.2'8B,#LAVHE [81L)P*W$\*=".1.2'N?)RQ("O3/JG0GTSJAW)M [H]Z90.^,>F<"O3/JG0GTSJAW M)M!;46\ET%M1;R706U%O)=!;46\ET%LG+[L)]%;46PGT5M1;"?16U%L)]%;4 M6PGT5M1;"?0VU-L(]#;4VPCT-M3;"/0VU-L(]#;4VPCTMLG'2@*]#?4V KT- M]38"O0WU-@*]#?4V KT=]78"O1WU=@*]'?5V KT=]78"O1WU=@*]'?5V KU] M\K,)@=Z.>CN!WHYZ.X'>CGH[@=Z!>@>!WH%Z!X'>@7H'@=Z!>@>!WH%Z!X'> M@7H'@=Z!>@>!WC'Y69! [T"]@T#O0+V#0.\5ZKWZ3KV'\?-8AEO/UQJO_YU4 MCY=SR^WRU^773KQ?K*XXU_<5P_-?4$L#!!0 ( $2"65(L 6<[&P( XN M 3 6T-O;G1E;G1?5'EP97-=+GAM;,W:S4[C,!0%X%>ILD6-ZW\8438P MVQD6\P(FN:51D]BR#5/>?IP4D!@Q%:A(T MKK8YAV^,I69+@TNU#S26E8V/@\OE:[QGP34[=T],K%:&-7[,-.9EGFI45Y?4^?'=16I3]7B^K!QREI7+H2^:UPNZ^QQ;/]*63XGU.7DO"=M MNY#.RH:*O9LPK?P[X/G*L6MI<>MB_N&&LHOM>Y;R4T^I/E[BG1[]9M,U MU/KF82A'ZA0BN39MB?+0UX>B9\>3<[EA.GSRD_/G,L<"R\[;Z$,J$XOT^;B7 MD4RGEZ$4HIB[XZ_XFEA*G_Q^-$V[I?:#V>5Z?_NXF^>1V/PX_8[?SOBU_B?[ M$"!]2) ^%$@?&J0/ ]*'!>GC'*2/"Y ^^ JE$111.0JI',54CH(J1U&5H[#* M45SE*+!R%%D%BJP"15:!(JM D56@R"I09!4HL@H4606*K )%5HDBJT215:+( M*E%DE2BR2A19)8JL$D56B2*K1)%5HZ+X^=G/;AN?,EG\]_ K_X 4$L! A0#% @ 1()94@=!36*! M L0 ! ( ! &1O8U!R;W!S+V%P<"YX;6Q02P$" M% ,4 " !$@EE2:MOW#>\ K @ $0 @ &O 9&]C M4')O<',O8V]R92YX;6Q02P$"% ,4 " !$@EE2F5R<(Q & "<)P $P M @ '- 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( M $2"65*^F%8XX 4 -48 8 " @0X( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0# M% @ 1()94D;T)]63 P JPP !@ ("!Y!4 'AL+W=O M*0 & @(%V'P M>&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94BU90I-I M"0 KB< !@ ("!A"< 'AL+W=O 470 & @('.- >&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94KXM*Y&"'P .6@ !@ M ("!V%, 'AL+W=O&UL4$L! A0#% @ 1()94K@;\:$4#P (S< !D M ("!6WX 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 1()94N3YKO[. @ .P< !D ("! M79L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 1()94@O?H-7X#0 *2T !D ("!IK8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94M%1[&[A M!P V!< !D ("!P=, 'AL+W=O*0 &0 M@('9VP >&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94G?$6[]V! O@P !D M ("!T>L 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 1()94J\U3)CY!P $!P !D ("!(QD! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M1()94H2HQ;:T! )@X !D ("!5"L! 'AL+W=O&UL4$L! A0#% @ 1()94J:G+Y>'!@ M#A4 !D ("![38! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94BE"*I V P =@@ !D M ("!ODD! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 1()94J#:6QK9 P .0L !D ("!558! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1()9 M4D1H[[F7 P S P !D ("!M5\! 'AL+W=O\$ #3%0 &0 M @(P$ >&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94CC0%?IQ @ S04 M !D ("!2VL! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94O6(,R/) P ]PP !D M ("!L7P! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 1()94A@2QFQ(!P O24 !D ("!M8H! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94IG: MG*>" P 'PL !D ("!D9L! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94E2AV$5R P D L !D M ("!%*D! 'AL+W=O&PO M=V]R:W-H965T8)0V$0, M + ) 9 " @62R 0!X;"]W;W)K&UL4$L! A0#% @ 1()94EY;YT M P _0H !D ("! MK+4! 'AL+W=O&PO=V]R:W-H965TF\ 0!X;"]W;W)K&UL4$L! A0#% M @ 1()94B=15"9S P _ L !D ("!=\L! 'AL+W=O&PO=V]R:W-H965T 0!X;"]W;W)K&UL4$L! A0#% @ 1()94ALBA<-^! ZA !D M ("!1.,! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 1()94C/CP(P* P < D !D ("!JO$! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M1()94JKS;W6# @ 5@8 !D ("!M_T! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1()94O[(+:#"! XQ, !D M ("!OQP" 'AL+W=OU " !<# #0 @ &X(0( >&POS,MZ&@8 -4T / M " 1PE @!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4 " !$ M@EE2M,4*KF@" !'+P &@ @ %C*P( >&PO7W)E;',O=V]R M:V)O;VLN>&UL+G)E;'-02P$"% ,4 " !$@EE2+ %G.QL" .+@ $P M @ $#+@( 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 6 !8 + !\8 !/, ( ! end XML 96 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 97 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 98 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.4 html 336 588 1 false 115 0 false 7 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations CONSOLIDATED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 10101 - Disclosure - Business and Organization Sheet http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization Business and Organization Notes 7 false false R8.htm 10201 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 8 false false R9.htm 10301 - Disclosure - Revenue from Contracts with Customers Sheet http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomers Revenue from Contracts with Customers Notes 9 false false R10.htm 10401 - Disclosure - Fair Value Measurements Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 10 false false R11.htm 10501 - Disclosure - Acquisitions Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitions Acquisitions Notes 11 false false R12.htm 10601 - Disclosure - Goodwill and Identifiable Intangible Assets, Net Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNet Goodwill and Identifiable Intangible Assets, Net Notes 12 false false R13.htm 10701 - Disclosure - Property and Equipment Sheet http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipment Property and Equipment Notes 13 false false R14.htm 10801 - Disclosure - Detail of Other Current Liabilities Sheet http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilities Detail of Other Current Liabilities Notes 14 false false R15.htm 10901 - Disclosure - Debt Obligations Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligations Debt Obligations Notes 15 false false R16.htm 11001 - Disclosure - Leases Sheet http://www.comfortsystemsusa.com/role/DisclosureLeases Leases Notes 16 false false R17.htm 11101 - Disclosure - Income Taxes Sheet http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxes Income Taxes Notes 17 false false R18.htm 11201 - Disclosure - Employee Benefit Plans Sheet http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlans Employee Benefit Plans Notes 18 false false R19.htm 11301 - Disclosure - Commitments and Contingencies Sheet http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 19 false false R20.htm 11401 - Disclosure - Stockholders' Equity Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 20 false false R21.htm 11501 - Disclosure - Stock-Based Compensation Sheet http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 21 false false R22.htm 11601 - Disclosure - Segment Information Sheet http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation Segment Information Notes 22 false false R23.htm 11701 - Disclosure - Selected Quarterly Financial Data Sheet http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialData Selected Quarterly Financial Data Notes 23 false false R24.htm 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies 24 false false R25.htm 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables Summary of Significant Accounting Policies (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies 25 false false R26.htm 30303 - Disclosure - Revenue from Contracts with Customers (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersTables Revenue from Contracts with Customers (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomers 26 false false R27.htm 30403 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements 27 false false R28.htm 30503 - Disclosure - Acquisitions (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables Acquisitions (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureAcquisitions 28 false false R29.htm 30603 - Disclosure - Goodwill and Identifiable Intangible Assets, Net (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetTables Goodwill and Identifiable Intangible Assets, Net (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNet 29 false false R30.htm 30703 - Disclosure - Property and Equipment (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentTables Property and Equipment (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipment 30 false false R31.htm 30803 - Disclosure - Detail of Other Current Liabilities (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesTables Detail of Other Current Liabilities (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilities 31 false false R32.htm 30903 - Disclosure - Debt Obligations (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables Debt Obligations (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureDebtObligations 32 false false R33.htm 31003 - Disclosure - Leases (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureLeases 33 false false R34.htm 31103 - Disclosure - Income Taxes (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesTables Income Taxes (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxes 34 false false R35.htm 31403 - Disclosure - Stockholders' Equity (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables Stockholders' Equity (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity 35 false false R36.htm 31503 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensation 36 false false R37.htm 31603 - Disclosure - Segment Information (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables Segment Information (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation 37 false false R38.htm 31703 - Disclosure - Selected Quarterly Financial Data (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataTables Selected Quarterly Financial Data (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialData 38 false false R39.htm 40101 - Disclosure - Business and Organization (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails Business and Organization (Details) Details http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization 39 false false R40.htm 40201 - Disclosure - Summary of Significant Accounting Policies - Cash Flow Information (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashFlowInformationDetails Summary of Significant Accounting Policies - Cash Flow Information (Details) Details 40 false false R41.htm 40202 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) Details 41 false false R42.htm 40203 - Disclosure - Summary of Significant Accounting Policies - Allowance for Credit Losses (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails Summary of Significant Accounting Policies - Allowance for Credit Losses (Details) Details 42 false false R43.htm 40204 - Disclosure - Summary of Significant Accounting Policies - Risk (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails Summary of Significant Accounting Policies - Risk (Details) Details http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables 43 false false R44.htm 40205 - Disclosure - Summary of Significant Accounting Policies - Insurance Recovery (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesInsuranceRecoveryDetails Summary of Significant Accounting Policies - Insurance Recovery (Details) Details 44 false false R45.htm 40301 - Disclosure - Revenue from Contracts with Customers - Revenue Recognition (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails Revenue from Contracts with Customers - Revenue Recognition (Details) Details 45 false false R46.htm 40302 - Disclosure - Revenue from Contracts with Customers - Disaggregation of Revenue (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails Revenue from Contracts with Customers - Disaggregation of Revenue (Details) Details 46 false false R47.htm 40303 - Disclosure - Revenue from Contracts with Customers - Contract Assets and Liabilities (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails Revenue from Contracts with Customers - Contract Assets and Liabilities (Details) Details 47 false false R48.htm 40304 - Disclosure - Revenue from Contracts with Customers - Remaining Performance Obligations (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails Revenue from Contracts with Customers - Remaining Performance Obligations (Details) Details 48 false false R49.htm 40401 - Disclosure - Fair Value Measurements (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables 49 false false R50.htm 40501 - Disclosure - Acquisitions (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails Acquisitions (Details) Details http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables 50 false false R51.htm 40502 - Disclosure - Acquisitions - Acquired Intangible Assets (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails Acquisitions - Acquired Intangible Assets (Details) Details 51 false false R52.htm 40503 - Disclosure - Acquisitions - Contingent Earn-out Obligation (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails Acquisitions - Contingent Earn-out Obligation (Details) Details 52 false false R53.htm 40504 - Disclosure - Acquisitions - Other Acquisitions (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails Acquisitions - Other Acquisitions (Details) Details 53 false false R54.htm 40601 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Changes in Carrying Amount of Goodwill (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails Goodwill and Identifiable Intangible Assets, Net - Changes in Carrying Amount of Goodwill (Details) Details 54 false false R55.htm 40602 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details) Details 55 false false R56.htm 40603 - Disclosure - Goodwill and Identifiable Intangible Assets, Net (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails Goodwill and Identifiable Intangible Assets, Net (Details) Details http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetTables 56 false false R57.htm 40701 - Disclosure - Property and Equipment (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails Property and Equipment (Details) Details http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentTables 57 false false R58.htm 40801 - Disclosure - Detail of Other Current Liabilities (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails Detail of Other Current Liabilities (Details) Details http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesTables 58 false false R59.htm 40901 - Disclosure - Debt Obligations (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails Debt Obligations (Details) Details http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables 59 false false R60.htm 40902 - Disclosure - Debt Obligations - Future Payments (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails Debt Obligations - Future Payments (Details) Details 60 false false R61.htm 40903 - Disclosure - Debt Obligations - Other (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails Debt Obligations - Other (Details) Details 61 false false R62.htm 41001 - Disclosure - Leases (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails Leases (Details) Details http://www.comfortsystemsusa.com/role/DisclosureLeasesTables 62 false false R63.htm 41002 - Disclosure - Leases - Summary of Lease Assets and Liabilities (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails Leases - Summary of Lease Assets and Liabilities (Details) Details 63 false false R64.htm 41003 - Disclosure - Leases - Maturities of Lease Liabilities (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails Leases - Maturities of Lease Liabilities (Details) Details 64 false false R65.htm 41101 - Disclosure - Income Taxes - Provision (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails Income Taxes - Provision (Details) Details 65 false false R66.htm 41102 - Disclosure - Income Taxes - Reconciliation (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails Income Taxes - Reconciliation (Details) Details 66 false false R67.htm 41103 - Disclosure - Income Taxes - Provision Changes, Examination (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails Income Taxes - Provision Changes, Examination (Details) Details 67 false false R68.htm 41104 - Disclosure - Income Taxes - Deferred Tax Assets (Liabilities) (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails Income Taxes - Deferred Tax Assets (Liabilities) (Details) Details 68 false false R69.htm 41105 - Disclosure - Income Taxes - Loss Carryforwards and Other (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails Income Taxes - Loss Carryforwards and Other (Details) Details 69 false false R70.htm 41201 - Disclosure - Employee Benefit Plans (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails Employee Benefit Plans (Details) Details http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlans 70 false false R71.htm 41301 - Disclosure - Commitments and Contingencies - Other and Bonds (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails Commitments and Contingencies - Other and Bonds (Details) Details 71 false false R72.htm 41302 - Disclosure - Commitments and Contingencies - Self-Insurance (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails Commitments and Contingencies - Self-Insurance (Details) Details 72 false false R73.htm 41401 - Disclosure - Stockholders' Equity - Incentive and Other (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails Stockholders' Equity - Incentive and Other (Details) Details 73 false false R74.htm 41402 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails Stockholders' Equity - Anti-Dilutive Stock Options (Details) Details 74 false false R75.htm 41403 - Disclosure - Stockholders' Equity - Number of Shares (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails Stockholders' Equity - Number of Shares (Details) Details 75 false false R76.htm 41501 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails Stock-Based Compensation - Stock Option Activity (Details) Details 76 false false R77.htm 41502 - Disclosure - Stock-Based Compensation - Stock Option Plan Activity (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails Stock-Based Compensation - Stock Option Plan Activity (Details) Details 77 false false R78.htm 41503 - Disclosure - Stock-Based Compensation - Fair Value Assumptions (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails Stock-Based Compensation - Fair Value Assumptions (Details) Details 78 false false R79.htm 41601 - Disclosure - Segment Information (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails Segment Information (Details) Details http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables 79 false false R80.htm 41701 - Disclosure - Selected Quarterly Financial Data (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails Selected Quarterly Financial Data (Details) Details http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataTables 80 false false All Reports Book All Reports fix-20201231x10k.htm fix-20201231.xsd fix-20201231_cal.xml fix-20201231_def.xml fix-20201231_lab.xml fix-20201231_pre.xml fix-20201231xex21d1.htm fix-20201231xex23d1.htm fix-20201231xex31d1.htm fix-20201231xex31d2.htm fix-20201231xex32d1.htm fix-20201231xex32d2.htm fix-20201231x10k002.jpg http://xbrl.sec.gov/dei/2020-01-31 http://fasb.org/srt/2020-01-31 http://fasb.org/us-gaap/2020-01-31 true true JSON 101 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "fix-20201231x10k.htm": { "axisCustom": 3, "axisStandard": 37, "contextCount": 336, "dts": { "calculationLink": { "local": [ "fix-20201231_cal.xml" ] }, "definitionLink": { "local": [ "fix-20201231_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml", "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml" ] }, "inline": { "local": [ "fix-20201231x10k.htm" ] }, "labelLink": { "local": [ "fix-20201231_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml", "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml" ] }, "presentationLink": { "local": [ "fix-20201231_pre.xml" ] }, "referenceLink": { "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml", "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml" ] }, "schema": { "local": [ "fix-20201231.xsd" ], "remote": [ "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", "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd", "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd", "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.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", "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd" ] } }, "elementCount": 851, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 15, "http://www.comfortsystemsusa.com/20201231": 5, "http://xbrl.sec.gov/dei/2020-01-31": 5, "total": 25 }, "keyCustom": 116, "keyStandard": 472, "memberCustom": 64, "memberStandard": 47, "nsprefix": "fix", "nsuri": "http://www.comfortsystemsusa.com/20201231", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "role": "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Fair Value Measurements", "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Acquisitions", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions", "shortName": "Acquisitions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Goodwill and Identifiable Intangible Assets, Net", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNet", "shortName": "Goodwill and Identifiable Intangible Assets, Net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Property and Equipment", "role": "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipment", "shortName": "Property and Equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Detail of Other Current Liabilities", "role": "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilities", "shortName": "Detail of Other Current Liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Debt Obligations", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations", "shortName": "Debt Obligations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Leases", "role": "http://www.comfortsystemsusa.com/role/DisclosureLeases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Income Taxes", "role": "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Employee Benefit Plans", "role": "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlans", "shortName": "Employee Benefit Plans", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - Commitments and Contingencies", "role": "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets", "shortName": "CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11401 - Disclosure - Stockholders' Equity", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity", "shortName": "Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11501 - Disclosure - Stock-Based Compensation", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensation", "shortName": "Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11601 - Disclosure - Segment Information", "role": "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation", "shortName": "Segment Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11701 - Disclosure - Selected Quarterly Financial Data", "role": "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialData", "shortName": "Selected Quarterly Financial Data", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - Summary of Significant Accounting Policies (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "shortName": "Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "fix:ScheduleOfContractsInProgressTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Revenue from Contracts with Customers (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersTables", "shortName": "Revenue from Contracts with Customers (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "fix:ScheduleOfContractsInProgressTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_MVA-iDKHDkiKZ9RzC2krPw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Acquisitions (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables", "shortName": "Acquisitions (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_MVA-iDKHDkiKZ9RzC2krPw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Goodwill and Identifiable Intangible Assets, Net (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetTables", "shortName": "Goodwill and Identifiable Intangible Assets, Net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical", "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - Property and Equipment (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentTables", "shortName": "Property and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Detail of Other Current Liabilities (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesTables", "shortName": "Detail of Other Current Liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30903 - Disclosure - Debt Obligations (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables", "shortName": "Debt Obligations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "fix:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31003 - Disclosure - Leases (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureLeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "fix:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31103 - Disclosure - Income Taxes (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesTables", "shortName": "Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31403 - Disclosure - Stockholders' Equity (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables", "shortName": "Stockholders' Equity (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31503 - Disclosure - Stock-Based Compensation (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationTables", "shortName": "Stock-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31603 - Disclosure - Segment Information (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables", "shortName": "Segment Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31703 - Disclosure - Selected Quarterly Financial Data (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataTables", "shortName": "Selected Quarterly Financial Data (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_fix_SystemInstallationInNewlyConstructedFacilitiesMember_mHHCQLFc2kGLsrAu0JV8rw", "decimals": "3", "first": true, "lang": null, "name": "fix:SalesRevenueServicesNetPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_Xr7KyQ9ZGkG356V0y_2SPQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Business and Organization (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails", "shortName": "Business and Organization (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_fix_SystemInstallationInNewlyConstructedFacilitiesMember_mHHCQLFc2kGLsrAu0JV8rw", "decimals": "3", "first": true, "lang": null, "name": "fix:SalesRevenueServicesNetPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_Xr7KyQ9ZGkG356V0y_2SPQ", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations", "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InterestPaidNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Summary of Significant Accounting Policies - Cash Flow Information (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashFlowInformationDetails", "shortName": "Summary of Significant Accounting Policies - Cash Flow Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InterestPaidNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "shortName": "Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_1_1_2020_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201613Member_eieaEle0CU-qL4fCOdGdvQ", "decimals": "-5", "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2019_Tqk4ZcYDJUmNa4mnK4_Nzw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40203 - Disclosure - Summary of Significant Accounting Policies - Allowance for Credit Losses (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails", "shortName": "Summary of Significant Accounting Policies - Allowance for Credit Losses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "lang": null, "name": "us-gaap:AccountsReceivableChangeInMethodCreditLossExpenseReversal", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "us-gaap:StandardProductWarrantyPolicy", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "fix:WarrantyPeriodOfLaborAfterServicing", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40204 - Disclosure - Summary of Significant Accounting Policies - Risk (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails", "shortName": "Summary of Significant Accounting Policies - Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:StandardProductWarrantyPolicy", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "fix:WarrantyPeriodOfLaborAfterServicing", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "fix:InsuranceRecoveryPolicyPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_10_1_2019_To_12_31_2019_bYzn45EBe0CBTyTYi2y9Pg", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:GainOnBusinessInterruptionInsuranceRecovery", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40205 - Disclosure - Summary of Significant Accounting Policies - Insurance Recovery (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesInsuranceRecoveryDetails", "shortName": "Summary of Significant Accounting Policies - Insurance Recovery (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "fix:InsuranceRecoveryPolicyPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_10_1_2019_To_12_31_2019_bYzn45EBe0CBTyTYi2y9Pg", "decimals": "-5", "lang": null, "name": "fix:GainRecordedAsReductionInSga", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "fix:ScheduleOfContractsInProgressTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ReceivablesLongTermContractsOrPrograms", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Revenue from Contracts with Customers - Revenue Recognition (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "shortName": "Revenue from Contracts with Customers - Revenue Recognition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "fix:ScheduleOfContractsInProgressTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ReceivablesLongTermContractsOrPrograms", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40302 - Disclosure - Revenue from Contracts with Customers - Disaggregation of Revenue (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "shortName": "Revenue from Contracts with Customers - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2019_Tqk4ZcYDJUmNa4mnK4_Nzw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40303 - Disclosure - Revenue from Contracts with Customers - Contract Assets and Liabilities (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails", "shortName": "Revenue from Contracts with Customers - Contract Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "lang": null, "name": "us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "fix:RenewableServiceMaintenanceAgreementsTerm", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40304 - Disclosure - Revenue from Contracts with Customers - Remaining Performance Obligations (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails", "shortName": "Revenue from Contracts with Customers - Remaining Performance Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "fix:RenewableServiceMaintenanceAgreementsTerm", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "INF", "first": true, "lang": null, "name": "fix:LifeInsuranceContractsNumberOfEmployeesCovered", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_AyNfajWnnE6mOMVCUgefHQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "INF", "first": true, "lang": null, "name": "fix:LifeInsuranceContractsNumberOfEmployeesCovered", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_AyNfajWnnE6mOMVCUgefHQ", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_JyMOV4Qz-0GzA0fIpHkY6A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity", "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_JyMOV4Qz-0GzA0fIpHkY6A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Acquisitions (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "shortName": "Acquisitions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_4_1_2020_To_4_1_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_dD6wFn3yzEurkTYwRRrtBA", "decimals": "-3", "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_4_1_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_jmjbiYDhtUiUpASarcYbhw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - Acquisitions - Acquired Intangible Assets (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "shortName": "Acquisitions - Acquired Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_4_1_2020_To_4_1_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_FA-ZIVT61kiMQ-kCl7L83Q", "decimals": null, "lang": "en-US", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_10_1_2020_To_12_31_2020_M2P2LCLwSUO_bKieGIa1nw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40503 - Disclosure - Acquisitions - Contingent Earn-out Obligation (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "shortName": "Acquisitions - Contingent Earn-out Obligation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_4_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_n0gyZfKPhUSyjpIutr4DGg", "decimals": "-5", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2019_To_12_31_2019_6tfA4bGGKEiLpnVUe60Okg", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfBusinessesAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_AyNfajWnnE6mOMVCUgefHQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40504 - Disclosure - Acquisitions - Other Acquisitions (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails", "shortName": "Acquisitions - Other Acquisitions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2019_To_12_31_2019_6tfA4bGGKEiLpnVUe60Okg", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfBusinessesAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_AyNfajWnnE6mOMVCUgefHQ", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2019_Tqk4ZcYDJUmNa4mnK4_Nzw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Changes in Carrying Amount of Goodwill (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails", "shortName": "Goodwill and Identifiable Intangible Assets, Net - Changes in Carrying Amount of Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40602 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "shortName": "Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40603 - Disclosure - Goodwill and Identifiable Intangible Assets, Net (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails", "shortName": "Goodwill and Identifiable Intangible Assets, Net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_StatementScenarioAxis_fix_ScenarioOneImpairmentTestingMember_Gz6waH9Mjk-BieWjprkPHQ", "decimals": "INF", "lang": null, "name": "fix:WeightageAssignedToDiscountedCashFlowAnalysisForImpairmentTesting", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_Xr7KyQ9ZGkG356V0y_2SPQ", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Property and Equipment (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails", "shortName": "Property and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Detail of Other Current Liabilities (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails", "shortName": "Detail of Other Current Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Debt Obligations (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "shortName": "Debt Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "lang": null, "name": "us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS", "role": "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40902 - Disclosure - Debt Obligations - Future Payments (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails", "shortName": "Debt Obligations - Future Payments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RepaymentsOfSeniorDebt", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40903 - Disclosure - Debt Obligations - Other (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "shortName": "Debt Obligations - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "0", "lang": null, "name": "fix:DebtInstrumentCovenantFixedChargeCoverageRatio", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_Xr7KyQ9ZGkG356V0y_2SPQ", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:LesseeLeasesPolicyTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-5", "first": true, "lang": null, "name": "fix:VariableLeaseAndShortTermLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Leases (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails", "shortName": "Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:LesseeLeasesPolicyTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-5", "first": true, "lang": null, "name": "fix:VariableLeaseAndShortTermLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41002 - Disclosure - Leases - Summary of Lease Assets and Liabilities (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails", "shortName": "Leases - Summary of Lease Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R64": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41003 - Disclosure - Leases - Maturities of Lease Liabilities (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails", "shortName": "Leases - Maturities of Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Income Taxes - Provision (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails", "shortName": "Income Taxes - Provision (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "p", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_Xr7KyQ9ZGkG356V0y_2SPQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41102 - Disclosure - Income Taxes - Reconciliation (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails", "shortName": "Income Taxes - Reconciliation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_Xr7KyQ9ZGkG356V0y_2SPQ", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2018_To_3_31_2018__O2fR24J8keChcPAjnVm_Q", "decimals": "-5", "first": true, "lang": null, "name": "fix:AutomaticMethodChangeTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41103 - Disclosure - Income Taxes - Provision Changes, Examination (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails", "shortName": "Income Taxes - Provision Changes, Examination (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2018_To_3_31_2018__O2fR24J8keChcPAjnVm_Q", "decimals": "-5", "first": true, "lang": null, "name": "fix:AutomaticMethodChangeTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41104 - Disclosure - Income Taxes - Deferred Tax Assets (Liabilities) (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails", "shortName": "Income Taxes - Deferred Tax Assets (Liabilities) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41105 - Disclosure - Income Taxes - Loss Carryforwards and Other (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails", "shortName": "Income Taxes - Loss Carryforwards and Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Business and Organization", "role": "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization", "shortName": "Business and Organization", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "3", "first": true, "lang": null, "name": "fix:DefinedContributionPlanMaximumAnnualContributionPerEmployeeByEmployerPercent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_Xr7KyQ9ZGkG356V0y_2SPQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Employee Benefit Plans (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails", "shortName": "Employee Benefit Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "3", "first": true, "lang": null, "name": "fix:DefinedContributionPlanMaximumAnnualContributionPerEmployeeByEmployerPercent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_Xr7KyQ9ZGkG356V0y_2SPQ", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_us-gaap_LitigationStatusAxis_us-gaap_PendingLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_PerformanceGuaranteeMember_3AoQJqmH60GHNJEG3QFX7A", "decimals": "INF", "first": true, "lang": null, "name": "fix:LossContingencyLetterOfIntentUnderDisputeNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_AyNfajWnnE6mOMVCUgefHQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - Commitments and Contingencies - Other and Bonds (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "shortName": "Commitments and Contingencies - Other and Bonds (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_us-gaap_LitigationStatusAxis_us-gaap_PendingLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_PerformanceGuaranteeMember_3AoQJqmH60GHNJEG3QFX7A", "decimals": "INF", "first": true, "lang": null, "name": "fix:LossContingencyLetterOfIntentUnderDisputeNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_AyNfajWnnE6mOMVCUgefHQ", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-5", "first": true, "lang": null, "name": "fix:SelfInsuranceAmountOfLossFullyInsuredAboveDeductibleCoverageAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41302 - Disclosure - Commitments and Contingencies - Self-Insurance (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails", "shortName": "Commitments and Contingencies - Self-Insurance (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-5", "first": true, "lang": null, "name": "fix:SelfInsuranceAmountOfLossFullyInsuredAboveDeductibleCoverageAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsForRepurchaseOfCommonStock", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41401 - Disclosure - Stockholders' Equity - Incentive and Other (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails", "shortName": "Stockholders' Equity - Incentive and Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_5_31_2012_us-gaap_PlanNameAxis_fix_EquityIncentivePlan2012Member_rFf2yudgFkW3JCu5juR0FQ", "decimals": "-5", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_g0jNv1-9v0-TCKoQcdbSfw", "xsiNil": "false" } }, "R74": { "firstAnchor": { "ancestors": [ "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_M7odE1YMhEaZW8aGk7RW3g", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_g0jNv1-9v0-TCKoQcdbSfw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41402 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "shortName": "Stockholders' Equity - Anti-Dilutive Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_M7odE1YMhEaZW8aGk7RW3g", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_g0jNv1-9v0-TCKoQcdbSfw", "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_g0jNv1-9v0-TCKoQcdbSfw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41403 - Disclosure - Stockholders' Equity - Number of Shares (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails", "shortName": "Stockholders' Equity - Number of Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "As_Of_12_31_2020_s6-C0UboJ0-4blzD_Ub70w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_g0jNv1-9v0-TCKoQcdbSfw", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41501 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "shortName": "Stock-Based Compensation - Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "-5", "lang": null, "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_fix_ExercisePriceRangeFromDollars11.21To15.00Member_rQYH9fI2EU2EglTDueUkEw", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_9fXicvk6okCV_k0meylLfg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41502 - Disclosure - Stock-Based Compensation - Stock Option Plan Activity (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails", "shortName": "Stock-Based Compensation - Stock Option Plan Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_fix_ExercisePriceRangeFromDollars11.21To15.00Member_rQYH9fI2EU2EglTDueUkEw", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_9fXicvk6okCV_k0meylLfg", "xsiNil": "false" } }, "R78": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2018_To_12_31_2018_jlBB6gYMSECSxSgLDTV8vw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41503 - Disclosure - Stock-Based Compensation - Fair Value Assumptions (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "shortName": "Stock-Based Compensation - Fair Value Assumptions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2018_To_12_31_2018_jlBB6gYMSECSxSgLDTV8vw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R79": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_wexIevrSkkayIky0fwlvsA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41601 - Disclosure - Segment Information (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails", "shortName": "Segment Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_wexIevrSkkayIky0fwlvsA", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R80": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_10_1_2020_To_12_31_2020_M2P2LCLwSUO_bKieGIa1nw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41701 - Disclosure - Selected Quarterly Financial Data (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails", "shortName": "Selected Quarterly Financial Data (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_10_1_2020_To_12_31_2020_M2P2LCLwSUO_bKieGIa1nw", "decimals": "-3", "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_9amPMxky7EKI1_1g45G_Lw", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Revenue from Contracts with Customers", "role": "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomers", "shortName": "Revenue from Contracts with Customers", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20201231x10k.htm", "contextRef": "Duration_1_1_2020_To_12_31_2020_PvNjCAiNsUCDJY7io159Ug", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 115, "tag": { "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r622", "r623", "r624" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r625" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine2": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 2 such as Street or Suite number", "label": "Entity Address, Address Line Two" } } }, "localname": "EntityAddressAddressLine2", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]", "terseLabel": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r627" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_IcfrAuditorAttestationFlag": { "auth_ref": [ "r622", "r623", "r624" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "localname": "IcfrAuditorAttestationFlag", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "fix_AccruedJobLosses": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the accrual for expenses related to job losses.", "label": "Accrued Job Losses", "terseLabel": "Accrued job losses" } } }, "localname": "AccruedJobLosses", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "fix_AllowanceForDoubtfulAccountsReceivableAcquired": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the allowance for receivables acquired in a business acquisition.", "label": "Allowance for Doubtful Accounts Receivable Acquired", "verboseLabel": "Credit allowance of acquired companies on the acquisition date" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableAcquired", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "fix_AllowanceForDoubtfulAccountsReceivableChargeOffsNet": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of direct write-downs of receivables charged against the allowance for doubtful accounts, net of recoveries.", "label": "Allowance for Doubtful Accounts Receivable Charge Offs Net", "negatedLabel": "Deductions for uncollectible receivables written off, net of recoveries" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableChargeOffsNet", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "fix_AmendedSeniorRevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the amended senior revolving credit facility.", "label": "Amended Senior Revolving Credit Facility [Member]", "terseLabel": "Amended senior revolving credit facility" } } }, "localname": "AmendedSeniorRevolvingCreditFacilityMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_AnnualImpairmentTestingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Annual impairment testing.", "label": "Annual Impairment Testing [Member]", "terseLabel": "Annual impairment testing" } } }, "localname": "AnnualImpairmentTestingMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "fix_AutoLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the auto liability arrangement under self-insurance contract.", "label": "Auto Liability [Member]", "terseLabel": "Auto Liability" } } }, "localname": "AutoLiabilityMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "fix_AutomaticMethodChangeTaxExpenseBenefit": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Automatic method change tax expense (benefit).", "label": "Automatic Method Change Tax Expense Benefit", "terseLabel": "Change in provision for income taxes" } } }, "localname": "AutomaticMethodChangeTaxExpenseBenefit", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "monetaryItemType" }, "fix_BilledContractReceivablesContractsInProgress": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails": { "order": 3.0, "parentTag": "fix_ContractReceivablesContractsInProcessNetReceivableLiability", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Billed contract receivables, contracts in progress.", "label": "Billed Contract Receivables Contracts In Progress", "negatedLabel": "Less-Billings to date" } } }, "localname": "BilledContractReceivablesContractsInProgress", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "fix_BuildingAndLeaseholdImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Building represents facility held for productive use including, but not limited to, office, production, storage and distribution facilities and leasehold improvements represent additions or improvements to assets held under a lease arrangement.", "label": "Building And Leasehold Improvements [Member]", "terseLabel": "Buildings and leasehold improvements" } } }, "localname": "BuildingAndLeaseholdImprovementsMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value, as of the balance sheet date, of potential cash payments under the contingent consideration arrangement.", "label": "Business Acquisition Contingent Consideration Fair Value at Balance Sheet Date", "terseLabel": "Contingent earn-out obligations" } } }, "localname": "BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessAcquisitionPreAcquisitionEarnings": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the earnings of the acquiree prior to the acquisition date.", "label": "Business Acquisition Pre Acquisition Earnings", "verboseLabel": "Pre-acquisition results of acquired companies, as defined under the Facility" } } }, "localname": "BusinessAcquisitionPreAcquisitionEarnings", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationConsiderationTransferredContingentEarnOut": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of contingent earn-out payment under business combination.", "label": "Business Combination Consideration Transferred Contingent Earn Out", "terseLabel": "Estimated fair value of contingent earn-out payments" } } }, "localname": "BusinessCombinationConsiderationTransferredContingentEarnOut", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationConsiderationTransferredLiabilitiesIncurredAdvances": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Business combination consideration transferred liabilities incurred, advances.", "label": "Business Combination Consideration Transferred Liabilities Incurred, Advances", "terseLabel": "Advance to former owners" } } }, "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurredAdvances", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of working capital settlement under business combination.", "label": "Business Combination Consideration Transferred Working Capital Adjustment", "terseLabel": "Working capital adjustment" } } }, "localname": "BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Business Combination Contingent Consideration Arrangements Earn Out Period.", "label": "Business Combination Contingent Consideration Arrangements Earn Out Period", "terseLabel": "Contingent earn-out period" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" ], "xbrltype": "durationItemType" }, "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsCostsInExcessOfBillings": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 9.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of costs in excess of billings.", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Assets Costs in Excess of Billings", "terseLabel": "Costs in excess of billings" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsCostsInExcessOfBillings", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Billings In Excess of Costs And Estimated Earnings", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Billings In Excess Of Costs And Estimated Earnings", "negatedLabel": "Billings in excess of costs and estimated earnings" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesBillingsInExcessOfCostsAndEstimatedEarnings", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 10.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's lease liability current underlying liability under operating lease.", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Operating Lease Liability Current", "negatedLabel": "Current lease liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of the Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Operating Lease Liability Noncurrent", "negatedLabel": "Long-term lease liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityNoncurrent", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Operating Lease Right Of Use Asset", "terseLabel": "Lease right-of-use asset" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_CashFlowDiscountRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Amount of probable cash flows discount rate.", "label": "Cash Flow Discount Rate", "terseLabel": "Cash flow discount rate" } } }, "localname": "CashFlowDiscountRate", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" ], "xbrltype": "percentItemType" }, "fix_CashPaidAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash Paid [Abstract]", "terseLabel": "Cash paid for:" } } }, "localname": "CashPaidAbstract", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashFlowInformationDetails" ], "xbrltype": "stringItemType" }, "fix_ChangeInRightOfUseAssets": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of change in right-of-use assets.", "label": "Change in Right of Use Assets", "terseLabel": "Change in right-of-use assets" } } }, "localname": "ChangeInRightOfUseAssets", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "fix_ComputerAndTelephoneEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Computer represents long-lived, depreciable assets that are used in the creation, maintenance and utilization of information systems and telephone represents other tangible personal property, nonconsumable in nature, with finite lives.", "label": "Computer And Telephone Equipment [Member]", "terseLabel": "Computer and telephone equipment" } } }, "localname": "ComputerAndTelephoneEquipmentMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "fix_ConstructionActivitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to construction activities.", "label": "Construction Activities [Member]", "terseLabel": "Construction" } } }, "localname": "ConstructionActivitiesMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "domainItemType" }, "fix_ConstructionContractorRetainagePayable": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amounts owed to vendors and subcontractors that have been withheld because of retainage provisions in a contract to be paid. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Construction Contractor, Retainage Payable", "terseLabel": "Retention payable" } } }, "localname": "ConstructionContractorRetainagePayable", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "fix_ContingentConsiderationObligationsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to the contingent consideration obligations that have been provided in a business combination.", "label": "Contingent Consideration Obligations [Member]", "terseLabel": "Contingent earn-out obligations" } } }, "localname": "ContingentConsiderationObligationsMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "fix_ContingentEarnOutObligationToAcquireBusiness": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of contingent earn-out obligation included in purchase price.", "label": "Contingent earn-out obligation to acquire business", "terseLabel": "Contingent earn-out obligation" } } }, "localname": "ContingentEarnOutObligationToAcquireBusiness", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_ContractReceivablesContractsInProcessNetReceivableLiability": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the net receivable (liability), as of the balance sheet date, for contracts in process in which contracts with billings in excess of costs are netted against contracts with costs in excess of billings.", "label": "Contract Receivables Contracts in Process, Net Receivable Liability", "totalLabel": "Contracts in progress" } } }, "localname": "ContractReceivablesContractsInProcessNetReceivableLiability", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "fix_ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in contract with customer assets due to change in conditional versus unconditional.", "label": "Contract with Customer, Asset, Increase (Decrease) for Change Due to Conditional Versus Unconditional", "verboseLabel": "Other changes in the period" } } }, "localname": "ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "fix_CostsInExcessOfBillingsAllowanceForCreditLosses": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit losses on receivable reflecting the cost incurred on uncompleted contracts in excess of related billings which is expected to be collected within one year or the normal operating cycle, if longer.", "label": "Costs in Excess Of Billings, Allowance For Credit Losses", "terseLabel": "Costs and estimated earnings in excess of billings, allowance for credit losses", "verboseLabel": "Plus-Costs and estimated earnings in excess of billings credit allowance" } } }, "localname": "CostsInExcessOfBillingsAllowanceForCreditLosses", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "fix_CumulativeNumberOfCompaniesAcquired": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The cumulative number of companies acquired by the entity.", "label": "Cumulative Number Of Companies Acquired", "terseLabel": "Cumulative number of companies acquired" } } }, "localname": "CumulativeNumberOfCompaniesAcquired", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "fix_CustomerAdvancesAndProgressPaymentsForLongTermContractOrProgram": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails": { "order": 4.0, "parentTag": "fix_ContractReceivablesContractsInProcessNetReceivableLiability", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of the offset related to government or other customer advances received on a contract when the expected advances will be applied in payment to those particular charges of the receivable.", "label": "Customer Advances and Progress Payments for Long-term Contract or Program", "terseLabel": "Estimated earnings, net of losses" } } }, "localname": "CustomerAdvancesAndProgressPaymentsForLongTermContractOrProgram", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "fix_CustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to customer.", "label": "Customer [Member]", "terseLabel": "Customer" } } }, "localname": "CustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "domainItemType" }, "fix_CustomerRelationshipsNonCompeteAgreementsAndTradenamesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to customer relationships non compete agreements and tradenames.", "label": "Customer Relationships Non Compete Agreements And Tradenames [Member]", "terseLabel": "Customer Relationships Noncompete Agreements and Tradenames" } } }, "localname": "CustomerRelationshipsNonCompeteAgreementsAndTradenamesMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantEffectiveDateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by date that the debt covenant ratio is applicable.", "label": "Debt Covenant Effective Date [Axis]" } } }, "localname": "DebtCovenantEffectiveDateAxis", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_DebtCovenantEffectiveDateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The period through which the debt covenant ratio is applicable.", "label": "Debt Covenant Effective Date [Domain]", "terseLabel": "Debt Covenant Effective Date [Domain]" } } }, "localname": "DebtCovenantEffectiveDateDomain", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by different ratios applicable to debt covenants.", "label": "Debt Covenant Ratio [Axis]" } } }, "localname": "DebtCovenantRatioAxis", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_DebtCovenantRatioDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Groups of debt covenant ratio ranges.", "label": "Debt Covenant Ratio [Domain]", "terseLabel": "Debt Covenant Ratio [Domain]" } } }, "localname": "DebtCovenantRatioDomain", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioRangeFourMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents activity related to range four of specified debt covenant.", "label": "Debt Covenant Ratio Range Four [Member]", "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater" } } }, "localname": "DebtCovenantRatioRangeFourMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioRangeOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents activity related to range one of specified debt covenant.", "label": "Debt Covenant Ratio Range One [Member]", "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00" } } }, "localname": "DebtCovenantRatioRangeOneMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioRangeThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents activity related to range three of specified debt covenant.", "label": "Debt Covenant Ratio Range Three [Member]", "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50" } } }, "localname": "DebtCovenantRatioRangeThreeMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtCovenantRatioRangeTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents activity related to range two of specified debt covenant.", "label": "Debt Covenant Ratio Range Two [Member]", "terseLabel": "Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75" } } }, "localname": "DebtCovenantRatioRangeTwoMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for the calculation of the fixed charge coverage ratio.", "label": "Debt Instrument Covenant Capital Expenditures Tax Provisions Dividends and Stock Repurchase Payments Used for Calculation of Fixed Charge Coverage Ratio Number of Quarters", "terseLabel": "Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio" } } }, "localname": "DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "fix_DebtInstrumentCovenantFixedChargeCoverageRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the ratio of consolidated adjusted earnings before, interest, taxes, depreciation and amortization, less non-financed capital expenditures, tax provision, dividends and amounts used to repurchase stock to the sum of interest expense and scheduled principal payments of indebtedness required to be maintained under the financial covenants.", "label": "Debt Instrument Covenant Fixed Charge Coverage Ratio", "terseLabel": "Fixed charge coverage ratio" } } }, "localname": "DebtInstrumentCovenantFixedChargeCoverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "fix_DebtInstrumentCovenantLeverageRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the ratio of consolidated total debt to consolidated adjusted earnings before, interest, taxes, depreciation and amortization required to be maintained under the financial covenants.", "label": "Debt Instrument Covenant Leverage Ratio", "terseLabel": "Leverage ratio" } } }, "localname": "DebtInstrumentCovenantLeverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "fix_DebtInstrumentCovenantNetEarningsUsedForCalculationOfCreditFacilityAdjustedEBITDANumberOfQuarters": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of quarters of net earnings used for the calculation of the credit facility adjusted EBITDA.", "label": "Debt Instrument Covenant Net Earnings Used For Calculation Of Credit Facility Adjusted Ebitda Number Of Quarters", "terseLabel": "Number of quarters of net earnings used for the calculation of the credit facility adjusted EBITDA" } } }, "localname": "DebtInstrumentCovenantNetEarningsUsedForCalculationOfCreditFacilityAdjustedEBITDANumberOfQuarters", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the aggregate purchase price of current acquisition and acquisitions in the preceding twelve month period used for determining the permitted amount of acquisition per transaction under the financial covenants.", "label": "Debt Instrument Covenant Other Restrictions Aggregate Purchase Price of Acquisitions", "terseLabel": "Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction" } } }, "localname": "DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the net leverage ratio as defined in the financial covenants which is used as a basis to determine other restrictions.", "label": "Debt Instrument Covenant Other Restrictions Net Leverage Ratio", "terseLabel": "Net leverage ratio used as basis for other restrictions" } } }, "localname": "DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of acquisition per transaction permitted under the financial covenants.", "label": "Debt Instrument Covenant Other Restrictions Permitted Acquisition Amount Per Transaction", "terseLabel": "Permitted amount of acquisitions per transaction" } } }, "localname": "DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_DebtInstrumentFinancialCovenantsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Instrument Financial Covenants [Abstract]", "terseLabel": "Principal financial covenants" } } }, "localname": "DebtInstrumentFinancialCovenantsAbstract", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_DebtInstrumentInterestRateOptionsNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of interest rate options.", "label": "Debt Instrument Interest Rate Options Number", "terseLabel": "Number of interest rate options" } } }, "localname": "DebtInstrumentInterestRateOptionsNumber", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "fix_DebtInstrumentMarketRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the market rate relating to interest options under the Facility.", "label": "Debt Instrument Market Rate", "terseLabel": "Market rate (as a percent)" } } }, "localname": "DebtInstrumentMarketRate", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period of Credit Facility Adjusted EBITDA for determining additional margins.", "label": "Debt Instrument Term of Earnings before Interest Tax Depreciation and Amortization for Determination of Additional Margins", "terseLabel": "Period of Credit Facility Adjusted EBITDA for determining additional margins" } } }, "localname": "DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "durationItemType" }, "fix_DebtInstrumentVariableRateBaseRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The base rate used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate Base Rate [Member]", "terseLabel": "Base Rate" } } }, "localname": "DebtInstrumentVariableRateBaseRateMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtInstrumentVariableRateFederalFundsRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The federal funds rate used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate Federal Funds Rate [Member]", "terseLabel": "Federal Funds Rate" } } }, "localname": "DebtInstrumentVariableRateFederalFundsRateMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtInstrumentVariableRateOneMonthLIBORMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The one-month LIBOR rate used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate One Month L I B O R [Member]", "terseLabel": "One-month LIBOR" } } }, "localname": "DebtInstrumentVariableRateOneMonthLIBORMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtInstrumentVariableRateSecondaryClassificationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The secondary classification of alternative reference rates that may be used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate Secondary Classification [Axis]" } } }, "localname": "DebtInstrumentVariableRateSecondaryClassificationAxis", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_DebtInstrumentVariableRateSecondaryClassificationDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Identification of the secondary classification of alternative reference rate that is used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate Secondary Classification [Domain]", "terseLabel": "Debt Instrument Variable Rate Secondary Classification [Domain]" } } }, "localname": "DebtInstrumentVariableRateSecondaryClassificationDomain", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtInstrumentVariableRateSixMonthLIBORMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The six-month LIBOR rate used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate Six Month L I B O R [Member]", "terseLabel": "Six-month LIBOR" } } }, "localname": "DebtInstrumentVariableRateSixMonthLIBORMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The Wells Fargo Bank, N.A. Prime Rate used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate Wells Fargo Bank N A Prime Rate [Member]", "terseLabel": "Wells Fargo Bank, N.A. Prime Rate" } } }, "localname": "DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_Deduction179dMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tax deduction, 179D.", "label": "Deduction179d [Member]", "terseLabel": "179D Deduction" } } }, "localname": "Deduction179dMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "fix_DeferredAcquisitionPayments": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Deferred acquisition payments.", "label": "Deferred Acquisition Payments", "negatedLabel": "Deferred acquisition payments" } } }, "localname": "DeferredAcquisitionPayments", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "fix_DeferredTaxAssetsLeaseLiability": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from lease liabilities.", "label": "Deferred Tax Assets, Lease Liability", "terseLabel": "Lease liabilities" } } }, "localname": "DeferredTaxAssetsLeaseLiability", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "fix_DeferredTaxLiabilitiesLongTermContracts": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to long-term contracts.", "label": "Deferred Tax Liabilities Long Term Contracts", "negatedLabel": "Long-term contracts" } } }, "localname": "DeferredTaxLiabilitiesLongTermContracts", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "fix_DefinedBenefitPlanMaximumAgeInWhichCertainIndividualsAreEntitledToFixedAnnualPayments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the maximum age under which certain individuals are entitled to fixed annual payments.", "label": "Defined Benefit Plan Maximum Age in which Certain Individuals are Entitled to Fixed Annual Payments", "terseLabel": "Maximum age under which certain individuals are entitled to fixed annual payments" } } }, "localname": "DefinedBenefitPlanMaximumAgeInWhichCertainIndividualsAreEntitledToFixedAnnualPayments", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "durationItemType" }, "fix_DefinedBenefitPlanPeriodInWhichCertainIndividualsAreEntitledToFixedAnnualPayments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period in which certain individuals are entitled to fixed annual payments.", "label": "Defined Benefit Plan Period in which Certain Individuals are Entitled to Fixed Annual Payments", "terseLabel": "Period in which certain individuals are entitled to fixed annual payments" } } }, "localname": "DefinedBenefitPlanPeriodInWhichCertainIndividualsAreEntitledToFixedAnnualPayments", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "durationItemType" }, "fix_DefinedBenefitPlanPeriodOfCompletedServiceOverWhich50PercentOfBenefitsAreVested": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period of completed service over which 50 percent of benefits are vested.", "label": "Defined Benefit Plan Period of Completed Service over which 50 Percent of Benefits are Vested", "terseLabel": "Period of completed service over which 50% of benefits are vested" } } }, "localname": "DefinedBenefitPlanPeriodOfCompletedServiceOverWhich50PercentOfBenefitsAreVested", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "durationItemType" }, "fix_DefinedBenefitPlanPeriodOfCompletedServiceOverWhich75PercentOfBenefitsAreVested": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period of completed service over which 75 percent of benefits are vested.", "label": "Defined Benefit Plan Period of Completed Service over which 75 Percent of Benefits are Vested", "terseLabel": "Period of completed service over which 75% of benefits are vested" } } }, "localname": "DefinedBenefitPlanPeriodOfCompletedServiceOverWhich75PercentOfBenefitsAreVested", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "durationItemType" }, "fix_DefinedBenefitPlanPeriodOfServiceOverWhichBenefitsAreFullyVested": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period of service over which benefits are fully vested.", "label": "Defined Benefit Plan Period of Service over which Benefits are Fully Vested", "terseLabel": "Period of service over which benefits are fully vested" } } }, "localname": "DefinedBenefitPlanPeriodOfServiceOverWhichBenefitsAreFullyVested", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "durationItemType" }, "fix_DefinedBenefitPlanPeriodPortionOfBenefitsVestingAfterFifteenYearsOfCompletedService": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the portion of benefits vesting after fifteen years of completed service.", "label": "Defined Benefit Plan Period Portion of Benefits Vesting after Fifteen Years of Completed Service", "terseLabel": "Portion of benefits vesting after fifteen years of completed service (as a percent)" } } }, "localname": "DefinedBenefitPlanPeriodPortionOfBenefitsVestingAfterFifteenYearsOfCompletedService", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "percentItemType" }, "fix_DefinedBenefitPlanPeriodPortionOfBenefitsVestingAfterTenYearsOfCompletedService": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the portion of benefits vesting after ten years of completed service.", "label": "Defined Benefit Plan Period Portion of Benefits Vesting after Ten Years of Completed Service", "terseLabel": "Portion of benefits vesting after ten years of completed service (as a percent)" } } }, "localname": "DefinedBenefitPlanPeriodPortionOfBenefitsVestingAfterTenYearsOfCompletedService", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "percentItemType" }, "fix_DefinedContributionPlanAmountPayable": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount payable to defined contribution plan.", "label": "Defined Contribution Plan Amount Payable", "terseLabel": "Amount payable to plan" } } }, "localname": "DefinedContributionPlanAmountPayable", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "monetaryItemType" }, "fix_DefinedContributionPlanMaximumAnnualContributionPerEmployeeByEmployerPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the maximum percentage of employee gross pay, by the terms of the plan, that the employer may contribute to a defined contribution plan.", "label": "Defined Contribution Plan Maximum Annual Contribution Per Employee by Employer Percent", "terseLabel": "Percentage of contributions of covered employees' salaries or wages" } } }, "localname": "DefinedContributionPlanMaximumAnnualContributionPerEmployeeByEmployerPercent", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "percentItemType" }, "fix_DepreciationAndAmortizationContinuingOperations": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense from continuing operations, that reflects the allocation of the cost of tangible and intangible assets over the assets' useful lives.", "label": "Depreciation and Amortization Continuing Operations", "verboseLabel": "Depreciation expense" } } }, "localname": "DepreciationAndAmortizationContinuingOperations", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "fix_DerivativeInstrumentNotionalAmount": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Derivative instrument notional amount.", "label": "Derivative Instrument Notional Amount", "terseLabel": "Notional amount" } } }, "localname": "DerivativeInstrumentNotionalAmount", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "fix_DerivativeNetLossOnDerivative": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of net loss recognized on derivative.", "label": "Derivative Net Loss On Derivative", "terseLabel": "Net loss on derivative" } } }, "localname": "DerivativeNetLossOnDerivative", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "fix_EarningsBeforeInterestTaxDepreciationAndAmortization": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the earnings before deduction of interest expenses, taxes, depreciation and amortization.", "label": "Earnings Before Interest Tax Depreciation and Amortization", "terseLabel": "Credit Facility Adjusted EBITDA" } } }, "localname": "EarningsBeforeInterestTaxDepreciationAndAmortization", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_EducationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This members stands for education.", "label": "Education [Member]", "terseLabel": "Education" } } }, "localname": "EducationMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_EffectOfUsingWeightedAverageCommonSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the effect of using weighted average common shares outstanding.", "label": "Effect of Using Weighted Average Common Shares, Outstanding", "terseLabel": "Effect of using weighted average common shares outstanding" } } }, "localname": "EffectOfUsingWeightedAverageCommonSharesOutstanding", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "sharesItemType" }, "fix_ElectricalContractorNorthCarolinaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to electrical contractor North Carolina.", "label": "Electrical Contractor North Carolina [Member]", "terseLabel": "Electrical Contractor North Carolina" } } }, "localname": "ElectricalContractorNorthCarolinaMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_ElectricalServicesIndustryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to electrical services industry.", "label": "Electrical Services Industry [Member]", "terseLabel": "Electrical Services" } } }, "localname": "ElectricalServicesIndustryMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "fix_ElectricalServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for the electrical services.", "label": "Electrical Services [Member]", "terseLabel": "Electrical Services" } } }, "localname": "ElectricalServicesMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "domainItemType" }, "fix_EmployeeAndNonemployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An arrangement whereby an employee and other than employee is entitled to receive in the future, subject to vesting and other restrictions, a number of shares in the entity at a specified price, as defined in the agreement. Although there are variations, normally, after vesting, when an option is exercised, the employee-holder and non-employee-holder pays the strike value in cash to the issuing employer-entity and receives equity shares. The equity shares can be sold into the market for cash at the current market price without restriction.", "label": "Employee And Nonemployee Stock Option [Member]", "terseLabel": "Stock Options" } } }, "localname": "EmployeeAndNonemployeeStockOptionMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "domainItemType" }, "fix_EmployeeMedicalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the employee medical arrangement under self-insurance contract.", "label": "Employee Medical [Member]", "terseLabel": "Employee Medical" } } }, "localname": "EmployeeMedicalMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "fix_EmployeeMedicalPlanOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the employee medical arrangement for plan one under self-insurance contract.", "label": "Employee Medical Plan One [Member]", "terseLabel": "Employee Medical - Plan One" } } }, "localname": "EmployeeMedicalPlanOneMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "fix_EmployeeMedicalPlanThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the employee medical arrangement for a third plan under self-insurance contract.", "label": "Employee Medical Plan Three [Member]", "terseLabel": "Employee Medical - Plan Three" } } }, "localname": "EmployeeMedicalPlanThreeMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "fix_EmployeeMedicalPlanTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the employee medical arrangement for other plan under self-insurance contract.", "label": "Employee Medical Plan Two [Member]", "terseLabel": "Employee Medical - Plan Two" } } }, "localname": "EmployeeMedicalPlanTwoMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "fix_EmployersLiabilityGeneralLiabilityAndAutoLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the employer's liability, general liability and auto liability arrangement under self-insurance contract.", "label": "Employers Liability General Liability And Auto Liability [Member]", "terseLabel": "Employer's Liability, General Liability and Auto Liability" } } }, "localname": "EmployersLiabilityGeneralLiabilityAndAutoLiabilityMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "fix_EmployersLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the employer's liability arrangement under self-insurance contract.", "label": "Employers Liability [Member]", "terseLabel": "Employer's Liability" } } }, "localname": "EmployersLiabilityMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "fix_EquityIncentivePlan2012Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the 2012 Equity Incentive Plan of the entity.", "label": "Equity Incentive Plan2012 [Member]", "terseLabel": "2012 Equity Incentive Plan" } } }, "localname": "EquityIncentivePlan2012Member", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "domainItemType" }, "fix_ExercisePriceRangeFromDollars11.21To15.00Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the exercise price range from 11.21 dollars to 15.00 dollars per share.", "label": "Exercise Price Range From Dollars11.21 To15.00 [Member]", "terseLabel": "$11.21 - $15.00" } } }, "localname": "ExercisePriceRangeFromDollars11.21To15.00Member", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "domainItemType" }, "fix_ExercisePriceRangeFromDollars11.21To42.50Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the exercise price range from 11.21 dollars to 42.50 dollars per share.", "label": "Exercise Price Range From Dollars11.21 To42.50 [Member]", "terseLabel": "$11.21 - $42.50" } } }, "localname": "ExercisePriceRangeFromDollars11.21To42.50Member", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "domainItemType" }, "fix_ExercisePriceRangeFromDollars15.01To35.00Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the exercise price range from 15.01 dollars to 35.00 dollars per share.", "label": "Exercise Price Range From Dollars15.01 To35.00 [Member]", "terseLabel": "$15.01 - $35.00" } } }, "localname": "ExercisePriceRangeFromDollars15.01To35.00Member", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "domainItemType" }, "fix_ExercisePriceRangeFromDollars35.01To42.50Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the exercise price range from 35.01 dollars to 42.50 dollars per share.", "label": "Exercise Price Range From Dollars35.01 To42.50 [Member]", "terseLabel": "$35.01 - $42.50" } } }, "localname": "ExercisePriceRangeFromDollars35.01To42.50Member", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "domainItemType" }, "fix_ExistingBuildingConstructionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for existing building construction.", "label": "Existing Building Construction [Member]", "terseLabel": "Existing Building Construction" } } }, "localname": "ExistingBuildingConstructionMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_GainRecordedAsReductionInCostOfServicesExpense": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents amount of gain recorded as reduction in cost of services expense.", "label": "Gain Recorded As A Reduction In Cost Of Services Expense", "terseLabel": "Gain recorded as reduction in cost of services expense" } } }, "localname": "GainRecordedAsReductionInCostOfServicesExpense", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesInsuranceRecoveryDetails" ], "xbrltype": "monetaryItemType" }, "fix_GainRecordedAsReductionInSga": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Gain recorded as reduction in SG&A, amount.", "label": "Gain Recorded As Reduction In Sga", "terseLabel": "Gain recorded as reduction in SG&A" } } }, "localname": "GainRecordedAsReductionInSga", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesInsuranceRecoveryDetails" ], "xbrltype": "monetaryItemType" }, "fix_GovernmentCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Organization that is the governing authority of a community.", "label": "Government Customer [Member]", "terseLabel": "Government" } } }, "localname": "GovernmentCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_HealthcareSectorCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sector of the economy consisting of companies engaged in healthcare-related business activities.", "label": "Healthcare Sector Customer [Member]", "terseLabel": "Healthcare" } } }, "localname": "HealthcareSectorCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_IncomeTaxReconciliationNetOperatingLossCarryforward": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 4.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to net operating loss carryforward", "label": "Income Tax Reconciliation Net Operating Loss Carryforward", "terseLabel": "Net operating loss carryforwards" } } }, "localname": "IncomeTaxReconciliationNetOperatingLossCarryforward", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "fix_IncomeTaxReconciliationSection179dDeduction": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 10.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Income tax reconciliation section 179D deduction.", "label": "Income Tax Reconciliation Section 179d Deduction", "negatedLabel": "179D deduction" } } }, "localname": "IncomeTaxReconciliationSection179dDeduction", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "fix_IncomeTaxReconciliationSection179dDeductionNetOfTaxContingencies": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Income tax reconciliation section 179D deduction, net of tax contingencies.", "label": "Income Tax Reconciliation Section 179d Deduction Net Of Tax Contingencies", "negatedLabel": "179D deduction", "terseLabel": "179D deduction" } } }, "localname": "IncomeTaxReconciliationSection179dDeductionNetOfTaxContingencies", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "fix_IndustrialPropertyCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Building designed to house industrial operations and provide the necessary conditions for the operation of industrial equipment.", "label": "Industrial Property Customer [Member]", "terseLabel": "Industrial" } } }, "localname": "IndustrialPropertyCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_InsuranceRecoveryPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for insurance recovery.", "label": "Insurance Recovery, Policy [Policy Text Block]", "terseLabel": "Insurance Recovery" } } }, "localname": "InsuranceRecoveryPolicyPolicyTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "fix_InterestExpenseOnInterestRateSwaps": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 4.0, "parentTag": "us-gaap_InterestExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of interest expense on interest rate swaps.", "label": "Interest Expense on Interest Rate Swaps", "terseLabel": "Interest expense on interest rate swaps" } } }, "localname": "InterestExpenseOnInterestRateSwaps", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "fix_LetterOfCreditFeesAmount": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 5.0, "parentTag": "us-gaap_InterestExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of fees associated with the letter of credit.", "label": "Letter of Credit Fees Amount", "terseLabel": "Letter of credit fees" } } }, "localname": "LetterOfCreditFeesAmount", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "fix_LetterOfCreditFeesPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the fees for the letter of credit facility, expressed as a percent based on the ratio of consolidated total indebtedness to credit facility adjusted EBITDA, as defined in the credit agreement.", "label": "Letter of Credit Fees Percentage", "terseLabel": "Letter of credit fees (as a percent)" } } }, "localname": "LetterOfCreditFeesPercentage", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "fix_LiabilitiesDueToFormerOwnersCurrent": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the carrying amount as of the balance sheet date of liabilities due to former owners. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).", "label": "Liabilities Due to Former Owners Current", "terseLabel": "Liabilities due to former owners" } } }, "localname": "LiabilitiesDueToFormerOwnersCurrent", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "fix_LifeInsuranceContractsFaceAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the face amount of life insurance policies taken by the entity for their employees.", "label": "Life Insurance Contracts Face Amount", "terseLabel": "Combined face value of life insurance policies" } } }, "localname": "LifeInsuranceContractsFaceAmount", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "fix_LifeInsuranceContractsNumberOfEmployeesCovered": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of employees covered under life insurance policy contracts.", "label": "Life Insurance Contracts Number of Employees Covered", "terseLabel": "Number of employees covered under life insurance policies" } } }, "localname": "LifeInsuranceContractsNumberOfEmployeesCovered", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "integerItemType" }, "fix_LineOfCreditBorrowingCapacityAccordionOption": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accordion option on credit facility per terms of the agreement.", "label": "Line of credit borrowing capacity accordion option" } } }, "localname": "LineOfCreditBorrowingCapacityAccordionOption", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_LossContingencyDamagesStatedValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The value (monetary amount) of the award the defendant stated in the legal matter.", "label": "Loss Contingency, Damages Stated, Value", "terseLabel": "Damages stated" } } }, "localname": "LossContingencyDamagesStatedValue", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "monetaryItemType" }, "fix_LossContingencyLetterOfIntentUnderDisputeNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The total number of letter of intent executed to perform subcontract work under dispute pertaining to a loss contingency during the period.", "label": "Loss Contingency, Letter Of Indent Under Dispute, Number", "terseLabel": "Letter of intent under dispute" } } }, "localname": "LossContingencyLetterOfIntentUnderDisputeNumber", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "integerItemType" }, "fix_LossContingencySuretyAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Loss Contingency Surety [Abstract]", "terseLabel": "Surety" } } }, "localname": "LossContingencySuretyAbstract", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "stringItemType" }, "fix_MaintenanceRepairAndReplacementServiceMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to maintenance, repair and replacement services.", "label": "Maintenance Repair And Replacement Service [Member]", "terseLabel": "Maintenance, repair and replacement services" } } }, "localname": "MaintenanceRepairAndReplacementServiceMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "domainItemType" }, "fix_MarketRatesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Market Rates [Abstract]", "terseLabel": "Market rates relating to interest options" } } }, "localname": "MarketRatesAbstract", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_MechanicalServicesIndustryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to mechanical services industry.", "label": "Mechanical Services Industry [Member]", "terseLabel": "Mechanical Services Segment" } } }, "localname": "MechanicalServicesIndustryMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "domainItemType" }, "fix_MechanicalServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Mechanical Services [Member]", "label": "Mechanical Services [Member]", "terseLabel": "Mechanical Services" } } }, "localname": "MechanicalServicesMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "domainItemType" }, "fix_MultiEmployerPensionPlanNumberOfEmployeesWhoAreUnionMembers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of employees who are union members and have participated in the multi-employer pension plans.", "label": "Multi Employer Pension Plan Number of Employees who are Union Members", "terseLabel": "Number of employees who are union members" } } }, "localname": "MultiEmployerPensionPlanNumberOfEmployeesWhoAreUnionMembers", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "integerItemType" }, "fix_MultiFamilyAndResidentialMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for multi family and residential.", "label": "Multi Family And Residential [Member]", "terseLabel": "Multi-Family and Residential" } } }, "localname": "MultiFamilyAndResidentialMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_NewConstructionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for new construction.", "label": "New Construction [Member]", "terseLabel": "New Construction" } } }, "localname": "NewConstructionMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_NumberOfOptionsToRenew": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of options to renew.", "label": "Number of Options to Renew", "terseLabel": "Number of options to renew" } } }, "localname": "NumberOfOptionsToRenew", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "integerItemType" }, "fix_OfficeBuildingCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Building designed primarily for the conduct of business, for example, but not limited to, administration, clerical services, and consultation.", "label": "Office Building Customer [Member]", "terseLabel": "Office Buildings" } } }, "localname": "OfficeBuildingCustomerMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_OmnibusIncentivePlan2017Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for 2017 Omnibus Incentive Plan.", "label": "Omnibus Incentive Plan2017 [Member]", "terseLabel": "2017 Omnibus Incentive Plan" } } }, "localname": "OmnibusIncentivePlan2017Member", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "domainItemType" }, "fix_PaymentsOfFinancingCostsLineOfCreditArrangements": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Payments Of Financing Costs Line Of Credit Arrangements.", "label": "Payments Of Financing Costs Line Of Credit Arrangements", "terseLabel": "Payments of financing costs line of credit arrangements" } } }, "localname": "PaymentsOfFinancingCostsLineOfCreditArrangements", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_PaymentsOfFinancingCostsTermLoan": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Payments Of Financing Costs Term Loan", "label": "Payments Of Financing Costs Term Loan", "terseLabel": "Payments of financing costs term loan" } } }, "localname": "PaymentsOfFinancingCostsTermLoan", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_PaymentsReceivedTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of days in which the entity receives payment from customers.", "label": "Payments Received Term", "terseLabel": "Payments received term (in days)" } } }, "localname": "PaymentsReceivedTerm", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "durationItemType" }, "fix_PercentageOfBusinessWhichHasRequiredBonds": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of business which has required bonds.", "label": "Percentage of Business which has Required Bonds", "terseLabel": "Percentage of business which has required bonds" } } }, "localname": "PercentageOfBusinessWhichHasRequiredBonds", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "percentItemType" }, "fix_PercentageOfFairValuesInExcessOfCarryingValueForReportingUnit": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of fair values in excess of carrying value for reporting unit.", "label": "Percentage of fair values in excess of carrying value for Walker reporting unit" } } }, "localname": "PercentageOfFairValuesInExcessOfCarryingValueForReportingUnit", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "percentItemType" }, "fix_PercentageOfFairValuesInExcessOfCarryingValueTwoReportingUnits": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of fair values in excess of carrying value for two specific reporting units.", "label": "Percentage Of Fair Values In Excess Of Carrying Value Two Reporting Units", "terseLabel": "Percentage of fair values in excess of carrying value of two acquired reporting units" } } }, "localname": "PercentageOfFairValuesInExcessOfCarryingValueTwoReportingUnits", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "percentItemType" }, "fix_PercentageOfRevenueFromContractWithCustomer": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of revenue from contract with customers.", "label": "Percentage of Revenue from Contract With Customer", "terseLabel": "Percentage of revenue from contract with customer (as a percent)" } } }, "localname": "PercentageOfRevenueFromContractWithCustomer", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "percentItemType" }, "fix_PercentageOfUnitsMeasuredOnPredeterminedEPS": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the measurements of units based predetermined EPS.", "label": "Percentage of Units Measured on Predetermined EPS", "terseLabel": "Percentage of units measured on stock price based on pre determined EPS" } } }, "localname": "PercentageOfUnitsMeasuredOnPredeterminedEPS", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "percentItemType" }, "fix_PercentageOfUnitsMeasuredOnStockPriceRelativeToGroupOfPeer": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the measurements of units based on relative group of peer EPS.", "label": "Percentage of Units Measured on Stock Price Relative to Group of Peer", "terseLabel": "Percentage of units measured on stock price relative to peer group" } } }, "localname": "PercentageOfUnitsMeasuredOnStockPriceRelativeToGroupOfPeer", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "percentItemType" }, "fix_PerformanceMultiplierForDollarDenominatedAwardGranted": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the performance multiplier for dollar-denominated award granted at target.", "label": "Performance Multiplier for Dollar Denominated Award Granted", "terseLabel": "Performance measures for dollar denominated award granted" } } }, "localname": "PerformanceMultiplierForDollarDenominatedAwardGranted", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "pureItemType" }, "fix_PeriodForWhichShareholderReturnIsComparedWithPeerGroupForUnitsDeterminedByEPSPerformance": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period for which shareholder return is compared with peer group for units determined by EPS performance.", "label": "Period for which Shareholder Return is Compared with Peer Group for Units Determined by EPS Performance", "terseLabel": "Period for which shareholder return is compared with peer group for units determined by EPS performance" } } }, "localname": "PeriodForWhichShareholderReturnIsComparedWithPeerGroupForUnitsDeterminedByEPSPerformance", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "durationItemType" }, "fix_ReceivableDueTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The payment terms for receivables in days.", "label": "Receivable Due Term", "terseLabel": "Receivable payment terms (in days)" } } }, "localname": "ReceivableDueTerm", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "durationItemType" }, "fix_ReclassificationOfAllowanceForCreditLosses": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss reclassified into other liabilities during the period.", "label": "Reclassification Of Allowance For Credit Losses", "terseLabel": "Reclass to other current liabilities" } } }, "localname": "ReclassificationOfAllowanceForCreditLosses", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "n/a", "label": "Reconciliation Of Earnings Before Interest Tax Depreciation And Amortization to Net Income [Abstract]", "terseLabel": "Reconciliation of Credit Facility Adjusted EBITDA to net income" } } }, "localname": "ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "fix_RenewableServiceMaintenanceAgreementsTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The term of renewable service maintenance agreements in years.", "label": "Renewable Service Maintenance Agreements Term", "terseLabel": "The term of the renewable service maintenance agreements (in years)" } } }, "localname": "RenewableServiceMaintenanceAgreementsTerm", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails" ], "xbrltype": "durationItemType" }, "fix_RepaymentInTermsOfPercentageOfOriginalAggregatePrincipalAmount": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents repayment in terms of percentage of original aggregate principal amount.", "label": "Repayment In Terms Of Percentage Of Original Aggregate Principal Amount", "terseLabel": "Repayment in terms of percentage of original aggregate principal amount" } } }, "localname": "RepaymentInTermsOfPercentageOfOriginalAggregatePrincipalAmount", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "fix_RestrictedStockAndRestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Shares and stock units that an entity has not yet issued because the agreed-upon consideration, such as employee services, has not yet been received.", "label": "Restricted Stock And Restricted Stock Units R S U [Member]", "terseLabel": "Restricted Stock and Restricted Stock Units" } } }, "localname": "RestrictedStockAndRestrictedStockUnitsRSUMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "domainItemType" }, "fix_RetailRestaurantsAndEntertainmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for retail, restaurants and entertainment", "label": "Retail Restaurants And Entertainment [Member]", "terseLabel": "Retail, Restaurants and Entertainment" } } }, "localname": "RetailRestaurantsAndEntertainmentMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_RetentionProvisionsConstructionContractsHoldingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period during which progress billings or the contract price can be withheld by customers until after the completion of work on the project.", "label": "Retention Provisions Construction Contracts Holding Period", "terseLabel": "Period during which progress billings or contract price can be withheld until completion of work" } } }, "localname": "RetentionProvisionsConstructionContractsHoldingPeriod", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "durationItemType" }, "fix_SalesRevenueMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents total revenue during the period when it serves as a benchmark in a concentration of risk calculation.", "label": "Sales Revenue [Member]", "terseLabel": "Revenue" } } }, "localname": "SalesRevenueMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "domainItemType" }, "fix_SalesRevenueServicesNetPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of net services revenue to total net revenue from the services rendered as of the year end.", "label": "Sales Revenue Services Net Percentage", "terseLabel": "Percentage of revenue attributable to services" } } }, "localname": "SalesRevenueServicesNetPercentage", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "percentItemType" }, "fix_ScenarioCovenantRequirementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Domain member used to indicate the requirements per the terms of the debt agreement.", "label": "Scenario Covenant Requirement [Member]", "terseLabel": "Covenant Requirement" } } }, "localname": "ScenarioCovenantRequirementMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_ScenarioOneImpairmentTestingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the impairment testing, scenario one.", "label": "Scenario One Impairment Testing [Member]", "terseLabel": "Impairment testing, Scenario one" } } }, "localname": "ScenarioOneImpairmentTestingMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "fix_ScenarioTwoImpairmentTestingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the impairment testing, scenario two.", "label": "Scenario Two Impairment Testing [Member]", "terseLabel": "Impairment testing, Scenario two" } } }, "localname": "ScenarioTwoImpairmentTestingMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "fix_ScheduleOfAdditionalMarginsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the additional margins added to the reference rate to compute the variable rate on the debt instrument.", "label": "Schedule of Additional Margins [Table Text Block]", "terseLabel": "Summary of additional margins" } } }, "localname": "ScheduleOfAdditionalMarginsTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfBalanceSheetPresentationOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of classification of deferred tax assets and liabilities recognized in the entity's statement of financial position.", "label": "Schedule of Balance Sheet Presentation of Deferred Tax Assets and Liabilities Table [Text Block]", "verboseLabel": "Schedule of deferred income tax assets and liabilities included in the consolidated balance sheets" } } }, "localname": "ScheduleOfBalanceSheetPresentationOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfBusinessAndOrganizationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Schedule of Business and Organization [Line Items]", "terseLabel": "Business and Organization" } } }, "localname": "ScheduleOfBusinessAndOrganizationLineItems", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "stringItemType" }, "fix_ScheduleOfBusinessAndOrganizationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of information related to the business and organization.", "label": "Schedule of Business and Organization [Table]" } } }, "localname": "ScheduleOfBusinessAndOrganizationTable", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "stringItemType" }, "fix_ScheduleOfContractsInProgressTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of contracts in progress.", "label": "Schedule of Contracts in Progress [Table Text Block]", "terseLabel": "Schedule of contracts in progress" } } }, "localname": "ScheduleOfContractsInProgressTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfFloatingInterestRateBasesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of variable rate bases and spreads related to debt covenants.", "label": "Schedule of Floating Interest Rate Bases [Table Text Block]", "terseLabel": "Schedule of market rates relating to interest options under the Facility" } } }, "localname": "ScheduleOfFloatingInterestRateBasesTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfInterestExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of primary elements of interest expenses.", "label": "Schedule Of Interest Expense [Table Text Block]", "verboseLabel": "Schedule of interest expense" } } }, "localname": "ScheduleOfInterestExpenseTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lease assets and liabilities.", "label": "Schedule of Lease Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of lease assets and liabilities" } } }, "localname": "ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfNonvestedOptionsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested options awards.", "label": "Schedule of Nonvested Options Activity [Table Text Block]", "verboseLabel": "Summary of information about nonvested stock option awards and changes" } } }, "localname": "ScheduleOfNonvestedOptionsActivityTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfReconciliationOfCreditFacilityAdjustedEbitdaToNetIncomeTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of adjusted earnings before interest, taxes, depreciation and amortization (EBITDA) to net income for debt covenant compliance.", "label": "Schedule Of Reconciliation Of Credit Facility Adjusted EBITDA To Net Income [Table Text Block]", "terseLabel": "Schedule of reconciliation of Credit Facility Adjusted EBITDA to net income" } } }, "localname": "ScheduleOfReconciliationOfCreditFacilityAdjustedEbitdaToNetIncomeTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "fix_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of supplemental information related to leases.", "label": "Schedule of Supplemental Information Related to Leases [Table Text Block]", "terseLabel": "Schedule of supplemental information related to leases" } } }, "localname": "ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "fix_SelfInsuranceAggregateLossInsuranceCoveredAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of aggregate excess loss coverage above applicable per-incident deductibles for all lines of risk.", "label": "Self Insurance Aggregate Loss Insurance Covered Amount", "terseLabel": "Amount of excess loss insurance covered" } } }, "localname": "SelfInsuranceAggregateLossInsuranceCoveredAmount", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "monetaryItemType" }, "fix_SelfInsuranceAmountOfLossFullyInsuredAboveDeductibleCoverageAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of loss fully insured above per-incident deductible amount under insurance arrangements under various risks.", "label": "Self Insurance Amount of Loss Fully Insured above Deductible Coverage Amount", "terseLabel": "Amount of loss fully insured above per-incident deductible amount" } } }, "localname": "SelfInsuranceAmountOfLossFullyInsuredAboveDeductibleCoverageAmount", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "monetaryItemType" }, "fix_SelfInsuranceDeductibleAmountPerIncident": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of risk retained by the entity per incident before the insurance arrangement begins to provide coverage under various risks.", "label": "Self Insurance Deductible Amount Per Incident", "terseLabel": "Per incident deductible amount" } } }, "localname": "SelfInsuranceDeductibleAmountPerIncident", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "monetaryItemType" }, "fix_SelfInsuranceDeductibleAmountPerPersonPerPolicy": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of risk retained by the entity per person, per policy before the insurance arrangement begins to provide coverage under various risks.", "label": "Self Insurance Deductible Amount Per Person Per Policy", "terseLabel": "Per person, per policy deductible amount" } } }, "localname": "SelfInsuranceDeductibleAmountPerPersonPerPolicy", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "monetaryItemType" }, "fix_SelfInsuranceNumberOfMedicalPlans": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of medical plans.", "label": "Self Insurance Number of Medical Plans", "terseLabel": "Number of medical plans" } } }, "localname": "SelfInsuranceNumberOfMedicalPlans", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "integerItemType" }, "fix_ServiceCallsMaintenanceAndMonitoringMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for service calls, maintenance and monitoring.", "label": "Service Calls Maintenance And Monitoring [Member]", "terseLabel": "Service Calls, Maintenance and Monitoring" } } }, "localname": "ServiceCallsMaintenanceAndMonitoringMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_ServiceProjectsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for service projects.", "label": "Service Projects [Member]", "terseLabel": "Service Projects" } } }, "localname": "ServiceProjectsMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_ServicesActivityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Service activity.", "label": "Services Activity [Member]", "terseLabel": "Service" } } }, "localname": "ServicesActivityMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "domainItemType" }, "fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement by Share Based Payment Award, Options Nonvested [Roll Forward]", "terseLabel": "Nonvested Options, Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedRollForward", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "stringItemType" }, "fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedInPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of stock options that vested during the reporting period.", "label": "Share Based Compensation Arrangement by Share Based Payment Award, Options Vested in Period", "negatedLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedInPeriod", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "sharesItemType" }, "fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to a stock option award 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 terms of the arrangement.", "label": "Share Based Compensation Arrangement by Share Based Payment Award Options Vested in Period Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardSumOfAgeAndYearsOfServiceForAcceleratedVestingOnRetirement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the sum of age and years of service for accelerated vesting of certain stock options and restricted stock awards.", "label": "Share Based Compensation Arrangement by Share Based Payment Award sum of age and years of Service for Accelerated Vesting on Retirement", "terseLabel": "Sum of age and years of service for accelerated vesting on retirement of certain stock options and restricted stock awards" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSumOfAgeAndYearsOfServiceForAcceleratedVestingOnRetirement", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "fix_ShareBasedCompensationPerformanceSharesAwardCalculatedFairMarketValue": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the fair market value of liabilities of performance share awards, as of the balance sheet date.", "label": "Share Based Compensation Performance Shares Award Calculated Fair Market Value", "terseLabel": "Calculated fair market value" } } }, "localname": "ShareBasedCompensationPerformanceSharesAwardCalculatedFairMarketValue", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized under Stock Option Plans Exercise Price Range Options Exercisable [Abstract]", "terseLabel": "Options Exercisable" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "stringItemType" }, "fix_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized under Stock Option Plans Exercise Price Range Outstanding Options [Abstract]", "terseLabel": "Options Outstanding" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsAbstract", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "stringItemType" }, "fix_SharebasedCompensationPerformanceSharesAwardCalculatedFairMarketValueCurrentPortion": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the fair market value of current liabilities of performance share awards, as of the balance sheet date.", "label": "ShareBased Compensation Performance Shares Award Calculated Fair Market Value Current Portion", "terseLabel": "Value of PSUs granted" } } }, "localname": "SharebasedCompensationPerformanceSharesAwardCalculatedFairMarketValueCurrentPortion", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted and Performance Stock Awards.", "label": "Stock Issued During Period, Shares, Restricted And Performance Stock Award Gross", "terseLabel": "Issuance of restricted stock & performance stock (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedAndPerformanceStockAwardGross", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "fix_StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate value of stock related to Restricted and Performance Stock Awards issued during the period.", "label": "Stock Issued During Period Value Restricted And Performance Stock Award Gross", "terseLabel": "Issuance of restricted stock & performance stock" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "fix_StockRepurchaseProgram2007Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the March 2007 stock repurchase program.", "label": "Stock Repurchase Program2007 [Member]", "terseLabel": "Stock Repurchase Program 2007" } } }, "localname": "StockRepurchaseProgram2007Member", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "domainItemType" }, "fix_StockRepurchaseProgramAdditionalNumberOfSharesAuthorizedToBeRepurchased": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The additional number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan", "label": "Stock Repurchase Program, Additional Number of Shares Authorized to be Repurchased", "terseLabel": "Additional number of shares authorized for repurchase" } } }, "localname": "StockRepurchaseProgramAdditionalNumberOfSharesAuthorizedToBeRepurchased", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "sharesItemType" }, "fix_SubordinateDebtAndPromissoryNoteMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This element represents domestic or foreign subordinated debt and promissory note. Subordinated debt has a lower priority of repayment in liquidation of the entity's assets and promissory notes has a borrowing supported by a written promise to pay an obligation.", "label": "Subordinate Debt And Promissory Note [Member]", "terseLabel": "Notes to former owners" } } }, "localname": "SubordinateDebtAndPromissoryNoteMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_SupplementalInformationRelatedToLeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Supplemental Information Related to Leases [Abstract]", "terseLabel": "Supplemental information related to leases:" } } }, "localname": "SupplementalInformationRelatedToLeasesAbstract", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "fix_SystemInstallationInNewlyConstructedFacilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to installation of systems in newly constructed facilities.", "label": "System Installation In Newly Constructed Facilities [Member]", "terseLabel": "Installation of systems in newly constructed facilities" } } }, "localname": "SystemInstallationInNewlyConstructedFacilitiesMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails" ], "xbrltype": "domainItemType" }, "fix_TECIndustrialConstructionAndMaintenanceMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "T E C Industrial Construction and Maintenance.", "label": "T E C Industrial Construction And Maintenance [Member]", "terseLabel": "T E C Industrial Construction and Maintenance" } } }, "localname": "TECIndustrialConstructionAndMaintenanceMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_TasEnergyIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to TAS Energy Inc.", "label": "Tas Energy Inc [Member]", "terseLabel": "TAS Energy" } } }, "localname": "TasEnergyIncMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "domainItemType" }, "fix_TasEnergyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "TAS Energy.", "label": "Tas Energy [Member]", "terseLabel": "TAS Energy" } } }, "localname": "TasEnergyMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_TaxEqualizationPaymentOnAcquisition": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Tax equalization payment, on acquisition.", "label": "Tax Equalization Payment, on Acquisition", "terseLabel": "Tax equalization payment" } } }, "localname": "TaxEqualizationPaymentOnAcquisition", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_TaxYears2016To2018Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Identified as tax year total for 2016-2018.", "label": "Tax Years2016 To2018 [Member]", "terseLabel": "Total Tax Years 2016-2018" } } }, "localname": "TaxYears2016To2018Member", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "fix_TermLoanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to term loan member.", "label": "Term Loan [Member]", "terseLabel": "Term loan" } } }, "localname": "TermLoanMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_ThroughMaturityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information through the debt maturity date.", "label": "Through Maturity [Member]", "terseLabel": "Through maturity" } } }, "localname": "ThroughMaturityMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_TypesOfPerformanceStockUnits": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of types of performance stock units.", "label": "Types of Performance Stock Units", "terseLabel": "Types of performance units" } } }, "localname": "TypesOfPerformanceStockUnits", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "integerItemType" }, "fix_UnbilledAccountsReceivableAllowanceForCreditLoss": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails": { "order": 2.0, "parentTag": "fix_ContractReceivablesContractsInProcessNetReceivableLiability", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of allowance for credit losses on unbilled receivable.", "label": "Unbilled Accounts Receivable, Allowance for Credit Loss", "negatedLabel": "Less-Unbilled accounts receivable credit allowance", "terseLabel": "Unbilled accounts receivable, allowance for credit losses (in dollars)" } } }, "localname": "UnbilledAccountsReceivableAllowanceForCreditLoss", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "fix_VariableLeaseAndShortTermLeaseCost": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost and short-term lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease and Short-term Lease, Cost", "terseLabel": "Variable lease expense and short-term lease expenses" } } }, "localname": "VariableLeaseAndShortTermLeaseCost", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Walker TX Holdings, Inc. and its wholly-owned subsidiaries.", "label": "Walker Tx Holdings Inc. And Its Wholly Owned Subsidiaries [Member]", "terseLabel": "Walker" } } }, "localname": "WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "fix_WarrantyPeriodOfLaborAfterServicing": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the labor warranty period after servicing of existing MEP system.", "label": "Warranty Period of Labor after Servicing", "terseLabel": "Labor warranty period after servicing of existing MEP system" } } }, "localname": "WarrantyPeriodOfLaborAfterServicing", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "durationItemType" }, "fix_WeightageAssignedToDiscountedCashFlowAnalysisForImpairmentTesting": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the weighted assigned to discounted cash flow analysis for impairment testing.", "label": "Weightage Assigned To Discounted Cash Flow Analysis For Impairment Testing", "terseLabel": "Impairment testing, discounted cash flow analysis weightage assigned" } } }, "localname": "WeightageAssignedToDiscountedCashFlowAnalysisForImpairmentTesting", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "percentItemType" }, "fix_WeightageAssignedToPublicCompanyApproachForImpairmentTesting": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the weighted assigned to public company approach for impairment testing.", "label": "Weightage Assigned To Public Company Approach For Impairment Testing", "terseLabel": "Impairment testing, public company approach weightage assigned" } } }, "localname": "WeightageAssignedToPublicCompanyApproachForImpairmentTesting", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "percentItemType" }, "fix_WeightedAverageCostOfCapital": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of weighted average cost of capital.", "label": "Weighted Average Cost Of Capital", "terseLabel": "Weighted average cost of capital" } } }, "localname": "WeightedAverageCostOfCapital", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "percentItemType" }, "fix_WorkersCompensationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the workers compensation arrangement under self-insurance contract.", "label": "Workers Compensation [Member]", "terseLabel": "Workers' Compensation" } } }, "localname": "WorkersCompensationMember", "nsuri": "http://www.comfortsystemsusa.com/20201231", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r176", "r189", "r190", "r191", "r192", "r194", "r196", "r200" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r176", "r189", "r190", "r191", "r192", "r194", "r196", "r200" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r56", "r103" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "stringItemType" }, "srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember": { "auth_ref": [ "r112", "r120", "r218", "r398", "r399", "r400", "r442", "r443" ], "lang": { "en-us": { "role": { "label": "Cumulative Effect Period Of Adoption Adjustment [Member]", "terseLabel": "Cumulative Effect, Period of Adoption, Adjustment [Member]" } } }, "localname": "CumulativeEffectPeriodOfAdoptionAdjustmentMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "srt_CumulativeEffectPeriodOfAdoptionAxis": { "auth_ref": [ "r112", "r120", "r218", "r398", "r399", "r400", "r442", "r443" ], "lang": { "en-us": { "role": { "label": "Cumulative Effect, Period of Adoption [Axis]" } } }, "localname": "CumulativeEffectPeriodOfAdoptionAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "srt_CumulativeEffectPeriodOfAdoptionDomain": { "auth_ref": [ "r112", "r120", "r218", "r398", "r399", "r400", "r442", "r443" ], "lang": { "en-us": { "role": { "label": "Cumulative Effect Period Of Adoption [Domain]", "terseLabel": "Cumulative Effect, Period of Adoption [Domain]" } } }, "localname": "CumulativeEffectPeriodOfAdoptionDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r205", "r323", "r329", "r599" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r352", "r356", "r546", "r547", "r548", "r549", "r550", "r551", "r554", "r595", "r600" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r352", "r356", "r546", "r547", "r548", "r549", "r550", "r551", "r554", "r595", "r600" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r205", "r323", "r329", "r599" ], "lang": { "en-us": { "role": { "label": "Name Of Major Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r202", "r323", "r327", "r557", "r593", "r598" ], "lang": { "en-us": { "role": { "label": "Products and Services [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r202", "r323", "r327", "r557", "r593", "r598" ], "lang": { "en-us": { "role": { "label": "Products And Services [Domain]", "terseLabel": "Products and Services [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganizationDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r341", "r352", "r356", "r546", "r547", "r548", "r549", "r550", "r551", "r554", "r595", "r600" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r341", "r352", "r356", "r546", "r547", "r548", "r549", "r550", "r551", "r554", "r595", "r600" ], "lang": { "en-us": { "role": { "label": "Range [Member]", "terseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Repurchase Agreement Counterparty Name [Domain]", "terseLabel": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "domainItemType" }, "srt_RestatementAdjustmentMember": { "auth_ref": [ "r108", "r109", "r110", "r111", "r113", "r114", "r118", "r119", "r120", "r122", "r123", "r125", "r126", "r149" ], "lang": { "en-us": { "role": { "label": "Restatement Adjustment [Member]", "terseLabel": "Adjustments" } } }, "localname": "RestatementAdjustmentMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "domainItemType" }, "srt_RestatementAxis": { "auth_ref": [ "r108", "r109", "r110", "r111", "r113", "r114", "r118", "r119", "r120", "r122", "r123", "r124", "r125", "r126", "r149", "r219", "r220", "r401", "r443", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613" ], "lang": { "en-us": { "role": { "label": "Revision of Prior Period [Axis]" } } }, "localname": "RestatementAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "stringItemType" }, "srt_RestatementDomain": { "auth_ref": [ "r108", "r109", "r110", "r111", "r113", "r114", "r118", "r119", "r120", "r122", "r123", "r124", "r125", "r126", "r149", "r219", "r220", "r401", "r443", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613" ], "lang": { "en-us": { "role": { "label": "Restatement [Domain]", "terseLabel": "Revision of Prior Period [Domain]" } } }, "localname": "RestatementDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r353" ], "lang": { "en-us": { "role": { "label": "Scenario Unspecified [Domain]", "terseLabel": "Scenario, Unspecified [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r268", "r353", "r542" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Summary of Significant Accounting Policies" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountingStandardsUpdate201613Member": { "auth_ref": [ "r214" ], "lang": { "en-us": { "role": { "documentation": "Accounting Standards Update 2016-13 Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments.", "label": "Accounting Standards Update201613 [Member]", "terseLabel": "ASU 2016-13" } } }, "localname": "AccountingStandardsUpdate201613Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsNotesAndLoansReceivableLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]" } } }, "localname": "AccountsNotesAndLoansReceivableLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r36" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": { "auth_ref": [ "r226" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]", "terseLabel": "Schedule of activity in allowance for credit losses" } } }, "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsReceivableChangeInMethodCreditLossExpenseReversal": { "auth_ref": [ "r222" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable from change in methodology.", "label": "Accounts Receivable, Change in Method, Credit Loss Expense (Reversal)", "terseLabel": "Impact of new accounting standard" } } }, "localname": "AccountsReceivableChangeInMethodCreditLossExpenseReversal", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r34", "r257" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less-Accumulated depreciation" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Acquired Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r244" ], "lang": { "en-us": { "role": { "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Estimated Useful Life" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r22" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r108", "r109", "r111", "r398", "r399", "r400" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid In Capital [Member]", "terseLabel": "Additional Paid-In Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r113", "r114", "r115", "r116", "r215", "r216", "r217", "r218", "r219", "r220", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r440", "r441", "r442", "r443", "r559", "r560", "r561", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613" ], "lang": { "en-us": { "role": { "documentation": "Information by amendment to accounting standards.", "label": "Accounting Standards Update [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Adjustments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Shares received in lieu of tax withholding payment on vested restricted stock" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r358", "r360", "r404", "r405" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities-" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r360", "r390", "r403" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Allocated Share-based Compensation Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r208", "r221", "r223", "r225" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss", "periodEndLabel": "Balance at end of year", "periodStartLabel": "Balance at beginning of year" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r27", "r208", "r221" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance For Doubtful Accounts Receivable Current", "verboseLabel": "Billed accounts receivable, allowance for credit losses (in dollars)" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease": { "auth_ref": [ "r226" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss, Period Increase (Decrease)", "verboseLabel": "Increase in Allowance for Credit Losses" } } }, "localname": "AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Allowance for Doubtful Accounts Receivable [Roll Forward]", "terseLabel": "Activity in allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulOtherReceivablesCurrent": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation allowance for receivables classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Receivables Allowance For Credit Loss", "terseLabel": "Other receivables, allowance for credit losses (In dollars)" } } }, "localname": "AllowanceForDoubtfulOtherReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfFinancingCosts": { "auth_ref": [ "r67", "r93", "r524" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs.", "label": "Amortization of Financing Costs", "terseLabel": "Amortization of debt financing costs" } } }, "localname": "AmortizationOfFinancingCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "auth_ref": [ "r93", "r524" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 1.0, "parentTag": "us-gaap_InterestExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs.", "label": "Amortization of Financing Costs and Discounts", "terseLabel": "Amortization of debt financing costs" } } }, "localname": "AmortizationOfFinancingCostsAndDiscounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r93", "r242", "r250" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of identifiable intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r145" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Anti-dilutive securities excluded from computation of earnings per share amount (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r145" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Earnings Per Share" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r145" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AssetImpairmentChargesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Asset Impairment Charges [Abstract]", "terseLabel": "Impairment" } } }, "localname": "AssetImpairmentChargesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_Assets": { "auth_ref": [ "r101", "r184", "r191", "r198", "r213", "r475", "r480", "r513", "r564", "r581" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "terseLabel": "Total Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsAndLiabilitiesLesseeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets and Liabilities, Lessee [Abstract]", "terseLabel": "Summary of lease asset and liabilities" } } }, "localname": "AssetsAndLiabilitiesLesseeAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r54", "r101", "r213", "r475", "r480", "r513" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "CURRENT ASSETS:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r361", "r392" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Detail of Other Current Liabilities" } } }, "localname": "BalanceSheetRelatedDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r107" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BilledContractReceivables": { "auth_ref": [ "r49" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amounts due for billed services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the Company and, at a minimum, one other party. An example would be amounts billed to customers under contracts or programs but not paid as of the balance sheet date.", "label": "Billed Contracts Receivable", "verboseLabel": "Billed accounts receivable, less allowance for credit losses of $9,087 and $6,907, respectively" } } }, "localname": "BilledContractReceivables", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r351", "r354" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r351", "r354", "r456", "r457" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Business Acquisition [Line Items]", "terseLabel": "Acquisitions" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r464", "r465", "r466" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred", "totalLabel": "Total consideration transferred", "verboseLabel": "Total purchase price" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination, Consideration Transferred [Abstract]", "terseLabel": "Consideration transferred:" } } }, "localname": "BusinessCombinationConsiderationTransferredAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": { "auth_ref": [ "r463", "r464", "r465", "r468" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.", "label": "Business Combination, Consideration Transferred, Liabilities Incurred", "terseLabel": "Promissory note payable", "verboseLabel": "Notes issued to former owners" } } }, "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r92", "r470" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "negatedLabel": "Changes in the fair value of contingent earn-out obligations", "terseLabel": "Changes in the fair value of contingent earn-out obligations" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": { "auth_ref": [ "r469" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.", "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High", "terseLabel": "Contingent earn-out estimated milestone payment, maximum" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow": { "auth_ref": [ "r469" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "For contingent consideration arrangements and indemnification assets recognized in connection with a business combination, this element represents an estimate of the low-end of the potential range (undiscounted) of the consideration which may be paid.", "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low", "terseLabel": "Contingent earn-out estimated milestone payment, minimum" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r473" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).", "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "auth_ref": [ "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "terseLabel": "Cash and cash equivalents" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "auth_ref": [ "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 5.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other", "terseLabel": "Other current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "auth_ref": [ "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 6.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Billed and unbilled accounts receivable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "auth_ref": [ "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 7.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "negatedLabel": "Accounts payable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": { "auth_ref": [ "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 8.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other", "negatedLabel": "Accrued expenses and other current liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "auth_ref": [ "r458", "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 12.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Identifiable intangible assets", "verboseLabel": "Estimated Fair Value" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": { "auth_ref": [ "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 13.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other", "negatedLabel": "Other long-term liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "auth_ref": [ "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 11.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "terseLabel": "Other long-term assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "auth_ref": [ "r458", "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 14.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "terseLabel": "Property and equipment" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r459" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.", "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "terseLabel": "Amount allocated to goodwill and intangible assets for acquisitions", "totalLabel": "Total assets acquired and liabilities assumed" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]", "terseLabel": "Recognized amounts of identifiable assets acquired and liabilities assumed:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Acquisitions" } } }, "localname": "BusinessCombinationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationsPolicy": { "auth_ref": [ "r99", "r455" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.", "label": "Business Combinations Policy [Policy Text Block]", "terseLabel": "Acquisitions" } } }, "localname": "BusinessCombinationsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member": { "auth_ref": [ "r334" ], "lang": { "en-us": { "role": { "documentation": "Calculated under guidance for revenue recognition in effect prior to change to new guidance for revenue from contract with customer when using transition method for cumulative effect in period including initial date of application.", "label": "Calculated Under Revenue Guidance In Effect Before Topic606 [Member]", "terseLabel": "Calculated under Revenue Guidance in Effect before Topic 606 [Member]" } } }, "localname": "CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r31", "r95" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r10", "r96", "r99" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash Flow Information" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r88", "r95", "r98" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "CASH AND CASH EQUIVALENTS, end of period", "periodStartLabel": "CASH AND CASH EQUIVALENTS, beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r88", "r514" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashSurrenderValueFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of the amount that could be realized under a life insurance contract or contracts owned by the entity, commonly known as corporate-owned life insurance (COLI) or bank-owned life insurance (BOLI).", "label": "Cash Surrender Value, Fair Value Disclosure", "terseLabel": "Life insurance-cash surrender value" } } }, "localname": "CashSurrenderValueFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashSurrenderValueOfLifeInsurance": { "auth_ref": [ "r6", "r35" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of amounts which could be received based on the terms of the insurance contract upon surrendering life policies owned by the entity.", "label": "Cash Surrender Value of Life Insurance", "terseLabel": "Cash surrender value" } } }, "localname": "CashSurrenderValueOfLifeInsurance", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ChangeInContractWithCustomerAssetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Asset [Abstract]", "terseLabel": "Contract Assets" } } }, "localname": "ChangeInContractWithCustomerAssetAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Liability [Abstract]", "terseLabel": "Contract Liabilities" } } }, "localname": "ChangeInContractWithCustomerLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r45", "r267", "r571", "r586" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies.", "terseLabel": "COMMITMENTS AND CONTINGENCIES" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r264", "r265", "r266", "r276" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockDividendsPerShareDeclared": { "auth_ref": [ "r294" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "DIVIDENDS PER SHARE (in dollars per share)" } } }, "localname": "CommonStockDividendsPerShareDeclared", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r108", "r109" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "periodEndLabel": "BALANCE (in shares)", "periodStartLabel": "BALANCE (in shares)", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r20", "r289" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common shares outstanding, end of period" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r20" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $.01 par, 102,969,912 shares authorized, 41,123,365 and 41,123,365 shares issued, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": { "auth_ref": [ "r336", "r337", "r357", "r407" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.", "label": "Compensation and Employee Benefit Plans [Text Block]", "terseLabel": "Employee Benefit Plans" } } }, "localname": "CompensationAndEmployeeBenefitPlansTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlans" ], "xbrltype": "textBlockItemType" }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Employee Benefit Plans" } } }, "localname": "CompensationAndRetirementDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Assets [Abstract]", "terseLabel": "Deferred tax assets-" } } }, "localname": "ComponentsOfDeferredTaxAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net, Classification [Abstract]", "terseLabel": "Deferred income tax assets" } } }, "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Liabilities [Abstract]", "terseLabel": "Deferred tax liabilities-" } } }, "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r164", "r165", "r205", "r510", "r511" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r164", "r165", "r205", "r510", "r511", "r615" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r164", "r165", "r205", "r510", "r511", "r615" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskCreditRisk": { "auth_ref": [ "r159", "r578" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for credit risk.", "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Concentrations of Credit Risk" } } }, "localname": "ConcentrationRiskCreditRisk", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Concentrations of Credit Risk" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r164", "r165", "r205", "r510", "r511" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Single customer, percentage of revenue" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r162", "r164", "r165", "r166", "r510", "r512" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r164", "r165", "r205", "r510", "r511" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r99", "r477" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of Consolidation" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConstructionContractorReceivableRetainage": { "auth_ref": [ "r21", "r555" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional.", "label": "Construction Contractor, Receivable, Retainage", "terseLabel": "Retention receivable" } } }, "localname": "ConstructionContractorReceivableRetainage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction In Progress [Member]", "terseLabel": "Construction in progress" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r303" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Schedule of contract assets and liabilities" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination": { "auth_ref": [ "r301" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, from business combination.", "label": "Contract with Customer, Asset, Increase (Decrease) for Contract Acquired in Business Combination", "terseLabel": "Change due to acquisitions / disposals" } } }, "localname": "ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r297", "r299", "r324" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.", "label": "Contract with Customer, Asset, Net, Current", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "terseLabel": "Costs and estimated earnings in excess of billings, less allowance for credit losses of $79 and $0, respectively", "verboseLabel": "Costs and estimated earnings in excess of billings" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": { "auth_ref": [ "r302" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.", "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized", "verboseLabel": "Other changes in the period" } } }, "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r297", "r298", "r324" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "negatedLabel": "Billings in excess of costs and estimated earnings", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "terseLabel": "Billings in excess of costs and estimated earnings" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination": { "auth_ref": [ "r301" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.", "label": "Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination", "terseLabel": "Change due to acquisitions / disposals" } } }, "localname": "ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r325" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue related to our contract liabilities" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerReceivableCreditLossExpenseReversal": { "auth_ref": [ "r300", "r322" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on right to consideration in exchange for good or service transferred to customer when right to consideration is unconditional.", "label": "Contract with Customer, Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Change related to credit allowance" } } }, "localname": "ContractWithCustomerReceivableCreditLossExpenseReversal", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r69", "r101", "r213", "r513" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "terseLabel": "COST OF SERVICES" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r102", "r436", "r446" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails": { "order": 1.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current Federal Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r102", "r436", "r446", "r448" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.", "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Total current" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Current tax provision-" } } }, "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r102", "r436", "r446" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails": { "order": 2.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State and Puerto Rico" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r163", "r205" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer concentration" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r462" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer Relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtAndCapitalLeaseObligations": { "auth_ref": [ "r569", "r588" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term and long-term debt and lease obligation.", "label": "Debt and Capital Lease Obligations", "totalLabel": "Total debt" } } }, "localname": "DebtAndCapitalLeaseObligations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Obligations" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r288" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Long-term Debt [Text Block]", "terseLabel": "Debt Obligations" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r13", "r14", "r15", "r565", "r567", "r580" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Interest rate margin (as a percent)", "terseLabel": "Additional per annum interest margin (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentDescriptionOfVariableRateBasis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The reference rate for the variable rate of the debt instrument, such as LIBOR or the US Treasury rate and the maturity of the reference rate used, such as three months or six months LIBOR.", "label": "Debt Instrument, Description of Variable Rate Basis", "terseLabel": "Variable rate basis" } } }, "localname": "DebtInstrumentDescriptionOfVariableRateBasis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentInterestRateEffectivePercentage": { "auth_ref": [ "r42", "r287", "r523" ], "lang": { "en-us": { "role": { "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.", "label": "Debt Instrument, Interest Rate at Period End", "terseLabel": "Weighted average interest rate (as a percent)" } } }, "localname": "DebtInstrumentInterestRateEffectivePercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentInterestRateEffectivePercentageAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Effective Percentage [Abstract]" } } }, "localname": "DebtInstrumentInterestRateEffectivePercentageAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r42" ], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Stated interest rate (as a percent)" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Instrument [Line Items]", "terseLabel": "Debt Obligations" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r43" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.", "label": "Debt Instrument Name [Domain]", "terseLabel": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r43", "r104", "r290", "r291", "r292", "r293", "r522", "r523", "r525", "r577" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet": { "auth_ref": [ "r285", "r524" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of unamortized debt discount (premium) and debt issuance costs.", "label": "Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net", "negatedLabel": "Less-unamortized debt issuance costs" } } }, "localname": "DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtIssuanceCostsLineOfCreditArrangementsNet": { "auth_ref": [ "r526" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of debt issuance costs related to line of credit arrangements. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.", "label": "Debt Issuance Costs, Line of Credit Arrangements, Net", "terseLabel": "Unamortized costs" } } }, "localname": "DebtIssuanceCostsLineOfCreditArrangementsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtLongtermAndShorttermCombinedAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt.", "label": "Debt, Long-term and Short-term, Combined Amount", "terseLabel": "Total principal amount", "verboseLabel": "Outstanding balance" } } }, "localname": "DebtLongtermAndShorttermCombinedAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtRelatedCommitmentFeesAndDebtIssuanceCosts": { "auth_ref": [ "r73" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 2.0, "parentTag": "us-gaap_InterestExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the charge against earnings during the period for commitment fees and debt issuance expenses.", "label": "Debt Related Commitment Fees and Debt Issuance Costs", "terseLabel": "Interest expense on borrowings and unused commitment fees" } } }, "localname": "DebtRelatedCommitmentFeesAndDebtIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible": { "auth_ref": [ "r417" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease reasonably possible in the next twelve months for the unrecognized tax benefit.", "label": "Decrease in Unrecognized Tax Benefits is Reasonably Possible", "terseLabel": "Decrease in unrecognized tax benefits" } } }, "localname": "DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r102", "r437", "r446" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state, local, and federal tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Federal, State and Local, Tax Expense (Benefit)", "totalLabel": "Total deferred" } } }, "localname": "DeferredFederalStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r411", "r412" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets", "verboseLabel": "DEFERRED TAX ASSETS" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r93", "r102", "r437", "r446", "r447", "r448" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "verboseLabel": "Deferred tax provision (benefit)" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Deferred tax provision (benefit)-" } } }, "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredIncomeTaxLiabilities": { "auth_ref": [ "r17", "r18", "r426", "r566", "r579" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.", "label": "Deferred Tax Liabilities, Gross", "negatedTotalLabel": "Total deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r411", "r412" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities", "verboseLabel": "DEFERRED TAX LIABILITIES" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueCurrent": { "auth_ref": [ "r28" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.", "label": "Deferred Revenue, Current", "terseLabel": "Deferred revenue" } } }, "localname": "DeferredRevenueCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r102", "r437", "r446" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State and Puerto Rico" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill.", "label": "Deferred Tax Assets, Goodwill and Intangible Assets", "terseLabel": "Intangible assets" } } }, "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r427" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Gross", "totalLabel": "Subtotal" } } }, "localname": "DeferredTaxAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsLiabilitiesNet": { "auth_ref": [ "r429" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.", "label": "Deferred Tax Assets, Net", "totalLabel": "Net deferred tax assets" } } }, "localname": "DeferredTaxAssetsLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r429" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Net of Valuation Allowance", "terseLabel": "Net deferred tax assets", "totalLabel": "Total deferred tax assets" } } }, "localname": "DeferredTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.", "label": "Deferred Tax Assets, Operating Loss Carryforwards", "terseLabel": "Net operating loss carryforwards" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic": { "auth_ref": [ "r434", "r435" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible domestic operating loss carryforwards. Excludes state and local operating loss carryforwards.", "label": "Deferred Tax Assets, Operating Loss Carryforwards, Domestic", "terseLabel": "Federal deferred tax assets net operating loss carryforwards" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwardsDomestic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal": { "auth_ref": [ "r434", "r435" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible state and local operating loss carryforwards.", "label": "Deferred Tax Assets, Operating Loss Carryforwards, State and Local", "terseLabel": "State deferred tax assets net operating loss carryforwards" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOther": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.", "label": "Deferred Tax Assets, Other", "terseLabel": "Other" } } }, "localname": "DeferredTaxAssetsOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.", "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost", "terseLabel": "Stock-based compensation" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals", "terseLabel": "Accrued liabilities and expenses" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the allowance for doubtful accounts.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts", "terseLabel": "Accounts receivable and allowance for doubtful accounts" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r428" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.", "label": "Deferred Tax Assets, Valuation Allowance", "negatedLabel": "Valuation allowances" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill": { "auth_ref": [ "r434", "r435", "r471", "r472" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from goodwill.", "label": "Deferred Tax Liabilities, Goodwill", "negatedLabel": "Goodwill" } } }, "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.", "label": "Deferred Tax Liabilities, Intangible Assets", "negatedLabel": "Intangible assets" } } }, "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.", "label": "Deferred Tax Liabilities, Leasing Arrangements", "negatedLabel": "Lease right-of-use asset" } } }, "localname": "DeferredTaxLiabilitiesLeasingArrangements", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesOther": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.", "label": "Deferred Tax Liabilities, Other", "negatedLabel": "Other" } } }, "localname": "DeferredTaxLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "auth_ref": [ "r434", "r435" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.", "label": "Deferred Tax Liabilities, Property, Plant and Equipment", "negatedLabel": "Property and equipment" } } }, "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesDeferredTaxAssetsLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanCostRecognized": { "auth_ref": [ "r350" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost for defined contribution plan.", "label": "Defined Contribution Plan, Cost Recognized", "terseLabel": "Contribution" } } }, "localname": "DefinedContributionPlanCostRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r93", "r255" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation expense" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r93", "r255" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.", "label": "Depreciation, Depletion and Amortization, Nonproduction", "negatedLabel": "Depreciation and amortization expense", "verboseLabel": "Depreciation expense" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.", "label": "Derivative Contract Type [Domain]", "terseLabel": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeFairValueOfDerivativeLiability": { "auth_ref": [ "r55", "r57", "r487", "r552" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value, before 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 elected not to be offset. Excludes liabilities not subject to a master netting arrangement.", "label": "Derivative Liability, Fair Value, Gross Liability", "verboseLabel": "Interest rate swap liability" } } }, "localname": "DerivativeFairValueOfDerivativeLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r486", "r488", "r489", "r491" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r323", "r327", "r328", "r329", "r330", "r331", "r332", "r333" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r323" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of disaggregation of revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r407" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfRepurchaseAgreementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Shares Repurchase Program [Abstract]", "terseLabel": "Share Repurchase Program" } } }, "localname": "DisclosureOfRepurchaseAgreementsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DividendsCommonStockCash": { "auth_ref": [ "r294" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.", "label": "Dividends, Common Stock, Cash", "negatedLabel": "Dividends" } } }, "localname": "DividendsCommonStockCash", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Country [Member]", "terseLabel": "Federal" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "INCOME PER SHARE:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r65", "r118", "r119", "r120", "r121", "r122", "r127", "r129", "r142", "r143", "r144", "r149", "r150", "r573", "r590" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Net income (loss) (in dollars per share)", "terseLabel": "Basic (in shares)", "verboseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic [Abstract]", "terseLabel": "Basic-" } } }, "localname": "EarningsPerShareBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r65", "r118", "r119", "r120", "r121", "r122", "r129", "r142", "r143", "r144", "r149", "r150", "r573", "r590" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Net diluted income after-tax (in dollars per share)", "terseLabel": "Diluted (in shares)", "verboseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Diluted-" } } }, "localname": "EarningsPerShareDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r145", "r147", "r148", "r151" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Stockholders' Equity Note. Disclosure [Text Block]", "terseLabel": "Stockholders' Equity" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r414" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rates on continuing operations" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r414", "r449" ], "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Federal statutory income tax rate (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount": { "auth_ref": [ "r406", "r414" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 9.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Amount", "terseLabel": "Stock-based compensation deductions" } } }, "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r391" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized", "terseLabel": "Compensation expense yet to be recognized" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r391" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Weighted-average period over which compensation cost will be recognized" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "auth_ref": [ "r390" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Tax Benefit from Compensation Expense", "terseLabel": "Income tax benefit" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r108", "r109", "r111", "r114", "r123", "r126", "r155", "r218", "r289", "r294", "r398", "r399", "r400", "r442", "r443", "r515", "r516", "r517", "r518", "r519", "r520", "r604", "r605", "r606" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "auth_ref": [ "r509" ], "lang": { "en-us": { "role": { "documentation": "Measured as an estimate of fair value.", "label": "Estimate Of Fair Value Fair Value Disclosure [Member]", "terseLabel": "Total" } } }, "localname": "EstimateOfFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EurodollarMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate based on U.S. dollar denominated deposits at foreign banks or foreign branches of U.S. banks.", "label": "Eurodollar [Member]", "terseLabel": "Eurodollar Rate" } } }, "localname": "EurodollarMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r493", "r494", "r495", "r503" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r498", "r503" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the fair value measurement of assets using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes during the period attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets) and gains or losses recognized in other comprehensive income (loss), and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs), by class of asset.", "label": "Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "terseLabel": "Schedule of reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r494", "r543", "r544", "r545" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value, Hierarchy [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByLiabilityClassAxis": { "auth_ref": [ "r502", "r503" ], "lang": { "en-us": { "role": { "documentation": "Information by class of liability.", "label": "Liability Class [Axis]" } } }, "localname": "FairValueByLiabilityClassAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementBasisAxis": { "auth_ref": [ "r493", "r504" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement basis.", "label": "Measurement Basis [Axis]" } } }, "localname": "FairValueByMeasurementBasisAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r493", "r494", "r496", "r497", "r505" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r502" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r342", "r343", "r348", "r349", "r494", "r543" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value Inputs Level1 [Member]", "terseLabel": "Quoted Market Prices In Active Markets for Identical Assets (Level 1)" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r342", "r343", "r348", "r349", "r494", "r544" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value Inputs Level2 [Member]", "terseLabel": "Fair Value Measurements at Reporting Date Using Significant Other Observable Inputs (Level 2)" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r494", "r545" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value Inputs Level3 [Member]", "terseLabel": "Significant Unobservable Inputs (Level 3)" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "auth_ref": [ "r498" ], "lang": { "en-us": { "role": { "documentation": "Represents classes of liabilities measured and disclosed at fair value.", "label": "Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation By Liability Class [Domain]", "terseLabel": "Fair Value by Liability Class [Domain]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "terseLabel": "Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Fair Value Measurement Frequency [Domain]", "terseLabel": "Fair Value, Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": { "auth_ref": [ "r499" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3).", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings", "terseLabel": "Adjustments to fair value" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues": { "auth_ref": [ "r500" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances", "terseLabel": "Issuances" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": { "auth_ref": [ "r500" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements", "negatedLabel": "Settlements" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r498" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliations, Recurring Basis, Liability Value", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of year" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r543", "r544", "r545" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Measurements Fair Value Hierarchy [Domain]", "terseLabel": "Fair Value Hierarchy [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsNonrecurringMember": { "auth_ref": [ "r493", "r494", "r496", "r497", "r501", "r505" ], "lang": { "en-us": { "role": { "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value.", "label": "Fair Value Measurements Nonrecurring [Member]", "terseLabel": "Non recurring basis" } } }, "localname": "FairValueMeasurementsNonrecurringMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r502", "r505" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value Measurements Recurring [Member]", "terseLabel": "Recurring basis" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r99", "r506", "r508" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Financial Instruments" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Estimated Useful Lives in Years" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r249" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "auth_ref": [ "r243" ], "lang": { "en-us": { "role": { "documentation": "A table containing detailed characteristics of finite-lived intangible assets acquired during a business combination. Finite-lived intangible assets are assets that have no physical form, but have expected future economic benefit, and are expected to be used over a defined period. Acquired finite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the Entity) and in total. Additionally, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period are also disclosed.", "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]" } } }, "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r251" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r251" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r251" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r251" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r251" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r243", "r245", "r249", "r252", "r558", "r562" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Future amortization expense of identifiable intangible assets" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r249", "r562" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Book Value" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Identifiable Intangible Assets, Net" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r243", "r248" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite Lived Intangible Assets Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r249", "r558" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Total" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture And Fixtures [Member]", "terseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnDispositionOfAssets": { "auth_ref": [ "r93", "r254", "r259" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property", "negatedLabel": "GAIN ON SALE OF ASSETS" } } }, "localname": "GainLossOnDispositionOfAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r93" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedTerseLabel": "Gain on sale of assets" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainOnBusinessInterruptionInsuranceRecovery": { "auth_ref": [ "r75" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount (to the extent disclosed within this portion of the income statement) by which an insurance settlement exceeds incremental costs incurred from the event causing an interruption of business, plus the insurance award for earnings lost from the event, such as a natural catastrophe, explosion or fire.", "label": "Gain on Business Interruption Insurance Recovery", "terseLabel": "Gain due to insurance proceeds received" } } }, "localname": "GainOnBusinessInterruptionInsuranceRecovery", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesInsuranceRecoveryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of business insurance which provides insurance coverage for a wide variety of liability exposures including, but not limited to, contractual liability, product liability and personal injury liability.", "label": "General Liability [Member]", "terseLabel": "General Liability" } } }, "localname": "GeneralLiabilityMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r230", "r232", "r563" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 15.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill.", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of year", "terseLabel": "GOODWILL", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r234" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Acquisitions and purchase price adjustments (See Note 5)" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Identifiable Intangible Assets, Net" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r253" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Identifiable Intangible Assets, Net" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNet" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": { "auth_ref": [ "r99", "r238", "r246" ], "lang": { "en-us": { "role": { "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.", "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]", "terseLabel": "Recoverability of Goodwill and Identifiable Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": { "auth_ref": [ "r233", "r237" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill, Impaired, Accumulated Impairment Loss", "terseLabel": "Accumulated impairment charges" } } }, "localname": "GoodwillImpairedAccumulatedImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillImpairmentLoss": { "auth_ref": [ "r93", "r231", "r235", "r239" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill, Impairment Loss", "terseLabel": "Impairment charges" } } }, "localname": "GoodwillImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Goodwill [Line Items]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GoodwillOtherIncreaseDecrease": { "auth_ref": [ "r236" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease), classified as other, of an asset representing the future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Other Increase (Decrease)", "terseLabel": "Impact of segment reorganization" } } }, "localname": "GoodwillOtherIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Goodwill [Roll Forward]", "terseLabel": "Changes in the carrying amount of goodwill" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r68", "r101", "r184", "r190", "r194", "r197", "r200", "r213", "r513" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross profit", "verboseLabel": "Gross Profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails", "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r485", "r492" ], "lang": { "en-us": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r485" ], "lang": { "en-us": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the impairment and disposal of long-lived assets including goodwill and other intangible assets.", "label": "Long Lived Assets [Policy Text Block]", "terseLabel": "Long-Lived Assets" } } }, "localname": "ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r105", "r184", "r190", "r194", "r197", "r200" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "INCOME BEFORE INCOME TAXES" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF OPERATIONS" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r418" ], "lang": { "en-us": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]", "terseLabel": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityNameAxis": { "auth_ref": [ "r418" ], "lang": { "en-us": { "role": { "documentation": "Information by name of taxing authority.", "label": "Income Tax Authority, Name [Axis]" } } }, "localname": "IncomeTaxAuthorityNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority Name [Domain]", "terseLabel": "Income Tax Authority, Name [Domain]" } } }, "localname": "IncomeTaxAuthorityNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Taxes", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r415", "r424", "r431", "r444", "r450", "r452", "r453", "r454" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExaminationLiabilityRefundAdjustmentFromSettlementWithTaxingAuthority": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of the additional liability or refund received or expected based on a final settlement with a taxing authority.", "label": "Income Tax Examination, Liability (Refund) Adjustment from Settlement with Taxing Authority", "terseLabel": "Refund claims allowed in Income tax examination" } } }, "localname": "IncomeTaxExaminationLiabilityRefundAdjustmentFromSettlementWithTaxingAuthority", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxExaminationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Income Tax Examination [Line Items]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxExaminationLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxExaminationTable": { "auth_ref": [ "r419" ], "lang": { "en-us": { "role": { "documentation": "A summary of income tax examinations that an enterprise is currently subject to or that have been completed in the current period typically including a description of the examination, the jurisdiction conducting the examination, the tax year(s) under examination, the likelihood of an unfavorable settlement, the range of possible losses, the liability recorded, the Increase or Decrease in the liability from the prior period, and any penalties and interest that have been incurred or accrued.", "label": "Income Tax Examination [Table]" } } }, "localname": "IncomeTaxExaminationTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r102", "r125", "r126", "r182", "r413", "r445", "r451", "r591" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Provision for income taxes", "totalLabel": "Provision for income taxes", "verboseLabel": "PROVISION FOR INCOME TAXES" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Amount [Abstract]", "terseLabel": "Increases (decreases) resulting from-" } } }, "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r61", "r99", "r409", "r410", "r424", "r425", "r430", "r438", "r616" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r414" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.", "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount", "terseLabel": "Valuation allowances" } } }, "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r414" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount", "terseLabel": "Income taxes at the federal statutory rate" } } }, "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpense": { "auth_ref": [ "r414" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 3.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Amount", "terseLabel": "Nondeductible expenses" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": { "auth_ref": [ "r414" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 5.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments.", "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount", "terseLabel": "Other" } } }, "localname": "IncomeTaxReconciliationOtherReconcilingItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r414" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 7.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount", "terseLabel": "Net state income taxes" } } }, "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxContingencies": { "auth_ref": [ "r414" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 8.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in income tax contingencies. Including, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.", "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Amount", "terseLabel": "Net unrecognized tax benefits" } } }, "localname": "IncomeTaxReconciliationTaxContingencies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": { "auth_ref": [ "r414" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails": { "order": 6.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount", "negatedLabel": "R&D tax credits", "terseLabel": "R&D tax credits" } } }, "localname": "IncomeTaxReconciliationTaxCreditsResearch", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r97" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Income taxes" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.", "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "terseLabel": "Accounts payable and accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Receivables, net" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Increase Decrease in Contract with Customer Assets", "negatedLabel": "Costs and estimated earnings in excess of billings and unbilled accounts receivable" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase Decrease in Contract with Customer Liability", "terseLabel": "Billings in excess of costs and estimated earnings" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Assets [Abstract]", "terseLabel": "(Increase) decrease in-" } } }, "localname": "IncreaseDecreaseInOperatingAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities, net of effects of acquisitions and divestitures-" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Liabilities [Abstract]", "terseLabel": "Increase (decrease) in-" } } }, "localname": "IncreaseDecreaseInOperatingLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other noncurrent assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Liabilities", "terseLabel": "Other long-term liabilities" } } }, "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares": { "auth_ref": [ "r131", "r132", "r134", "r135", "r136", "r137", "r138", "r139", "r140", "r144" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of contingently issuable shares. Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Contingently Issuable Shares", "terseLabel": "Effect of restricted and contingently issuable shares" } } }, "localname": "IncrementalCommonSharesAttributableToContingentlyIssuableShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r130", "r131", "r133", "r144" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Effect of shares issuable under stock option plans based on the treasury stock method" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis": { "auth_ref": [ "r334" ], "lang": { "en-us": { "role": { "documentation": "Information about effect of transition method for cumulative effect in initial period of application.", "label": "Initial Application Period Cumulative Effect Transition [Axis]" } } }, "localname": "InitialApplicationPeriodCumulativeEffectTransitionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain": { "auth_ref": [ "r334" ], "lang": { "en-us": { "role": { "documentation": "Effect of transition method for cumulative effect in initial period of application.", "label": "Initial Application Period Cumulative Effect Transition [Domain]", "terseLabel": "Initial Application Period Cumulative Effect Transition [Domain]" } } }, "localname": "InitialApplicationPeriodCumulativeEffectTransitionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r241", "r247" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "IDENTIFIABLE INTANGIBLE ASSETS, NET" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r62", "r178", "r521", "r524", "r575" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Total.", "negatedLabel": "Interest expense", "totalLabel": "Total" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Interest Expense [Abstract]", "terseLabel": "Interest expense" } } }, "localname": "InterestExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InterestExpenseRelatedParty": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 3.0, "parentTag": "us-gaap_InterestExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of interest expense incurred on a debt or other obligation to related party.", "label": "Interest Expense, Related Party", "terseLabel": "Interest expense on notes to former owners" } } }, "localname": "InterestExpenseRelatedParty", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r574" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of operating interest income (expense).", "label": "Interest Income (Expense), Net", "terseLabel": "Interest expense, net" } } }, "localname": "InterestIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r86", "r89", "r97" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Net", "terseLabel": "Interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestRateSwapMember": { "auth_ref": [ "r490" ], "lang": { "en-us": { "role": { "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.", "label": "Interest Rate Swap [Member]", "terseLabel": "Interest Rate Swap" } } }, "localname": "InterestRateSwapMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InternalRevenueServiceIRSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the United States of America government entitled to levy and collect income taxes from the entity.", "label": "Internal Revenue Service I R S [Member]", "terseLabel": "Internal Revenue Service (IRS)" } } }, "localname": "InternalRevenueServiceIRSMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IntersegmentEliminationMember": { "auth_ref": [ "r176", "r189", "r190", "r191", "r192", "r194", "r196", "r200" ], "lang": { "en-us": { "role": { "documentation": "Eliminating entries used in operating segment consolidation.", "label": "Intersegment Elimination [Member]", "terseLabel": "Corporate & Eliminations" } } }, "localname": "IntersegmentEliminationMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r3", "r51" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r9", "r52", "r99", "r152", "r227", "r228", "r229" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.", "label": "Inventory, Policy [Policy Text Block]", "terseLabel": "Inventories" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentIncomeInterest": { "auth_ref": [ "r71", "r177" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.", "label": "Investment Income, Interest", "terseLabel": "Interest income" } } }, "localname": "InvestmentIncomeInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandMember": { "auth_ref": [ "r327" ], "lang": { "en-us": { "role": { "documentation": "Part of earth's surface not covered by water.", "label": "Land [Member]", "terseLabel": "Land" } } }, "localname": "LandMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Lessee, Lease, Description [Line Items]" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r534" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r532" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.", "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r539" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Schedule of maturities of lease liabilities" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r539" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total Lease Payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r539" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r539" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months", "verboseLabel": "2021" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r539" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r539" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r539" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r539" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r539" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less-Present Value Discount" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r533" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Lease term" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r541" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LetterOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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).", "label": "Letter Of Credit [Member]", "terseLabel": "Letter of Credit" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LettersOfCreditOutstandingAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.", "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Letters of credit amount outstanding" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r39", "r101", "r192", "r213", "r476", "r480", "r481", "r513" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r26", "r101", "r213", "r513", "r568", "r584" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r41", "r101", "r213", "r476", "r480", "r481", "r513" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "CURRENT LIABILITIES:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r15", "r567", "r580" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "Line of Credit Facility, Amount Outstanding", "terseLabel": "Outstanding borrowings" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r37" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "auth_ref": [ "r37" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).", "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Credit available" } } }, "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.", "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Commitment fees payable on unused portion of the facility (as a percent)" } } }, "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LitigationStatusAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by status of pending, threatened, or settled litigation.", "label": "Litigation Status [Axis]" } } }, "localname": "LitigationStatusAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LitigationStatusDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Status of pending, threatened, or settled litigation.", "label": "Litigation Status [Domain]", "terseLabel": "Litigation Status [Domain]" } } }, "localname": "LitigationStatusDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LoansPayableMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Borrowing supported by a written promise to pay an obligation.", "label": "Loans Payable [Member]", "terseLabel": "Promissory note" } } }, "localname": "LoansPayableMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r15", "r286", "r567", "r582" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Total Debt", "netLabel": "Total debt, net of unamortized debt issuance costs" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtByMaturityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Long-term Debt, Fiscal Year Maturity [Abstract]", "terseLabel": "Future principal payments of long-term debt" } } }, "localname": "LongTermDebtByMaturityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r38" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Less- Current portion", "terseLabel": "Current maturities of long-term debt", "verboseLabel": "Less-current portion" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": { "auth_ref": [ "r106", "r284" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 4.0, "parentTag": "us-gaap_DebtAndCapitalLeaseObligations", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Year Five", "terseLabel": "2024" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "auth_ref": [ "r106", "r284" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 1.0, "parentTag": "us-gaap_DebtAndCapitalLeaseObligations", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Year Four", "terseLabel": "2023" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "auth_ref": [ "r106", "r284" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 2.0, "parentTag": "us-gaap_DebtAndCapitalLeaseObligations", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Year Three", "terseLabel": "2023" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "auth_ref": [ "r106", "r284" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails": { "order": 3.0, "parentTag": "us-gaap_DebtAndCapitalLeaseObligations", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two", "terseLabel": "2022" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsFuturePaymentsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r43" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "LONG-TERM DEBT, NET", "verboseLabel": "Total long-term portion of debt, net" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Long-term Debt, Other Disclosures [Abstract]", "terseLabel": "Other disclosures" } } }, "localname": "LongTermDebtOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "auth_ref": [ "r267", "r268", "r269", "r271", "r272", "r273", "r275", "r279", "r280" ], "lang": { "en-us": { "role": { "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.", "label": "Loss Contingency Nature [Axis]" } } }, "localname": "LossContingenciesByNatureOfContingencyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Loss Contingencies [Line Items]", "terseLabel": "Commitments and Contingencies", "verboseLabel": "Self-Insurance" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r267", "r268", "r269", "r271", "r272", "r273", "r275", "r279", "r280" ], "lang": { "en-us": { "role": { "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.", "label": "Loss Contingencies [Table]" } } }, "localname": "LossContingenciesTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyDamagesSoughtValue": { "auth_ref": [ "r267", "r270", "r274" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter.", "label": "Loss Contingency, Damages Sought, Value", "terseLabel": "Damages claimed" } } }, "localname": "LossContingencyDamagesSoughtValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingencyNatureDomain": { "auth_ref": [ "r267", "r268", "r269", "r271", "r272", "r273", "r275", "r279", "r280" ], "lang": { "en-us": { "role": { "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.", "label": "Loss Contingency Nature [Domain]", "terseLabel": "Loss Contingency, Nature [Domain]" } } }, "localname": "LossContingencyNatureDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails", "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesSelfInsuranceDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MachineryAndEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery And Equipment [Member]", "terseLabel": "Machinery and equipment" } } }, "localname": "MachineryAndEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MultiemployerPlanPensionInsignificantPlanContribution": { "auth_ref": [ "r355" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of contribution received by multiemployer pension plan from all employers participating in multiemployer pension plan determined to be individually insignificant.", "label": "Multiemployer Plans, Plan Contributions", "terseLabel": "Contributions made to multi-employer pension plans" } } }, "localname": "MultiemployerPlanPensionInsignificantPlanContribution", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r156", "r170" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "terseLabel": "Business and Organization" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureBusinessAndOrganization" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r88" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r88" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r88", "r91", "r94" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r59", "r60", "r64", "r94", "r101", "r113", "r118", "r119", "r120", "r121", "r125", "r126", "r141", "r184", "r190", "r194", "r197", "r200", "r213", "r513", "r572", "r589" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "totalLabel": "NET INCOME" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "New Accounting Pronouncements or Change in Accounting Principle" } } }, "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": { "auth_ref": [ "r112", "r113", "r114", "r115", "r116", "r117", "r120", "r149", "r215", "r216", "r217", "r218", "r219", "r220", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r440", "r441", "r442", "r443", "r559", "r560", "r561", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613" ], "lang": { "en-us": { "role": { "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.", "label": "Accounting Standards Update and Change in Accounting Principle [Table]" } } }, "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r72" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "totalLabel": "Other income (expense)" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "OTHER INCOME (EXPENSE):" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_NontradeReceivablesCurrent": { "auth_ref": [ "r53" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.", "label": "Nontrade Receivables, Current", "terseLabel": "Other receivables, less allowance for credit losses of $759 and $0, respectively" } } }, "localname": "NontradeReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotDesignatedAsHedgingInstrumentEconomicHedgeMember": { "auth_ref": [ "r484" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument, not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP), used as economic hedge for exposure to risk.", "label": "Not Designated As Hedging Instrument Economic Hedge [Member]", "terseLabel": "Not Designated as Hedging Instrument, Economic Hedge [Member]" } } }, "localname": "NotDesignatedAsHedgingInstrumentEconomicHedgeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NotesAndLoansPayable": { "auth_ref": [ "r15", "r567", "r582" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer).", "label": "Notes and Loans Payable", "terseLabel": "Outstanding balance" } } }, "localname": "NotesAndLoansPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfBusinessesAcquired": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of businesses acquired by the entity during the period.", "label": "Number of Businesses Acquired", "terseLabel": "Number of acquisitions" } } }, "localname": "NumberOfBusinessesAcquired", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r172" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r184", "r190", "r194", "r197", "r200" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r530" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "terseLabel": "Lease expense" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Payments Due [Abstract]", "terseLabel": "Maturities of lease liabilities:" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r528" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Operating lease liability", "totalLabel": "Present Value of Lease Liabilities" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability [Abstract]" } } }, "localname": "OperatingLeaseLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r528" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Other current liabilities", "verboseLabel": "Current lease liability" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r529" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails" ], "xbrltype": "extensibleListItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r528" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "LEASE LIABILITIES", "verboseLabel": "Long-term lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r529" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes operating lease liability.", "label": "Operating Lease, Liability, Statement of Financial Position [Extensible List]" } } }, "localname": "OperatingLeaseLiabilityStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails" ], "xbrltype": "extensibleListItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r531", "r535" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r527" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "LEASE RIGHT-OF-USE ASSET", "verboseLabel": "Lease right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesSummaryOfLeaseAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r538", "r540" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r537", "r540" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted average remaining lease term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLossCarryforwards": { "auth_ref": [ "r432" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.", "label": "Operating Loss Carryforwards", "terseLabel": "Net operating loss carryforwards" } } }, "localname": "OperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLossCarryforwardsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Operating Loss Carryforwards [Line Items]", "terseLabel": "Operating loss carryforwards" } } }, "localname": "OperatingLossCarryforwardsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLossCarryforwardsTable": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization.", "label": "Operating Loss Carryforwards [Table]" } } }, "localname": "OperatingLossCarryforwardsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r189", "r190", "r191", "r192", "r194", "r200" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrderOrProductionBacklogMember": { "auth_ref": [ "r461" ], "lang": { "en-us": { "role": { "documentation": "Orders, production or production backlog arising from contracts such as purchase or sales orders acquired in a business combination.", "label": "Order Or Production Backlog [Member]", "terseLabel": "Backlog" } } }, "localname": "OrderOrProductionBacklogMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business and Organization" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "OTHER NONCURRENT ASSETS" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCustomerMember": { "auth_ref": [ "r592", "r594", "r596", "r597", "r601", "r614" ], "lang": { "en-us": { "role": { "documentation": "Customer classified as other.", "label": "Other Customer [Member]", "terseLabel": "Other" } } }, "localname": "OtherCustomerMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r7", "r8", "r40" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Current", "terseLabel": "Other current liabilities", "totalLabel": "Total other current liabilities" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Liabilities, Current [Abstract]", "terseLabel": "Other current liabilities" } } }, "localname": "OtherLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r44" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "OTHER LONG-TERM LIABILITIES" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r74" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 4.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherSundryLiabilitiesCurrent": { "auth_ref": [ "r40", "r283" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are due within one year or operating cycle, if longer, from the balance sheet date.", "label": "Other Sundry Liabilities, Current", "terseLabel": "Other current liabilities" } } }, "localname": "OtherSundryLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r84" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.", "label": "Payment for Contingent Consideration Liability, Financing Activities", "negatedLabel": "Payments for contingent consideration arrangements" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRent": { "auth_ref": [ "r90" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Cash payments to lessor's for use of assets under operating leases.", "label": "Payments for Rent", "terseLabel": "Rent paid to related parties" } } }, "localname": "PaymentsForRent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r82" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Share repurchase", "terseLabel": "Share repurchase" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r82" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Payments of dividends to stockholders" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfFinancingCosts": { "auth_ref": [ "r85" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for loan and debt issuance costs.", "label": "Payments of Financing Costs", "negatedLabel": "Debt financing costs", "terseLabel": "Financing and professional cost" } } }, "localname": "PaymentsOfFinancingCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r82" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Shares received in lieu of tax withholding" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r78", "r467" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Purchase price paid in cash", "verboseLabel": "Cash paid at closing" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r78" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Cash paid for acquisitions, net of cash acquired" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r79" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property and equipment", "terseLabel": "Capital Expenditures" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PendingLitigationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Risk of loss associated with the outcome of pending litigation against the entity, for example, but not limited to, litigation in arbitration or within the trial process.", "label": "Pending Litigation [Member]", "terseLabel": "Pending Litigation" } } }, "localname": "PendingLitigationMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent": { "auth_ref": [ "r16", "r338", "r339", "r340", "r349" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as noncurrent.", "label": "Pension and Other Postretirement Defined Benefit Plans, Liabilities, Noncurrent", "terseLabel": "Unfunded benefit liability" } } }, "localname": "PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureEmployeeBenefitPlansDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceGuaranteeMember": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "An agreement (contract) that requires the guarantor to make payments to a guaranteed party based on another entity's failure to perform under an obligating agreement. This may include the issuance of a performance standby letter of credit which requires the guarantor to make payments if a specified party fails to perform under a nonfinancial contractual obligation.", "label": "Performance Guarantee [Member]", "terseLabel": "Obligation to perform subcontract work" } } }, "localname": "PerformanceGuaranteeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]", "terseLabel": "Performance Stock Units" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r361", "r392" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition": { "auth_ref": [ "r553" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The carrying amount, as of the date of the latest financial statement presented, of all assets that are pledged as collateral for the payment of the related debt obligation primarily arising from secured borrowings, repurchase agreements or other current or potential obligations, where the secured party does not have the right by contract or custom to sell or re-pledge the collateral and therefore are not reclassified and separately reported in the statement of financial position.", "label": "Book value of assets pledged as collateral" } } }, "localname": "PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "auth_ref": [ "r507" ], "lang": { "en-us": { "role": { "documentation": "Measured at fair value for financial reporting purposes.", "label": "Portion At Fair Value Fair Value Disclosure [Member]", "terseLabel": "Portion at Fair Value Measurement [Member]" } } }, "localname": "PortionAtFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r19" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r19" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r19" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r19" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r19" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "verboseLabel": "Preferred stock, $.01 par, 5,000,000 shares authorized, none issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r4", "r29", "r30" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested": { "auth_ref": [ "r76" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents the cash inflow during the period from the sale of a component of the entity.", "label": "Proceeds from Divestiture of Businesses, Net of Cash Divested", "terseLabel": "Proceeds from sale of business" } } }, "localname": "ProceedsFromDivestitureOfBusinessesNetOfCashDivested", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "auth_ref": [ "r81" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Proceeds from Long-term Lines of Credit", "terseLabel": "Proceeds from revolving credit facility" } } }, "localname": "ProceedsFromLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r77" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sales of property and equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r80", "r393" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercise of options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductAndServiceOtherMember": { "auth_ref": [ "r327" ], "lang": { "en-us": { "role": { "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other.", "label": "Product And Service Other [Member]", "terseLabel": "Other." } } }, "localname": "ProductAndServiceOtherMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r40", "r278", "r281" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Product Warranty Accrual, Current", "terseLabel": "Accrued warranty costs" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r1", "r59", "r60", "r87", "r101", "r113", "r125", "r126", "r184", "r190", "r194", "r197", "r200", "r213", "r474", "r478", "r479", "r482", "r483", "r513", "r576" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "verboseLabel": "Net income" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property and Equipment" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r34", "r258" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r261", "r617", "r618", "r619" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property and Equipment" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r33", "r256" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Property and equipment, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property and equipment" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r11", "r12", "r258", "r585" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "PROPERTY AND EQUIPMENT, NET", "totalLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r32", "r99", "r258", "r617", "r618" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Property and Equipment" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r11", "r258" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Schedule of Property Plant and Equipment and Estimated Useful Lives [Table Text Block]", "terseLabel": "Schedule of components of property and equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r11", "r256" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Property Plant And Equipment Type [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.", "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Estimated useful life" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r66", "r224" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Provision for Doubtful Accounts", "terseLabel": "Bad debt expense", "verboseLabel": "Bad debt expense (benefit)" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_QuarterlyFinancialInformationTextBlock": { "auth_ref": [ "r154" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.", "label": "Quarterly Financial Information [Text Block]", "verboseLabel": "Selected Quarterly Financial Data" } } }, "localname": "QuarterlyFinancialInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialData" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReceivablesLongTermContractsOrPrograms": { "auth_ref": [ "r49" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails": { "order": 5.0, "parentTag": "fix_ContractReceivablesContractsInProcessNetReceivableLiability", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount to be collected within one year of the balance sheet date (or one operating cycle, if longer) from customers in accordance with the contractual provisions of long-term contracts or programs including amounts billed and unbilled as of the balance sheet date.", "label": "Receivables, Long-term Contracts or Programs", "terseLabel": "Costs incurred on contracts in progress" } } }, "localname": "ReceivablesLongTermContractsOrPrograms", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesLongTermContractsOrProgramsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Receivables, Long-term Contracts or Programs [Abstract]", "terseLabel": "Contracts in progress" } } }, "localname": "ReceivablesLongTermContractsOrProgramsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ReceivablesPolicyTextBlock": { "auth_ref": [ "r99", "r207", "r210", "r211", "r212" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.", "label": "Receivables, Policy [Policy Text Block]", "verboseLabel": "Accounts Receivable and Allowance for Credit Losses" } } }, "localname": "ReceivablesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "terseLabel": "Reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties" } } }, "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RepaymentsOfLongTermLinesOfCredit": { "auth_ref": [ "r83" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Repayments of Long-term Lines of Credit", "negatedLabel": "Payments on revolving credit facility" } } }, "localname": "RepaymentsOfLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfOtherDebt": { "auth_ref": [ "r83" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for the payment of debt classified as other.", "label": "Repayments of Other Debt", "negatedLabel": "Payments on other debt" } } }, "localname": "RepaymentsOfOtherDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfSeniorDebt": { "auth_ref": [ "r83" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for a long-term debt where the holder has highest claim on the entity's asset in case of bankruptcy or liquidation during the period.", "label": "Repayments of Senior Debt", "negatedLabel": "Payments on term loan", "verboseLabel": "Payments on term loan" } } }, "localname": "RepaymentsOfSeniorDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r23", "r294", "r401", "r583", "r608", "r613" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r108", "r109", "r111", "r114", "r123", "r126", "r218", "r398", "r399", "r400", "r442", "r443", "r604", "r606" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customers" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r175", "r176", "r189", "r195", "r196", "r202", "r203", "r205", "r321", "r323", "r557" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "verboseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r100", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r335" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r303", "r304", "r305", "r306", "r307", "r308", "r311", "r312", "r326", "r335" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue From Contract With Customer [Text Block]", "verboseLabel": "Revenue from Contracts with Customers" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomers" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": { "auth_ref": [ "r334" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms": { "auth_ref": [ "r305" ], "lang": { "en-us": { "role": { "documentation": "Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration.", "label": "Revenue, Performance Obligation, Description of Payment Terms" } } }, "localname": "RevenuePerformanceObligationDescriptionOfPaymentTerms", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation": { "auth_ref": [ "r312" ], "lang": { "en-us": { "role": { "documentation": "Indicates (true false) whether optional exemption was applied not to disclose amount of transaction price allocated to and explanation of expected timing of revenue recognition for remaining performance obligation, when contract has expected duration of one year or less or right to consideration corresponds directly to performance completed.", "label": "Revenue, Practical Expedient, Remaining Performance Obligation [true/false]", "terseLabel": "Practical Expedient" } } }, "localname": "RevenuePracticalExpedientRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_RevenueRecognitionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue Recognition [Abstract]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueRecognitionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r309" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation", "terseLabel": "Remaining performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Remaining Performance Obligations" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r310" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Expected timing of performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r310" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in CCYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r310" ], "lang": { "en-us": { "role": { "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Expected percentage of remaining performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRemainingPerformanceObligationsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r63", "r101", "r175", "r176", "r189", "r195", "r196", "r202", "r203", "r205", "r213", "r513", "r576" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).", "label": "Revenues", "terseLabel": "REVENUE", "verboseLabel": "Revenue" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails", "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving credit facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r536", "r540" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Lease right-of-use assets obtained in exchange for lease liabilities" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesAndExciseTaxPayableCurrentAndNoncurrent": { "auth_ref": [ "r570", "r587" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax.", "label": "Sales and Excise Tax Payable", "terseLabel": "Accrued sales and use tax" } } }, "localname": "SalesAndExciseTaxPayableCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.", "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]" } } }, "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of other current liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilitiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": { "auth_ref": [ "r243" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.", "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]", "terseLabel": "Schedule of acquired intangible assets" } } }, "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r145" ], "lang": { "en-us": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r456", "r457" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": { "auth_ref": [ "r456", "r457" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.", "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]", "terseLabel": "Schedule of acquisition date fair value of consideration transferred and the acquisition date fair value of the identifiable assets acquired and liabilities assumed, including an amount for goodwill" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of supplemental cash flow information for the periods presented.", "label": "Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]", "terseLabel": "Schedule of cash paid" } } }, "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r438" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Schedule of provision for income taxes relating to continuing operations" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDebtTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.", "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of components of debt obligations" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r429" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of significant components of the net deferred tax assets and net deferred tax liabilities as reflected on the balance sheet" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r414" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule of difference in income taxes provided for and the amounts determined by applying the federal statutory tax rate to income before income taxes results" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r493", "r494" ], "lang": { "en-us": { "role": { "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).", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Summary of fair values and levels within the fair value hierarchy in which the fair value measurements fall for assets and liabilities measured on a recurring basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r243", "r248", "r558" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r243", "r248" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of components of identifiable intangible assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTable": { "auth_ref": [ "r238", "r240" ], "lang": { "en-us": { "role": { "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.", "label": "Schedule of Goodwill [Table]" } } }, "localname": "ScheduleOfGoodwillTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r238", "r240" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of changes in the carrying amount of goodwill" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "auth_ref": [ "r284" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.", "label": "Schedule of Maturities of Long-term Debt [Table Text Block]", "terseLabel": "Schedule of future principal payments of long-term debt" } } }, "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": { "auth_ref": [ "r372" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested shares.", "label": "Schedule of Nonvested Share Activity [Table Text Block]", "terseLabel": "Summary of activity under the entity's restricted stock plans" } } }, "localname": "ScheduleOfNonvestedShareActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r34", "r258" ], "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.", "label": "Schedule of Quarterly Financial Information [Table Text Block]", "terseLabel": "Schedule of quarterly financial information" } } }, "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSelectedQuarterlyFinancialDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r184", "r187", "r193", "r238" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r184", "r187", "r193", "r238" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Summary of information about reportable segments" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r361", "r392" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Details comprising a table providing supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices.", "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.", "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block]", "terseLabel": "Summary information about stock options outstanding" } } }, "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r366", "r378", "r381" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]", "terseLabel": "Summary of activity under the entity's stock option plans" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r384" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule of fair values and the assumptions used for the grants" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "auth_ref": [ "r423", "r439" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in unrecognized tax benefits.", "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]", "terseLabel": "Schedule of reconciliation of the beginning and ending amount of unrecognized tax benefits, excluding accrued interest and penalties" } } }, "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r146" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]", "terseLabel": "Reconciliation of number of shares outstanding with the number of shares used in computing basic and diluted earnings per share" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r248" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of future amortization expense of identifiable intangible assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r171", "r175", "r176", "r177", "r178", "r179", "r180", "r181", "r182", "r183", "r184", "r185", "r186", "r189", "r190", "r191", "r192", "r194", "r195", "r196", "r197", "r198", "r200", "r205", "r593" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segment [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Information" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r171", "r173", "r174", "r184", "r188", "r194", "r198", "r199", "r200", "r201", "r202", "r204", "r205", "r206" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SelectedQuarterlyFinancialInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Selected Quarterly Financial Data" } } }, "localname": "SelectedQuarterlyFinancialInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SelfInsuranceReserveCurrent": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid within one year (or the normal operating cycle, if longer).", "label": "Self Insurance Reserve, Current", "terseLabel": "Accrued self-insurance" } } }, "localname": "SelfInsuranceReserveCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SelfInsuranceReservePolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for self-insurance reserves, including, but not limited to incurred but not reported reserves (IBNR).", "label": "Self Insurance Liabilities [Policy Text Block]", "terseLabel": "Self-Insurance Liabilities" } } }, "localname": "SelfInsuranceReservePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r70" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "SELLING, GENERAL AND ADMINISTRATIVE EXPENSES" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r92" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Compensation", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r362" ], "lang": { "en-us": { "role": { "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.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]", "terseLabel": "Additional information" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r371" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r376" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r374" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r374" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted-average fair value (in dollars per share)", "verboseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r373" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Unvested at end of year (in shares)", "periodStartLabel": "Unvested at beginning of year (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r373" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Unvested at end of year (in dollars per share)", "periodStartLabel": "Unvested at beginning of year (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "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" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r375" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "auth_ref": [ "r380" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "terseLabel": "Fair value of shares vested" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r375" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]", "terseLabel": "Fair value assumptions:" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r387" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Expected dividend yield (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r386" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected stock price volatility (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r388" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk-free interest rate (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stockholders' Equity", "verboseLabel": "Stock-Based Compensation" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r363" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized and reserved for issuance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares available for issuance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Other information" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r369" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Options exercisable at end of year (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r380" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Intrinsic value of options exercised" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r379" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted-average fair value per share of options granted (in dollars per share)", "verboseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r368", "r392" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding at end of year (in shares)", "periodStartLabel": "Outstanding at beginning of year (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r367" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding at end of year (in dollars per share)", "periodStartLabel": "Outstanding at beginning of year (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "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" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r381" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Aggregate intrinsic value of options that are vested and expected to vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Number of options that are vested and expected to vest (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Weighted average exercise price of options that are vested and expected to vest (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r359", "r364" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]", "terseLabel": "Equity Award [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Exercised (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "Information by range of option prices pertaining to options granted.", "label": "Exercise Price Range [Axis]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": { "auth_ref": [ "r389" ], "lang": { "en-us": { "role": { "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range [Domain]", "terseLabel": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Domain]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": { "auth_ref": [ "r389" ], "lang": { "en-us": { "role": { "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Lower Range Limit", "terseLabel": "Exercise price, low end of range (in dollars per share)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "auth_ref": [ "r377" ], "lang": { "en-us": { "role": { "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Exercisable Options", "terseLabel": "Number of Shares" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions": { "auth_ref": [ "r368" ], "lang": { "en-us": { "role": { "documentation": "The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Number of Outstanding Options", "terseLabel": "Number of Shares" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": { "auth_ref": [ "r389" ], "lang": { "en-us": { "role": { "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Upper Range Limit", "terseLabel": "Exercise price, high end of range (in dollars per share)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested", "terseLabel": "Aggregate intrinsic value of restricted stock vested" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r385", "r402" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r392" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate intrinsic value of options exercisable" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted-average remaining contractual term of options exercisable" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of non-vested options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares", "periodEndLabel": "Nonvested at end of year (in shares)", "periodStartLabel": "Nonvested at beginning of year (in shares)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of non-vested options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Nonvested at end of year (in dollars per share)", "periodStartLabel": "Nonvested at beginning of year (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Nonvested Options, Weighted-Average Grant Date Fair Value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted-average remaining contractual term of options that are vested and expected to vest" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "auth_ref": [ "r365" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value", "terseLabel": "Total fair value of options vested" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationFairValueAssumptionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": { "auth_ref": [ "r369" ], "lang": { "en-us": { "role": { "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Exercisable Options, Weighted Average Exercise Price", "terseLabel": "Weighted-Average Exercise Price (in dollars per share)" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1": { "auth_ref": [ "r368" ], "lang": { "en-us": { "role": { "documentation": "The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Exercise Price", "terseLabel": "Weighted-Average Exercise Price (in dollars per share)" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Outstanding Options, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted-Average Remaining Contractual Life" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionPlanActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Shares Paid for Tax Withholding for Share Based Compensation", "terseLabel": "Shares received in lieu of tax withholding payment on vested restricted stock (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StandardProductWarrantyDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Standard Product Warranty Disclosure [Abstract]", "terseLabel": "Warranty Costs" } } }, "localname": "StandardProductWarrantyDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StandardProductWarrantyPolicy": { "auth_ref": [ "r99", "r282" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.", "label": "Standard Product Warranty, Policy [Policy Text Block]", "terseLabel": "Warranty Costs" } } }, "localname": "StandardProductWarrantyPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StateAndLocalJurisdictionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.", "label": "State And Local Jurisdiction [Member]", "terseLabel": "State" } } }, "localname": "StateAndLocalJurisdictionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r0", "r171", "r175", "r176", "r177", "r178", "r179", "r180", "r181", "r182", "r183", "r184", "r185", "r186", "r189", "r190", "r191", "r192", "r194", "r195", "r196", "r197", "r198", "r200", "r205", "r238", "r260", "r262", "r263", "r593" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r47", "r108", "r109", "r111", "r114", "r123", "r126", "r155", "r218", "r289", "r294", "r398", "r399", "r400", "r442", "r443", "r515", "r516", "r517", "r518", "r519", "r520", "r604", "r605", "r606" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r108", "r109", "r111", "r155", "r557" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharebasedCompensationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stock Issued or Granted During Period, Share-based Compensation [Abstract]", "terseLabel": "Issuance of Stock:" } } }, "localname": "StockIssuedDuringPeriodSharebasedCompensationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r19", "r20", "r289", "r294", "r370" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Exercised (in shares)", "negatedLabel": "Exercised (in shares)", "terseLabel": "Issuance of shares for options exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r47", "r289", "r294" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Issuance of shares for options exercised" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.", "label": "Stock Repurchase Program, Number of Shares Authorized to be Repurchased", "terseLabel": "Number of shares of outstanding common stock authorized to be acquired under a stock repurchase program" } } }, "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r20", "r24", "r25", "r101", "r209", "r213", "r513" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "BALANCE", "periodStartLabel": "BALANCE", "terseLabel": "Impact to Retained Earnings", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]", "terseLabel": "STOCKHOLDERS' EQUITY:" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "localname": "StockholdersEquityNoteAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "auth_ref": [ "r58" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "verboseLabel": "Detail of Other Current Liabilities" } } }, "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDetailOfOtherCurrentLiabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Cash Flow Information" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashFlowInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SuretyBondMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An obligation arising from a three-party agreement that legally binds together a principal who needs the bond, an obligee who requires the bond and a surety company that sells the bond.", "label": "Surety Bond [Member]", "terseLabel": "Surety" } } }, "localname": "SuretyBondMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TaxCreditCarryforwardAxis": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "Information by specific tax credit related to an unused tax credit.", "label": "Tax Credit Carryforward [Axis]" } } }, "localname": "TaxCreditCarryforwardAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TaxCreditCarryforwardNameDomain": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "The name of the tax credit carryforward.", "label": "Tax Credit Carryforward Name [Domain]", "terseLabel": "Tax Credit Carryforward, Name [Domain]" } } }, "localname": "TaxCreditCarryforwardNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TaxPeriodAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information about the period subject to enacted tax laws.", "label": "Tax Period [Axis]" } } }, "localname": "TaxPeriodAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TaxPeriodDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Identified tax period.", "label": "Tax Period [Domain]", "terseLabel": "Tax Period [Domain]" } } }, "localname": "TaxPeriodDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TaxYear2016Member": { "auth_ref": [ "r418" ], "lang": { "en-us": { "role": { "documentation": "Identified as tax year 2016.", "label": "Tax Year2016 [Member]", "terseLabel": "Tax Year 2016" } } }, "localname": "TaxYear2016Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TaxYear2017Member": { "auth_ref": [ "r418" ], "lang": { "en-us": { "role": { "documentation": "Identified as tax year 2017.", "label": "Tax Year2017 [Member]", "terseLabel": "Tax Year 2017" } } }, "localname": "TaxYear2017Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TaxYear2018Member": { "auth_ref": [ "r418" ], "lang": { "en-us": { "role": { "documentation": "Identified as tax year 2018.", "label": "Tax Year2018 [Member]", "terseLabel": "Tax Year 2018" } } }, "localname": "TaxYear2018Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r460" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade Name" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransportationEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment used for the primary purpose of moving people and products from one place to another.", "label": "Transportation Equipment [Member]", "terseLabel": "Transportation equipment" } } }, "localname": "TransportationEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased.", "label": "Treasury Stock Acquired, Average Cost Per Share", "terseLabel": "Average price (in dollars per share)" } } }, "localname": "TreasuryStockAcquiredAverageCostPerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_TreasuryStockCarryingBasis": { "auth_ref": [ "r295" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cost basis for treasury stock acquired for purposes other than retirement.", "label": "Treasury Stock, Carrying Basis", "terseLabel": "Repurchased carrying basis" } } }, "localname": "TreasuryStockCarryingBasis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r46", "r295" ], "lang": { "en-us": { "role": { "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.", "label": "Treasury Stock [Member]", "terseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockShares": { "auth_ref": [ "r46", "r295" ], "lang": { "en-us": { "role": { "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.", "label": "Treasury Stock, Shares", "periodEndLabel": "BALANCE (in shares)", "periodStartLabel": "BALANCE (in shares)", "terseLabel": "Treasury stock, shares" } } }, "localname": "TreasuryStockShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockSharesAcquired": { "auth_ref": [ "r20", "r289", "r294" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.", "label": "Treasury Stock, Shares, Acquired", "verboseLabel": "Share repurchase (in shares)" } } }, "localname": "TreasuryStockSharesAcquired", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r46", "r295", "r296" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.", "label": "Treasury Stock, Value", "negatedLabel": "Treasury stock, at cost, 4,935,186 and 4,465,448 shares, respectively" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "auth_ref": [ "r289", "r294", "r295" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.", "label": "Treasury Stock, Value, Acquired, Cost Method", "negatedLabel": "Share repurchase" } } }, "localname": "TreasuryStockValueAcquiredCostMethod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [ "r113", "r114", "r115", "r116", "r215", "r216", "r217", "r218", "r219", "r220", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r440", "r441", "r442", "r443", "r559", "r560", "r561", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613" ], "lang": { "en-us": { "role": { "documentation": "Amendment to accounting standards.", "label": "Type Of Adoption [Member]", "terseLabel": "Accounting Standards Update [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledContractsReceivable": { "auth_ref": [ "r48", "r556" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails": { "order": 1.0, "parentTag": "fix_ContractReceivablesContractsInProcessNetReceivableLiability", "weight": 1.0 }, "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Unbilled amounts due for services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the entity and, at a minimum, one other party. An example would be amounts associated with contracts or programs where the recognized revenue for performance thereunder exceeds the amounts billed under the terms thereof as of the date of the balance sheet.", "label": "Unbilled Contracts Receivable", "negatedLabel": "Less-Unbilled accounts receivable", "terseLabel": "Unbilled accounts receivable, less allowance for credit losses of $784 and $0, respectively" } } }, "localname": "UnbilledContractsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureRevenueFromContractsWithCustomersRevenueRecognitionDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r408", "r420" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "Unrecognized Tax Benefits", "periodEndLabel": "Balance at end of year", "periodStartLabel": "Balance at beginning of year" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r421" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions", "negatedLabel": "Reductions for tax positions related to prior years" } } }, "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities": { "auth_ref": [ "r422" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities.", "label": "Unrecognized Tax Benefits, Decrease Resulting from Settlements with Taxing Authorities", "negatedLabel": "Reductions for settlements with tax authorities", "terseLabel": "Reduced provision for income taxes" } } }, "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r416" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Interest and penalties accrued" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r421" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions", "terseLabel": "Additions based on tax positions related to prior years" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesProvisionChangesExaminationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r157", "r158", "r160", "r161", "r167", "r168", "r169" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "auth_ref": [ "r429" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.", "label": "Valuation Allowance, Deferred Tax Asset, Change in Amount", "terseLabel": "Increase in valuation allowance", "verboseLabel": "Increase to Deferred Tax Assets" } } }, "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureIncomeTaxesLossCarryforwardsAndOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r128", "r144" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)", "totalLabel": "Shares used in computing earnings per share-diluted" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "SHARES USED IN COMPUTING INCOME PER SHARE:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r127", "r144" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails": { "order": 3.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Shares used in computing earnings per share-basic" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]", "terseLabel": "Reconciliation of the number of shares outstanding with the number of shares used in computing basic and diluted earnings per share" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails" ], "xbrltype": "stringItemType" } }, "unitCount": 7 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(e),(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(1)(i))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04.(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690" }, "r107": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "27", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e22044-107793" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21728-107793" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1707-109256" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1757-109256" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1828-109256" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1500-109256" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "44", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2062-109256" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "48", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2538-109256" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "48", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2538-109256" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "51", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2574-109256" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2597-109256" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2600-109256" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "54", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2603-109256" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258" }, "r151": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e543-108305" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=121640914&loc=d3e1280-108306" }, "r154": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "270", "URI": "http://asc.fasb.org/topic&trid=2126967" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(24))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599" }, "r206": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5033-111524" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10149-111534" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10178-111534" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL82887624-210437" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(4)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314" }, "r229": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r253": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2443-110228" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r261": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "http://asc.fasb.org/topic&trid=2155823" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r266": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r276": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121548805&loc=d3e10037-110241" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68070138&loc=d3e11281-110244" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12021-110248" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(5))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12053-110248" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12524-110249" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=d3e1243-112600" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=d3e1835-112601" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6036836-161870" }, "r288": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130533-203044" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130534-203044" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130561-203045" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130564-203045" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r335": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r336": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "http://asc.fasb.org/topic&trid=2127225" }, "r337": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "712", "URI": "http://asc.fasb.org/topic&trid=2197446" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1703-114919" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1731-114919" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.14)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450678-114947" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r357": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "http://asc.fasb.org/topic&trid=2235017" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "740", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120384911&loc=d3e23163-113944" }, "r407": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=SL37586934-109318" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32247-109318" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32280-109318" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32621-109319" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32632-109319" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121610041&loc=d3e36027-109320" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r454": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121600890&loc=d3e2207-128464" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29,30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6405-128476" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121554379&loc=d3e9972-128506" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121554379&loc=d3e9979-128506" }, "r473": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3(c)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41620-113959" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=d3e41620-113959" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624171-113959" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624181-113959" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3,4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=116690757&loc=d3e13220-108610" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13279-108611" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13433-108611" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28555-108399" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=68176171&loc=SL68176184-208336" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918631-209977" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.8)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918638-209977" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918666-209980" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918701-209980" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971" }, "r541": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=SL51823488-111719" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991598-234733" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=118261985&loc=d3e55302-109406" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.13,16)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=108315417&loc=d3e61044-112788" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15)(b)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r58": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "210", "URI": "http://asc.fasb.org/topic&trid=2122208" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.15(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.16)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121638524&loc=SL117422543-158416" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=d3e14931-158439" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "7B", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782768-158439" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6812-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "9C", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884803&loc=SL65671395-207642" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iv)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121641442&loc=SL117422267-158473" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "740", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r620": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r621": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r622": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310" }, "r623": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r624": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r625": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r626": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r627": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(8))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6904-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(b))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.8)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=114868897&loc=SL114872001-224240" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3000-108585" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4273-108586" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790" } }, "version": "2.1" } ZIP 102 0001558370-21-001828-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-21-001828-xbrl.zip M4$L#!!0 ( $2"65+* <3R+" "1] 0 0 9FEX+3(P,C Q,C,Q+GAS M9.U=6W/CN+%^/U7G/_#XY6RJXHOL\4X\M9.4?-M1CFTYEF9G\Y2"24ABAB(5 MD+2M_/K3#1"\$P0I:4:&2NH%A,DH":AFO M=K PIMYJ15SCGC)F.XYQR6QK3@WCXNCGH_?O!V='[T[>G9\9AX=129?$AYR> M:_ B3X\&<TQD)G0 DY/XK) YO!@C.H2B7#$$J&23M^A^@ M.9EZ7\^./#:'BDX&Q[_?WTUX2R7QS'YKU,BHBF?F6$&<$?^4=9P?BT1)ZGJN M&RXS=<3D5L".@_6*'@/1(5!19IMQ%4YY'JCB[/CW.]O]*BD=^*V@Q>1GT(6X M0?6MR;VZP?$-6D"OET/ M_F$^E^F%;L#664!]:A[-O9?C*)$KP>')X#!1 ^B]1:4 ML5^:AZ>49+*H7=XT2"BO@WE.11T\I2232^] D^HG9]P)JG4)2!/SX_C31Z+&_L M!"K@ \:5Y_J>8UO8]$OB(/23!:6!?V#8P+(&7=PBV2:+SFS7YNT'W3HY,0Z- MN!CX?35^F(SO1M?#Z47\Q:WCO>IBF="KH7S7!,JK MX>23<7LW_M)#60WEM>V;CN>'C$["Y9*P]7@VL>X$ZJ03T0-1G>S$C59225&;(V M(!85&C]%5?[!X)7VFJ&A&4_TA;HAO67>$CIPP(@9^%]@WW(5^H$'"TH_(GBB MIC<7C8VDG->-#4I2:\?9R2"O'5%1Q@PJ,^+:Q(8KKB]%EZHST9)>/S3T8VC^ M*[1]W@B_ O@R$C6BYT5$TX7T$#6"Z%?/LUYMQQFZUL@"_F&L),\.'8$DW+D- MOX:^#XOA!QK4)%?@N_7RU$!9LK((% M95_$\Q MB\'P6M^'FV97 CXX*0(>;;XR6S;^+9IK^;C=]^S-X+\GT(6X^"((=8'7R5@' M^5DEY$GI">H]U&VA'KGPD4[)&_5AT?-B^]6;;16I&LY!<3H6A1F\-+'@$@7V M\+6%#^T-K@F]@"@,)K7T=4 6AN(S3;HGE-9Q06J!;\(::T^L&W8>XZ MI-_5("WKP ]RVOTI5<\?>O";V31:$5:*N MFTT-][OBA)LN^'\-431\%J5S&SDOOT=9!^7(34?^'XT4;@ "';F09)C L_^WS:/KW M'F:-^?4R]&V7^FB"&+,Y<>U_IX?=6C(5A+"_*>YP9$%\U$T7U:.U->^!=KX" M-5B>%K'4]PSHP=V& T#C<_X:2-L>Y_=H:J!Y2VSV&W%">D\)_LVGP3R"Y41J MU-X54<-B#%Z.D2ZHQZFA6X7*GZ(&E1I'BAZ*K;I/M'>,J('QYR*,35T>>JA; MNC#H^"[4P*?MM-"#M+FK0D,?A1KHVCDG]#@V=TFH\3ZHP>FB#*>LHT$/BO9I M.MZ;TDKK0FN#1(<6Q MJ91V)H4*68D3%&+R<'B0-D*Z\Y=(.^'82UF%H$;#=.77+S$PJ4C5D)8:( M5&%\Y98IKD>NUR\] >'EUX>(P!4/45=?U2NWL%E1JF$EL$ M+R<*:9 NJ8=*!RKJ4#.@UM]"P@+*G/6M[1(8B(AS30)2@$Q-K8:N9 ,KRS/B M HVX1 .+[#')F_X"[6X([E3_)7?XR]/=RG:,]KB7J45X7Y M&6!>]"1J@+FHHT=\*\=HY6#K9E/C?%;$6>^&; _QIF=KY;"J2-50ECC_59RS M]>"U/7 KQZR$0@W5>1&J["WF'I]=G,*5H]J\.4"9-"4NBMN>/1KMCOO*(2D2J'$9%'')W 'KT=GHD*+"%%-%I\9* M]P)7C]G&)Q<*W*IHU=B5;.JJ3C%Z_+9WG%&!HTX>-9XEB_[:HXT>V"WIW:@4X-'<=[Q?NXMQZ[8M2R@SO/]ZOOV&^ET#H]VN3<[-"(:S= 2(:HWQ - MZ%5H%\.2[7_=;/!)%5"G&H58',V&&*BIUX'M'JT"*9G/&15VH_$LRM V3G%- M<6K]."M.0;K!BK/UHCK)G+V^;%5?Y-<&4?2V4F:=YK0\Q#^,D_J(>]\H)/J2 M0"MA^J",1VZ!F3YEMVX?'UVKV#HM*LQ/^L'2H_J-5 .R!OE>C[ZI'O$'EG:F M3IG2OZ-612WIM6MS;Z0*75'2JI'7O_??X]?:(8G_AEUBWEM%X\&%NJQJ=,^+ MJ]6,"U/T)T86+#BY]'BWQCN^5A3<$.:.P]3IN0;D&KGK4%<[KATF]YX" ^LX M],+TR7R/?&ODN5M*PS=5*O/4H5R8LW,H"Q^9_N65;^"T>+6 +]0?N5>$L35T MK>$2C4/CF2QBX[=7M&M0:\T60I'@^"$:8]BN(9MCB/:@62,NL->VW6C;QLJD MJRM;<)+M5:"].Y[>PQZZ3WG41MCHP=H$+#[;ZB&6(:V#K=Z/4L[T/7S-'2J5 MCVOH/J!1$3BE!V3CYS&BA<;-&UG:KFH#U2RS&M Z7\ST$QI1'7\T4K7TN+?% M'<_0^8(2;G-9AC!4:F!N&3U ^]6XG14X&PBE2-J';$ MGAZ\;<7N$98,U[KT7*L*T*;9U2 WC?$3KY4PA=?3H[\M]"?4F8U<(,(3H.;H MEV:O0[]@WJY#'VLYC*OIP=_P7@7,D6@#>*$U$W6#G&K(-8-%B>E;5-!/TUN# M>P@"O;:=$,7*4\0%UX!?]?\O!QWH.946"R(BJZI5@"_=R4M@-39 Q M2%VE TWRJU6@010RF10!;\B*>@78K@+@(GI3)2@KHTX1RL<"#47 RGIMV*8V MQ XH0]\/E_5S0J,"ZO1 _T)?QKFW]'K4MGA!LQ)!G4QJ--M$G^RQW;!'UG?%FIBA>GVP1Z<5.E77H2OH5$B= M#4J.Z4M'R_[2\[;OI5T1?W'K>*\:,^&FY:E/B3=Z1@^M9E"Q@37W\^N.528V M/>+C[2^45>Z8-BNM3ET*AUV-U"6QG\IZ_Z-T!?]YAMW%$YT9;_Q+ $0?#WQ[ MN7+H0?1MP>CLX\',?CO$X,R#T[/!/X#;H[>E(RFP^(R>O3TSY\AC\^/3DY,S MH5]Y 47URB((,PNEO)[Q,@87%Q?'G H*X6'P +QCV?8#XWA;7 $23;G*@;>' M3(&6-&4JJUA[R)-#GIOR!%FHLQMV?CE^\ZT/9+6R833W7@ ^QB9/3P9')X-#@S?7- EN?-,7IK(XU=E MPA^'2>XCJ%:V5=V$C.2L@!TC&L=NN*3,-LL;49<+VG%R<3@X/1S\O'$[//>P M95L\]V%;S<$"A$*Y>/V96GIM<1C+Y&K5D!GQGWEIH7^(A?FU.B)5))US3LA* MZ EU C\N:W.-X7W-=OT YU,]L? L^->AS(>".4/!-&E&NKQS_I<5:#= 9L": MS[>@%9HUIS0BJ-(&+4V(\=Q<$?!+00]@G'7]LN$1&CTX_OW^;L+K:]!HGP7- M&RPSB<;"7QLWE#K\.B!?KL+L\H_)@C!:L.>F[H)R G^('E-7T;1/+;3#WA/V ME0;<&'O &?]XL*W";,?!S>['@X#AWV)^1,G8'Y8>J ZL=$>PE,>U'0@R?/8# M.PBQJE^9%ZXDJ0TD("#^&^8QV[.FO" +%K_"QB+2GHF#;?MX8/)(,,UEBEU& MRE4( GU\894-S>?ACRE;CF=X4PL6XOXE!6F@5S\%4013\G9-895HVKQ-0]<: M+D&3HBA9MQZ>JT/VR#5Q/!M:%E^C$ =$-K?EXV@(Y3>M-(V)%*@V)@12\3XR MM)LX?@GB*M JA2YTZ E4RA]&%23"*4U,,P'?0% M6! MW@H'6023)E=AG*80 MO,!: 2M%UXE=HB$FKJ!R5/E"&&PP@_4CSS.>W9%GCPUGH%03REY@'^K.Y9BA M1ZH8$1IKGW)$V+CK/T'7 M?0:FYU^H/5_ BF;X AS.N;>DYXHUSS@,L" K-?*URZH8"7U.OB?CX#WH-0QE MPKJY J1AE0$_'"*"-8K!G>:[4;-<>]>5)L3!4)D\]$K45KRO^2AF9, UX52# M])M.Z3K< >96Z-#QK"),[!U\Q#:F%J5-\NS;+%#;=GXDUX#7B+X%GU;P8;%& M+0B?N;1VQ3$_(L$%)G&$?7?D/M!79QVO07"[9D:!R_*=MUWN[]R)"QOB&,3" MKH?#-Z5OP:7CF5\/"EI2GZ%T\(Y8#R3=G@S@N-6X\EYP, [$5&6_4)R;AV]V M;M>I(&NGZY8-#?&C->P.-UNE#;_F.JC!H23SNRI>M8[=;.[?_;"8:%#L]B8'B!+3DWZ.?5L 95LN M&WQ'Q1[E";-7L5E!G.9PA3> =?EK;I/29>>*K&Q8L-R\K2CLL0)H%,S;;XGY MY=I^@1VKRV\D<]=DV(^$S%S N/A(UORJVFNTJ.Q<>S6_N-6E>P(\/- M7$H&8H 9SR+7R4K[[=XT;Y.1;X=:R&^$/5'L)MPRYC^BQ3K +71B>!!!C2!E MRHCK$U/4I!;X!@5O9+.H,5%8]%G/0M%:@,,HNC5]E/H#*;BL344@:RP\O4*[ M+3B8WAJ-B1H%[.$X635BU'%;G>^[,GE'H4O#0">>?[BEU"^STJBIVAMHMK#R M+;&S/F8B$\JUVD&UG;T(>[=>R/2X2U/N'7,3&'\)Y(B; M+89J[E&2-^G7D^Z901 ]S\* !R*:0MIJ 9-O_'2\;+,\Y=Q>3U//Z%W[87/P2QTHNL^_+%&^P4K$/NN\6R&>TRI]^VR=FR! MVTY>\CV%9J)*Y>JXE&1?2'CSL]W#A-X!^I"DRX>LULFHNDD1NY5?;!:HL!%M MZDP=CRERV\C-MCZM.SFN(]_?<^-J$=PZ'D&OK_0A&QXFUAZCZV?<7['HV)N$ M#5EE:Y(4W]07KM)>JK5LGMDNY8$!F?W,6\1# PEK.5EG_67TJ/?$$5#' 3UT M CL*4LH>A0T &9)G*C)^J?]EX0T9_>Q"NEA4I4P1&Q6RR5G-+A8I*8^HE(/G M8^I2['@&6D 9B'U*WLI>9ZP;+;97<)=&DQ1O*9;N/'>.]S[B^3;3U_0R[$EW MTS#@8\3H.#SH>A(R&JR+I^\U9/MVY#X, R]>#^5W:*6)>[<=DR/4/6!K$B?/ M1$7ROK.!8W")45)-U06F2LR1:JI]98KY<=_XE;J4$2?^&X]K5!VK?0D=$$8] MLWO"3&'UD XI+=_+PO'\-G2<-4^AUO#9>Z'7L!@P WR]2!XQRZ5SM%S81DF= MVIJ66,FR ;HEF[$GR\@UT9$H-77JY]B/#4K]FJ&.(_C/YQ>6>;2[1OR5=P1JY;>KS7-V4B9RWY6:"_T*(923?N,]6>W57(]]!65-7]#/ MGHJH"#I[%E(>F2 *1Q &"X_9_Z;69]>B+!?6V+]YH\RT(\2<7,B+O,:+ MVXYO5N&^;6"VR[C@-DK@IO8=2UI183O(3FK_%ON]R,W)I=\]W17="M,IB[_?PK M1H3 &U;Q#?%=25:CXHSG&B]Z3TRJ<0^3H?+:E3]LV&^;[SE66S-L,>C@_QJ+*F6T,-?7=RKA8S1;$_1(.[,24^DVZDW M),7D/7*YL_D590'" _NC%]L"/?>'C-ZXT'B'6L [WC\1'4!>B"L<06^SZ+18 M]R044Q67CWB# 8]*HQ2^.$(/0 R_-:7NWREA/CK(861:6#!$<4KJQ=>ZX/8# MS1Y)[M:&?W<"D4N,9UP8F-5D>S<.]:+:RE7&G.YD2-Y*\=]]6%9'KI .]@\TD!?0RJYM1[YA(HC. M>FC],\2-W,WE:'H]+%[=5EWGW&Y%>QHM0W] +PZE8]@P<6T[/XG6Q._/=R0\=<&=$EZ>M10__'Q:7UJZ)>VA>%K;]2;APRH#@,.JL M;QXG*9%DY+2C&O:PIZ2OOO/VWU/"O8C&XEU<<:1(<3GU0J<>;Q=VF?168),R M]FV;I^#E$?Z-P05HM010S/1].2ZNWBN#00AOXY ?UD>1CE-K\:;9OM.%LBW= MB$HB/^-F8QP&24#LJ1==FY.1(](7R!KD^3YN>=NZ<,<[^LCW0VI=ARR.Z,[/ M'A/# *A*?K:-)ALOD=MVBNKX!<8*(0AWD.T(M&E9^QFQ.R\XC,,LM_V7'F/> M*S!\15;$Q/V_:7K,0L/ 2M0FSR0:Y>EV3ZT.D3K!()D6M/[*(;[/WU[DXSN/ M(5,7D56=>?,HF?4!:7:I58WYEF%J6HHMSMX13T5]>=U2?#;!N0U=RT_'XZT3 M5&6^'TY">.\&E@Z+N]'E^$E7/.69?CC93.RWYK(IS_3#R>8+=1S_EK"Y=TG< MKP]#V'8M:9,N5E] 1V4V74#]\\4]@?U[ZII09"NJ2.PHKS+2$0P(HR6^/(*I M4V&WRS*N1=EQ*4Q?/4TI*"D[*@7A%8IWOV!I,7?Q3!%?VT8?,VK)5]Z'+G'6 MONW?>JP@@/@NQ18*VDM7+ V)/8:P;3>YS<]=#U,E.1HS7?*]VSME;B!Y MWO 9V,A-,?*%.DB?$FZ]Z&[;6"?A,QI:\ @*UZAHCF+>TO9]CZT?O/PR5INZ MHZ-,_@T$C.A'EI#Y?4X.]70=E[ER0",#\_1 \;X MB,W<,X=NB@ MXO/(0C<@@"4.-E5AU_>A0=V>5^2"62ZAG_A#HX7W)_D4%]#AG%$1@14#U3("*H//S.=BV6Y61D<[>UF@FG1J@-QFJ MCG+_0%_3;T-GF:Y*["BO-V\VWP3)(,75C&M1=E0*D7,9K&P=/_54+O3I>\^U M X\5S31-.!.\^RAF=PR.BD[P2)GE6Y^\ MH_+@7GBW9&D[:W%]@DW"NVUI2$)V([>4+9,AIYB@8+6Q#^=.>U-D8!0\4"O-5T5:5UA[HBY]Q99& MJX#T B#>$&1QU,_0%2$,X2\+[X^XM@?;HQ?/><%58>9^4\[^WB1'1^>0".!' MYOV3FH%?NF@L)':4UW@ MUY0DWUA\^0/?<@.#L-X/A;RF$4VP?P6NWTQG8H@ MF9?BR+5"]#F##33SH-Y@+06251X-NH[JT7@V@UX1[RM+N:^AZ2CGGRAQ@H5) M&/K=P::QG/=:JHYR_RO&SN$[IW*^%>D=Y5B\UCXE;]GWWQ]H$-U-<.<\KCIA M;#V3L=UD]V^3M=OKXB_$^4K9].V3QWL]'JH

@M9VUY1MB/D2G8RIX/,JEZ#J8F;I(8O MMR%D+$C2Z\\W$":L?2NAM'$,D=K/4-2G#^<-%ZJ 7 MA42T9'M1#P XF]_X(31AR%,?&3%DV$H7"M*$P%O=$I8H$=N2&!1;"/(M*RWC M 8]TJL),8#>9ISJOCO,GU*(WQD<<-\9%],S]N2ENXR]CGQ!(M&:-ZM0J4) 8%&^V'/X(\N@&POTYPDX5>@GXFOF\4 M;6+8S*%HF)<[ K ,C30_0! D-TZ\B"Z<\(_[Z4/L+T%']C#:VGL:=<''S(-# MLHRS$'R+PO3U[O9B]MB!0YCZ>\\;7DRTNU>(+GS\3RFN8.KO/5=X,;'D#%-9 M_*1!;H4$A>LS+;6DYA3%3S).BQS;EDX2:E]F#B)^DG%T8&BU30IQ8;4S Q\" M?YD?"C^!T(]B$:V+5;9%_0JD[O5)O9HC,:F@6L-6+H=D _ AV&F$K6$K7$)B M&W-B* NW-=&[Q9-0:WNRYY15^PROB (-EQLZ"3!%C:&!HI4>MXR6^)#4#RTH M^_;M8H:K7637SB4:<16@6V?4W7J[H'%ZXT*?KC2*9-IMM.!1[(63=+WU:59M MHG&F/W$9I\)XSUS6#_3J+(R\* B>FSLW;Q89/ "')M-_/896=Q&E- MT?"G;27#7_W]T0D7N*FW\3?CU"D^W[+E(>ZP=JH*[##;^JLQZF"#BE' X(PF ME_*^^:&_S)9$]37^;IX"*?UJJI MQY"5Z'S2E5C_^Y"5R)1#^XQ&7+I>1N\@ M=$+T]LJ/*%ZQK7+&Z$O>ZY5/-N(901^:H#JJ8DH:HPTQ3!FZH,BFW2SRZ3$W M),C7B+8'I-0P6Z\4_3 TRR'ED#3\_!$):GA=HRG[N;XG7'UHF"[E0&;%0A(4 MZ$M4QYLZ=FN9(:>Y/I1M65"<+4$U;ZI8K66&F&8Z/W+M4YZ@3@!:-#ZY4.88 MNPXFEC-&YW*'.?RR$1_@[DQ=90^_A\D;#L[EPP1YEB]4#]?7]Z&7@;G-]\)+J-\HG-S#$+O&Q0^1_F0N41NZ+X/HK3UTL'?LX/'2(G.&M:R089 MVGVK?J0F7'IMS+0&R=1UT2O0 M*)SE/<>P1Z2Z15R1%INR=*WT>ZAG"JKGI2IB-""8"),-OK EBNX@I**5*#.K M\FXI\; 6OQD6GD *4O$F8H>3RF"L/ZN* M)1KO+*JJ./E8K6LR!JV\0/6YT"+&\S9A"864B4YT/5!!J9-> M#0E)5 '#0FK"$I8H$YUX+:IEXZ'^;(3C[,,22G"+9LD)&$()Y4Z%_5A.0^_I M-8I1_)CE9;1\@1!XV',,LEI',4R68M M(UPO<%04E(U#QA&6JG*1A3N[:R=&HR3YG@#O)HHOG<#-@C+S8G-$3;U_9 D4 M[?KB]OEJ>I^A._#9_'\R)T:D)SB#]_I-2UBE#ZN* 7(!Y%(,J1>2S\WD%8*?=HAAFAS:X5CYENZ:#TZBJA:=]8 MX 0!+7/?7H 0S(F'38327Q3JA%"OKA+:^%3@6^!0@D"^%B$5_V)4-XAZ331P MKNMXE(@J\4R46..+6)U1DG7T."^X%>:N9)XI*Z6G5Z@B% G8NXR6:&S1B(4O M_,6I+@#UZAZB9DN(!UO@/6W,_]HKZ)8&M_)B\PJ&;I*X@? 0H.D<>$2!Y O/33%'CU M( .YGQK\RW/LA(GC$O:(BK^P7T16"Y/V'(\R%-P\_:U&*OP+F,UK0/!;XTZM M[SGU.D/4PSNLW='N'G3YQBM9+3$^KD@3QC!%1-Y8PJQ\L>RR@F+WM%*T,F M+T46+0H7Z-P)P9,?C5[YB1M$";JJ9*RB>:HV@#PY@$ ..LA*9Y$K[O3SL$G- MPNO8[+?AWX 3/W]L7YK+--7$&:X8C@8=W5H9!)41VW.N MP:\3-_V=&MM[OA%!J!C7Q&RWD4I\DJ03!E MB8-^4WQY,R_< 2/QP<%X]/-HTP;\ MH6AF]*>RH7^'=99!F% 00$V^P$H_:1A=*%-"%J9^N'B( M_UF3M/R2[;2[\K[Y(4K5151?X^_F*9#2KZ8*V7(,68E%OC6R$NM_'[(2F7)8 MXGZ#GSS6JWZA-0U^KS#L*5)&8@I%.D^>V!/^RC\C[UX5)#Y/78-^@?)+8 [X MV94&HD:Z$II'^QV%MO%D?_8&8@?14O)M"N$^T$T$ED>09) M, 6BS5A&*J4PV'A1T 2FC.G'Q:6R[%X0AB9KKX?\PLGE5"X[FA@4SV2J_.#4 ME0>MHJ5\Z2AX#Z_"54=OJB[9RX SS]$C",$'9L6"+VB9O@4%[36TH(DKDW42 MDO4(('EYBS9C&9&4PF!CJLLJ$L=-%#^2U[=;I9KH'$TF)T>89Y,\#=XC(4]D7O[ [)%S8_3PJOS6*YL7O1L7G1D[H MC6H?W,.K/3V#'Z?M8BBQ!&%6-,Y$L)55-P4=!33S4%MR[?&()LO9_'MI';@6 M&EMUS&-#-_VR%A8\8BOB""ETL7!^XSXH4Z&Z8M@11JU]H0V?X'VJ_,LL MCGG/3+BH;GXO22@) M#X>5,N)$92WV?12Z70S5IMY^T80AMZ*#>M+R9F(4=_JR5/:9* 9KN-FGQCKU M[\JGBF%BO!D*&]18(IJ&I>]ZHM0)R/'X=WA MWE 4)[121S-'1&/YC9?V9S. M?1W)F6(&8+>JP^FKC'4X)]*$<09#[)A.6E0;-U>X2_*US:P! M?>T,-W_,EZRB[7R1CA>47IWY!D"[FRC;?C?2M9DOTG%BTJL/X! XY[^KL'2H MF2_.<6+2JU^BX9R;SF&W%1&OT=87^T2 L=%GD1<=2=9]$8V!A2I?2.Q1JXGF M[7OHE8^8@'?]Z:+LY7E6L"Y$([6U]ZP3 D8VQ\MY0<$P3[GED<_[33@$EKH+ MLI-((J*75)$.V4V_&))Z!/24O;T%^>TF"@PUC^)EKI]'$"!V/D?%;0TE4Y!8 M TV83L\G8TVI]L0._Q4):O\[TVI<<=F-JK QI%"D9I;1H,IM5G)W-1S9\E&> MO:2.'P+O-H23[2N*#W(3Q6(3D$2+3=0GY^=GFIZ;]<8VU>#T:K;.=^K?#>-V=,"BT5'>*OQQW?!0/!C6H&RD8MSW4VI !IV<'!V> M'QX='A^<'Q\?'6LR.J5OZ;JKY5/_"Q""N9^BQ]M^F,$!4(X$E B7+G3W!HTQ M.5WUU[8QBL&PY!53B%.L]W>LD@$#U4^![7C'STI)XK.JEM)2;1H'/'DEU*J MT;#$:E6PE*L ,>O%5]DX,JFF IEL'8"Q9(55(=!8#W1C%T\332C/)I/3\;YP MK#,\=EJP3FMZH3;VF&O=\>EAE:;]4D;,G W%'**!!T7PT^014@&J\575@F4+L)T?EDS:/XPXD]?D[16OGBE@K >LUA-#;WIN3I%>KSPDF =QDMD;KR MWQ9OS&&%ZLB4]J1?]6?VE] [150V3(");WT)\,_25Q"O?Q4N:!G,19KX8JHT M6JHB$)BR+U'GS[37=.( ICIL/C CU([L!@.M6.:,7% GEQ_.DL_[.1HUPJ43WQ67G[K/T:UK^VEXYWVR6@-_[/S$C /8K?+ M#\E6,*83#L',S8.R/G.K;V.GGSYI#4LL;ZY"N334UK"8I!P:UI2'"RO'O;,$ M5Q'*PRVBYTTMX[0MIBU.;3/DU>Z3@%T8KAB4H9/F M$HY72NV:5#;4'P"T-PP#OBG3 ./T0+_*%1AMAG3F)DQ<]YUEF.NEC-,@6P,4 MK5%DLF>(H@#2T&:?8FTSL9RYBJ8H#:MJ#KFL4_:$4]D32Y5-D\L2_[B-L&>< MRCZS5-DTN;2[J&'7S&7?$V26GB.B"FE%!ZY%8=%L\_J:9NEKOOY#&PS*^IE< MP3@&R"ZF!46E#&W-*VN\(-1E-JV*N8KF4Q2OINU?C=^&L >PWX_@'809> +Q MN^^"V\@A-[EU$MH8C;2MZYX> R],#5\=A-_7^D24IRD"$+/@32-,B']$//WV%%2%FZQVS MT$:OZT>L(NL.(>HUZZZFS*B$Q<<5P"T^-I E;#\3M(IG!EZ;IQY@3).D+7311?1=E+.L^",OTQ:7&D M_D/&T;$[F=K$W!%<^\/B^MM[B%BU],0_SK^,$E86#96?VG[%U[A;3WNJ\DO8&B:M9J '4W.3@^'SI8N$O>6=]<(,U,:[-"3 MMC>TEIK 'D_.#H^'3B55*%CR9KN569UWE=.N8!Q95*F:;(\X0;#Q49:VY8\! MQ-*W_&D2RJ*3XIKD#W'T!N)T]1 X80J'Z?4_,_\->8*RET,\K30 G8SAUEB2P(LOLQXR:L)@B4>U_Q._5N[=K+O7XAZCG'HJ:L9<)857]21<_J3U^T M%(.FES2-YC"0TQ=DN\:^LH@LO*QKB'$\P6UE.FS_]H%2)/C1J?&GDA-XH_]9>OJ?48R'(?KJT?$R,6LV1 M95*DM&1H0PE! MDOKN)0H!$*^H<=BQ90= 8H6,1M;;B$M8< 3U Y GD[P$\%_9;&?>'X>SI#* M!48MVUC115Q+_(_)$^4=(RH_1TWC>*)F6=!5\EX#%>N_!&*]>*YL+Z]/.[NE M ?&+S@SJ6;T4&C8ZG@I@T[#L\L1K-/?%/CY(;'0*$XZ0P1D(PBX:"0IMX_S8 M?CJ[/;:*W"ZWX72)]B0$^H@V8S&IE$#1:Q@?33&N53Y4GAQ/)J=C6RC#+6ZO MD?LUT:*9V6 V)P3AOOYT@\Q#?KCYJ$D>0)S"'33\Q7-4A&C.BS^"-(O#Y#$* M@AMLHI)=?=9BNFJ!KMZ!. (S"64-HXHFFA1YNE(G IVH6^Y0FAX(XC M3C4>F0TI>=@77_O'UI*38*'D'$IH+=3T%ZV%:"V/;2_/K8PGMG&Y?[ZHOD.0 MK7E"UM?*]XN(PG@I.E,HUK[7H8&L6M^^/P H6/[<('^1!"!!TCR".B"=$DBT M:)R55'< H!J57K.B:3I8MV%6MYVP*H'J-7^;ML#[!3ZW(6G$0^2#A MP7C[15O5Z*AL=90W.Y3':UO)A^":T(]SX\3]F$VH!34A1M "-@^&X;]DZ+,( M\?*]PC0,,R=H_!'$:[VORG^A0P"W'5!+=?/&V9<.VJZ%)ND7%TL\C@DXH;Q= MCVL[3+Z79M>UA53R0FL_>1:Q3\5>_,%981[4\E:S1?52\IJ9=NP;6N!OS%R8 ME/+<9\B%?C:O;&'RXS6:QN![N':OQP7#DFC-)HZHAL&2D,4Y+*""!>)10G,+ M_Q>:R[GO.F%:V-#-X"),.9W:LH5CZD'0'I>6-B75MCW%)=AM^./5=U\OB_/A MV]#SWWTOSZ0+]TIAONGQGJ,;_Q-XQ0(/VF5OF$+R78'3@\^3+V0K]HS M("?5/@FHX#MVD[ O@+0G51.R@@]17%RG54=C?T7OB<+%= X[\ S"OP$G3F9S MA'P 4N ]@?C=;V7/ZN$+=I-//30]G)'W2+NV4+-W$.?#\.2@/"C9P +'(4*F M=730PQ>:V)Y"; V([:V8=BJAZ>& 7)>UN_'A__9N\>A?V0?ZJ89'67XY[:9O M;PU]>1*$GZ %QU/: J'THC][;^!3\>Q'-%_TE_]Z 7"-( M^(DX1XBTH<-@Y:Y&]8[10O[B"YMH4L155S+;PECDIPS0[7$$L4 M0>2WS(F=, 7XH-3L"H9SA*U2W*I22%A+./$$84I7:)5&CX^Y5DHBM:1/P"\9;'["K=%TT4, M\GWNMB38V5ZHKC%:%E)44[]RPFJWZ=BSSW"EC:> ER6O(N09K*@K^Q<)FBVZ_J:+A+1&]_P M/%RZ%U%44#$*L',H??-#>AZN^M_-4R"E7TT5LN48LA*[)U,;EA*98[HJUCU3N0IN@9'HK!$Z;?0]CE*S]YRU)0/-## M'$X(MF ^!^AJ;!Y9J!"^UX0FFF(9;>%RY2R=!4B>HFSQFJ)P]WS.")AZ]M!' M3N1>4Y (QW7G,2V58"B[BH?C %>=)AAGD\G)R4#UWUUT+=GJM/(( +)EBHR'PCYKEZ*.JYBK[V\_IS7XZK=CNN&C!9 M[,1QE64CC%#FKAQ7#5"Z@,XX%"XFM\$D4.JX:J*:Q33%W PRA==^4(Q=&OZ( MXC]@B_570$3?%F)9PY7-UDUS\2M3Y_1")J71>W5:UT M H;)&((]9P)V6-&F&#BE& MR7.A%O]6$Q3(92WYY#!3B>;XMP[5@G:44]%<^0[BETCE4FC+O<#+W!0E1BNS MDH#X%LKFM0.TB50U7^]TU37725)2:S<*; X4@LSF"*0\A&'^%^!-7Z+WFKR7 M\*?8693%6>SHU&@#P;,#.!"/;>&-.CS,W& UA5TLXCQ!-I)V_=M<-B@Q'W_8 M3=C,EH[2FWE4UA"M2FQ4VW7B/"*9=2S6/K>X9CK"LN9+^'])GCSQ(0I\=]5A MG;'5@L54Z"A\;V^K=N(;^Y1&[A^O40!E2*[_F?DIG"R1H[#_#JH0N&)NL>>Y!>K#9ERGP]4Y1,FN8GJZQ]X^P.'P4:,>!ZQ8*R^='\ M'B]/L8B/"8]5;FR=,,(QRLJUZ2_6K;18R3L-,Q,E*HDADYG'$UB2/ MY$ ER)=SM/+&:I*BEJV+.6'QS%3K;!GZ+UFR+(-1^0JV9N=7Y7?[79)JEKW (_JN5]WQP^0T;F)XM]0%H&>:;[]N2^V[P112XSZYA!X-L?$ZDX8YZ6\U?>7 ME%((];H UA0+&[\3($TXS]$%V!0F+AEDVC2.FU*4P9A%Y>!HG_ %]MU3S_.+ M[G6CF,*6;25:WQ#U>N9SI,<*/L? @<"O/A#J;Y79!+%0;N'D:(+P6)!F\ =S@;1/$O\ M$N5R@,"0+@F9%6VG3T<$>O! VABD8P,,TJ43QRL_7, -$]&%@%RAB=GI9'*B M.6QOGT:'+7G)EM-^V:+)>6T:IOZ5'V3HQB__ZRP73S I^7$[M"/!APU][^?J M@T6A4?G)+U\V;;YL2"M>Q0+@9I";/DBN/]T@@^J^@8,1'S5?70EX=76&R!&^3M)2GFQPC= <8[K\8OF\:]_-K4I MO&N !\!GID"T-B@!TK;-H[*O;)*.8DI M( X[T1#F]*SAFB!Z"GW$>0I=?&44S4?%=[Z.GGZ0^0N%,C)@]5SPZ/FEX*W(9NG'O;.$%]1$[3-/9?X,X%[NB?H_8K MC=JC4 (WY1O>;\+VA)\ESI5G02 ME%+J@'>[(MC*?E-3!5C_?WO7UMLVCH7_2K!/NP_3B7-S PP62)JT"-!,LD[: MP3P-5)EQB,I4AI*SR?[Z)24[D:P;*?%R1/,E:&U9)+_S?20/>7BH*EPT9OJP MM")7.8I9V',_"U/\S&0AMS1WW)#D\)>LJ+UB69NOUF&A>YL"Q[)&5PQ6+K9K MAJ(@Y; F:9(QZ4=A.)8YVMOGI3Y5HG!"$@!]GAH*&4BE6.[R@,3G975EI;1% MB!:? 6=^O<:JV9WJ1 .4@?N#\MY0,A=*PZBC*'!TZS9_37]B"AB@2\1FPSD! MD,28P16$@$*ACM$04 @<,31N=:/@1/2G18MV(RP8_3E^*5YCTA[]6?P>G@%; MZK45_=G9#IA&5#]]A)+S6L.'QG:W216^/ Y&/^WS MTA'C2(YA[3'(S^"IR-?,>^I+, MQ[@#4^XM^+Z"5N97RO&]NTKBB\'KR#D4A9;:"E+?C)VW%(>(6_'!E)2BOA M5:9,9?KMXLA-C[LW?)WN3ZB^I9;R^YZ?2KTA*,4EP^#V(5KK&&)&BW9%';]9J6Y:3!]ZE M\P$_NO'[T;VLN346SQ _]<;&:)[KGHE8L(W([DOC-6AE=)2QAH8E>4BI5'DVK+[I5 _ZIE/EA?J< MJBI>"C&G:GZTXFR5/L84_P_-OS'ZT"W*)>>OY>UJKNTAB5:'%5I6_H0IWW+X MC?GLJQH !)6Q' ?0J_J&,E '4(]80A@WHR+8JM(KTHM(E"!&GKQZ@D;C#H"4,AWFH3'%8?"V.P9,_Z]ML+S #NITE5 M"#?7O%>A-#$X-)<.1C&V2:MYT)"T@$N3JDJXO3*#"L;:'[1)S'[MO 3;)0C4 M0M:G>&.4:.DGYVB!":D!IZR2WL"84]98 M,AC)..:4R0'N]!'\@9/R H86G+)JZ6 48YNTAIPR00MXIZP*816ZMG':R Q/ MLDI>;&9F="K,HLWGLGA8]W. :78\^2Q)5LL<&=F3NH<2)W5Y>7M9@7N%$OTI M7<=.Z8H-KSJA]$UO=X M:CF4T+3 '_:_;>ZPC_YJ.I)?^@X>+PQ-I[M1T'G"7=R M6+?^A:,$;M!K3$ MY$E!?^-=8X*7JV6C^4K?PS-@2[W*)NQNQYB-&+RT&['X_9B-V-D.1^92G6-* MYUU@?=<>Y"X9.ST^.CPXW8V16#.$BF9PSXC^B,?)W?7VV!?V8-ITBVGVY460 MHK?M(]5$[U<+>*K0PU*%!Y'\>)5UTV;XB5[ MA9@&=]?G0G7P;7*G7^!G/$=D/F-]BPE-U)6[930VWS@9J2(&$E6S9(2Q]\-( M,WC?XXB])L+IJVG)E$OVHC$K&@'T_3A3A6^&DY^?*>(W<2#&R=24:.K*]9(Q M(QEA[&%NUB@*J!:X5*JMO]%RR5AG@5XB[1(Q![K3YW4473BE:]Y6/+O$G[QHX+^V\MSA?F]*5F5A%FU8>:N!ZR-?2O\V&=&?R9F/J;3:K]P;D:G%>,BJ=DCY@6Y^.2>3/$#?#6X133T'F7"RB#?3*=3@]VBLN&$!TZ%S_-Z4NRF^#G MO@-7V]&^B;+]E>[EB5+._R[]7.'V](LQP*_YA MT'9%92 M-8:N2<"*<]""(K/F \(V556I@1>676&)&63HDL0.: N^9P5AO6]WA"5D#T51 M%#NRU->YG@IB+5"FENZ,?@ 7"P<;8JW.J993;#9C!BWC#EB;[@C2H$Y@JMOL M8N:[L(]=$[;E$"S5]?,2!RYQ%?;4$M/E\. ]+%8,7/W*G/C(.#'637A'-:[" MGAJ"T!Q6^'JACR='@"=OF2JD\X M#JN-%Z:\,(%8R2_K%O#-_G"P,%GD?5MKOF!%17CUF!G61*'7NB!Z("N)VF05 M]^SYY.:!M>(AILN A.@NC<.?WPA.MS/L=3WNV2?$OEXP:DC;-2 Q>RV36&-" M;N %NGG(&G*- H[+_(9DC;NE.$0SQ*^1>T;W\1<:KYXX!)68ZV$O\RP49J%B MD#47MG1PIMW]=!.AX?W\ZG1Y[%DJS4 A5K=&^RFBW MZ>>O5U&*GR*,Z.>87L11%- +1&+6PF!SJ4?F]E8O.GR_)4I MLX!E%.?@_($DL\>G( I7$9R,)7UX;W9!MH'W&W7+_E)MO[3BG+[W\:4_[B)TVI+\0R78[@!]#=\ MUW.=XJ&=-=NS*'LYFM?;EU\]3)*F'4JQ'Y?!G# P/WHJ-Z^S#@!UPU ]-Q*^ M=4"__5HTVE?6@/SC[4_7C:O8+8R73)II\IKP(*15$O!/\I+?8;M#"P[Q%1_\B!I#(N3?!*_WZ3!E:<]%47M;(G9Z;Y#4H)5%0P]/ S=]BQ6H7+M-$1SAP1;(:9,V] MC'"V"LP:TLJ$UM^XQ ?YAKH2L<I*U18]'.%EH?#&H75*]1^!@0' ;1':+/ M.$3U WS;H_#LV6F+\H*C5,-@FO$R0F%*A:!Z>OF5*#@ MFE+=3^%Q0M^0W!<.%R._-]<3YVAP%#=#8@.9FG\ CT)]#5WEC&2K-0P=UIDR M0\^(K!KO(]]\[3(+6MNH.:77B1VK?Z%QDMS2^ $W[5@4GG#9]EW-5#0X #/_ M>@\UN8_/PK]7F"*&P!.BZ>MM%)#TC&0;JT_\D09VB+_ 9?(,1,'%A$-G28(: M)QGYERXSHJ6%6L_ '!D.!>">&IK_9Q505I_H]3,F 0EQ$%T$:2 7%C"M"PO( M7[_W]OZ]MP+V> GC"1)HPJE L<[( :EWC&8*>0@@@JZ/>;HGCH?EZ#2+]WM; MGRNZ8.2NQC4Z"%;\?I1>$=9CHZ^LTDVN?O$9]^S5W3Q'KA&_#"AALY7D%M$L M,K%C(&EZW#T&2+54PR0< AG.@P2'DHPH_08<+:2LVDV*[L:ZN-I7BX(,/<#3 MHMNN@MPP-ZFSOARTW?X+'*WX,5&Y[F/K5^"9,I D(LW5L$D)K@M9XR!'$O#D M$+&N,$=VJ"OY$F!R0S9Q.%EL'5UE3;LBR8KRTU\S%,:LUJ]-SJ3X&\"Q:+BS M.;#Q&A896]85?_LU-^!ZB>W?_P=02P,$% @ 1()94L6&2"R]:9>BRM8N^OW^"N\Z]YR]]Q@O M532*6GOO=08J*G:HB-T7!D* 2"N-BK_^@EUJIFF:IF:&F=98JTHE@)AS/K.+ M9L9__N_"-!(SX'J:;?WW']@O]!\)8$FVK%GJ?__!=XI(YA__]^__)Q']6?V5 M2/SG_T60A-;/M6L)V98"$UA^0G*!Z ,Y,=?\\9]$QW8MJAI'(N9JL M@LTMV5_DKW0:(WXET62*2"#(W_N/S8E>]!3;^K-IC?W"GC?);UX5-\)_XZG? M.(ICB>P?C/R#88EF_7G[]8-JVL@5W7!+Z)_HR>BN'^2+EZQOXH [TR20J-BC M!%/XDT@J\DB6Y0PBIS(DDDS).)+!E0PBR=$54L3($9;>>U+TSW_&?L3=B,.6 M]R?P$%44G?_^-?9]Y\_OWXKHC7[9KOI[11S;-E]XVD'K.;%MB_WNUVN<- :FB&B6YXN6]'17]$S9 MW]VX_XK4[_7%;5-MX2,>D Y>$GW_I=JSWYH5=0?$?/OMNZ+E*;9KBG[$Z^A! M6 I!,WMT*=KBX!F2;4;-?2_T?&!Z@2?&OZSX@>%/=WFN_Y)YT8]'&/?L^7LT M8<1>3[?-7:"\RF;R=W1UGU?:"8D\YZT,M$/&;KD573C6;<].XECZU O6+38W M'),VELUF?R]BW.TZ_0)&!TWCJT\(N@! $2J.]_@M2. (3AZ@4#N*0G*-0NVO MO_\S!J+\]W],X(L)R;;\R/3\]R\?+/S?:WKCFQ$P#;39?__:7$?\T(EZ^OOO M__B:;X"___-[^^_Z62-;#O_^CZS-$IX?&N"_?YFBJVH6XMO.'P)U_']';_T= M73YH(VN>8XCA'\NV0-Q 6_R)GP;<]4=-EH&U^A@U*+JB%-.<""S-;\= XZ,/ M A>Q4!9=6>"Y@I 5S69]H8=INLI@ J8F4R6A-H]8X_VQ-",BT0TB&E84+=;/ MH#R!500,%PA,B'$D>"221_F174&1Y,A8%@1^E$:C1UBB&75X8V+^Y&W3U/S8 M9'N4)>>C!T9F/C+W&O#^2FCR?_\JK_HNJ+T>AC:325,WM;$25H2!*3=:,2L. MB?I,(K<)GJR:$T*%1XLR$F3:N:%!K+BXE, 7\\]Q>3-,^J7$LO]95J1J.^ MELBS)=F,K%+D7X',^;:D=T4C?NX><>Y<1B>==#M%ETQ"3XV*/2-)J'( M&R%>6%6&2 H%8!!FEL-4M%TBV:FE+('?$10Y80-%\KP#BF,H#7AMX@1$CN.C:)@?\R'BM MH-V+0JVH?72!"ORQ[6K^H,Z7IQ0(N!V79#K(T#HQ)&F-;W$UK,.7L5MAZ:3>;T@5 M:K;G'1BM7-@0_< %K/+T!.0*N MT..*Q;107ZHZ/EH:YA29!:88=40&DF:*1N3MT2VGHV?]X8"A,)8722QR[P4@ M!Q&E(P-0IAU8?A.XT7^>;<4?;$.3P@,^TIKG!4W'1/3I,#V;EUBMDJM&+H-( MH=&?U[C9B/('5Y-.(29BS1YBHF_-66.2I[2&Q^<+E4%:L[%4EG^A5VTP U8 MFJL71HRA%T[$H0@3[2B&T:R(C1$=JX@DHI4=&9JZ>NFA!EFS9JZA$22*]]%R M<;KT6RX;:5",\BU%&PK.A8<0I)Q%RPG@^ M29-I%$_;4F[U>C;PXQ NSO$.Z$6A]57PWH_:$ M'[P:M3,ND^>[(D_RY#"O\,RLGIO.3U%["5BC_$1HBY'.KA0V_E:/P&<&YD9# MMUI?C'[U04V; 9FQHMZJ*\7S/.!'^E\7)[:;-T3/VZE]/O!\.^I.&QBK]WMC MS?$:MA4%/P[P :6Z &Q#H(X;Q:8QG[S-2_MAAFL#25J@)2G-VFC25,?%%S;W M]2[Q'E "HZ8IAVZY59OU)ID>G:+9?IDD:IUNLCZ-&-K$!A=J"PS&=.S&WU=\ M8U-S!LRP?)D/'$]L(;GYDK-;%YM3)NI1Q#?_@(E9D,G@#H?J>JCD6TXP;Y95 M)3.YP/(BMF^47- MBW X *)+6W)!],&NSQ.&Z"I$:$WX_,)2LC6CJ @3->)XU&<$P7"$P#ZUPX7- M6.!3CXO1+]ZNO\-48ZR%8G:$DJ:)#ET1KY'"7$C&_8U?\86=C511L^7#[B9' M:K[!$^T".LUG*O8DW\?L-B6DXNX67S-GM^DL%?547O76$-5=!]WQN)WOB(C. M(VY3B6QFJ)GN7"#C#BJ1+7HM0#G6QPO3--8!,6V66HMC\)HFCC0CUK(U=",C M[J]<$*M$GB0R@5K$:=O38F;0"Q]87FP,:YIW:/]T!&.G^'B H+W*TAZX=KLT MGT?Q^'DOO9CHLQ/OFQ MI/ ^29!Z5>\UTR.OE#>M89VZ.=$?E?2%U.9[Q5+' M\Q MBJ,ZC3-!NZ%F2QU$5V/'?^M0\,G>HL>'94:#I95,T3F YG,1K0,-#[--=3^( M0U+[04XIRA:C ,=V92!34:BS"N-LBXE";2_"P6:2R(OS2\L[#(AKHPQ!9#MM MABXI0Y6L"B/:<"(N$#@*7S"W#N+$"+^% +R(Y(IL<]K#B$9/[X4]9MFWD_T% M%\?VR=3+2.[WX2CX*B>+XFS@_?V?>+;AC[>:2(CH2JQF'_[$8_3__3!J3/;]X^S@-J M;*767^7H90O'T"3-7WH/8_OX^^Z>]M%W<=^GV, M>F<5@.TZ[XNN'\>Z?V]GR%!L]YS=M1T;Y:>FFZCW\,KV^_8EOP\0<1H@Z#Y" MT!U"0E\C=%UPT5VYU')GZ7A1>V-A9+9^6--HD2<,^4CMO"TLWR_9'-$+V=*"IW36;]N,47"0\K+UD.R<+M$0L"S0DSDU7"P ME+*S1ANS&+Y4&+AMCEHZQ%1]X. M',1FG4#P[*?B8&W9GT!PN=B!Y\XJ[AK$(UBVZ=C6:IYJ/[=J S_*NH%,BVX\4[N= MM\J5A9;N][J,CI0S@Z0H,KX MCLL ]GCEU=#S/.!UXN4D@1NNM'N#NDQ54M1@66^AK)3%YZQ,,6096DMUIG2/ M$/K-1?N*35E8C&M69\)$+_&59E,=SSUZ!FV"\=#=UP5,R?)J(%XTFJ(F,U9> M=#1?-#9R;O$5>4G6AC6]5'+9SJ!K%[)5:,/,,^5\DN2[$_=M(Q!>%_'NO(@. M4+.O9CLUO"?,:>@ \$7! UR0$#XU)'VZX!5MMP'FE"3%*W3B)8*N;44?I$>.M!9',1(CMEF.!D3: &B>1Z:UI))GY9(\>T2L[XQ8WR6A M/>MXCHANIA('@S37LI)8]@H!+7!YMB_/G;(.BNF\W6GG-;=][R'/IP6T6/8V M#O#=HGTEH,U.:H'&-C&'KA9(5\"Z:M]B[EVZGQG00B/@TP%MSG2%HD=T4JA6 MD?++8<.;CHA[3TN_(*"]F;@S5S#5RYY6HTH3,$+SYG)N8;U:;=2'+FB%UE1G M(!'M*Z:Z6N5FP$UE$=ZLC1OYOI;V%AGHHD.8334L CYMJD-EGE:)=)75D<* M;]3DNJTY"( M]A53G2YK/D9@2H[3UJ:8:%@&?-M6EI-;Q"61D\M-"TYB0 M'+[LEQZF^@O%?>X*)"I>8]<)G:$GWBZZ M*D&TVD5I>:OWKC>1;I;%+H',6S)P]QX2+PWP]>/% MI7B7>L$V#-'UB-0O%.O82?Q7"MWTIS'UJAKKUO)T:6AIPM)-3\4DM$'_ =_7 M:R/.9/P5IK*O+[$-!>\3V:W6^'SQ\N=OJ7#86GJQ$+<*Y[0S0\X8EP.41+WN MC&_;$P6!UKG_/(5[*;*'PMV1PF&_\&<>SA[A@RYJ:GD45].##"6*S1;Y4#AX M%.Z%R!X*=W<*A^UYN*%F+WKVQ-)I$*0+ZB&5OM@7R^V2+1\)?ST,L9I%+BSJ0DWV%9'E&OWU]BT>V M"$?H_:E;>^Y4:8X$X(6V4QIGRER3-K$:D>,&*7HX@G;F^.)2>)?)/NE<"4:AMB+92A30%^H-+<-/UX*,U%24C02'4EKC?,T.2\YV9[ M%7G 9:!-0GZLTMPH ;J]TNQM5+E<:3*T-E9R]9+&FU.;&='YOA2&/RD<^MCR MN:MM2GGKE)J/2]JN](:R+1(=NEJ9HU6^;=3*TD_RX1\XHQG-8?$:) M/M:TM%'@,984$S0#<8-X?>=&^O28&2?I,N>CO5RED!UK*7800*OG+^LXG2;O MO@SW*3&N5P@_)Q/?[D3JM$OD>%P-Z; 0 NV(STLIGJ3N/H28>K&> M_;VJ.$Z[WMA-LP[:\_/9OI[1\,"'-BZ$0Q6Q-(*F;B!%_%)-=(L*'@:R6M1[ M1"4?I"9!&RW>D3W] DV,U/!*,GSKL+J/!TOU-$7UAM5ZFIXN4Y6JF+:,RH\: M)?QHL)0Y/UC*W"98.ADTMX'G1SFAOSF!+.+2LU_B4PV\-L=O\8 6;%!>)E6Z M5PPY.=_JT+W>/>'AG01_WW3IO9(72#<]&:#M)%H%G:").&AI,H0VY()+\E^> M/EWN*-X+DTROQ"*.XU \TE[4O-DP+RA=:(,ZB&'R%8[CW.4MN<#3+.!YE!1% M3^OCA': Z=!YQI*#F&6BD;-0_%MK-&E$*U0+1=TK3K, MMI=Y7'>;T)J2T]AX0=WW!$#RJ@"P4#4<*M7FF.?"B<,$OILLE* =J84( ,DO M7V1V[CG"FV.O3Q]R'9]5%KO?CF9&35B%BW[UE/4A9-R6O!V0I,CRQIW UHH@ MH&)URF.L..*Y0:4[1D*:5N$+7.-*E7N3=O'7 XZ]-;D8GTDFOP[.Z_(Y8MYM M'OQ+MN/G_/TDOO_\ONV;=GS=8R!D(ZVGU4I6 S2%?I#8/<']#<)^; MC!7 R&=626K5Z=W YD#EF:[$?ML8Q8Q97TZ8%&45@?];IS-:)@1F5I; M9^E2+5_I3]A909Y!FY^]I'<=F9]/\/=,V2X\H'C:T4O],)XX\RE+CN?3 MG)@-N7 WCOA4AE"T/,=V_;7:;5MN5V8TT&IGGNTMT2J@AOVPZ,QZJ6\7IY\Q M1_DV1_<+'IY@Z0.P'P1L793&44[OAOOMMA/?>+*XU*M!$:U.1+M651C9A:]^ M)F1P/<'0!U@_"-9BX%J:'[CQ5'=16\2?MM5 R;DCD$)^0:'3C#+AF=FR T3H M9FTAP^KK_'Q ]4*HQ@%FO+(]\($;->D SACVP+/;:MN$:8QJQ5$WE1#4LC, M6PN_#5UD"0E>XR#V#*8^0/L!T.8"+6*=I49-:D#TP-@V9,9T7'NV/LAG\]BD M2PL=C&G6]9Z6'1H+2U_DF;L8$_LBW)['UY\.W:-#O-=+O.IU:8YV.PI*LUZY M7>\T.K6%>A?6]CTCN8_$ZXX >RKQ&O"C05N:] LT\-%N:5ID^LW)721>7PC7 M1^)U.[">2+SF0HT)^D+!X4U4&HPJ/7.2NX^ X NQ^DB\K@[5GWOZ=4RJ4RC%M"B76C19*B$H2HYY686NDP*[GSG<[<=7RDGP18+GJ[W MBQ1:-7TK-Y9GY +>ND P9@[0BKTF6ILE'L)D,&;<9 \MT%4Z&/:J6&XZ'$/G M92Z2\A.5/T*H)U*VT1!/5\K93(A6I^4T)_23'9K]'D+^G,0*6J'O[\EAK.A. M-:)_*_;RA)E293\]X//%=E4=$&F,;'\/"WZ*[F\M^'.S7G78*S-)6%4OQGYH^%FM!!N\2,0/'BQ$]-<:[D+.[;Z']-EO>IU=ZN ME[B9LUX:F]1Q%^U51[4VFW^>]CPST[<(!/ZR<1M,:'$@M"0]^R_]+$#2+QGYFX98%*-O%* MT::KK%+FIV1FN.SD=F'XF>IJ[H8,V MX@V:XEYUPBQ::Z2U8(!%T;NQG*/9?K?6@BYMC^=YCY/Y9.I/TOFMIF'?JECW M85 @6(;EEGC.1<41EL]Z\VEFZ#] <2XHH*Q/]V%0#&9#T@Y3F3G-YBS/:0DI MP= >H#@;%%];C0Z/4'"JNN7'][*7!B@H.U29UO/C$LY62%&G<6@C27CWLJ]- M HY^JO5X=9: L23;!!UQL3D\Q0\/3$8ANNCYFI2W \MWMU"@Z[S/4$N4X,T> MVQ^VM79V.8<6"L=)?#(71VF\CQ'_73&Y,\7)^7&=CBABMB71J 2NYLF:M.<# MFEAO66GW%QJ*M'E/[YJY8&2[I"="J[*ON>7SB/T>V7P0AZ=.Y/3#@T,D\H'G1[AV MGRT#KVG^I@A3;,Z"PXB^&44$4?CRU.;YS;;G1=&R'[4!EJ0!+Q>],QX;9Y6G MG\-GC]S5?RH%HALQ FRA-FJP;"MIBCUZ2E6S&)'"NXT.=-,'ZPSA)9,W X<' M7'X54&<#^IAXG@S5*_*YPFO/%NQ^9UZ3[+<:/7DUU/UX"C012ZA?<,LZ&M*% MG-F8(&W,@#;NA2L%NNFREVWN>T+4>P4,3T@XW:A9599)IFFD4!'[+J:W61G: M..F8A/?J^GVV8)]GMI\KV!KP(Y,?V;\5O1MY5C/%JN$X8HN?SN83*TOFQSGN MKJ*CG<4_0MYW$N.JP#EPS9HM;J.8;BJ5QS.5FLJ+(T$<&5HIE\O?G;D]).IN M1'9NG9@F3]2[A7&(\-,0JZ!J)^P(&>@T[.*"+I!XNJ?, MU/+= 704Z4-#=7 M3SUAB^=T*S7VJ]A9N/B?K MAH$LAIX?R*)7'MS_H,RWITD*R1)'MP9$6\_+F)SIFQ85#J$-;MZ4^0U.D?P^ M,B>W 6W( %V=Y@'-B=QXN.C.LS9SOWI./F2^E?GZ1)@58[R8,QU[S[P3Z5!I M.@7.XDMJLK^8=2=(,$Q!CR*E"ETL>PW4DE8AW9/+_YXA4D?'W(]R=VUT7J-O=]J?!4*(-,& MD.(3)U\ >6Q+[I+T,R$:Z .0#!=+KZ4]@/Q.(+_&WN\,Y$N66=[0(F>&2V2@ MXLH0G28Y"L>U;CB$LR YS$#^;(L,Q=+0+P'RJQ:Y-).ILCK.H3QI^'S*Z@=> MW7P &7*+# 60+UCC?$.+3#:'PV8WU4O29!4OC+(M@L.451<[NB$8!"=43Z/J7M[X%_GZLK4XJJF^-&)D%KIATSNP*%#DS9<#Y4V+X@\*O.>">@G-JYDA/RNE!R0! M;00%L47Y$J"\6-TG TVH 54TZ%6W=SCHB88.W,ZB;*^*;$0\D7Y1ELSX7F]L M&T;(SBT@<\'(TV1-=+5=:LE55;N0HULL"OKU$:*CK#!>0I=:1E3_>4;U&@P7 MDGVSN>=;UPB]@N= M&!:'(PG57J:1C'=3TV%.;S;PB'S') )^TWKGQ5R.;,< MH 64\XJYP8QJ$&@..O6&U/I_:N'7*VAVB!>-(J[-NCI)H?6Z49YD4O1#LR&L M&'8%S38[S;K4]_LDSV5K1, H(X*!M\HKM)I],V%GKJG90^!C>2%T9;U4;BVD M3(DHDLA#L]\M[,QG;AP_Y[#F8O2K#VK:#,B,%?5%U48&H#P/^%XNK(L3V\T; MHG/V1S2_@YD'M<0/N/F= M!Z0^%::L*P.7=9NN+:_+O>9$23?L[.U'W4V&O!J'EY.L-D@_9QC WUAFK7+\+ MV(M7/6_W ?N;K[VZ1M)G= Y8W4JZ4* M?-WIS5F=FS53Y5*0[#3A*QS]2)"^'DBG$J"9E\\C3(-LTD&]HY?:Z5:I#>^A MLH\TY9(9R*MXJG$FE4M18WM)SM!R?Y#Y7N+_/&\#/1A.>8PT@2VU(L;Y>G["T\UFFAF/9>CF*>[! M8WSJRH2K. '9(UN$%JD$3QJMT;Q?&9#]\'M9@<]Q I^P.N$&3F!>Z.0MUS$& M*#NNBVK8((>1*+^5^+_""4 *AE-.H.KS\H@R^B+/YEKE9%4<#K+9AQ. $@;' M]PO6-'&T*DW\;/!U6\;!1LQ?IZ7LR-B44M\BH,FTDWR6G 9ZGA&7XJP' M"GH*NIG?(]OH7A*^/=OR/,KO-P*XGO!;3:GC91:MFEXMY (!8U#&A?=<$^B% M_PG+UZXH_,QXH--2B/GT-*NF.J*_X)/$0_CP+V>[ 19<*ENHS*9502?3Y>)H MA@RG=07>. !.+'SYR.&Y&]FN"!RZ [3IO%=OHDC:8S,V-:0'@T?X<&<;V\ZU M.-1<=.6#4[3;P(N7B?M YGQ;TBE+?O8+'X7L7IOCM\//.8PGVGW+I]G0!R:= M7 YZ+K2IYP&]:WR\D^!O95]>S4<.<;']=>_$)&XLNKO1IT&OE#6)4,=US4L9 M673,EQSJ7C"P_?D5XNXKJ[BJ:I?GG4B92_J2%MMJ2;6<&LH;T,:3<*GV%XN: M-AW##D%\VF?#ML#FVXIFUMD[& ]-#;BIG&&:-#X7,YA']=/U&K3>_HB(SR04 M=M&^4O/^2=1UO(G7\K4YQ[/"J*J!$B-BULU-[/M]V'N*QE\YU$GO<>ZIAKQ# MI7/I$>;64#P0QL,)F"W*)0@9AZ;/9MQ!!?8K,"ZYQSARQ[ALH]=+F=PX3X,% MUDX9K5X']V^>05[ N.3YC".OR[C]X)K8J>JPU/+HTB#7TA&V;$W'.4-$21@9 M=WZXB1*W4-5U.KM1U>B+1GI-G9K.!-0D%EDLI^OZ]/:IYP7IW)FJ&C>]B:JN M&4?N&#?B1@S'=X8LS0?A;QZH7<"X,U4U;GH355TSCMB-G_2IY&)4 M*E <&U5/;1V>:-WE(U682;&7@Z,[:M>?K+0[Z Y[>CEW-ST7F^G^WC M19?QUQ]Y6='E]K.*R]O&92"KT:\%X&FJM=*7@V"'76C("#RS&U+.4%F 5:'7BE,"?'7+V0N*OJL39;[]&*6G\ M!IVYL)1T^\PZTF=WZ3@\GWIQ 3YA'X+[+-.T)[>&RP8SIJ*=)[I455Y4N^@V3ZO:\7JO >:PU8*WKG< MX\0^"?X-:N].R&^5=I#XF6L83IM&\WIWX9%H)9.#[R2$BZLL0"F6O0&/ ACY M3U;E62([LXU99'7R+I UORA*J\5*&[D5] Q= RI:T7L4[69=AR':%6BU[B69 M^TGL"3IO(]A/V*9Q1+"K\\:!:]9L<6L[TSTFU/MS64#S)!#7HM.^4 M%%='C1\0=35DK)*I5]JIN:H]6155#3K9GK*7>E ME+$XSR?XEJ+&LC<,>;:%4"EI&FB>MDM4/E*Y_PR3'BN)UQ1#<61LTYO:'-2M;'>SA< M4?)MMV&[_C@ONK:A6>*'P,\3_G&R/ZAB4$KHH38?])3;JIF9Y+_S\K%/4V+6 C H<=))*8@WIR*&-DF_2,P*"W$,7=1[,R4^(H6' M$C^4&$XE/MV7G.BM_MT\1>!'4Z*)E5P^-#P:#25>R38>BOU]%/LT_8=H>"C[ M%92]".)R#48QL&1O3]$@T7=S/$>'G"IS:%!J#CBO7FC+/TC?CPOGH?(_2^7S M]BP>78\7OVGV@0X=7%DM]^C,[:\+NXMMTF)'>F; 5Y%1=H"VQ]Y,@%9;7[#U M"8HG^/K-E.\12$.L:.]RE?0@Y9=P1>G16M;/+(V!B*A5Z,9*'\KW\'PW4LBQ M"VX?O;[J^_JI;++1'?& #D9JM9 *N%8#OJF*R]3OB;/?3 $?W@]J97N7_U/8 M19;*J$.;GRI$ Z]K7C%/?9/@\]LJX,,#7E$IX]'!+_-_65%/+4=E+:,#@(A$ M4^@,YDWHUGIU= MSD_"_7+?P&T:Y2A\)N$E(I>&[U"^A_H]O-\[ZKHQEN9KHD$Y,R>=7!M./WV M_2^.2-@>3O>B[>991$LV%Y+?'O&(X@_[>;G-5''H 'RL0,,^2S]N==^2Q=H* MOQ3&3=[\\C"(-\3XK:S^J]M@SJO0&/ULVM:JXOYVM*V7 S[=Z^MZ?F*HTI!: MHCY\,<]6U&<69WQ!YC4Q\*E%2BX5JXAX-9]NIN*E8*8:EA?QL#^Z^?/)GB37]F0?^0ENK%NWEP@6S7';U:J>#UQ;5^:2"0FL9 M?FA)5]BCC7L >CDE+2?3-IK4>UG?:"J@KK1[T-K*!] ABK_20EO-IJ=Z=NKK MB#Z>9.GV%$T-83A@ZM[\&79K-5?ZU6(*+)&!#KI!VLYW0&DD?&LUQWZ8FM^' M/[LYT%&L6*DG_8&)]KHYJJZUEH/"$+I!Q@?0X?-G-ZU/5]0LS0!WPOXK8XL=VG,\NW]W1<408-T=S592R70[X.A/R4QI-UI*3U*J)% M0#NX"%/9NG>P_PGBS_E_7W8;.CBSK@Q&N[L4 NKU)AM MT"3A]Z=I;23SF0>X;P7NT])X0/U#4-].H;6!L9H]\\::LS7BV67#9_E>CN-% MUS4F Z3?Y@"T(TMWC_,3HK@/D.].*#X+XMM2G(PEW2("&>:E!N:;]0*J-=HM M/3,N2R/Y3L'[@E7?/2N];;L=WNM &HM67$>9 ^Y,DW8NGQZF MZD3.MG&]*KE*L\'51PSZV6!\ M*NK]#(S2U*[:-3-(ZF(25-WE5'=5XP'&=X+Q-?9^1S"N#JC<=)PV-%-;GY&X MP1/N4^4J8]>S_'0ZRHRJV1S0..A"Q7/P=)+.^Q(LEOUBEY>Q\:DUG4LU-)_, MU;JZ**5*)'0!&>Q6YG-=W@T/POM:ES<*S&K?S[12NJG-\UK9XD7"\;3+RP[F>%?'J I*YG,65RAU]'GQ+O'T!2[O>H*]8&.7N#BRL8N*^BUK M1A#OJ./BZ?O9",0 9RT;7->$%QX*]>QBJTZ%KQB79-X')CT06Y\/@# MGNR2Z1AV".*#A!NV!3;?5LN066Z*&UI4 8L#V7YD+)DSE>6 MS&WWUPO[01CPMNG%3F'V?Y,G@>?'GYZKS^Z"5[3=!IA3DF0'5IS_-%W;BCY* MX"D%W-VU:Q0E-?'A!++'.U$$#"*B28S8O(,8(+)7F3>G>FF8R2IJ'TL3(9PJ M<!EW4V:? #.S<7(/FRN MLOX8;(L.,5_CJ*=$NBKWL1D) MH:3((SP5?U()>SIQ:5_F$85 &&G41809E,;EN"!7Q3..DO:]Q'>PX&Y-Y^XD M>F'.=;$P*(ES.D_0J=(D.TF3Q3O2QEB(IPB\+U%N4M3+C:MFA42VT.\X*!LV ML\BLF1,8]8[$^77&]<9#L>\UKNU%ATSU<9)$6=PM%6@_%R#-.Q+D9QO7KQ+? M2>/*M?L(*HB-)HU;>2'#UD4*Q>[,0WZ^<;UA'1AD(/;'06WDTB8AT4ELXG,> M<7.!O(_ZJY5+.;=2(36/DI@71=J:P%5LUXS7Y:^&!;:8SD_!,,CT51GE"J7% M+*CFEDEX-P@?T+;G7HX3]Z.&]RX3O]5O*#UU.![RIC@638Y=*&S[(7Z8!ZSP MXQ.'<.V$>K&#I-FKY8L9ITCIW*+$H(VNB>0\Z-;6?)OM3[?<7/)L!"L"^)=- M"]Z%+KRQ;<6J+?P!'[8&=+AL!/U:.^WX[D,S[G]'RT-/KK=7IM0AF_U!(!,T M+H!TII'T>Z#_4)([WT8#CX8D]Q0$JIVWN32AIKU\9WH,.TF^$/T4*&3+=#HGI6KV%Z'DC7P/\ MRV*%+P,%:X'70%%:DG.QG*U/="2G@=[$]3_*/EWBV@1.XTECT0!0NJ*YHXBB:WDB_+/M*O82A"QJ(CC$< MRF(])4(G_=TTP!Y]&\&_0> M5Y.@F:M/^;TZ?G/>@0F4+*^$RC3KNI,Y MJOHTTO!M3U8:2C<%K5F &2I0! VOS21? RH$-Q8D95BM\/BRG9WV&A.F"N_A MA5!#!9YM$I 0G/S);ET MW.6PT7Q8B^_A1 Y7KKUGJVC0T?KN+#4!NJ@,.-:O(6ZV ET1@E=6L4&P!1.N M,UAKMN?E[=6>/&!)&O!R84/T Q>PRM//X0N0U($M[?JCBI4NJ5REF:=!-S.C^IZB5[O?6?P[TG^8 M^%VOIHDCS7C:8M7JD;E.U+T,*LYQMB4MDK4^?+MS/BCZ%V3_,+$?6+ZQ"[9Z MSZ;F#)AA^3(?.)[80G+S)0=?M;QKFOTGXG\"!+:WE( %7-%XKOO.4*X/>OG4 MD.YAKC?VM$8>P#N*]![Q;^\Y3OA/$'VL_3W;U2/;%V?0$3/WRQIVC/JL,6G6 M$#WOZ[2Z9#*91AO:U.^]BO\JW3]%\%3@V\^57>V4TJ8S[!JHV:D7"T.J44D. MOHW(CU!\=\(^M]38]1P W^#D46E2#/C0Y["V,\CS4QFZV>O;%PO[P:[E!J [ MF6\(%-85:!8':*G6[]BC4A_!\M#%''!![EME,C<"W#&7ARSPH85R_1S/2@O: MG.%C+)6#+KV!#VMWZ$S/*1#]>O69T/.!R<0O-];+H1FK >9&N-MG!N2B*,7L M>"IK8I;+^5:M*.%ZJ>:Y5(!6NAGX-J"^49OF L*_U6S*AV"SM^VP#>(%LI0E M1Q\,<5TR<=-\.\(^S W':]HM URS9HO;]'LV*TZR=4MNZN1HT;(T)JF2*'2.:>L^ M7M*TV)W")'*#HV"41O3H16!T8 M:MH2'@(_(7 L>[; GYI^@2,XJR!A)9GQ%1D89300RMJX0-JI!9RGB,!1D! B M@W_V>2.:=:PJ_+O*2J6)K%T>Y!9]/>^,1#?PFFJF+[F?)TFK.'4-JG&Q\:\ #>^Y8;O@4LE2WD@)C! M5)ZE$:G47V#500.Z)/DA_K/LSGHO^6;C^+-J%7$IL/H0ODTL:RORG+"]HA O*?M1@G^Q^OS5,QDW(6$4(TZ M#O3<>'UN:+* M59L\FRLV%I5I1G8#:"W &6DC,3$NF MXU,KHY^MF ,;J.04DS5M1>SK5C('"^8VF ^7X- MR T47*%;=!A]@J*]8KU0E:K65(%OF.T=/N0HF3\*$B>L0CTP?*THFIH1KN:A MO+50=GN9NEG-+U<&)8(/:RD$YP9=O56[*S?Q!H4_#@BOS\0":2Q:1XZ#[XD6 M+653P82O#KO9Q6C9G#CPG=/PQJSK*\3]./&_8@>>R@)'/(S>Z(?/(@3>6DJZ M5=7&:(\:S>0IOUP ]ZX,P5LD/J"PAD(9B(8_ED0W/K'5MY^/2"UG-FOS+*BC MVF+JM9<"[133=Q4JGB;P 8,U#$KV#+BK/.H9 #@%<(&9XN?\=+DL*GZVIK@U MZ +$4P!XC;0?)?KS\P0Z^A"O;]PE5R^3AFXIA_-5GIKP[*R-Z46UX'-9Z+S# M.Y*&MVG^46 Y&3C21F1&W2.!(\>7_.ZP6'=1,M-)_Q4W0$=_V-\49><)"2G2QAB+$LE5PE\MZ08'.$ISR#L\H^LZ"/EJT]YTS ME&BCT_>5DD^B)@H0RE]R<@Y J>20S%!"41_KS;)I[YRA].@LD/!1LH_V.A6! M]S!DTL6@RPI@G:'\'I X9X;24P6]DED,35H<6^-%">#IM W=6-)=S5!""9XK MS%!VV@H7YNO%D.=J"-]F$!5AIM"9%(AG*.\-&"=G*"6J@F<7Z@7#PD,Y100N(#,Y0@ MZ"US\U+!YKD")Y,%CFF4RW?E)KYHAA):(+Q_AM)4'#7,1/JEY\."2[GT4I8J MT%D$N&8HH17_I3.4AE%NB1D^$Z)55'?D*2*A/3CW7\ V0WEO4'ACAI+!&D%# MYHD6:F:R1.@0\\4&VG:U%UK277GD_)]68+/ MGJ&$4O17G:',I]Q>NM?MDWRIZ9!+K%MVS25TF+B+&4HHP7+9#.6P*Z %00WS M_%24\11G4&#<@C)Y@&>&$EKQGSE#6>Q8C1S5IU7>G-:J%FG4_&D:.DL P0PE M%()^?I#+!3.4VVN,I<59->7$7%J]I+GJ5CXP@[APTPS0BA+I4L<5K;V#FG>G M*XN&%+<#,F_)\:&_,V %H!1H\,YHNE"@FU?//_HZ'?CH#',Y M-9^FF>$D3+/^EUB/"F6YU@!NE3LEBOS[EF[?YA:G5Q5^/6ZY#OI MD.@L-(,.1S6W431Z2P.%SEE=?5WC0X'N1H'>6H#W]3K4*8V\H%9J:#Q9,942 MH 88@_2"4S+JBE702TJSJDBT/6@Y4&K0%1=0 M/I0'/N6Y=/'GUZO0Q.)2&D8Z4]1<:/.4+,RZW?MR0A MC89J0Y9G:!/5JRFDQC7;E>8,0#G7A\=>K3V>>5NMIJU7G M1:4^*@WK';1GW=7BMG;@ZE3M#5&W>5\IR[DOJA)G"I MR==CO\P9]:(\MSI\J8R//*,NJ0,>.F_Q@.5-8?E\%XH,-*$&5-&@5U3L3'=/ M-'3@=A9E>S5'YC&6](NR9,;W>F/;,$)V;@&9"T:>)FNB^W0\=E^FB5G-FY$H M"+%)D6[(*0.^:#ZB^L\SJM?6]4*R;P89"/:SO"BM>&W(C&U:PQ?C,(OB)N<5 MVC4JG8=O\=.]0 :&(HT7GYM:LSTO'STWXB.PI(A7N; A^H$+6.7IY_# (7+1 M53_,V9:\>98VYA";*Y=*-$BE,3[)S-3J CH+=/O35,_GY9/3?,[,GPY2\=@9 MJ]< J9)O: [/%;KZ%&U+>#6S;.DFE'G(;4]>?8#TRB!UQIDA,ACD!CIK\E** M* ?($+YU^A<#Z[Y%BD(;3T>6E0(RW"P"P>2I!V:W*U"R3:*G0*K['NV-X(7*OHF YD#EF:[IYV:DT])%8$NDWQI M/DK)BT6YD)I""\W7 IOS";XF+K2H)Q'DCOBV[97K6[=8O#$7\O8LWN;MM^/6 M.\&_N++R"IVY_P%I:.^",IC=^=5/PQF!FM:?-NI A[PO+%,-D;#$7Q'!UP&YB<^/> , M+YQ9ZVI@-M(E :DR=9KO535)T0I#,/>@&X*_",P[+CV@#"^4BW;P?'WKQ5@6 MYN-4#W3% ,7S[48?:77%+GS321=A^8E-#S!?&\SH\>46H\'22J;H'$#SN4[8 M&6AXF&W>?-SN@M$Q%+95!T^*[&JSU?J?)[BU-4\_4&DF+HP O!CK@)N+SE:7 M1R@5@MZD@Y(\EFX24[5A$A"/FKY.Z9-R'2?U6VG59L@!$XAXR ''KH*%[>4R MD-7(-!6 IZF6^&*]7 3'F;UD^OHZ..VJ8FQ1>V\5.JGBFS:,DA=5%O M,"6+3+.L#ETL?U.8G?WVX^Q_>N\%_+_-L J.(1B&$%<85MF-H%W3M-T0SLWI MHH6Y'D?0;$.@B8[=5-G,XHR M'=5;"$5!9VBV^=2[A?24BETD)1ASM+-?_1P8;_'B$!FPF\!/4V1.6]2C]XYK M3(YMWUQYMQ?HP+5EVS#$[: *STRY82E5&NFE8JLS6&("Q?:A"W!OIJA'I/#- ME'-[Y;GD'XJXN3,>!H9 $?U>>="8TM%_57LXDP2COQPV?HXB'I'"0Q$?B@A) M.%L;:&4TYVD<+2[JDD4K9JHQ_3GA[/=7SD<(>X'"%H$,7-$H!I;LP9>"LH*? MJF)H6N/Q8:%*E3E_[C=_CD,]+IR'VMZ/VKZUB#S^95<#GY. %9'^-)V^_6$W M5PRF@>:NVEY+3\E??KOMF?&CC@I@*,S=NU '=?C/0,O0Y3+8QPZ,);^)(OK(=>0,N5.9=I2H8/;\P5'+UBT MV0!XC$@GVV28L+1K8K:_&JA+@%9@Q0=Z/AWON7GB3%7*2RI(!7JIRXR5FFQ10@@=/&[O+U[AZ";L M>0]+;[B,,X+A%];!^% !GNLA=@F(!5,?21S/S9B9TT[E=:(+W7#?[?.W!V)/ M(S:Y!]C=YZL86-&C+>"J(6-)F]N&L[37':&ENAZ SK"90:ML(P-=DO?55O0% MWVX(/#1Y-O .FGXB\-YO)U\"C_-J(,N6V08J]AF"6)B3N9V\"_?]F<;P>P-O MG3CLD'8ADB;F9*0-"F.?UWB'XD17&HS&T+E5".1]D!@!)D2GTRR[)#8KWJ?*0%?2-:T"?Z0?BIN3>'J6/^H'/@0ZOT[F\-F<<6F0R M3*H\M^N5 G3#S/<"G8-"0 =HN.%8T_5=#)49>77"7ZHH6Q\,6!_CN48-NBP( M;A<#>?Y\87 I%\AYT2+")1VX>FGR/C>R<3Y6_HOG&T:6V.6)],# MDJ^",$6GBP754:&-0Z&8;8)E,_]+%!1%S>V*1@!RX>YC.6)XE#V.PQJ8 >, M&;LVC.4$OK=J0#P; -E[9!V(7K!>1U5TP31X43)SUW:OI=<&4N"ZD5@V#Q:[ M?8!6"XTF:@8-N;OLY8,6#2W@SN/H$PA/L/3CHRIGR.)(3TX( _9D[!R@[Y&7 M$SWML"XL[?F:&2^D5W9W[#X4-$\R[/C>6T.^H"+42 I&(HHCTQ%::57*8><> M('^,MWL;:M[!W ?X/PC^O03R'JQ\KYHOVJUZM417T3*E$"25YC!H(\R'E;\H M-?Y$H-^!E<_KI.)C:M5%R0K&9O$JPM>8AY5_@/_]I5^(7>47@<65-IZL9'20 M'TM-:F)U3>'F WOO'5Y]5^47E/BTHR!>/9!Z>TXR%2^J?DJ&,5VP+6_J5?22 MU>X7_0P^YEWHO-;IPZ"/D_:M\M\/B?Y@]'#-HZ=Q=-VU4IFDGG+1'ECV=:DQ M'$YKT$W!G ; *0*_,PQ>% HE?85*CDJE*JW5'*O+ Q)E=0@+A7[^\:0O]T&0 M2![E1W8%19(C8UD0^%$:A:' V*>]>V'&=6;@U\;@0"7U5!35-&1(; M=AQ*+TU,MRR,P;(%&^XCZX C6/;JH>8+M]F<-29Y2FMX?+Y0&:0U&TME>=CL MY:=YFL#2UFSCHP_Q?N^X'H L>&/1!9Z@HI/&#$.R,Q3IY*MV2Y)'G/($''.= MD/R]Z>/JGNU[MM>VW^,7O?%2GBL(6=%LUA=ZF*:K3"1 -9DJ";67;]0\.XEC MZ3_1+1]XH1.U%_INNAJVLL.27B)29!<-!9QKMEZA,;[C R_4?& *5-A0Q$G/ MLFC29.O=/*\"I?SRA7&0$[?_P.M89Z4(I9+2M?@2/]/#D*#)63;G%/,O>1J_ M<'W'^U]9B.(O&:PDN(%.5NEKTDPG;3W?%734!*%14Y[43%[=L/^P1F""2'-M M]T)9O[@__K$ XB*IUK''G@O:@T?\/NS]^:+8A)S"'"P8,',Y71=#1@]196[, M/.JH+#:WG!;&[ZAA1( =N%$RM/XZ!J*\,CE1+__^3_17PO-#([)3T9'KS%6U7+__=>SI[JJ M9B&^[?Q)_\(=_]\1LY Q6#T!1W]AJ>BGO;=&-SO;6Y7(%B&*:&I&^.JM:NO\8/^6/'Y;<;ZE_F:ULU/L7%%1$-3K3\Q M8Z/^=.*"(0E;2<0'PL5C-__Y'7\<$91D -'],[+]\;^?R^R%,/:X MC:&_B-2:!7L/V\HT%A#V"W46_XXWM0%W]0/Q*^:=9QN:G/A?Z.K/]21T\.;H M^]Y[L2/O?1+HOX]);?7<9'1QIGG::#7I_6>LR9&/C9K_G_^5P5'BWSO..C$* M8BT4,DDB!9)@)"1E,BDDL71&$!4E*XBDDL1&BIA",^1?&UFLY' =VO=@((&X MA/0S\D8O:8#EU(9#D-S M":I12-#]?)EJE.A$GJW7&8YCV,8G]GUE$I)/)N$==/1$;QRAUK>M_TD4?N5_ M)7 TE6=*\S(U'25=<. M+!F1;,-V_VS5:OO$6"%?/"[61?07&;UJ_6 \]2MZ\EI1(XMF@1U/$V+@V_$[ MUUIR+5U)?TB0AY(K1A;X__POC$3_O9)6Y HC"E9A@28E-G%O.W8,%Z8("4N, M$P 9:'\*MK1:F],)'?#7RM T1-<5NKWDJ(JTZ@9:TDE/6F)@NES%DJ>ZC:%( M=0VO@QX?6#%< FDIF4T+V31."DEQ) G99(80LEDI):.C+$!Q:6/%UG=T) 'C M^L-EE1!8FDS-]+3BZDNRV(K20O1Y2ZXW')GTH)ZG27F0FM *-2FB+8$0L.]15;=(4T,^!4(?GRF<[4TLU,MT;+@ZJS9$"?93 D?2VJ4N[]X.].I^$89(7R:;.2F^>&LBII=54COGNFO M7.U6(];N1HJ+83H>^+/]L ^_*&K8*DCL::6UA][JYBHR6N%^\\,Z+EK]WO,^#ZFB0:&XV(-'2K]-BO M#/Z_]PWTYH4K/2%^I;(;=5E_7.FJ+Y]X]-KT;)Z>R?S"TN][^K7CN-?=/G:^ MVU^1_-MW'ZS^5%;?BJVW(/R4,?YG773U!&N!?^T\_FG)/E$'JUCW"?QVDCTP MPZ^$A:M?-"L>C?N#'.'88:"P.IK;_^]?6G23!Z2(;[8Q$@W#]D?VXJ\;Q1&4 M906BT0:.[?I_;=U=I5$>4.V!L*"#1J ;39 /+5&-W#)Z*JOE@&J#!,\DN-", M9/Z/E82SZ23Y).$C<<:=@?R4"E.-!D_5$FVZR;8[B2;?YGBJT4ETV$24HG2B M/&0=(V)$@FTGL-0_Y7\EV&*B4Z83>RG,+GVA\IWH\N:6+)$\- O[.A+%%S%_ M__L7_M?;^A('\/>I+6]$X E_#!**YD54)T(@NHG5&>>)(Q'YGJ+]D>,REW$- M:%D,X[N =2M-:ZZ&P^GU(/E>Z%[+MT?C5*%EZJ W6KAB*MUT<_,WZ"T :3UM M36#_DX@[\FH<_T#+2^ZQ[=>5Z>%P;NMP.JYHK0<#GCF=PIRGYR.GD*3SH$-- M>K0I52OS*!N[R.DD?XK3Z;2I!L?$WN7A>#[=E,S'F@^0B <2^..X )F[HK/G MC?P=UA/KR="$XMIFXN"/;Q]\/<+LWZO!A9L/7B;/&KS,'A^[S-MF7)XNIE31 M#)"P@M@[_3GF?:]K5NC5O'8Q>F=C]1 MA2$8@6+8J\[U]L.0+ZWV+?C7!JKFQ6CU&]&5/1X:U:H\XFK).MTCM-9R"@A- MIZ@W3%($ALBU^)%)]J+@RDOP'/4_:W,2;S:_'3.S[QO2_2>]$"5_Q8MXDLS= M\2 A>@G/ 5*\@D).:%9"\[V$-!;=Z''_6G45UN&^[?#\!T:@4N\TTWLS 7OO MLJ/G*X8]WR;[V^\K"_EGY )11^81W]Z>;03^9N;@YE.[UQFGVINQ M.#?D>/#_AOQ_3Z#_7D' $Z^&[?KJ[=BB1H;?=*+Q?/6QU MED3>#BS?#?.VO.]?9FJ_.TQW&TMTJJ05<9$=VDGTY;S5*1]=B( [%^/544?\ MRG$(;20V"1ZU@_Z(#D55M7 M%2UMN?K^KQ>#G- B\.NCD8ZX8#8K&-?G KT([0*CR$T++R^U!'IE.) M'(BWSR4*;N1M;YA9P*'++SF*[W&4)L7%O%G4!BA;:6 <4@_U0NEE>G&*HUP0 MI>#K["*)OCX,^LWXF8\^LF['GEM[W)1)F;8+3J^$5E-F177*.)[OO ^?93OP M_'@=[A$VGO^4_WECU/WSXI -NU;^FW6;T=LT2]H/0-J8UAL8UB*MAPS6S]B* M4P3(^Q#8 0O1^R#'/FN@9,./IAUQWQAJSK-PS,>8-$\O05O7@#\:H*D^T:%> MSD6<]*MI-'7OO/F_,]UE0JRK>><7I!^7[=N&:JDKL9T) M]K[ -XT1'T3=OSYIT5K-CL+;YMBV7@[2C082DVK;LQ)?ZBQK:&7)X7SJ?8C+ M$"B2)6]I^]\[L+31LH1HR0D?&,")2=^,B<9#3D$\'.;;"0ZLDIW- MI #^S]&_8CKB,6Y*\O_L+QB4DP!D\10J2&A:$9) (80,D4P)9!0_IC(RBJ6 M^'QYG>\7R]5>LI>BN3G2(0I>SRQ,J0AM+Y;LD;5R)J=C'8!R_:#>[[EEKHO% M+5\LV<-0J>:XZ5&.YGJ]8;7O581",(\1_,5+]O:S_'6;I]&4#/8+3U\V@G>P MT(O ?F6P[7+:[4I?S%F\OO!]+[F$=CCGT:EW+:-Z$RI[DU>6O9JZVJS%3O[* M?#OPO&.99)+X17Q3!KP] 'J)'=E<7X]9OG;5W9BQ5RZO]^I\(H^SST=;UYO( MWAANW>PT.W]Z7O/7>[!H41HG5L==G[F^\SI:^A#-JZ)9!S/KOSNN&+]MLXKD MG]ZYBW OL1MW*Y+WI5V'S&YL9EE7:D OI'%\/DK"MA(1OJ-?VKNP\_*56=_9 M6-UH;NBZ:=XFC0@Q?+0R>[NE78LA0^N]W(A#2V+)-&95?,P3ZF9#T*GQ\WA9 M2801SK6^,=C(#G MD'I.=AR^YW9K9CTO=K0F%9<;>0-&1:;_<;1\>Q-_P0CW\S%=$!GVVPSG;FW+ MUG4\K5.*[![>IK"[/S2V^"Y0?, MSIT:07JY5/#](TCJP0A2XG3P8%O@%GNXSQH<.PD@QI+C:5R0&(4):0PB#)GQ M-BYM3=G>DC+-2XB).3 ,1(]\3?0\('H157)TP0N ^S_QFC,9*)JU7G'6#HS= MI%9JRZ@])D<\^[4=O%T+_?9S![VH]]6X\]RF[\RJZWN#N9TLG;%S 573R6K8 MK%M)T E\]?]G[TN?V[:R?+^_JO<_H'IZ7CE5%$?4:L5O7I7BV(FGXW;:("@4L2,0@P6$2S__IWUKN H"0[VL4/W;%(\.(NYY[]_,XE6_A/4V^Z;Q?] M+%S]E:$V7JR/\_SDY&3S0/;1#;F^4?3W\OKF/?]O=.5JNIK_OY.7/!Z>7R;SR'EVWAT+BRYFAS*\.G3\;20AM M!NP;*3R-XCRW9.[3_]C( S#P923O,7IK*L,UP*^Q("-*6\H@P4>!)A-#KHO1 M'H]'U6QU] P&!?4LJELPK^M9B&/Z'GX)NF^ADET=(XU5]ZU+L95M5,"4N M/D(;HXF;UK]4J].7^=]6Y:O??SGZ^-M>_*OY^*]?LJT0>^Q";,,-1RH' I]G M30/WPN1 Z%59H'F8KR(#IN(J>H-F4IQ0%/?[N(FCURSJ@KOOQO!EWYJ:]]Y, MVSQVS.%LYT/T#/]Y+([*O?V]H54),RI+6&!9PJWP!%Z$O>6F_N;6KZ^WV;C7 M3G?_^UZ*=GEXF$[?7]T:O[Y=E(WS9!27#*H>Q M3!0G"5Q0H#.@5B1/M*J*WD]!.RUV>K^HYW"SX2V5R@>@XCGLQ&J 4AJ& X&& M\YY&TZI<-C/]>@A"V]#O=#'+GU@\_ST0132 M\O"&N>J38F<"EQCO[*GNX2L'^T=T7[]YPY-JKL#T:'M^# M8N7;6^_)\/CP":UW;S0\?&KK/7@LZ]T ##8:/K___.SF:](8G9P$'DK^:5FM M;BHCG)PH+^4E?G''?ZTFU71U[78S?_K MPZ\?#T;++P+0Z3,(KPE.Y\XD^I\ACE>;C*A[11 ZRQ]HDB]YCAYAS-M7Y_\] MW\F23^T/UE,EO6Z1:R>,;;"\Z^"87.!(&(!9?L4H&_HFR2-I4@JW M-674UNR$@+DP_%T/!%%9T;OR%;Y\F<&KX;51 >LLT:\ >T;.AR(NDBS.T6>! MI?OX<"U-)>H(Z_:RM#_$'XWVG\7?]/H3KD<6W:P[N0<'Z7K=R1(G$A<.YD"B MRR9N&H,ED;B!L)<(.0.KB*<40$&:'1V_J*.XKH'AXT>ZOV8R,>0.14F '^(O M,^1Q!1P>LIJJS"/$__#.U'F/6MB RI[

Z!5]IS%E?C&(;=>?P+MC? B(C7(?4IIQ MW*99(_.ZT*E\J[SU33*I3G%F977JSN=U'D\]UII4/\^^?_\I^\=N^W:4_9A_ M6OPP^?4:6.MFW-0_$:Y^X/>'O+WUS.2Y\LOHV:;,F<"M"<3[S:8T@CL7WF>X MH'69_;[X??X___/+VY/=N)J,WYY\?_8_B_Q&E;D[CCQ/@"AQ-,I MT!L2)-*A:3C96,GHO!1!B.F"<&H4SJ=@P@3#WO"S6A_U\<2:Z+_:0LAR?Y<1 M6RFZ%B] DGZF!M#Y*OJKD.)KBG !/\962T1I5^Y7%H#;%NT\+9O4)/""_"\1 M0N/"7IZ$1'S%AH61#%/_YU]VCM=)^&=B^:_S,O:#<3]^?F7.TN-_OO]EY_ ? M9=N\FC8[O_[C+_]O-#PX5.+3Q8K? ]2U/,,6*.,8]1"4AK"9?SW8!;,[RC%] MH(95@!C)$K.^U590)IPYS@!<$>$K4\]J,JS:N5@K!21,: M#:(K4L?%+?2N0""[?01R:5-'CT#>_/UU3^(%G0AM_1G-\%W;D$()%\HCF7]. MJW_]\GS_O_][]X_OCF?'GXM__,\OIT R^T>#T?/#P>CX9(UP(E[Q5:EA"3I* M5+J71\_,YR1OZ9]-1?P[J-OKILDKJ'SS/?O7O[R]M7?/YQ% M;_[^\MW[G]^]/\663=_],WK_ZO6K]Z_^_O+5]27.7D++PD"S@BD,*=0F#P"7 M_#FN&D&!?/,F>E:*>(\+.31Y,OSY% @:S\78.OF2ZN2K^AO4!3*+N<7OJ,P$ M#K< SD! JQNH02.TY\A&RL^KB*!(4*D>2#G2$IB0R]@B&PG'\E!.T=[*XT:7 M,-KS;;YO6 M:>R49O4BCU?<"RH'[4X[5%W!_O^*;=B]^D0%Z. DCL=[\7'Z\>!@_^#CP>'Q M_L[TU.#I\_GQP+U("'0_B__]>5>F=YC?BTHR$=T]3L,'AC/ ': M^S;.ET!OVNL'#NG(]M"RY[-/[ 0[*D;NG[AM7]2FD5K\=?LTZH=7;]2X-Z(8 MO]=P[& $@GTM['\CG1KW=QU3?5*M&O]B<3%*;=9U2YWP1GM7DV,?3K_[Z16" MDK]\]_V"+A0:XM MJ $\&HXVAN%O874BD>G%:PN]9(&]X/W[?PJ\__JXM2_D$0?G6O(.+)__^?3] MAS_N'N\;TZ*!'5;\!4$,M\V'M.U\$A;^AX'OC6ZQ2_;-N_B'G?T,9[ M:R%E(CR)_:=UR4_?9_6GUW'2E%7]<>_@Y&3OX#Y2FW?13Q_537\@^X^SC&2: MC^W&CW:?UI7_[I>B,J"CGIOTK(DG$_2DH9G[<;1__NAD_U[JG(X''#PF'O#@S@'G&_&$(V_& M6W;PL-G!J6U]\4XR>LI),S.N$^W'_?M(C1Y7>%1.P8=Z'MT&*I5- W0S?RJL MXBE&=-]\/-X_.;E?I-D7T7VR(=W#MY1&/RDK=R%KS@5^]4=+OW5Z:XS^ M\,'Q^?#(#H8':X?&GSW"8^-I4Y'C^_7,7\&3YQ4,X(F<,H1PAUC.GIPC.DQG8/.-[(3)O3'1\<.CIX4.SA^:XNN:_0VM%3N <+@M(CS M59V!5?3Z/E*CXPK'CXDK/-3C>+M>NN^F3[J%+H *_BP'>5D6*:,UX#/O3=WF M#3WR;F&XUOCQZ1O'3XO!G/X#\3*RAG*[X93ASUS^4O?F?:1HC\$\*L?70ST/ M?];$++QY^W[R*!Z7;1.)780Y=8^-@1SL/2D&\MQ*BS,M6ZWA_,_:Q2*GO^)J M=1\)UC&0YX^)?SS4XW ZAYLW\9%@YH_2I#EX6AZ.DY<$)I9?B\ ML;#]E$":[B.%.H9Q\I@8QD,]#IDV8BPAFPAFSA )//<&/<6(J7+JX+_P!YZ; MQ&HGCXVS/#]\6ISE%,O5JS)'B4>I6BDEDQSL[A\]/[R/1.SQE$=EQ3R\D]#Y M$F]P,]YRA(?-$;Y[A[@^;QR(S\?CW='![KW,+/.8P:.J\'E0AT!3C;RY/A4. M\"2S==Y\/#XX.MF[7]7EO?DZ3S9A9[3[?589JKI=2PD$6?T2 =?NU?&MUVON M/B9N_E#/P\YZ$/4D::+6]U*Q^Z(?$ T'SFV*^G$J?MNK?P]IS[OZ#Z^:^QH2>Q_( M,4E^[2IZMRQ 7YAE"T+'A .)LR+ZSA0&% ET)O/WI$^XI!O)GMF8W;ME-5M6 M B=0!9_B S9$81+X>2%2+C9;H#9#B ELH;6V2 M+;>X;6[QJ K.'\CV_UQE19(M0*/PXM:OC9&D&%.=9\DC#$]M8 5/T3G]Z\># M@]'N\_M?2_KKDW5-'[[Z/,O&&678K>?=G24SD]ZKTUMG[0^OF/01GH?.NI.7 M9"<>T U&,=O]VUL[G]S01UV,.CZJ@\R'L/]Y">?'JY:A>I!W5AKGV!]Y\BOWK-3Z"-^"63>EC3D#9I<1P?I)/# M]./^;GKR\6"<['Y\?@3_-SZ>'*3I>#S:W\7R?MX.NL:M+& .7'7/0MR%.7QDJ=4F6DK\91AA/U>L6E9':$ MV-M],39Y9L[-@/X>%29KNIUC C"[79NUYX,Y%][,,23KM?@K+,[59 M&Z">E6V^]O"R[\,D^+"L(NY,6V= $G$5P=3A#0C; .NOL+TM3L.D45."@(-] MS":K"S99.\KB3Z>F,%6KHE[/3@;@2BV3(A 9CU^VXSM(LKO"\ MGV%K11@1+GZ^&M"K9+^D3[ULV#=(:XFIB'HF+2XC2H$"\G+AR!A^G<%.3B8P MH$YR*%&6H(,L@U'Q!(%)P-)E:G'R1YNQK!".T//V M30>5%>?8U@-NV[3()L!VX*RKK/[$DVEQKY O$@MZ5I=SDF[N1HW-JF3Z6GLI M]OVLROP;&@B/=[[@5=(9T:6'\V]K7$"##-7N-.\I7.\T@R.O@&) 1&5T;VU7 MZ>[;]#+#.'B$<(60EO1F(0=9NZ1P$(NJ_-TDLG-_*\IE85\63;CQT?IT^UXO M2UB?NTP8:5,X_26WAI]-39U4V9C:6)'?J6DHC.'__D=V,^;( MG]<0WAO@ 16O%_84]Q]6BF0/&P>B!TX.E.D6:2'/B"G M;JC,RFG 27 ]^ M/T)=@'X3SD&=8CE/,ZAA3\3&*==T.^!5( !9$BK MQ47")B*%WKT7_K&B53+3 _Y'H@W9H= *3K. 0_ 4C8'>!&0YN#H5B4N8P/ V M#._CP?.#_8_/TZ/DX\2,CH\FX^.#W='^UO+< M8'GN;2W/K>5YCRQ/OM.=)K[WL)$YSC!Z8[N7W[J9B2(&IC^O/77=5_[73*(U MTZFM?6-(/NPH'?@ED!_*FO(R\P(&N:(!@E9KF6;YULB 1-8"U*4%Z$:- MU66HM_OG9NAQ_0VM;*^/4KZ*+D!!:,P.W(C$? O*(/7\QM ?3#8:#:.(Z.6+ M]9BU=KAW07 7GRV<7/0]7.,EZ5I2[T5*QA*.U-0H![-ZQHKFZ.3D&.Q!@WKQ M.=C6T=PDL[@@K1IIA !76#'>BG4Q=@$9# 9+ ME ?PN30.,*_C> Z[S E;.+AY5@MY4#?SQ\1%=O M-^?MJY^M1T!>"%<4=(/I#.'G2EC,_K%GNK9%IK QH_V3*"\3,8N0#D8'4<)N M)V\(O/"_P*^X!R1:UG=#\+"+O P\K@R>RXBLA"&!F5]A,@GN<=K"<6>R8YEX MY!"^-(]@NV#O$9*/+5T8$!5P((J:='+<+Z5K'-P--D#*S9M9 C<*CB5M$[E0 M)956#H#[)[,"M+'I"@\5#I??/Z422R(A,"U1B<[PRIP!FT7$'K9OX?_T[0$S MWMO=V[4^"+RYH*-EV(V3[,LKKSJ!K\"&EW*-.=@?F9P8FB/L38/'Q"Q&UPGR M_,\9&L7PS,'1\/C?=7[^;.(&WCAN2:DFOYQ_-?QM!%,G7[E[B NP>T%S.MP' M);1WS,H4Y;EL-=CQ<5'S+8[)(8A68M\=HOWV9V#]+G03L:\9W_0OV&ZVXO.\ M7'K\$35T6=M&I4TO-X49MO]1_^-4"J%YT6%;*$%3DU>$B)!ENY MU ]8@Z9/ D7;BS/+,[M6.W[.RG%3Z;PT;,SR\VI1[>/GP_T+4Q,\)=,;'\E_ M GNFEJ/^3;+X6[9*T)5]J34@IA^]6!^-QW!X;6-NV JXEBAU8--=*9G 4UZ* MDE077N;>Q#WX"!&1\.]X^U)W(.3V!_N7IARLSV(+SN(RW/6ODPVW-ZJ MGZLSY2L_G>+%G*PGCEIQ@MAZM] M3:=[X]?X ; RN=QW3 ]_YO*_9RON2=_X]3!1DA@SF5P8^KH+4?[6^0Y=P>?Z MH7WI>N[1#=<3N[E%W;P\[@9LNDGFT3[&Z+Q89L#6-KCBH^<'P\,+&-=U;<^- MW^#U,__W/RN.;W6VKYRC^:([>/^OVLT5=]Q?:7DS5W-T>.'5?.@W\,&(QP]E M$^=;@7@=MW(?;F5:MNBB?[C7H&9]I6I9Y2J M@$4C;3+S7_N>8H^<6!#%4S_:Z"6:2QQ2WTVA^'D)/ H#G+#[T]6.P9!R1B%, M>!F^!5-?*-!J"B"7LI"$8)HGS20X7\FYQ2,+]G$&MQR>7=\S MO%P%YN3SP;A4CM.ZEX2GDO.+2\F(RC@XW(E(\P3Q0@3$@6^>9-/6KP>PV03T MHD6YA'GF99SJ*SCO.#CQEI*M)0V?JS\NX%Y>D%^X-,B^93,;2,8.;W1#:>9Y-B?^U92#Z%GV M#;.J1;F0PBK[2\XKA]]C+0MEP\CV8A7'E6F<1"J^2-]DN8+D2<" 6#V"/,9C M4K@\..(%$PS\6G\N\R'F42ZP\B'3'!28TR('UB*W1?E'LL*Q+]@[R4VDSY]E MY_(BW 9\BYDO9C&URBVH_*K"57DW<^#?/AP.]B+.BI@-+GX97RTWH3NB*4SU ML 0BY4?C"NX3<($T0]:"IXMY MO"K;YMM)]MFD?F!1T[(4)W>+E86(V$H[>E)O M0A6,@?E'=!FM=K^F"=\Z+>YN2?$^D>*?2(?KS8);HU24=:!>P'CX'.?E":7Z MZ7'#S23:7\%!/,U6C]RX +B\\CM("G[CW6;LFR$;*ZBUNN6>9S0C-^)H[T44 M#I0% YE@('=V3FM!UI)Q[JED]*8&E52N)<93TKQ__, KT^;4XX5)]'N7O?FF MN&PL?7;0R9ZE_-A$*N4R4IP7.$'D.:C[\'B4?6U0AS7&YE'+PNE/LBAVK(6P MT:Z1Q%0X3ZO%XHI002=]RU;S64VY1-3Q(>QY+0F\7#0NZY$*#+(HZ0)AR3>( M\B:C],Y+"V*>9LG9_K;D;%MR=H]*SFZZ7FALFJ4Q10]CB:1('Z0F5X[3G!1* M(7"4)0JCP-59F4(D$/^"_?H7*7179,,1E<.S R+7EZ+&&(-D)@=1F,&/2!A4 M;,XX"5%> ITC[XNJ '.=?AHN4= &^(<&FT0).H9='76.BJL$%2D2$3(ML@B% MZ=?JE($AP-)CP(@*1(\L^.<^ 15HS%3%1A7S=A-@OP1A %7JG1G$>/@=BI1 M6?7-18026^DHOZQ71HXM>*]*BLP6ZBVH3*8A^3;.4JVCC[JNUJO(7CA(]EQB M@3D="Y?JL7W>,"EY#B\%#H"EDV?+"4B8$?R(J>KJ=#0V#JM 1*SWF^Y&H,]5 MA&5#!OX47;\I*@6M.LW871'-2WA,)Q[%Z>] C^R"PW($C$G MJ'S).MA<,1=0Y"(O5\Y]2R@/8" 5[ ZDF['NL.?5$]#%@NCMHN6QXWO2&ER# MK)(C+MY)\!YX<_2I@S7!$K#(%Z?^*^EL<6(N,6+)D.[B.%X%L"84Q,*ME(Y(,*# M>)1D^^WX] M%"3A',>/R/UHF0)\.-$/(+OQ+=! M8<>:< !W3P8>.=K%J(RU]\KRES!FY[V:XZ]EVDI&MTX5;PG0,\HQH7T"OZ+2 M=N2!1+H@B\=2F&_8"4+V)3]-SV4U*P9N+P9X[8@?,)P;0DWA63I$+U?P:?@] M$A.X9[+^5-2;5Y_1T4 @6'!*+Y$ 7WIDYXEY(%N2.H*EEZ&41-<>4ZU/JY8_ M*?=B!IJ1*X.VM[%F$?,[T1.OG&@*-"X_W0;7\=GU,\5I68!2@\,R9@5'/+.>.C MI"A3?3@_N!(6D[-&# R\&7#2 ]^/2TR&?E9$>.@>XB*9]3F03 A$T/6I=G@K M#$".T=_D=I;81XE-49?1X8%)XDOSLES823%4A(6#D,VC0.]DQ0Y?H(ZY8'> M]$_TNAMN*LNRA\U0.\L\C$<#?^4IYG5)R@<#'B"BA2&#FIG[%#4G;[_C]#RF M.BZ2L<(,:@][P]2X4=F69+CO\8(.H*K H$I M8)0TZ3GJ_0;9'C:];.[I/6#>BP:>53C?D$FM8OJ5K*-S*6IC/GG,V^/<-O%& M=Z".QBM1TH6,YICA9(H9;A;R[@K],(L8= .2%>6$G#MQ5'.XDOG\P J*<[>I M\*OD$QTMTQ*+KX;/7(S4+:V@%B-2*3R)W.J]DB+M=(?]4S;?]HE+-6!JRQK&&-UM\C6A&.43LK"X\1 MQY[!_\$Z4#/$+;N/5_.U[M ;+S'SI8NU\54-T&D8F2:\J':CV=7AADK"H388 M\X)VXV]\!P_I"Y!4>HW86M7PSPY:!W//_,O.;DEV4\#X8D@$%QM,(MAHILD4 MY1^.JRH8.G8"_B$&#CLI+% N4L>7.,-OB6XN)96?#"97PN+?&_:L\,)>HN]( M\B1#HM S\/%[-V@TDNTD>D^*O#SGU[$?S+YP7LJ]=0-9?8 .GK@);.8$76J" M$!Q-XG$E+M\H9AV=;(8RPL!C)5Z2;>BU-_1ZL V];D.O3RCT&L#-6?>,)MHB M7+AI(A!AP#1B1N,CU#>1$I3P*G4!.!#;#UXBBNIS; PO4&C59;52!01!O, N M<+8:Z;\%IY TSB)QFG],1008^FISA..?&].$L27QC4JZ"KUXAM+/N@,XRJ7N M-'@+?^_XKA<.Q'4M:XEI@0%4MX&'F,#(+20T1>V0L9_'6:YH:2W/(1Q(\D/=2"7QK(P'1]Z+4O!3: M&40_.%F"(TE)_%O/D.R"['D]=#$=7,SB>Y*':[@2\'6"^[+04,?(@[#V_ MG9:-$(U_!@;0LN>W,%/..0CZ+I QN8JF6.(A0SKCG54!3_F8VJ7 5L2LWH! MS0^K1RHS913^R7I!$2AX9/K3/-6(^,*)\OA\Z39MEV3:HB84;AD#$-;B]'WL M@'[/CX8'%[;B>TR@65U]//JJ,O%KA/ [W +'=>!N[@0X[GAX>+@]B'MP$/O# M@_WM05S?05P7X,&E4N(&ML,YS&X6]>!B'GQCJ =]F'PWM\S+.-P]13G8?SX\ MN160@XO9SDV '/2?_!=B!-W%O7REJ.?7@@QT1[?O&N;^0*_4Z'@XNDX\GWM\ M[U$*O*UX6[^+H^'>5KS=K[OXHVWPL95O#_).[5^(B_68 MKLZ#D6\_V/8W6\GV-&[AX?!X*]CNUR6DW, <:ULA^#2NY<6:Z%8(WH6G!1-G MMD+N\!$"E>]=J'(^IDOU8(3@+6"6WZ-K>+W2;@M9_D@$XO7"EU]28/"G4PAN M=I9]J.MAF^'GQ\/==53,.C)Q57!!=FPKN B?F,H] E ;^+&';;S>=;BL7)FK MWXWYE!(2OS>)F8]-Q6>Y/QH((">EO:;1X>#H^7$ 5Z08.E1:0NB^TPI3%!U4 M%%57F1ZD],-A%RF=TH2E#,3BV<6?L+8Q^TS9CUF!V[W\VKX< MRS3[7O[\>#0 /H*5T;"+W9?B62(L)")XP/LQ2WIJ*$>:7H1IF^%XZ'==.[B@ M=7(7)\165$MN,J4J\S(8EM71OFO+>VI)/AOM/C;!WAR\6Q%-.6A96G5XU+5A[LI4= M]T)VW"GE/$6)\E*<6UN!LA4H6X'RD 3*=7."OY=#OA[EY)J8P59:/#9I\3-& M0)A*?L5(UE9J?)'4N,-,F[X="$))Q\.]11BNW>&/OER7X/WR:*6O)SXS:8;WGJ2P*VD&]Z"#^S:LPD/!B>[A[>037C7*0-?IT!YGMM)#;AV8C\Z.+B5U-F[3B-X\(D#7R'%.O(KVHG^>GBI1'O(@NMI MR*?#XXNDTY,00O=?UEP;D3Y0N3(:[#W?O\[BX0+2UEQZN MQ'DB@N7YP86 U$]+?CPN:^F'RF"+6&R84UQ)I&P-I?N@;\"\>'3S?FF*/U!3;"._TD 7@-NM+^T1K! MB#)>/_.!A<1*#?8ZY6;S>5P4&3:TC>MH:?(<_PL_M6UOJ>$I/BC3@#_GIIF5 MJ==$/2O.38V 9()L!:_-"D/-=ZE]+Z[;0ECY4X(_L0UN8G@P;@Y<1@PO/%D- MM#,J#9,A0!@-6L!!(E@7ME2K!SHU!@&7R7&W6&P6+YWBHZE8Q<%^TB^PC;#V MF&^DVW*-..+>X. MW2*V&_6!6]$>34!1C'$U<8Z;@EV3@>8;0RAP.="(J>I9MJ!VL+1_<-YUF\Q< M_VAJ'9S5--H?;8R7!4XQ25K84U[9&-OP:*]F 33CL\?5) D=\10[02\WG"3W M?88];BK8#Z83/ I,8BY@YO@'W!7^XQ.PD-RD4X-/%_6$VU";@OO=2O=>)&XX M A@V7U'#91Z4#@G7V%2M"2=.;9/=;@D*-4*.945;MC5\X&Z+6R(<_H*'P'V" MB6SN=FW.RYQ^3:=0$9'5#&$W+;'#<^WWT^8NT=QKN@*2FF:)[!LW\,57N3;) MN5QW;<.(.^O=OWF9&MP"V,4$;I^AUM'XA=?HF+,%<2X85-J+3TO:U0I.H*%CM%R+ M.B-[C8N'%S'"38(K0LYWFW"-NU?DVZ_P."+8][>PMWE-UNB/<%SZ#\]$S1X8NK%"Q M(^-EO.+S7(<=Q+?I"X@PQ@:YG2=E^'H!R\&^V"09D ]_#L=19,)A%/*59@86 M\71&]R9.F,5A,<,FCD,\6ZZM4&X\0:[M_=C^=-)6A./H#^$X ?X6[/$E,14< M6" 6<9=ARXJIX$7.@&GGR,"10\3(XR9M3K]L9LJYO6W7]O,-_I;9(]P=6/<' M66IE$A4C>GV\:\)+ZNX$'AJ#8!)3H^[@O!*#0*$XA;8 B9?,8*)N@W!Z<[B0 M,3>BM^0#Y*!DY9\23/(W!*5D7$N>I;>M("#66[!Z/6438&45:HZS%VE6PY17 MWY+2)7=,]>F]X^'^(=X\^$@J0.@FAEUGO7&#P7:0"U[H=K_>OK4;2W/V#M8X MQN%Z:UK\___]OX+.NVMN(#$JO.V3;=DCO7IJ=KBQ+Q'ZMW$.M[56FQP,%K57 MOK5VR3YIH+NPS?\>>?_&35D[-$3G]/8M\(W(ST( 3OWPD@;#AD]CV&'DYT&A MFWSD$1)N+CJ56'V^X[B1#?4MFRM(M;,FKJKH50[, M'Y1Z6.H\@0&;1R[@J0=N)B0O*=GPX/8M>%:8"A1E^ M-,2'/YC/,3-&U),( K=HK)J'P,? P?J%9:#TB4PE;L]_D8@+N"S)#E5WY07$ MJ.'@X*/:R0O4F7,P+I#)JQ#L8[,$L!O50!2@9ID*V0KB$8O^#>IYA<,+L/!@ M3='+&AR@RA9& *%5L[02C>"14_OTS.2+6O2X&BTX,J/$8F(1(B8,L/NJK&N: MQ[@%X6[J&@R;.X++OE@!.Q-I_0,O^ W:.T3YGJW\[IRBG";*XQKE.R(_Y]$* M+E%ME80Y6%*@)8UKU%\R5.9#51U$.)$)*O;R2M++/8AGQ8 .C6]\+\-APZO0 MT"0ZX4/H'\?:'63LHB&$QN^Y851OI!,$?(:A8:>!8M"Z93T.[ V@"%/#)!$B M&DA,S3'Z?I95;$&@*H@6!*C[0)[ERAA'%&+#3S(4LRLD3*"NN9TKTLP0=AG? MO8KRDNUSMXT@(QAPO%U,JSB5.]C5U3Q:9H/7;349(1-X9U/SB*)(I79;9#?9 ML,KF<*^0=SA%+";GQ(( L.4RW2X1]['(2VC8?%("5DWXU-/]0K=/:.XQ33D5 ME^C.R*[7LVB2ETMF<'"43#;P$*KN OD-'([(M'0>@YJ4*CA]TG3$C5)],KBA MCORQ=K>V\_4T1.?P@6-##PX<3^RSZ C?(ZID.%%R(EE]F.'NB3+-)[(O Y\& M?$%OK8QWP+PM]';@M"62/GP\'Z/JCL0+E 5W8V#M:'@6UEM6I!G7\<0TENAC M,K+5,/>,<<-B2'U!R2H0)T#B#>%#9,16<-^L&8U?HDX-FAHN'L4!O-T4^@2Z MBG0S^*K@:RO2$&0H>^>NDY0OH-R+BK#?,4TA \"YGBDX_<]R9VUY]JU?N-\L MXX -7^)_JKA@Z>K+X $/\9E%G+'I#?_,0;4A.6NQ^%'^ MOGWULSS _,AKR "W#=@6>E4&ZMM3EHUM'+*FQ=>3?Z\D.]&(4PF/.A3B--%Z!LKT#__$N?&J2K":2B7[J#HE*2#O%?\*D@254 M9LJ3\7R+=*4F)3!@EBI)Z5TYTG$,[%5"M&]_/\EP]W"AP75*RE*)1OQSG@-Y M;)JE,86C\8'SYA)#0!W,^H+E]Z(^PEZJZ*])0J&Y0J,2 RG0^>'6/9#-A;G4 M95$8L.3Q5A/7R]A7JS?>%$!C!IX;]%S\P O,QV!]H2R/[1L&3H(I"_6^"QIZ M>,TBQ%4/&XF[4<_0.3DW3:R2.G"3!\\:E(XQL+9:O.M@>67<+.+<>[7CUJQ9 MH%JE.S-)>!$?0X8-$F4B7B[:J29BAQ++T&0H-I^^R0-$A[9G2[;N/ M6H+O3*1EO/%)YLQG1CB[[]#OA^:(KPBWG]$0Y.!H>VYXH. 1F\]# V&;$&3.@\97YN>&@!-^S@;UH1"_(?J>5 M,.;URP'F9+/3+O!5&S@OT;7* %S_WNX+3X:36Y0^'KV@#^01)W^D%V>-DF^(LDXP@U]C>*PK!W]K= 3:TBPY)9H<"(4VU-+ M"E^*-WNB8U H,Z;0DL'N2-,2Q02J@VM+0SNZPYRDR4!\RTSZ:/<4 M!AL@Q=4*#7O;>J>FMY A"E,7;VQNC MASF/QV4%5 2:\()%FXUY6JIP%SZNN:D41>W@6Y#IE<2W:IJHF&#N+M(LW2+O MR()ZQTV4HGA:&>;\Z) ?H[8 %@\ZO&G3R 4J5&G/*-@.NT^L+X$Q!?=M90-_ M/M'4.&R;&V?PTEX6>/GA72IY@8,!G\3;@NH-7,F,?3"+;*'B36T0*U>1@98% M6;PX#8]8@A/RO/9I%2][3B-ZC==!8K-RU-YP-<:F@C5EU#L+)HN#)7E) 3U[ M%G+>@ M9K40JUPO/A(.1?7 R(ZHH1JZ+X7U6)Y&^1I,VW:.\!J8?HGV.[D.$Y+6L" A M.UE7WS2Z.0IT.!,,B!ORO<;8+HRF9GV;SMBW$["S+:ONAF#(TM#!S$Q.)DFP MG!8L@5P9LLVN8#I+Z5%V49W.RQ9OEQVH+9@S@,&C%@3Q:\Q&*'"7*C1B>*85 M2W%4,F^)W5VJ_;WW[-17SDY]Z]NI;TM0\ MBG$\]UYZF:%,-TO>:56FC-C,)/BM)6H/I@U@AO1 M4A2;#-OYO"T"RX[3A5CT,W]":8?Z2<7>C6 9 _N2:!NH[0W4'FT#M=M [1,* MU'KNH0Z+,:JAI62:9V$4ZFS=%<7&(24+*=,Y-V ?H<>+-.R%&ECXDK( =MXB MAT>C!OU8[6*1JUW;E&4>Z(O =\_C*C.5*UY&,D M?U%@9C:1=33"SU]>U6I>8_@8,FU)[R)=@^Q-$DJ%)-" *!0HFJY+6P;O#:! MP0OX(0I1LZ0$5,I0=*J2^AE!)ZF:U0[)H>PS_ N]MPFN4*VVHFS$79AI0BTK MQ:()5F9>-L83Q:1LE4O4EVI@2&@FSVDWVHK:SX+PH'_-VGF6JLV.0G.BVIMZ M5=CIH,+:.5?N/OAPIF'.272&Y+2ZYFC#%1,>5-IE!8'9CO,R^11H>KN6<9+8 M1*;."0V8 1TO.^:I9Q@N#6D%2B;.6^(]-/!L3[ WC;5 D1K)N20I%^21_XSG MC]>O,>AS[GJ3DQ*N+>C([5CM5C9AR>]27S);5(2<#ST^C[.<^"7QB.!"IYAC M@!<$TT7A^J W2AA"1?831Q0X',8VV1!L*C74Z1C)GV,MHGH&-@:1[1RMF/5Y MHM6>QE4:[-RX;6#WV"W'-XNN#8CN*#5 (2EJNBO*6Q:/EEJW>O'I)HJ?70*R M*>PZVC) FS-IYDP<,'5^O EZU#%#SR:DJP9U()4SQ>G&F%/D5CW[QBZPY4^)*2K-5Y+[,D3X W2>!F.8>3V =%J2N:NAE4 M -1$7IR;T'*Z QP/;0^Y]W?8FV$P%]JY./'/A>CD%)="=7R4H#S M6B[SRQE8M$B^E):/[@$T9G+K&72TRE($DU'*@IP(J4_971E!3V,H3N@>:*%= MB*003PM[1>?Q[V1+V_LHA,="+W"ULLDR)RF@T:%$Y\_U">3'5+\U42J0> 4[ MC_;-2S WX*H.HI],492?!]'W7 U3LW3([\ MLX''[4@[HS!B;_JZN!F<&-7T#A@Y><-4!1=8\P,S#]<@Z_6X)4PT7> MD??^0^C+)B'@%!.].9R#R\W> M+@H)(#FDDA2:H384YP;U(EU:K L9Y1+@BNZ:WF/=PR0WWNYT:Q -E ME?B5\UBBNB9V+)Y%4R[<=]:+B>=Q^.^:2K4APJ_)LAHJ<3'6":C3$;*"*;JA MT3K FX14A_]%=ZY-[B"KU,LBY(P:2N$C[F 3H'(CT3PJH%'K11.EI"827:98 MLX.*UP[:\9PR@#QDEBTX5!!],BO?]?%2_]F3'V3U& J:U9*N1S/0/R6C:Z6I MNJ'VO!YC(U]N@BGT*F5PBX'R*45%$Y%(%2$W2!I4 ^%^@YT_H[3)LKAH.R[< M@Z#X$248^QEX&[F.;$"L94>KR=1K0G%J3!^&K69_"BP<%DDSUL15R5GUT^MS M(\8-Y8,(58J[2>2%RQ<"?@1;@1WQJ$NJ;G4I'4O6G5*ZDY_X%6* M"+OAI=%H,-K=]5+@8S;$XXKSH#I/[V$\.GS:>V/$+QN=>.ET92[&,;#5:JJ) M^,ZOF&"F#UU&RNA %#9DC?85;BBT.?RT?>(TI?T8\ULZQ@BJ4)\XU$2>6KC, M"PQ-,%/QD^_M_>>[[Q9(TY.(UF5+(>=/6:;W)5KZ$FXN.CIPL2_10TMM'.LO MK,'%$"@5&X!>1% %Z#O&+ 06;].6"SQ1NUE1\@FI*U2*"5(K)G,9>?$@PA M[:]P JE_$CU*U#MRQI,#9@G,B?ADZJR:842I!Y1[*Y."7?\652#,K7R!_YAA M2+^A?VY+-"^*_!UO(W_;R-]CC_P][_=Q;N!YHO> @DS\PX'%O!"105( %]87U+3]&69ZN:ANUMSB&,) :*H1[()6 :8>U)3'B;EJJN.N)(Q.#63+!K0>X&C5%7+ M<#>:)(\LWJM;&-AD0>O80@=501NC'GPQ#SBI&.96>-%5?"XT+6P\C\U_\G=1 M/ @T6X/#Q06'.VI)V/*VA+9S19*>=0[>M$E)"5^D9R^R*FLT7+%VZE27QSYQ MO$UYO*QU/U;^%SKEEBMB-$2PQ.Q=S5L4L(.QF<7Y9!@%TNX.S.F@),]3"!(A M.GN 0'V_@V%%A1,6+"/F-'C[$,E]C'BK\X,4,TZ(1WJRA;P2.?"R]N841 IJ M6M$6BA$/" ]^$-IV@TAMI%[M T?G>DVN^N1J(?3(T7S)S,1+3M ]'$1BDRZH M/Q;+>QB]PB@'QM#B)E""ZEF,8:NXMYZ)"P%U:^B266P?,KA\#"8V-CG C<:: M /V@9@K&UUSB=1[0$*4#=EZK? F^-A270>,T5QNN!/6WR/XE?E]R9.JRR)?A MZI$<%Z/<8K02;$'J=V7,%8#?*W.CI_"K28;9BJXNR9^@N#E*LH^-^-9JHP6S MM^G!*FY ME/H+!4T"285'06X*V-C4+^;J+;#BW2TKEQR &M7IS G4'>5YDUI16J MC\5[JY4BZK4,LKS5BR+$4=DM\PNH*"A>U)J-V:VULI55XCCU:YXH&S<]QXP2 M3F'T*F.*%A@!!AELJ;@=:-*IF*NM#]/5!@;^K!*TR)G9^;T<>_-V7AP/&PQ, M:W0DPIYA?:$K"O,J9V5AJZC74?+\49%<.%9=W$L<%Z M T;&V0$-"(.)? "VI;$JGAA?NUI6[(>FV-K'<6R0P] M=%*DKE@5\JP@501ZRJDH4%P6(4Y1T<"B.@$*4CJG.XO%Y76WJBFF2!QIQ+C[ M;@-I@QP*7_TIHU3;NK5I9\YL1(!#$*6%UJK&P"069!M':94)DAP&0I#-33P= MB*L,1(J@OYF0#FMYFK'="BUT<>L"-CL>7HQ#.'/$1< VCY\.QKN M'VDX"%UR@JG%DA4?V-O]=\Q]L>T(J/B%2^@-Q U-;L9,)1BLP>)PA2I, MLXF2WL!S'8K&1Z)KPF),'8@!F^ BC(:@,"6/,T7OHJQ"?>0D9X';G&=5*26+ M<+M8$4HSN&I8B^=BL*#GQ74]9UB;*9!L+D4VP/,I#\[/"C*2:F4 HD3,B"D)SC52>3.&[: MF@8T#>$S4J6Z5H&@=LH&$S"#AFV>)(]KWCFD?4WZTC-&O(JJ1?TTR&(C@=5P M@"-6*![D <;7E-7F5LW28=]Y('M$,9!%F.< JC;\S<&E.+$R"9E?SOY16P9$ M#]?X,RS2@2^WM;K08NS)K&<[QD M:K-ZV*V^^LR_RR3"(@8# 1+#*TFH7/!CJWN[LMD\<^A&+48SW=\:XK4?LUHF8?$]9I_0 MM%RT,SQ96[E'1XQ)DY287)5C=B,R\?@ $#GH%CE8)A2D#5^H.Y%;EJ<,)DAE M<=,FLT9PGG^;9;EF+V#H%41/F@D5"'2>(P.R+HQ@0E@F!OLBNI!U ( (([ S MJ9?;LW&*X/RFX]2;OYS*+_B^#KI1)P'R[ M%"/9K1W*\7">%"NZ/1S[?1Z&TT^@E%HR^L0%"K^8ZM MD:_*5L><2,+.\BQ_R>',:M$106V*"W;6L:=4G*3LL?"BU]VXHE>L90']_.2A M*Y6W*HXG&5&J@CS+ON&,N;7"NP%\IU\&B:+TA7YCNXI@C5+.D3I1R)PE]"P[ ME\>!9JGXU->R.*/3>DD9X6B,F@;&"Y[I3QV(8PBX"3][=J[3X<8;ON091A\\ MH/RV"BL,Y0I0FJ#%DJ.,+>V#@!%V>O8+(+04KU,CK%=!E)2?H+K(.$9ET-E& MMPGSIUU6MGVA6W>,@G7*QB1< ,M"/?PY>L.%^?7, M][TJ XLI%;ZW^S8*%Y>U(:<&/H 5S'BA C +X8JNZ<8FV% T4,?ET)D&VN] M!P4SOPJ:Q)U""&M";PQV,'6%FEC/!]YD CK/N0;*9A-4;?()KM^Y@FPHY2D\ M1D>P4PJ=(F=X]?.4@9/GUN4BWA OSJC!+^T4T+6S[O3X?K HEE10H"%@6L,K M%R_"RF1V9=S=.;];=R][OC,][R\*='L1@6^==I4#?11UMW^8G_I&H7L/!#4L MOBLV@ ([%08(U[-H"] X5$0=SKTES/A$+;R MY)CQW9FPB)PXY942+)<4V0]G$U:(>&55[+')4*9*1:&5<&T>FLHMEM>ITPGLS85S,++=P/JM-O\ZTJ552MCGE%_ME MOMY$)IG@%%;F7!554;N4?JXEO*8^QP!I_8W!VQP+>J9#78)Z/6G?1< MNNR$*SD;<)Y)0:!=*>KZI)TE(("DL8"<.C]/THF?CA1+$?LP%-/PCQH$5'(_>EJ>M6 M(Y(I>@J921*>@G)Y2.C;&^S&/(E6+A6FT MICIN,\_JVK('S%7&O;(&2I<]XWLPY,A9'D6:"P95"6+'[*0&8;U80$RJ;(JI M%T$M-^54"(V!VCO+RZJA'%MU6JG7 "6 ->70^I/$30FJ^EM,O!V- UFI49<&_L9F5H"P M0=P/BYK=&<7"/_F'[B>F2)5+H1G%56 M2\DSQG?S1NLRD37DG&9D+!GV4)Y(%&2X6CN!E,&)_PT&,NL=93C'/J M84O&5;#1G#!%B3F4 ^Q\.C_^>OK2Q5W((/:_]D<9V'!9A@U7I8H^O!Q$\!M( MW;\;R @PO+-Y'X;1C[0!%?NX$ 6'29\(V : T*<93?-R'.>$XD"IDVJX#^5A M,D(;%D>+,G,*''-V1,+:H535B;R4"8/_(_$I=PDZ%R6@.](KM)^7SVIP7#^N MY9E8[AT;1/*5WJR1PHOXFT=E&*06 :5-8:+-'1K>=6;XSNC/V#"=^9.RO9JXJX8/6@Z\-BGL&_I-LB MCTDYQRQ8"6&D%9@Q0,Z_RKX_A!' SLB+5&YI5@7AR&U+*-"V[C@H\] M+GA5CY++Z@?#QV;IWJW;Z WUM\<@3YI64M]W<3;X[\;:" M2%3Z*FE'G8?^,?!:C_8\\AR'(;42C0>?^LYA4^='AL_0;=;:\^LP(0:3Z(=!D60I(/^%_46M*R3RDQ$#M!\!Q MVK*07!^<"$LL:]JA.V+@S0U;HS8E)T#"Q-K*!0WL)! ]F.TAQ@,3A>OLU4MG M67S0Q"R%'57T,G>6H"%=3AVU28:@FC ]O/,.6&4R8@_5(K&YQ%9+CT%XYV), MJ[G4*<+50&533@WEM3/>#_V3]2%R^+A5A)G-KKC1>]C5GRCF4R>GFFBW47!, M2D^#(1OWP$!CV"Y#U_M. ZC>*_$CQ+4K8HUZ\<,O1-N#8^1>BFX4Y!BLG"-* MRT!=^[44TBPK?*Z(IJS.8\8G.T#44:$(?VPR2RX> G8B\6?<3A-?3FO'QAD9 M):53)KC$Z]:/S.[8)1LK+R_'$@F@_%:=,H&%UHWZ+%[:H5XZ#]X[KD75RML9 M&!D6\DUXUQTB R8LKW2/A.")FZ(FG_D]HJE%H92VH$%8<@UO+^>+D.EQAQ.O ME$.?P>+BI!4X/N84M@T.W&Q7F^Y5<VQFRWU2L4K8!@2@Y^(:;P'.R/T<< M=-[G.,K2__S+QZ/]PX-)O07 M%N#RBQ_S3X?[!\=[SP]'^\$W;SZ\>CLZ?9_5GUYS=/#CWL')R=Z!/'2'LGL# MX 1..!J=4O7^N$=["GACCT* 2XUDK==?__^U'5%]8RV$)PTPL+FX 2FL+20I MF5-9+,-E?&JD?TV24"FUX;?8$BVILK&A^JYRR4Z4*SYL_064S(QP_=0="#NO M$8:M7U6Y<4S\/6?=H[''X%/D65QZ.%:VRE(OC)7,-I*=S=G/%1B^7LC^GV6+ MD-\8-L""X$F;2\/"3&LB>8:=-0XZ8H_\U](-QI5]B805_QM5WR._\,->_N/B MS7+^.I&\WRFJK(I<^=RA&]KRD>^S&LSD6F-\I[#%*T+PFU!S+TY_>*E9U_3, M>Y=>ZWKP]G0S_ >J7)DD+^'G_Z!4+?X;WYL3(#@'-TL%JUM4D M2<%AY?;F@_=F_9++W^62VW!//U@NT9\M9N'2"Z]D!.$E&Z\-)=, N9X3X;8\ M!4R=HAI(WZ-"4MNBEY"SVM6%V,1W53@P,,.%PM*H2[PD MA"W2YRGX4I[TGB[#>]?AD\KAY"3OIFG"E1C\*P4O3H&E-&WETATUBQ'^M Q& MY1EW>QH7>_OOE^9W3BJMAA#6:.F.Y\[I1HH$F6I=?$ MSI\_W'HP0CJ@/7GV28(-CI902G5HB*2 ML6!9N3TZJ9QCN(\)-RISWS+J^M@ D3HF"M(9\SPYI\]+HU.X%T9JW?!B?W1' M%=[KK>BQG$'K+?EWDFHJF;^W6GS4N9Y^HK@%L^UG8)+$@5Y9[F]*Y408&_#Q M;D" GKZ[Z/"@'B4(*$/[8T@P9D$^O*XUA[<=%_PZ ,V M4%CG!XWDJ((2KB6MV4(7PTO2DD'2Q@'^F0-G%@#//OQET2SBPKV.*N(SK[\[ M=U$1) 2@5H[72=B)5 :LE(4/434E( $&6"@E8\.E,#6SUNZ0>EGZMNEU6S%^ MEP3UI>I4LW.OO.S>SJZ,@1*-X^(38M(EJR#=B]QGWG=$BL(0&=[8#S3%SDR@ MH!'QH09>4IB5K7.;$,R?CQRD( L..#I$MM,KX/;[8K(*,6#T#AQZW4ICMBRTQ#U%B3+T:%"N# MK ?,*X"K7;6LAH5U,=(326#R5[ZVISU3F$NAGV!@*TXDIU&J^RW85>W@06N$ MS%(1(X(Z'FN!EV((U'=KF;UKN_VMZS4@-2K\8*APKB6Q:B B/(RG"'E/TT^G6\U^<3IZ59I?B%3\@=P+>/XNQ<:O\H4HI#*SKO&&Q\$ MM_B65A'RG$WJ&H@ D] 2^ZE8\&L]"\RW)NP=W;8RIZ3BX$1)G_*6R55]SOD. M6@A)UR2KDG:NZ3@2R2.K"-%9*:A3$8X4!]."G<.\)/L^-RAY-%V"L^LIDJ\D MZB1X\-2/,;P92/QDGUE\ );A%UX(F"Q> 4ZW52^9*AZB[N(6!DY0A:0@Q7[#'IYUV1MH*<,\UKQ@,>:3N@ERU(KA'/J8>J*'@8" M0"!'7]D_K4TF[CG:>5#"XM3V/5+'61ZO AMUT.F/)E>&']=K/A#(3=M2KNJH MO+10/22QE%'+M)X__ 6&5+VY2HA-<=,:6V6F/^*NJQK4)2. [5>=%KJ^"CF*,DK<2G!*RGV+$'"E; M*626#B8XA!I)]7T)C6%33/Q=G#&> )MJ,;*PLY6(CK*UI[/>4\N:- M%>;M6?P--?"S8MU8H+C!0)%,?$D@XH,V/R&STS/))*VTYK:)6OF<9_!^!G1A M7"C8X)^]^=E[01C&FB)(7C1FF5;#]_W,Q"M"7W/H[M[L>>8D"2PEM?=4BD#H M-C!V%=LFBY9AT'PX,X=6I%%COVW3'73+O)+N0&$#4)[SRZ'UN;?&XP/YK!2 4(R@_6E-Z+D%30&G<&DCTRMH[*BAU]XBIC_0[630HR3F1JRX2"#K/13(B ,^T@#DI$H@KN:)_FB%&T1EE_$J#-F*ZW?B)MUNU[VC CM4N-5\V M17*6:^,I+C=RN[Z*/2$QBM^1\]&TZX$$$VP0(8 8\]S2<%(2O:T5=;^3P6VP M+G')?#]DW%@G_">[V5V'&+-(S%5"G$S2!@"AG$K M9R^T85/7^T0=K>>W:CDR*3()KM/>#+CHVOE(JI_49DC$@W!NT5,KO3NI>MN+)L"1$<[!OVUZ7RN_(8N5JR'R:(&)'4* M= BZ5$ZJ8!+V!8J[8A3($O1HH@[KCG9-6C [<5+%/!.&>YW!YT1MTU M[ /F42,>B8/P] *L+G*'/YSZU?_.S <%CK--,C14Y@S;2S%5SI[VAW39XI!]#$AC\^O2TC7@DL$V1WBC4QO1IZ)*GJ($OI^RGJP+H(!$\W_5306U. MK&<&,(#K,,:_.&&N%%F"3^E]>..GN)#OA..($,+\@7[C.QF#ZA'_]Y\0,/I<*U5Z]W3S:#'H_B-XRQX _X#[^I_T.7>\IFG MSF>\BR6NBZG+O4,IEAI5%&8C@ENL.Y,YT_$N9=Y0*+6 M1[ @TE/T.HOO"2I[47?4NH&VC&FDJ2BAW8-N3YD!7A&KQ2%TH'7B =.4,.>X M(M\\E8@H3@J7:U*J&>CKAJ+9Y])WG*'QR:4]<$$\,M\2\Q:% !/,/8I M17Q+P5L*[J=@RLO3+#1I.^C"\D&*MDUS$@3)(%G;A4.VQ+8EMDW>3C!I&@&& M8=QCPL,+0M:V"S#EN;FRDVE9IICX,K!H+PTHC=Q0%H>M]0O*L\&P6BI?2&Z- MY99; MT2Z.7N>(ZR=G5"BA.WV'.)P)THEGL;C#:PIM;00O1J\[$/ NEY1U_+,]Z&@K\@%'QQ>W';%9F: MJ7Y#M6Y;WK'E'1MX1^@?259C( #@!'$B,&O(%>8+9@)PQ;7UHS@*_7H)JOJ# M!4U7ME'Q54)VCCM0ST;R+Q9L/3B,[DWD>R/!#OS?X<'Z:0G94E"':.8VDR5O MNI+G="UITC5[&_BX'WVYR3WI?MVTY*S6%J4N'S\ZE8Q7PNT?>"4R'M:N%L-> MGA*\-@GRN&,=J5:&;,C*_GI(N?M:^8;HT$4=XN)T2_DT60L+?^D;0:>J9W'E MZD4$U>3.0<8T-58;//I-;T']F$I*MV:'2H=5+A1S8%M4C$VE9Q754(W1D59( MCTRO)^:2RB6]ID/<4E/[[BB2% :S"1N6DF^U9Z)8I.-8D!2I08DMB2:'=I-) MQQJ7INL3(6V^DIS?@'(0<6;"$DO5%_"QD<1^6:!7O4DE$Y1N+Z8Q0BT1TFS8 M==(YP2V,9>R%C0)&0#E]V!:,_.,VQ\*#6H@94T 3H2VN+C5CJOG'5#S"*.(Q M=F'3P-$00[A22(LUR SM1'O8,$84?E1@]6HN,V+\&4[9( >5I"&JB4]EGX:+ MS0:1D=9O!#&J[38'48[\B5,@/WN%8F<][3BIQQ'L5D/$KNG22Y@%K,."3'OU M9FMM.L'00S:F:=;4KW-IN)2]4[M1&831ZO0Y^\U6I?AW6\KK*/.S<\\'0B<- MHZFR1>"'".%&P#HU*:>3+:H](-$=B+)[6I5+M"@<1@07=.-.2"4>WV.>JDU% M3QI/T/LSISI'S&DH,2*I[D!I*(JB1P&4_&1\1[-<\!/TW>HDN#+MU1EPJ;C2 MY':;_+JT[QI&OXH.2!>AS#';DF%6D4]R]3<2%B;*&P7*V\!G?'<]RJF>9U;B]GFML/MN%$FH02N(LN1!9N8>F@184H2BU1$K11V)&:T9&S% M2*>%C+Z T_P00!DNM?5)$*KRM2"F'0\&T&^S>S>5/7@:6T_*_?&D4!#* CDA MT=B:8#_N[^6J$/:+W]DQ=(K>J_J.+;7=+VJ;"! 2D%E*\"/P)>,8([@-MRD$ M3M8J,!#7AH756;F9LCW*F+(E:<=_$&S_9"4P]*WI@Y\E8<3M%H@S;A/Y;87*_A EYUC/I%\::RUJG&(P#%_S2*#6\L>!N?40 MX8=1+\<+?CBNRC@5(*P@ H J!X+]I%X%1N"Z]Y"P^B?K&E-L;\/V-ES$GQ7S MVO-LA?$BA&MHV?0M6HKYG.EE8@@;S<]MXL]48%M0;A "&8&*O_*8^Z"W MV(?3TZ@E?:Z R?4VV61+QQ?0L0#IBG==O;^*U:A8WE$=GZM;3S"Z+?V-@5T2 M/G6 9(M,/"MM<,=SXUV0.M)OA!#KLP;0G42Z)P[C./ 6JR+5ZQ)EX*?"PL\9 MZ39VA40'KYE,)]?AOD9Q/LRR*F4\+4+HMD$Y+ZS)+;,T8J;8U!,.]]L@[UV' M=6 A2/BPG!UAK_[ IB@Q&"@[P_LY#C)S%H^?1DDWF/X7;/Q-SX6I24Q! \KW;_8#$Z[ MDH0@CEA*DV5.T0GR'<)8IFWWB*55U]N"ZUI[#6H88U):S%/&X+70\#[F6T\B M.OY0,\U5,(=IYG=.Z$E<5:M.;3(C:1.:23I0E.0\U107:B,2M(JHV^G44"*(/PI2 3%XZ4Z: M.JP_KZ6M6"^+N-;K#AL^C;T,&://")5QP#4X$^^M"/RJ+]0?VAW"(P"^,$=M M\%^FA^*X2/RSK6?H0H31=DJT%MN)4PD83*:3..050T@>1E]#S3ZI)F@OK+&: M!R;A,$^!*O0%[-14Z%9&'V\YV?$$VMPT,\;J]M7_+@J;EPY2QJH:]HI8I MYCPKVYH@LQ'NS>OB5;JL$9][=)N![Q[N7FN?[R_@*Z7,0!Y570Q?2Z M/7"1!/<_*H.6-*D;BQX2&&$O,BY]C+QMH*P@BH6W'J@W)[?U= +B-JW!\@9: M:-*5N<28D*;@N#N=<[Y@E(C$N>W*2HF4"&4O.KZW8M>I5)MT$!1]]]TX%A$T M,6!@:C'GL7>08H.*?K4FRBH#\O,V"J>=YX+V'P(*T-DJ_A,NPO:*."^S1-H= M4%T&<^:Z"7]"TL-+DY,.4\R"0?9CPT9.'=2?X$VAQCV*Y-IM;$1)E;Q=0@EQ M%;1D4)&0U0GC12/X_U*:*8+-5>Y5;!(XQM:F3J=F$ Y]R2@Y%:2/22.V^4=/CT MN1^Y=3RVOF&.VN=IB7U7<6;4%S(EM9]2\KF?[T#4!53-IM,*46J,I[?1_= ? MTVFY+A7R(NUQV3UZFJ>NV3;J1;D)+-FM0BY=CV0Z\HW)>?VI8& KYTCD8E][JW M"_"HD<]7>NK$*T])L2I*[>LH]65*BI,=VR:CF_(-]K?Y!MM\@WN4;W#_S*W3 MP ;NV!(V@9@=;]8#X6-JB[\-DZ/@DS$8H=A1KUAU$X1%&?+C-O(;K6_J;7I$ MTR@9(S6)%W&B/5%\A+B[]?&\\;P/2]>(!2OQ4NFJ%TH/S2+W$$+GDS!CI53MR7+A0)5M^0]81[ M4]14;: >+8M#CP5WIQQ:'/0V/-M4713#;W!W,]0AJ0$D!=[79NV[KT*/$B@) MU(^O^PJL+R.T H4JLLHA:VXNOF(IBBNDJ &DUAEUVV.2>LB5,3[]>E&MF$9> M7P)%=72I.?,*]<=Q[U:Q9,?6M&&$$8R,48RT(0,"QS$)_HJXC6[&4KJ;2DDW MF7"$'$_%/<97ACV,9!MI6[055E'47#69P/^FRW5R7.28NU?"DS["[T[9]?-?N(%D_ M\%K"$R*U7RR.[BIDC^G#G(+>W/!HJ=UAB?1J8SXIOPFF[!DGW3G8 GCZH8H: MAB?,,^Y?BIQ-PB3*X'A+B3F6C#LM5G^)EY;4=DLJ$Z^#7] /2E, P(H@+#G\ M&78C:K3(F=PY0HPN"B1T)\4H_G;0348>Q,4M!9H=91%4^R!3H= 0VZ\>O^#K MI$<2UK51IH'M_E6%]6WK4*GKK$.-ESS[A).S-R%8F!;PTGV0HM72-<+UHH;W MTFG,$3MOXYQ/Z#^P1,9,8O5?6H^3U,K47EOF<1CQXUQR%"+$^8$Z,'7J;I4- M;0JOH9JXD5SX3N-WY!,L$8VP*U=*+7H;5^G:_ $L#LS.&8N>=\;E.]I-RYQG MSQ-;1$"X5_X^<>6OO$6[,",;505A&'W/I]1W*F(C^[$2+E0BVA3Z[B#O$;>+ MW5C^L<./Q0.>>2\A-Y4R"-N=<6DC3.>EQ$^T!CUKHO[F=PICW$D_N+.D \^X M07]B-EDI49VLF5O"S\(_1C=/9IC3.MW91XH!R*NRJGM;]'%C^$X8?1"AQ5KL5"7ZJ=SA MZ/"LS3(L04JW>(Y!A3%*AAS+]=F9BE,6Z6PCM.17]#JTS\ T8=S66?RON$K+ MMNZN$A1\>ELE)M+7G:VOXIRR^#3FI&^U>J6O M& OW_+TM-"[FNGQ>O4,GYC&JO;&I6Z3,T= MR3M;FEA]\/:$G+N7,(XO.# 1"'>K7 1L'2Q8RB!BH)ED!3IY8ATWMIU\S0Y\ MO^$H$'2Y%HPI!@LV\J'+AK,D %90'^"3Q6Q5V[B$%TY!S)!.2]]A M]+,^S*"F%%WHVX"-[3HHUZG3. 16@34X-A" "7+8UT=CEY.\Q'(7C.*U%29A MPER^&> 4&,$XYJP_*8@)V[LMJ3XF"$+B4U2%CB5G9_B.[@0ZD0C.\.H+9OIY M#2X32\$H+("_)G%0[A)M/66@V-P.SOZCC!NI\T*W4I[?6H"Q2RT_F6E6,XA1 MIVM V93 7FJLGI^V"G.D(5F;R\F!8MOAK/>*K+>MQJT*FV4$>.W:L\B/*='Q MY6ZVG-_ES2+1)#N7TVB/QN[_I/NJ"./2&&JC1$YL7D5(^.XAPDN1]>0X/*24UNEIWF>,OV4N?3]HAI7S58.:XHV M9K&OU^W<'% T&BLDQUUX+"A%DH/9R4+@>3;+= M*;.;PK\;3H]ZF53%6N;'QG23@. '+!-R/ M!O.;$""%4@%1BC*GT*#GP"_81>%73&''J(?)>MD),-B2E7G8Q[)JI"P3#H+D MO=8U3^+SLI).'!GU2[=<7=)N-1/453)01KRM9E;0!:Z-K<6P8,!]3(N88K9! MP=@CDIR,-WT"Q GS3:>FP71#>+=F+<,5G\&U(LD[9V8[:7E#J-R]EE0JJKB5 M3P5_YG5;X=0'E@8ML?JG+^F_T[P<4\-"*J+QJ=AF;UY RGQXD@3>FY!.,D=2 M+;52A[ S,+V4ZRUL2C&F&).6@%ET [+/8BPYE=^'\D7E2MB8*K#M8NG[@((W M2!+W5!QZVQ*$#-8NM041)F6$^3?2.W2RIDNH(S7E^86U(JO2"7#Z@/* M1LVH.1NHS0(*A.5APGD]U=DO@*#\,VJZY*.'DF:*EY4;Z6F=6EXN8>="\G'/L&+?EG0WJX5J"BA(0N')TA%4W-0[/0_PM*$W$G*?JML.)[6; M728'V:VGZK8*9.(@C266YFRN&<2/NOJFD^J<7;HX0O%R++QQI.2.I MCLUGW'B@]T'ZX[7*EADX1T!,]FE&PGA4(+;$TH M5TYP'.LLS;#XP[IR@HTFB2S]!FM;6D".QMN5Q+P# >0*\S0&^R;7$2R?G(]7 MW("\3.+<6R[**;R+L$:N_N(=4MI1]XS*M3*0RON7?!?LY[987B?KQ+>5;!G*YBW03'^6Q.$V2V*; M)7&/LB1N6BH[WD+"@;NCQ%G.!A.5"O8R&D+NXE;WZ(]-,M.IOR94,,9U1I7' M@QZ,JPKC+UQ#X;7X"N!/:FUCX36CX[;,?B/'Z7E, "M87Z;(JQC-VV0$V@KN'0Y;O"^0GT980[0 M]$'ND\Q,O2DN'!A!=Z85JIC(BAQFLC,&BOP4:$B[EN'8M B:ZF^&H&99H49H MG !$'3,&RP4"VL$GC)5WP=:Z+16_.#Q=Q4Z:,P +Y1.@>QHV+HV)QO$_?ML4 M!N_@V+"T:D8?J(*X6)M/')"-*!TU.E9(#:I-+CBH4MJJ-'3',,P?4]VINLW*]YYW][QGP?KOFVZ\0VOYRG\ MY4#@L$,1S;! C[C'D8]/[U2G5E^_F'_G8_H#MP57[A5&D+ M8&]#VC:FI)^L_5J[UW*KVH[A.>:4 MIIUT(Y,E555GPA$BF(AJ6)]XDEA^_3 M\:-<%/EQ8:20Q?D_L@Y%%R_R[@*[B$(Z=0#D/NJX#YLEB_>!6VII7V#C7MKH M& E+J&?#TVBG$")I%P+*@5IZR1O2RTR\5A[[$ED8LG=L-QSWMD9?XVE]+,T* M;4[33R/Q\-(ZV(5)^"2P@7 $\$,Z'#(LZ0#@_+!_=SF?@P68"#'X%"=]H^*< M1R;Q0PX5X-H5FCV$A%(QI0SL3[MYWSY9EWDK?!95D1;3:\ZSJJ4''3G+IG,4DJ2#.Y>G=,N>8%'Q=OQ\%J*NIZXY-E60,#T=120Q5IYD\ MGQU'C"0[B0HR@]!7"YN(3.,SJ@Y M6B7I8Z(3.4THE,W"$@>$.%[!,U9MPC-N[P)+Z>L5I5F6>R7R0KR#M398[&!P MUVU.+;4X!,,^-_:8-+IEPF?$QZ[J$^-KV1_S1N/M7@\6\%W@ZSGH8>%,78Y8 ME5? 79_ ^&2).% .O97"28@Q,A(Z7$PT=F J%:,ON<9"NBV4?-*@L=$H^J'E M)]XLF=V>+BI8SM[NZ*0#MET2I^]E7AWVNXSKH#U*O,ZPF+?9>"'F:*3B&4+G M5$9>O=_+2A("/;D,)*J&7=T!)=-[ZNZFZH)X+178):8>;);>]: =EPL4Q7@% MU),/(KC%.7WR>SD6J&F-%/H:I!R7JJH^D(TR,%_H'@]EB$ A=,A(W MP_2,Q(.ML% Q2)0QN6V$_SO<-P\H9Q@I-!>UC\93R_YH#;H^.:10CAO./5AG MU&C.@CI+02_=*,DV]%JF,+BKI7+P&!5'7HA!"89@<%L&6ZM M*Q>E/%&:K7CBCVY0D+>T "*%!0"3Y.;4F.%>;Q4M403>RM)9V'U&)D3' .YW&RLD[PX":& M6I*F\S5=(Q4)F6*0TEG2=VAU>D]Z76AYHB)7$B2DCN&\QW=8V M<'OB7+U9$R2&@;2U[WBZ'&7"=PA#Q(U2$I?A2@;)>9F?LZVK=RP06N0P$ZKT7KGNW'M#5HK8UN.T5QGRQS96( !L, M;Q?3"MVR3$RDQFW0W;HJ2D?;VZ#7>.*;D@9!-UG92PZ/LB:M62;C#?,!5%3]?;P1;%2SQK1E 9PA:$Z/M/^.H&Q MPERR:\4I9IITZ6-J#MC )XWJHD[E R[#8)^*.!+\[%>%9$>%D2X-W?S27]EF MIT!G1VJ;8> Q)Z]R2D^'[Z_@%]N2%]OO$*RKWN$]P\BWT91UZ*H1]LHZC:* M^H2BJ%\'O OF4%L%(51K)'&+WS6W6&8L\BGGTZ8,(@[;)\$J4FPZZIH;G2-- M%A$6BPH-\LBV]@%?V\*S1=DEZ?%=SH3J)+_V]0AQR[NT,8A7+"#6M0-8FHDA6$ST!8D)[WR6 _(P>'Y8 F,O:BE@1%%E*NUZTF)R(KD?,;?8Y.02 M$SV9/@;]O6SAB .D8G9 ]E(.%>& KB%)3_J 9LMQMS7J=,'KX*H;F<(8M2[K M_7%$I3&[_\_>FS:W;65KH]]OU?T/*+_=IYPJB,U!HWVZJQ3'3MP=)[ZQT[GG MDPLD0!$Q"/!@D*S^]>\:]P .EFU))"63V+M1$\=G:]%FO( MEPD,M,QY)1"KQH'>IM?6T,]Q_:;K1H2!$?3Y$HV$ 1#,],"=MZ-@(2G964FL M7WH4+Y(@+#7ML\N,K;*8%40RC>3XH;_-D@AD2]:N.H MSUSJE%^Y;4L+;2/"@6.OD0^%H]CS([Y%KZ4Q(8:K.\^V4I3#,!F)>A2DB3.: MM-P9SK&/)I.R(: +MYDIK9IV"7U+MCF?M-AYBK+0NO'E4S9JX@8,.3ABILCJ M.RLHM&F?I0F=F+ACE*3H'FDJ:M&>I'H1'1)9)8DSA$=,.$ ?@%@/&(>CR6/Q!V4A+"8E9 MLP?&6< 59YSXV=]F4MQ%D*2$]U9#'69]QJO*#@V)K1EFC<\2*V$/YQJVJPFF MV",\B?WSHME;\3R)LFEI?RU?M!EFM[F-TY,M*EE2>K>MVY3>ZRJHBE*SRE!OF MV D(ET&[&A37SRIN>%/X0NJ,T!%*V5)SV+5)*@=K6 YE 59^MZT5-0ZFP=:Z M<<0%X1&&(?FO:+>E/7/FTIM5&I_D#GX#N7XDU=IC1\S!G2MZD[Y3P*NUU[36 M$*^XY$N]IX I8)'W4@.J)0U:-Z@,/J;4CFWU3E6NMB97A,K'G 9N;O>VU[;9 MD5/EN.[ESCN_I9'1'&OT=KV+T2L;$Y!"929?#3 (4"^H A'**28+3KZCUE71 M!6B4[$65U$'A_'$R!I6"XT48+6BT^(=4%MLEC8HL-ODM[S#7\PMK2]M+UB1. M"2,89K74%T-W#R\68P>0YA GU:1,QQS6^ 4LZ/_Z/X/C_O,SI$#4P8?]Y_BI MZ8V.+!:N&"N[K\SX[[0==-6C7PV>T\U>$^V)W,AB^V"I\'[I8#F>N< P5(E* MY0++ZDE_2ZK:QDRT21/)&%*>\=[3P*%<&\)J2&NL\ (Z9708-!6Y:=*&26#? M)O>9512X%*YZ.OB.=Q1T&^!DV*\94_0HO1)-N3ICJ3TNRI*J>/7M9LCGP=.A MC+%LT7B/C>0QC*YGXFC7Y^:8D&;2'6IJP\*=PK3QJ%.$@BDL-K"S8I4PHY]??__K;^A'RXN& M&Z>2BE5S!F-<<4RK6+!PH@07VCO^HAE3]8_89E[RH32>%'YR:_FW_$3689.:I@)4%2TZ4^5<&9W1?Z5]3,@S87!J0ZRHN 6 M;MCEG;XU1BY;\A/R\G#,'S5/X?K83H8R/QJMA)8&9:^2F*[J;PE>M23X'HX$ M=QQEUO^0(?"[N:LOF[+@=KO!;SC8SP5,_%>.2MD;_8H!JJ^#IX@%@R X8/L6 M5]^%XM@4+DW322OK38K]I11Y;*M[8:TO7,P(S,P@7,A:TY_H5:F*XA#"(!,TT\1I3@BO5"]A%*, MARG&JL1*]XJW/2Z?W+#WNZK)L3;O6SD+](8%39UFRF11.66@!:^GH&DEZ"/C M;!'<0U"WM)K=Z9.X>CF1^N&6ILU7BG^ECIGV-EBE@8M=+\J"6COA;"K.KIIX M!FYDN_XB# =B01P0EVB]^U>Y7B0O9S00<@N>C>?FZP*TJP.T)UV M@O0/J( M;9LU+R2_'$$TUE1(F"6R1=T3@05#IQ.((R;B)G' M<#$,!"$3$S^Z M_C9"#4CRD5:P*SO-U$\)S]'QB-+>A$F,%M]UINNPKF$ZY#YT@C@S($W*R_?3 M+C7TX_:7X@ &HM+0Q>QZLG14MH[*G*1,U-"X$9D+>KF2P-(\G:-R&1=7.:%- M*K:)88M5); G':1_1X";"/!!0_FS]S N_! Q@1^;'MCX9H'KK>IES,6P'4?R MTKBY?(="@TDJ[:L%Y;?@B-;!N 'RQ>HS@79<56%DXF"*H+L=F%F;Y"M>:<*D#5;HQV1 M&02:(>Q]S!3R^1K?@0)*DB'N%':&BKWESL3J(K#D*,U$?391WE;>$I.YI6 ) MO8NW&/VKI0,0? UF!VV==3WP[F&"#OZ.020YO<)&L5ONA= Y']A2?E^CP MBN\E OR=B M,5 65A)@F)FI&5[@C;Z(2KLVP/^@;7NYV!''NTVK =(M.@$=3 MU5'=F(S-%7,**5 9P46/.:!<)HN$;[1$>CB]!,/%Q31$AX)48J'S6FD.N7%G)-H4)1SE20S#YDP+FRQNY1+)X/K! C8H3E6 B16Z21;&5 M"E>,D^-F*O&C.&5Q%_R)?0!P,][#SE1^OC!S1YD]'+VIV>)T(9!*%A6XO$2" MQPP!1#B2G->8$B5_-0038C2POV*G.3K]KEG@ROD/VGO^YP4LEDKAT1 HRJA, M.=T$4W@YK(BK5&Z>5H)4(\'YA&!"8X$W2.,#CDAJY;LL3TI+$Y\I,EY3O;*B M;NV1^MFZUE4VI0!XR9%OJGIU%"RF9:+J*1]\YG8$XM@E3(WBI5=*+7JM-LT& M.89>'7M',-VOKIS9K;Y3%#'CS-]V[QQU;DH#H'OKG+,&LM_Q*&^$[+-VEM*A(TIT&N)A:JS+EH<"-:N,W%8&T- M&TRLZY:T]?(4@HJ00'YA[JY<]QS(/68I&2=3H'Q.1I4[Y^T0;B'7VE-C> ;Z M:2H!OLM%E!KL-4/;[:XO"N AN$!+1\'2',O5317#%-7352W;W*H)XAG((RX, M@CP5]W/&_\9R"Z>C .($E*G&K4.!B1#, ,;GYN1BKMGAS5B&WU/T89LY"4N1 MYCHP54.'O% R77#FFOTS#2[3(K-_'+8( M#L]J/8) _& K*](<.1K":WD=K1!"4U+I9?833'6IW;9!"\SSD,B^WA+,KR*[ MI^"4>6Z(-S$)3,ZA6M _JN"A8I8-9!E*;QOT">+<\7\C!!C"&4^GJPE4<_H= M!"O7&JV2Y*,@OZ-MABEVXXNMA4K$-03K8"*QJ7B6LA,): M,2G/,59I3PU4OU5V[)Q-\K8F#%?&$(QB[/ E.83.3U?LT&1".$9D.)O60B8# M^;5)SA+L5+\$QVN))U@H.IE RN^)92!.FZ##,&J;4(F3D>;E;Y5_<9SD\XX&5\S::"Y7-H]O4+4EQ ":NL L4[K7U5K0R9;M4 M@E6I!*==*D&72O#@4@F^3/6RI4Q7A&Y=2R:CP/Y>F4*0,+AH(K+<$K6%J+(! M6 YB8#@87ZBE3<31"D_ G+'?BZDF-+!25]I7IUWN)#.Y5E%&!@O7UB2Y TM5 MM2 /#7+,O+&&+DT2E\'S)+FH,Z0\+7(.8FHKH\<(0'A">""V;G2Z-"NJG?1S MG-W:+^#?J TY@#4R ):FIPS<(IB-()M70)W8=9&+/Q,E;7E<6J4_-MK&C6FE M:TZ3M" I$I7R'BE:X,)\]OMC9K]Z1C14P[Z,UILY-7$('"0_:)Z9IC[2--.&EX[IEF&M2\9 \I M77XR?^:62K6=N M![A/+8!3^_S]^X5VDJ#.4K0* MZRZCQ@"2FH;6!)5=,YJV^@VT/RWMN?M#IU#4UHJKN>E8X\84=AJRNQLY:^:1 M()3S62"5]S;6>FU<+&,=L]?/.6;U"+L,@+#^F$LH!&"XF@LI!K-3$..)(PO@ MC)?(=DIS^UK=$B?[%D9V9^*F_PWB1@/B3B,4)V*G%5++81"E-0E MBTBJ!%X8)(2BU2 M,+TS5U<[SA5IS:N,MEVOV4E./*+%<:ME%+;[%W26;O"^ M#T9G#E0RN:T*[1<2#$_X5$U\G,]=&Z*U0'JP[)\1+WQ"6,UV;2H#U6 A*NF" MW7;BXW%$"5 $%O,OI5*PJW4#>BK'IR(4#G75=M5J,@QF?5BH%6\=XH=N)(K'Q@29#!0(DOO@T#J5E"JZC,/7G0#PBEODA3-T;V+I)K8LB-\0B$&X CUSM]W:"[A)*IR!E-%F'',D.0N1- M"B$I3BU6O[@7!%_-N0V"]V0WP&:N>1Q%0-LSJAOE@ :53< YQ9A*3"@\IBB#>0C#_T]7 M[TYP;J,L_B7_[)E0H]I4?[A28R,(,+\",EHU#W) )W"B]"D=Z3@E'R.*PE43 M]],0G02P.*D6::T5Y6[326K3@H$79\7H(,F-764EG-\2A"/P^J5R.">I"R8; M^)N^;K>]M)VQ32E8/UTP#:;HA&$T.H1\DG1 9GPM:Q/K55&Z_W>]/_SY_80&I?3FCY=Z^,4YI8O4JF>8G MW+P $S(/SD'":2"9]4S]B>;E2'8]ZFQL8"JL/,:CBHHS<4S'N/]@@7N[Y;]G M:QCI4 04K)JMU6%%:T:-BG*$:&E(.@X9$]D) OLA[\!ECF* MEMD6B(ZJC5Y]7_WGMWAZ,T-4:(,[Q!+AI"Y"29@$H%,FURT30Q"_9+2/Z!W%MUDK:S-P7U@N;B.X]Z/GYVF5!OC8M8*Z" M!RBYR%Z8T]U&]V,1F5J0(F4H5%N.X(,ERU!&\5JA<(6Z6J=BQ.R0[V1TBN(5 MS@,]^W.2M1*E,]YK+WW3N$?:R3$XSCY0\>D11SNQ(T3BV-I&1+!!+3F!:@+B6-* M...8A^!VY6BX;-^1:VN1N8@-55J,J=>^FQ:#96X?.RYWDQ0V_M+!3V8WW\1T ME'F)V:*F9;H/GFG0&I0MH%GKJN320'2B+4RG*64")I]@+RO^:)[@A22(9]M) M]2J)\.Z9-DL&C3KD%C (.:W-.,TW$OG!6D2XI@L%693VR0@Y96)E<2%!1'** M.9F/!'**8DE#BD53DP9B7,^SZ#^DM:)NS]9U*S57W."5Y*%.DU#K#.T$R45B M#P$>]$#SO?D+&[((0H2\(3G+[/=%Q51C9U53$0RNY"D[[(+;RLLD+)PZX\]_ MJI&O42T%X2;9Y32GB5U)6JHC9!)+M%#6V0J"F0-ZGEU45K'A! MD+*<\[5D-8V0NS _<.LY<3=:%:Z./6R&:EM,[]KOVLR!./1G,XQ)J.B&P=HK M@4WI@35JDFOUP RT%K=^9=KQ%N=DY(Z+."4#C^BJ*%MDU7;B+74)DUQ4 UW? MJGE1;E7A68Q\, M>_VV!^/+Q9X3@_$#K#6U*B/XX^NV.\-WR]; TZ=3V_: ST19.C&'";>%7M\I M>&,>R&KOV6U+N2_96DP.9P;T;);&<#D)SN%TV!\]OX^);79C.4U#B873$6K= M)Z6IS-)I+:@AY%6J%,KQ]]Z[GN/_#"4F*5KK!;5_+2TLL-&SM7PTQA)4M,KA MGI"'1CHB"*LCFFK5/*YX+?5(7#1EU5"77520B7NCR,>(Q!K*1!SOBZ).)7F\ MM&$!)$5QFAEH!C@^@9C%I TDV /]@%]@L#8KLG!,WT9V2<6&[+&X5 9'*%M@ M=K"4(M8(/-@L44K/4^%=I81#4(UTC]"K95EDZ,H&?H=1!.CT&-% KZ+. AU& MT8),+ EA:N,#FHRJ">Y=%0'N, \!G=W^;JV1=E$88]-)0E0P\4%$0;R&0G] M3C2T:JT= D0J4ZVZ6-XVI8!*WRS(RE3J+^HD(J$3F(#9/?>UIMFUIB:7=M^]8/P+Z7$B8;9(GKN*2B>YSVX?:15BZ-I:$Z77B3DI?0[2<9%*4<(4H@@S/&K\UB >'Z-BS M'7VB&(>@0K,FZT5&-\(Y[&(AJ$F?-EK,A)!75R>Q3=%\@4W$ C_8#-X_T[T& M=@^4[+2*A1MPE,"F7.(#C/-K\O==WQ+%_ UF825%A$Y/)VTL,75[2ZPY5.\H MO2 -"XBUD_:"1TOK97V 0C?4G *'0@I[T0B'_6\CT2]$$4$^XDJL)>+C.%_#@M MV&0&K7&6$7.7G'F_FH=@C1B2Z'H-2([2->!N MBJ@0JHNC7!Y-YZ;BC-*FE^Q(W-4UB1.VF)N=[/1"Z<&&]3PD1 MV>,B9Z37D M?$D!KR^HQZ^>KJY&+].F ^LQWL5]Q^)O>HM?R\2JJDG\\ ">$V6'B=8<:8J0 M39^W?CS;]\/V@U^%1C36K)A8JVV9I@B>7\J6?7QXGQ,Z#@CG\%?PU:U]*!2:[;4/W$Y7$%%U)O$S#O':8-X+$29791Y991YV.^B MS%V4^<%'F:V2FYHVR,3JE.MHV-"B3 E^@]5M56-99E0H56U34)1T2.YN6$? ME7QF3K*+.+TQ("B9UPGJ+C.W$?EED#3PXS1"E5&- M[/!T/UN'A=."FU4>18O0_ED<>J,K(]U!MPX?*3TB>1N,!6_WG^:\+C636QU5 M7J]<<12P5_*2?#3CY+I0_V@AC2?/W2B^/$>OHK!S?9.98?FE'$QK;NU0T[3( M@($A'G;P--6V=3-.53<3]AHS$?C>>9XWU)**/+GPWE<@C/G7@_[!OY[#8#I: MQ @*4[+ XM7XVTOYJ>./6?%.K1NP8$-+P#Y>Q8:T.;-'M$CJ5,NX;2-=@^,K MK:P%-C2[AIGIQ!1*U.GJ*S\S#@.=G,?"1S8#_PWG3C MBVMM9<8;)+C)]#O](:$T2:\Y<8-/6\%J\12$ 5QH/$>M/XDFH/VPXB5CNH.Z ML60))4NNA&PH'N@GYP>&2G2'5 .159A;N0'^F8#[@ZM>VK?DD5+)E_G0W>:.HU$[0XM8[")M]?^YAL#!N%;D"+ MMH*5>MP2G+[FKK8,@^4_V'#*=E3&66*+L46)(TC*I>P#)P?29A]$#$9E\E&: M=;H>&WJQ3A7@76GY!KL R,T0!\ M, M _^S\'0,[DD[H\2M2<+Q0:W*J'2OF>8$M8?_T&V^D> EF31G"!P?-)RB MU*9?J5MXCV^F';-Q:33^:E?J[2JADDXZ(VE+[!RY2&#=YW5Z@!EC#%1H,?]H MVQD?DPK&F(>B2SE2A8K1.$DAVGX/9_2*3;E9)#6 U/ ;<2XVC/^3\$7\O@#> MB4_]H*@NE'J([M/00"4[5,F9%Y>8B>RBQ."\^98 \8%2C)X IC#@AY31((@A M5)E.Z3\+;$*HP2/V56AA3+H@?0?[*FA2G*U-Q>.LW+:YSJ@4.A&,)X?*):F2 M_+0I(D3EL0E !!&P/\"!7:'U]*,H M6R\<"OLY8J<,:,MKABA6=; U\1-GL>8RRI)==<1@IS%%VK#%\F'=+\JSPY\V MN25TZ] ]@1UN<:)WC._\+?GPKQ2=!(X.,>7GEZ(*:24QG)IT[19J=+! 8]8U M2\W_RNPS=+RNOXH"KY0LR!V-R1;-'!#1+ZD]:$=$MYL-_T>"8+IY&WC7-%OA M@D/@ A?U+,E7;%9K0S&'/)])O::#O)0GMJ!GW;G<_"2X53&73!K87H*MFC&2 M( /H@-'-71AHS]D(B:G1 8>DD M$;'P;@=O"Q,5D=6WL4^2$!AYASOHX$S<, MH2./JR)K$/?65*M6MERU(&N#TPW%7N*)([>:)S4OQH':N4/:W42QG\L_ZJ)J M2U&U01=5ZZ)JCRBJ]A4RFGK5@B69$%+#9;L@A6HNN;-*5-62A"F%0VPID !! MWR\\DE##$HZ"5<;G)HF:!-&7.B[&2--3UW7T]=T>-O]E@L];%96+22SU2AM\1'T2">!Y5UU38%.GXX0[ M.LSQ(2GV\UFXWL:YU+D#P487ILC.016UQ;$$4ERZ MHO)E*=,DUJH;9*D*HSDFE&32A/&$,V K/WHE)4Z*C7'>*-:3AGHFBG!E#YQ;JQO=44XAS:5<8/X(4Q ,3K;$N#F4 MV#9:J:\2PJGU@E=ISDU:2&$P[666?^-!?OWS!U5E8=$^PD2;6[5QR M<_.Z?'7V J#U*ABH8)5?51IGP*BA!EK2D? M794XQLB4EFIO8\[G=W$K- M4[B1B' M&G3P7@K:8X[!C,P!RA>M4CZW$[ ^K;>7K5)+@F%>Q%A=\9\XC@WDU:117L* M8W6&.ZC]+@ZY4[)HVF%S\3]YX:P#SL&&XX"[9N2T[ORJ+34R"N6@[4ZWDAJF M;$#Q88&JR[#.:2YMMBSNI+V(\$U"-]2A/=GB+*F^D1KXWE8*!*U5D6U/+-[* MIP-)MA"X:"VO(/]NDFMHB+,I^30@)KD(:G^P!OJRAJ:M O/@Z=#G>BF8V:?JO<:DCJ2"XK&:8*7! T9 MMGS O+K1&7_#:0HM$23M)$D78NYA[A7*<\UI<99+LV8X/C*>R;&\8@8:&+6P MP0XO9<'*Y];>3)O5]6.$DA5@P&XN7TDC)Y10K($B=3O)3Y M1'+3\#EFW$XLP@E5+>DWG&ID(,>7!ESU(S>W(ZU!SYRR/85G,-8L<2?9RQTS ME,[U*&DD1NPTD(H^HM232+%X@C2^428LGQSR-5AUMKV&(/+GG?57/DME2[U4T7 YI)/4V7G%BS?54G_%LV-EXJ&8@JO MK77@;]7$\%L51D,9_?_(A/IP>CD_&AQ^BZ>3DP^'AX>3#67+8_W!V>'@T M[,?]L^AX^H2Y"__B]?N7;P;?_YYC!49VF<1 8=,I5G0B,_HP&)T=#_KR@SMG M)>M3/&&7J?UC-$F>P8$=7)71 @-4,/E@\'TO""C;\RN B779 :T[T(5OE97\ M4N2)=ZB3T\')\>%H].'P.#K]<'@4'WXX.QF=?#A)AF>G\?'P]/@P63K4X5L& M'84;_N'H;'@X/-SM8QQ^]2G:A6X[%(*)T@*8Q"XL;:L3,C((>K\'QPH'2[SW M5T84G$6Y%*/P4_81^FE&62=L@7/T_U,. M6:7!35:)+QI=+,]*RE#(E:HKN- /N!>\]?*BKA% WK[!);4U.N[K0\=Q* Y7= M\M7G7D/DY(S(T5X'KE#W71S#["6/R&VN-5#<1EU!*#@:82GZ9]YEL_.EJA9X MJR16CF4&GZB,%LYP$(+I$U18N0O?)PGI1X-!O_TQ[1#HO PH;5-YI+"*5F9] MWT2<<3L_/#.M/-T;-FXX0T@A,$'\EQS(:4K8WDK+<>36F70K)4R\LR67I&J8 MG^+N"MX:9:1Q&#J>26?WUJW$5 -R;-8&_%%/,D^2>(ON8[MM?O3-;5MG.E>3 M:O]3@?DNP";>)Y^BRA-G@_Y1?#;I)Q]&IR#$#H]/3C^%VNBKA1HM-W#6NVWHQ9;]HBS/HLH3 M@"$5((.Y(6Y*8@YL_**.7'*W/.M7^R.QWENU4H")2HR'HA6*H6Z0Y!W=&?$T^+7L ^_+HS%H#!F&1W' M%!M1MU^H.^' PTN< VQZT"[3F)ZU]MP[&P^R$/LKK!$'/T>%F:&&T"(:P+Z( MI\[@E9E,B"GA H/I'%),QCKO]8@4HZ9*%';4D8P2,95CC"XN,.CF-B=;'P%; M";;@V3#%FAQE3O"\2*G440;4*#I7O4492/WXVH1//>9R,IST3R>#^,/@]'3P MX?#T[.3#Z23J?XBGP^'19#0^39*S)>9R^ ;H\1UAVO]@ZE>J#\/1X&RTX];/ MX5=S&%QSP(L.G%5OV?2I'7PI[V"/SY+^T71\^N%XM6(2(@;X':@:V;I-$7DUO\%;TH!0,79M%YN7X"#\51^ M-?)$IT+2ZTT$.CH-*6?M3:;]FC^!@*1C@)P4RK=?89;\B_Z(L\'-;/Z-1.1/ MARI*WR4@=\OVUZA'X!T"$?AKGK1H0N8W2PAN.8\0SM3N[XH7K5LWS/B?4=Y@ M9!%F?-:#G^%<0$SB\DQG5'YKV-[H!4TT!3EKK>XZ^ GD?3H&NT&TCVQM!_L-&I?UYH# M3&&69-9[;3.RL+A$;7&GA1UV/D6/!TY"M#S25F%'J'/%)5JG/R4"V<.GJSR/ MTM&5B>"QO6S0VJ-QSJ?H]&@1DLT+ MRGB=[R:Z-4#7Z!NH-75>T-L)-(B=-Z 'P#M_@!LBD$)OJ$@+O_I>3_[<;YE. M(WU?X%;"#F:@L"==D'I-D'K4!:F[(/6#"U+?FIKT!]BW:30/?DR*\L+1DXZ. M5^E)-Y#@UO97".P9+-8OU16[3@OMZ>[4<2307Y*A<,G]-ISE3*X,/X#IZP2M< MF$X@XZ#\=_@#7IS""R3(4%#'O!U M/NFA:->>OP?4-2B61K03M$U:32]%&,O$WV%6]URF/L2I>Y\<+<]]0571$VH4 MI?UC&*J_3D'B5S7U70 5[#?0>BK^Z7]%\\7SX,%G6)SB'=IGQ+]F\4G$ZGODUW!Z_P,;>.$J BSZ_XD T\$/!>I+5&^,O_DI M*B_1]$. I'>364%88;MG 86 0/ EE50K"\4_3:E2DP;^C.EZ1_#Y^OFDL%-%LT"^(IWY?%%1I$!Z^2$LGH MM<5'W7P5KU#AM&7G_OT;G)T2+^2[5JVW5(@%G9?U##<0ZYVJ)!<;XN>WO:5% M4S[Z"X:<@SF\Y3(P67PDQ[CJ1Z% =X@O$"'I^T+M,Y89HFVZF+QW;&6])"]!?HRRM47Q*R;WM/6 M1T2E@^>H*:/@50_. O%6[)T>+?DA;Z!N:0J"^MC:EWK@NLC6-^AL*=EYPNW3?U@LIM?J%Q."NQ: S7)WK8'N3D.[SDJFGB/?>%JX0F7<9E M=?0/S"U]55"%QLV446WT/>A U\%YCUD,*:.>;V%-M(D5UB5YNUH( MHJ8O'N.;W$SG:B+L]_+5+&6VSHNCM5;DAI?SA6WR9+5TU-OJ.F:-4O6#]3&[ M8G$PP&',F+ 8.]L5808.;%\5Y4?)C5!UT3H0?GS#2L1;W]E]7J51\#::8%(Q M/? +V(4S:V6"S17E6FWKED2]+S%+.7@#=BAFB:$I&@8_1"E*NJ><&0:ZS9O) M_]? @EZ[0NT[4VC^OHQR&]5";S.1 041*,F)M%9RV%P)_J)I:JV%>BCK^TJ^L%;@160MKCPVER,AR-/QQ&OW[]X61T=G:[X>S/8_?V;Q+@ M?O(/G&'P^K6!Z[4A^J,WE&X(=&JCTA4W&WI)(.F_)=FMKLGS*1_U>XOJMD?RCK\_AX(1,]9[Q'IG0E#1FXLT*3=NF=PX$^1M)^D$2?XU(Y258 MG4[.(_\6S0)!H[__M "[O>UF4W@IQ5QWP$2NY[ YP:O7__]G>B+=IXBV:^ L M<;5^!*/FC++$!Z&4I5.!J9\C.P)+T6N:9, OU"GJ;HSM )Y%!A &.0ZV&Y . M!M(!(::$+F""?SGN]XZ.,=.!^S1L+]F4F_]XF;N+Z)JP@#%]S,+.FUX_L-X, MX?6YJP(7]N>%@Q8155Q)2T4]=H!Q8AHK44\-3!C&4"(_AQ8"M< MVUC$+U9?"]">I8CQ47M=1.W4."40%XY>6=0?N'&7I@Z_+W!"/R><(1G\AJ(* M=@[S ZM@V.OWR3\%_]L%0=<$00^[(&@7!-V5(*A[OX:'= +;B(OZ66_65?'6 MZ6SV(V@N,R\YVD&C0]EAP4YB9'>Q%JA6!/A4<^".,X:UAP>;@&-3RTJ=J?1+ M3>O&>M80L\GE)52ZXKY[G#@-6CA)T/0SX6H7L@29N\,K"%/.* Y6QZ%FZF(_ MJK; .';(8!G^UJG4T:)4;(Q"5@.7GUA?1EJOF K-GB=QKSTU'&TUG8-974[@ MC>FG _0]#X:CP:=!_R/&:OY<7#Q!L?KW)W3@Z>1)F\6G.6*S'(PST#B>MXB7 MB7UT..J=H<;\)/C;/;76W-B]-,$M"4R?*BS_-)A[KHI[JYU#OJKR8Y8(-6/&6JVU&)XGN[HSJP*YL!J_ MU$/- [6>"'BIY64Z>_)JZ2J)77F]A^2Q7@!;:MQAIUJR:J=H-RJWHR@7U'>- MKW72ZJ:6N3H82U.&[=5-AI_T>R>!OY.:5L+XF-JN36:\?$+MK31S1=5GY4FQ MI+$CQ;W@L[6[5.GB_ 2[E37SAJ4WC%@3[&1PMN:5I,('D2CKIH?<7P9GO>.1 MM;F<$UQ>Z)8,LO=ZD,Z4!-(,RQP1!G"9>L5(0<2Y,G'#;P786$Y[/\&$=^'M MXQ9.8B5HB,O=8+'>S '=Y!*M91/-*5J3%SOM3.W/!5&*,_^9G/!^S8LXG6*D MI4&79QPR_1-ZF[993_PK9ZTUD^5,()-727:)=:%Y/:L"Q'R--Q&<2VMP1U92 M%=XFWTWPEU&_-_"?74=Z*)K/VN9^9R8NF8E'G9G8F8D[:"8.!KVC+5F)#E?# MH,_GF9EE96[75&9B"D9JK$[VAI',;'WA\K#J&>TF\0]S"^G*X W,HD65/--_ MN$O%EM GWBURPP7\3'^)].M2)Z9'QN=5Q_KY M)I8W&H#I]%?G%/1]SX3P'1)RQL=B&RRP?39+8SA+\S<%')XQS[F"??KL71?. M3B_61[5?W!W?\=6P8O0@?(EEP%S%K&M\\@]4Z?NCYVYPPN/8=7R#;7?,XRNI7E?HX&-FT )1?SFG]I;$RGF)IJ]=)) .K._O9,@*T?_1O$ MUV[FJP[_EK;@<\KW5@[<7UNGS^[@/=Z'/>BTW(XR.MVWTWV[V_' -&+-A8]9 M78@$(NUM5-:WK!YU]+ '6C);0'SRF(K/_S*PB_^3R"??)YW2W"G-W67?JM)\ M9]Z0CN.O(())D>&'?W\R?/*U^]'OG>PT09QS(K*H )B-W%'"H](%&2J4S_\\ MSXLFGZAF^#:+\KUQC>X#.>RZ*MBR#'['"CY5#)/;IXD'JPA*\8;D1@P6GP+J MG19H)=7.+/DM_+R(NRM^RPK@EL__MJQ!PPXZ KE#Y7"/B>5ME*JJH(*"Z*>C ME]M6(?>82(I2C0LJ*J^"IX/O.@*Y9:7R =''HU8NEXOO)Y,DF4XW(@ILP_TH MT,<"^LC_<\#_XWTU&JPZRR]=Y@XQ #W(.US4?4?>J>C;K9$?(1Z" QQQ(V3M MX7%XW#_>P-CV^-"]#?@ZMGY[J[_WZ/M?[G(]]QY)OQUJ/SSK]0\?)K'? X>[ M<[_HW1SZ:7A\- K/3D;=P7_EHN[: WI'YWYV& [.[D.VW;G6>HNR;0^"Y"UL MV=X9YK:WOC;'QC(;)]'<[YHG,T/A9' MX^!L%/917W^(-GCG:>P\C3ZYCXY RCQ,8N\\C>L5SM/C0[!L'V@\I?,TKCGW MX]-1>'AX'_[E/====TU%/5^4:;9*176^&/4?N]VXGPHG-2$=/J!2J<[)^."T MQ(= HYV;\09:WV,ZQH>JPSTN56V/W(PK \7FX\[%^%A]X2WF3>TUD]E;A>\,[%G70OGC<7356O3&!TOEFMH^[S?7TD&N[ZRBSL7XL-7$(]CN32D7NT^AG8L1F4PX&'7%[ONLPAV=#L/^Z!;C47NN MJ>V-B_%=LJ@3V]/#U^):7ZZ.%7<6V<-3_0;]LW!T>A\6V7XJA9VW\:&ID8,' MFKG;>1O7'?I9V#\Y"H^&#S2FTGD;UR)K#=M_'1>!N/C\/10[7#.V]CYVU<@O8^[IJ! M/#IOX_ $_O^LRVU\7-[&X?%I>'K2Y3;NG;?QAV2R5E'UO^O\C=ON7WU'_LAA M>-+?A!B^^T>\+7_DMFGACOR5VU[6702^A_L-(G#;_LP'=\1GX6@P#/O][I@= M-?+AG?+I(#PYNL54Z#W7)O?&'[I3[J$=NM:WZQ+U[_L([GM<-.,LV=\+?WQZ M&!Z/'F@SX9VZ%,OZ[!;HY[Z=JEM?\!U$#'MG#[3]T[UY71\>5=Q$.^XHXPOU MZ0=!&)]5J!^MW_9O=01'^X__CM/+;Y]:STY.RY;@P<(M&IPE M\^>+HDKKM(#C3K*H3B\3I<=^_Z^X0F=RRPO[ATG:AP,CWI] M)70XP#PQ6QI$35T$_:"/[_T;O%C_2_MD9L%7!&:018LJ>:;_>'X+Q[IAYV@. M!UET733ULVGZ*8G=C9+E"%7X)I1R?OZN1?P;)]V>9.M"T%V%^6T2-TO7X.G@ MN_8<6O?$I6G_G+]IA_E/'!;F6,ZCC#^Y8MJ1CQSVDR53G,[;IIS,HBJ)@Z@* M%E%9!\4TB()%65R4T3R(\AP(<@)?%WGP!AN2!L.S,!CV^RX]O[,$CFBZRX3F!>\^@Z2+)D4@? M$^@,X/&KM)[-BBP.)L5\;H\(GJB V533:UAH5 ,7*:^#:0(3BK*0/DKHU5D! MER>HHT]F("#[H!@#O45($%40E;"C^%E.I'*95#7].87SKNHRG=0)7IMB\C&( MKJ(RKFC<*(JVJ%_PQ Y*Y2NR<84!XA*<'YIDL4A MDS_L5P,S&"=!G"1SO$N!4J_^T-_1\35NM^Q"C'. QYQ-Z]TB77TS>4=!&O_] MR8=I/!T4>L'43!8H,@*F4#%?AGN>$ELNBSEQH*B)4_RM_0'Q@#G, M@B]L-=/[4"91#!(!R#__$^0(B06D&9R@[XKPYB\ MU'?ZQ.@IO:.SO[)^HA-R-+C,9Q.4[>5U[MF4,Z#J)[=T !P--N[C1]U!W%/ M!]'OG6XT/;N#N*>#..D=;LQD[0[B_EC3J#N('3@(8$V#[B!VX" ZUK0C!]&Q MIATYB(XU[:=N0@.M:T(P?1L:8= M.8A^;[ 1K:$[B"\[B"\L*OUL/.C^5HWI+DOASGLJU[OCG,33I2U8'S2V^8IC M?VV3(L,%__W)X/#)5R[T\(1J.[98^(,[X>0)80))4G[!WOQ/$I7!RSQ.XD#K MCX/1(%S:K+MA1GMT&3H^\.#YP/!KVD!G?K+G M9SXXZ\[\T9WY:7?FC^[,3[HS?W1G?MRI\&M4^);[H[_&.>";B">&EEKK[XR# MQV$5]]U MO.:NT$/NGE5\V35Y]_[\_;>GNYOSI^[T%VP7*^%Q8Z6&<^/WKU5NBZXVQVHZN']J) M=W3=T?5#//&.KCNZ?H@GWM%U1][B7 MNV;J+QW7;<"6WPO3V(2]-NP=?D7/C/#TZ#@\/KI=[/V[E9<[2;%W*SP[BG4H M]GAP% XW]GGI*+:CV%VBV,$I\-F3CL=V%+L?%#L(3TY/PK/A[?9?[BBVH]B[ MH]CCT6$X.KS5MAP/R#[>ES#[KXNDC A0,\TGQ3P)"(QVCX/G>^3VVA&[>Z^\ M>+?/R,[Z8([?$T;^WDODO?%^=Z1_D][D(Y#B]]0XI"/]CO1WB/2/^N%P=-J1 M?D?ZCXWTS\["X?%]-'_I*+^C_)VB_$%_$!X=WX>^\Z!<&3OFL?@EJ<57T47[ MNVC_CG,<4#,'&RVL1RA3]U-T/@YZ'1R&H^&FSKL=O7;TNDOT.@S/^J..7CMZ MW0MZ/<)$JB[(WY'K?I#K\6%X>G;<1?CW.L+_?52E$XWN+Y*2^TER9S[L9)?F M#?73Y$2 (J^Z\/]]AO^WV5Y\&T[#;:_WUIGD86_090]LPYN^;4KJ;LXWWIQ1 M;]#%H;J;T]VWX?"H"VUTH8WNZGSYU1F==5>GNSK=U?F:JS/J MDKBZJ]-=G:^X.L-.ZG17I[LZ7W5U3N[CZCPH?]".N7TV-OC\_OSG\U]>O S> M_?3RY?O-;3T?H>=GUQ _=F_)=UYON7M+?@AB?M=J@7=OR1UA/X8E=X3]&);< M$?9C6')'V(]AR1UA/X8E/RA_P+[DA_Q1E!^Q*&42+=(ZRKJTD*X[R>.!+!Z< MAF==Q6J'UOT(2?\4^SANRF7N2+\C_8=)^H?#\/AP4UYS1_H=Z3],TA\S&MX7=90%454E=14\':[LI?H(G1+[Z7MX M%&QG$)XE!&\KZ$^MEZCI-Q'09Y4G>A_B[4 M_VC4_R I?QB>WDO+P ?EPMA)3T55%Y./LR*+D[+"M0Q.G@?)_S:P MQB[NW\7]=YL+'9\=AX<;,^T>H9S=3W'Z*.CUZ/0H'/6["&I'K_M!KX=GIV&_ MP^+OZ'5?Z'5P$IX==EF ';WN![V.3H[#XXWQLL=E+O^MCL99\H__CM/+;Y]H MSTY582.=3^IBP7_"OV>,VS?H#IW) M+7LY!(Q21\036!J.7MT[3M3T'Q[U^@IP"<>9)V:#@ZBIBZ ?]/&]?X,7ZW]I MG\PL&!H39I!%BRIYIO]X?@N'K#LW&"YO'4WB((NNBZ9^-DT_);&[4[(>(1+? M$2*/G?)W+9+?..OV+%OW@VXHS&\#1S]=NA5/!]^UY]"Z-BZ)^P?]35O,?^*P M,,=R'F7\B9Q6"R"Q9S2!%DT.3WJC(U_NC([A[[4RQAOL8))D MV<:,-QWA=B2]6IW;".<$\G]T]-? ^;<].^]\/QTX M&R=WZ "I]IG\3#\K6:3+ATM2_$?^.&@=W*T=.:WK9O1T8P!N"ISA:-_.)2T^HJUSVW5_"NA@^(:FA4 M(BYX("_J!"6/J&%)5B57I#RA<)JA!I;G#?R\3!9%"0(O#U[!)?BO_S,X[C\? M] _^U0O.LZH(JB0)\$R&_>?P_16(NH.?BX)PPNR+Z8'!!O5O<[Z^B4]1 MZ[*(FXDACU]!)%VFR94!.+]W$,P3T&1SE* T^015BY+^3'/0.K*,A@CA_/+B4OX]CU+D4D 8"7Z!.K'0 M!$CG"9T5'"ALP@16B'1%M+#I7>9I6&!3P8=)U0M@&:S2)S#_%)8+^Q;(4+"( M>5(B88;F-S(LSCNM&UDY_.QC(C0+@X&Z/@_F146J5]&4P551?L1![2!A,$NB MK)Y-8 _#((&CE647TVF**ZYA&3G(ZXMK7'T=I?S>BP(./J?%3Z,)FOKM5>#[ MQDV5YDE%REI]5=B_J^2"B/S9^FVZ36KWI?MIB\ .!J=K*(Q(;Z6GXS.\]Y>H M;I H844O@>\4\W3"+!0VY7O9A*TRT=)F45S%)83%.! M A[ 3<*5_?3O\Q=!=5T!LZJ".,G@=I5!M4@FZ30%S@@VX462 R%D0,7)IP6K M\$!JJ.##R 7P7/Z'R!KD?;A;D[2<-'P-R5Z RP:T$RF17:.U"GP6Y@>46.FU M)83% J;%,Z(TA@7?S&8R XLA -GZ$:2AF0,+"QC=FT&3IW45XNSUYJ%I O/( MT/XM'5(/89L6$1$ZO1CY3)&3P-!73F9@1;.A'O6 [ MA'83=Z@0H\,BEXD1'P#&".)YX7X/=F5Z"72!MJ+S>]@LV!Y'3B4YS"^!Q9## MI,55A9,:Q@HDG,6@=^EA*"MU7@ ,$0X ;[5R\W %BR>&&[;Y_\;)Z7"D]FV7 M0:"^W>82K:4L,70^J#*IX#:(#QAN"_".AHBYQ)M)UR7''27*GR6&D0!_0;)( M*K1YTVJ6^'L3EQ'J?"S?[!UWI!U*:65#+,E@1D!U<"NN0&O$U\,O8")P=^'T M@)9J4M[,&^FF_$JT5OP)RP21JEKT\JI$$42'Q07.SY_2',9&$"+#_;!D _RA!-'%/(NT5C@49+5"8*KK5*ALXD_E1:%, MCKG -3"&,>QY7<)]*>!AV(PYRBLXF 1?KAR<;AFHKHZ+!N=RF[+X"VCP? &K M^93B1L*1G9[T^G]53:9,+I.\(:\GF(8YBAP4$[K-XPAM@"DQUC3%^X6GC^. ?D$L&14,W!1CHUU&69,H.6'])?95I] MY(W0E\N,2I"';,3R/E]&Y37PA6)N)L\#5!-@/@VZ*7++/^@78%&"#1#S8\4" M;PNJ#:FXQWEK2=&F]YN;!E\F%Z "7],JT[H66&B@'Q!?M H@6>^P>2R>N0[& MA &/5\V"C4RD$V.9 Z'5,N&(_/FU88>Z4_(*T*14QW!5/5HC&*@?Z=R)C'%W MA*J)>> RH^ "&$9N!_L#M!TAY#(EQF>WSHY>D>S@TV<;C0[@"OX)]X'%,//4 MJ7 JU6C^%ZX,;)08)"1\4*\$5E7!D17Y 9Q>XI)T"(RLJ@\,XY7MPG<(&U . M.U\@AX3=AQ?R)*;&$0#, 210/:-[.P8N"7Q'"0NO!>X%TV=:L=F'YE::3S,4 M-*1,T$+H0?K.;@;Z)&9%41&/=H5L4:XS3=WIFSW<%G=&MRSR%V4\T622+/"2 M,>.@+7.L /0B(^,H7)YD+KG/OM22 'H4NB>Z-&*J)>OH(18+[*A9$M5DWN+F MS8JK8$XT!7]<(3=M76QF?,C34.NVI^QR,CQKHZ!7"5 5TC1%E8)HCG$,JV3R M0N'E8&47S<4,@VGY!QH+G3PS$V"9R_4ORQ>$/F]P856C:BOE//XI* M*V! ZM/XN.?V,>7S=+&]O;^$6TM[&;%),R]R&.5C7ESE;-'@S /RNH. >&M8 M*Z_1W13E\R0#@=**&!C0."53K5H261%K)$E"_/JB1(T2Z!=8,MA4%=MCR/8F MY,O(?3:V/(V4[0G1Z*]9B7>4OPB=A\+&JCD=L]5YS 3,;(NR+4-A_F,64+,$ MG8S7_G(PC@6J,MT/6-X8U$[OB0' G?\9M=7046U)3,%=F:&3E2651/+,I9E'?Q8ERCA1 MW2;BD!(VU@MH4%?1QD'!L,W2_S#3HPVTS%6BB;G8A'SZ#N?O!3^2;,)?\)WD M4\O9*0.O)@8@T]$!6.=.IT(Z*3%OHZ$Q83B:!!S155D YRY**Y9Y:; =9:-W M=A+E*(3)#TV:$H##X;_7BD <:3+L#8!1AW*,!XUS$8TFS3! VS M$GWRQ,+07")AA*9O4,%Z264 ?ID55960N>6R.Y>Q]99\617F#+F/L+$Y(9TY M:^A%44!*M>_,(-,Z%%%E3".44J@]&0Y?,4M$=D?# 45$(%>3^* !S?L_/\Y?3DT$(?-OSPU6.):%.Q"N_ MMU(P!9K$OV%$WQ/'/C:BRE[P0K4T48/IWBRKJ/9U<4%FM!P\$D:EWAI6]#)Q M(J*^\6 75?PQO-F9$>NOC;?/[/9( M(J,TP2ZHDXS#<-\W*8$C@<4'EQWVJDK8E%<7AIK1S-K87@2.5U!@"2DIN2!. M"^;>99(5"SXE# .!F?9_!B. IRU^#K,GJ8@B]1Q3^/ZCH"-@4+R.EO,Q(KY&Q]*B%6\'** M"HN922]B;1 ^F#9D*"'3=!R5]#OV,X:P*VA1,Z6@22LLD'BW$X$UDR 6Z 4? MS*;'A3K"4Y>TIDU)Q AG4ER%QG","Y@VSA2W&[D?'0RNFK>GVA(7:TLQB

  • ?$,B_4M%ARTQ =PFG !OWEL#?B)\;Z!#"L"Q!E M%QS\DQ'9"11MY+(H4GV7]M%?,6#"J9&2WM@:D:Q43$X=]'E41&=L *KEAX9#U@:H!^PY4"?> :&F_3 S_2-57#,1D%= MZKR#J*[$3MR$-V-V)&# M&/1.NANQ$P3J+?.S[M#N+V#N(+P;8^J[;>;YWT4N;PO13Z M?TX^WGZA_\:: K:LEO]K2@KN5BV[XW!61P.W2@-@,^,6_/W)\,G7RL+#WN#N ME_XY>MBT&>?J7;JE&_ YF;.5L_;7UK'Q';S">[ ''7-_^)3Q&%C^"W$E=QR_ MX_B/Y5[O*,?_UJO\2]%C>B^FMW2;']:Q/P9V_A8#@DP%_\8H;L?6-[-UB8PJ MY-CB4T"@#(%F<.[,DE5.\]*=8RZF^A%%DKN;?\L,?\L4\FW,@),+.IJX2VFP MQP3R5%)PJN\>M9SXJCZ?V[ +?J?4YU;^U%WV0MG"E=]>^CV=^VV?QV6SU]+G/@#E9_I[V>/AN WU%J/SX\[&WJHWY[W9[N M6&+=(K7O@>>JG=M[$/SEZ+/2:O<9U'JA]#ADS]')+78XV$\!L_MRY-:(=%]E MQB W+?5Y%U M?#;L;6K&TYDY.VKF])6?68;]!:^=OA38&LMM!J1M!K!U7E8IN)\TLOJ8(H#V ME.'3%'V/<34)GCT*IK!%,Y@>PP_2GW%T73DM8Q "7>$-?5CU,D&X5FZ.@M^L M:U#35-)@UT$/)$SV#-OM:LN%%(Y>VM7 41%@I,X8L>?\=R,RG =$2""(*:'' M66Q0"QA/^'Q>!Q+"6UU(9XRROJ9E.T"V@C#_F2-BG-HBORBX29A@Q/>"WP5K MG=$\Y>/0P[(MDXLFBTI&-84YPI+^MXE*F!V"< IXN]O5Q#9 T]>;[3<;(^BE M!&JID+6$C,LPEW9'"+\6.XKDB4$E9 @]:E%AD6UQ]A%WH(1M.B"$R/03_ LV M#&'%$=F;H>[R@B#E&>UT6QB.YX&"DV"'@C;\OGL1L:^YW /3W)&/^$+^$*AY MTU-#-]0VV;#[2>B;\R:KTP5B\F$C)GLS32^*QKU9GR$N\S8E'WC^VJ=."Y"H M0V++ZU9K(=M7R';Z\'HI.LTM)P1'RLTTL'%3"HRVGLR<.UHQ >#RF-:2.?:J2K!ME>G6,8XRVI-Q0H/;YE))K!"^4G,'PMMWN@Y14Q?3]^)66]3=>\O'MXAHG3&9V-:[VO1Q2[USGQ-D*K=6 MH-T?G6BS(&UW:%E4A,UXTH2)0?KO])RFN/,D0HA>ZM4!1#&+"$I4&_8PHG?$ M"@&W<&!@7H5GCJCA*1YV0BTS"(4848SH8?B VQV9MXA4=!&>30- ZHMX6627 M^*W;F"&T",Y\7R=)>HGZD2,Y@)UC(R-L1L1=* 59&01U/$_SE/%!+Q-M"PC< M>F(;26DC(<1HS['W$'HVL@*&P=D":6,'.MP8$K'I)QB^+*[@W@"'=@&9!= ] MI$VW#2\G=1-EWI*8 <(MA3-U6E*$IO<&<@3;LHQ]J> H4!@9(C5MB]:?->\%:3G4+U:F1?LIG:/"=D^/Y%,R8;!H[6X" MRV>-PFGW$095-$VPU5/7#F-U.XS3KAU&UP[C$;7# 'ZB4VS!:(>ZMONJUD1<',"HLTO>6.FF^<9N!.TT#N[L?V+$TW8Q55U&QJ M^=$+SFM2\;2Q,+>?HKZGTRF*@&]HQ,=A(P&^P%0KM?47^$HK:-&NB: M1[5I)%&L/@X2QZ:=8J4JFW53P/-)/KD.0!KF?.UL+UEM<6#>*1WK9&EY9=L4 MYD5^X*X7[E?-V@+Z K [.E\LF#7?ABA(X[\_^?!3]O%H='@Z.#T:CIXPD]I3 MDT!;O]-VO-9N=*]8L]JJB^R\\CM.MMHZFX89VF*2R$VM47$4CP)8 ]-N.*QTTKT]R#6XI2[PKJ14$&O,.U MJ$5'QB9L,)'&OG:J9@B:;2+ AV M+C&],YQV3':J<3(G/PSV9\ACTRUUJ>6(;:<(-Z;"RREFM+/HQ$YI\V[RQM#I M<3-(6IL:--0L%S@F;8-LR_+OC<9//"\KM+'T'-NV)$JRJO_#F-=F\^(RE58I M/)3+&>QZ+JC[2XS.&V"?2$/8@SZD[BPPZSHH^52,4 93#C[F/N_L;>!_PQ87 M%V6TF&&?=>6HT[22)NKBXD5C-8G9@*MJ(T,V<)BG;\G:] Z9(^Q,GD[0B MND62T98MW@&%<*AY<>ET>N46QZZO"$G)=@*:PPUUJP/R1G,PL,9F*US5+&JY0WP M[C]YM=UN9C)1X L-W+@2E0R43IYJ +L&7^%08VR?DKB,UIK"3O]4HAZB4-OH MR%[K6%VBQ#]@/;PE9M@K,(N(4JG;4-R:< 52/$9/&7$%721''G +^1"6VOBZ MI^KU:MMG+]BO1N-XF5^F99$;X]_QB;UDA\)V1> O/J-=>2'EG.R=1"V7=25T MKJ)FF9CVK\*$')Z#'&R2I=B='NXQ'/=UH"W$@ DTY0&UUF'28R_/L-\_0\H9 M]@=#OE/PKY'^X]!,(,BP-1;:.&7BN=-K40*YGQ5HE_*@R,4%.L1HF11)Z 4_ M-.0>9L9ZF:R:T>!(9G062E>\JXC5^1QN>U210J!^J-8$G:;U\%!"=Q?[Y] + MH_A2/*11<)$58VI-#&>'-RYCSB"<*\. 5YK;V)3HW99Q.G((EUG4VGT;.[[C M[[F%(AMX-; 29@GHS%\4$U2OB1?.I-T1-;??7H\K8D]1 -L+_,O:G-B="%F& M.N+)A[,X(GW"Z704++4% M_,MHU.\=!7/; $MF%EU&:484A[[%HBRQ+1T'W+ -I#]]RWCAW H*&Y3H;/9M MLE9G^W'!PB/'+E),32UE;H5)1PH*#RZV$[>3Y->2MQDD*/:?9->J-8;AZ]5] MX-7O81?!0ACO/W]W2=TF$\>M313/C8;I-H+*%=170 '7!]@."_03(#,@-AO4 MHQY<;((UO#KQO5KE&!82T22\9O2>?6R\S]J\7I72[R5J\VZ6B+&\\@BB2KS& M? >Y:SU^D*?)<0V/;:7CI]%&O033G[FUN0X6(P M8V'8?_X;J=-T$6RLAKX;/-?N>&(*F-:5KG5+K1CEX"+N:>A[%E@A]<*79@]= M1X-QQN"^.8'-/Y(6>< ;67'6(S$Q9^-.01V$7%W2/1OU+G;4:$]&^:E<$V'7 MA>/RYRNF\58TZTTD5H*O^KIMA^].OD5O>5&FY.DG'TM#/I#@;9&A0;@%->7D MBW*@?B5>*_./[/P7,G\G#X1Z[Q)[-/KKQ'3/;/_TFEQ(R!R7@DQD9XGF2I=? M/&YNTLA,>PE^,O'E5>\@KUM3:K10PUN5\"?J^TLCJ(6LH2;DIJ.UQB$%)U#=2OO[!),.54]=3C-PB MDZ"^H,1R)(L'=Y+7R)O&X@2CCM(2&OO55L!+4(&0AM#X BV2V[JB7X#>H?O M3G']0=A8.(.9Y>(;YDZEN,(7)+*N>_<=<+]1VN(K<=?P#E1!AJXAZ?0;&JHD M$A92C5NI7)]J49Y-P\JZN(K*V*17.1$'-R9J@C^;^,(8>S#QY;8]70S7B>&>=3'<+H;[T&.X7Z;'>/S-=O!F MO\4J64!]R25$$9-@MYY1$@0S;M3.RGE5&X;F%SDB0 MGC6+3)7FY+$ B5TO9]R2>"HF$TS7986!Q+*(Z2+WW^0DH7YVGN$7<'W@OC)" M2VB06#D.8\; M2LA7LKSD7>@:HNB2$[HWF6#TS/VJ%5]QFU##B%;GUSJ!%^D)[VNZ9:)*F$T+ M)ZT7?J]&II<9:].7\3:99 S-:^6+RKFSJ.10[GE*20%,B0G1^/7P MJW;"J"4QI!E4460<[QK* 5=NA%-"*5/>%<[3GJBG4[S^H#J_2^'L(DJM_;,8 M<^AP@[7P/)@55_ A4)R;\+YF<\QVTX8V9,SSK3<)Y'H&F$B,.B[LV\>\N,II M(CYW(P_LHJD=A6UIIJ&\,*U\1L!Q'!OM$'M#>:E/#]*@WG(&[S?C),D#/_W7 M&DEPJ&:<7K#-*^,Y@I*L2C@'P;C5\AQ-'/;IXR[!]9ESA>&@?_"OT+\WLX@[ MVNMY3YN<5.CJ&=J"_#,WWJ/'<&4,8/:*&>X/.X8J(V7I3ETVRV=K34-!*[#T M%6I.>BNDM.:58IA[=]V89V' .3ETEZ)*,F:<(6\\X5[@%.$0[7*@A6HCF.%N M]%AHFHDX() 17]%M(J<8^Y6S0JQF^WO\-L.0A(A+%BI>6#Z; KV :*31LI23 M7]*$\G"SQC#[. %!3Z(Q^B3"?NE-T01,G\H-,,HKT5TB>= PU$51Q.2Y(\-( MMH'4.61=^45*$1MZA:D'6=X2S[=".X@?$:>N8"O'S*E_*6II2#&T9G!.Q>6T MGS:9^YUZ<"H5G5]Q+;8,=_47U#,P'2]F-[FOG'INB"[FJ" &@:R. M2EHE.$W4H<1Y7RG&O2%\G5 M3DR@YF"^_TX)N[97)D^U-%QW3G@QEC1<]V>]X VZRE5+0(E+UP_=]"H)\^2B MJ%,;S1^G1+[&GX:<:TR:B1?X]RO-= *>6:!ZJ4ANT6M1C1/]T^BVFCS?4G$= M)=;765VV:AYVU"N;XVA^)^HTAN0RXD)U4>"+6>CP2V*, $U276!E^5A[1F5B MF8U$'DH;=W%2NZR@F40+&E?"-"\D+_*=*A4:HH$7JO_9Z!\Z2K%4XJ<&ED\E MH<:]V+V[DD[$[- 21K'=9)G>!21"AV&KA<0PK67C4:K0"]XYUHZ0AZ^%W'];W\I\@/^A5M^4FGF&EF=30D:-:E06DJ* MY1[)-!J74MGC6UZ:3RN?]8*WRR.H76Q2CR@;;UQAIG!*ZBZ;_[P/H);;FVEE M+[(_$N') 0@2$F8^G0PT'/4SYANN",=R_?RWK2(XZ/5[-BL<3XR6;V M;AZMQWG[5-S/G$K=WD]A<;#3O>!7_P"=W;.S,K8[O<::CLM[\'YF?1/&6>R4 M*"GW-%YEKE(RCA;+,*=&+&RZD2;_!#B #H6FE7+5U?$E^I'ZL^\U4@H.S-#OA:LYC3=#'I$_VDU#ROL/\P?PM=7,I+X8EM%Q%./X\ M*/&PBPD8!$@<(1^R.PET.JSF],)5*8>4+ASG##*1HH]ECOSP/T:;6:>DL'IC M8HXJ6C$!UW4:2816L5 M;WM%SF5@4)UEF0UHW!PYW;0@NIU6RZDD9P]^EK/C./E$B:[.<%X9;I/+])UZ MW*7I.SJ?>1-E-TXSM@,PZ]!<)C*8=:?]J[I1>>0)68T.K2F:)V9K?9I(49'. MWJB7FW;.+'7UBKYTYSYS$#?=(/5M7'_A)GVOJ_$V9+)AZW23NE#ORE#OJ-^% M>KM0[X,+]=Y<^WC_Q?XG-.80J<$M$L-(S@7GGZ()Z+DM\ -;[!&:W%W':P32 MHLY\U!TM<4*#@,6Z8#38"HZE&&@>2Q(\%E&%UG9_ARJ'_2EE8EN$'J,D39N2 M[*F;9;GAQG%MK=ID5=)ZB:]UB#\,0UHFUN0_;]UM6%^7B+IJGP%*DI(<++') MFHIR6ZF&C35<\F2/UVL'H0UN.4$FQW0#;2 3(XX&]+T3_B)$ES83H6UQ<4Q'Q@^PR2(W% M6VKOSB2+4BY)F%/6(I;IP[PB=(&V$B4*C928O2 BXXX7SP469/+:^"B=C:3?KIC;>R\D:U!BJJI MZI6D#4Y@=== MXJEX+R?ZD:U'Y^UFUOW M#WU%$.STID&P>[%5%]P3/5GBJG>6U<15\#MY_(*GY^]^_R[XI>AA$=OQP6 4JJUCPZ&O*>F$AZ/T M$;#YO#T)GKXO%NDD& V/OS-6(>786-)(PT<5!XW@K12"O';:'I M8JXC@\7W%[L6]/3U,RDXQC>D*?%-;O0)#-][)01> M:1*74L!&QHF_IM+;8?12-9060 H7]PUF$?A\IN61B2JEWBU+/Z*O%QYD^)#=0 M%?F/O/T1:@X7B5ES:(RID34'D\I''""=%>QE M$JT];,'=^&@\O_?>]8RV9B(.N07+3!C>:BU2CP"(+8_ZZ(FP!EP M;S@86R7:>S2\?Z8$Y:W9V#>I'0&5EM*HC:M,,#PX3SH!8:QVCTWB8K[JH<-M+(+%9<>SCWCR*0<8GP6)F1G57BY2C!:((P9F]KFAZ35#KVVB,4SQ&9OR01=NJQ?\ MI!6D3FB2:D8D%FIF%A!_Q(VC8UHQ.P&T9GN5D5[1S# =7+83Y;N)QOEZRH#6 M$Y39&/(F]0_7H*@SY" D6AE3\@53&7?/PC8F^!P)]RL*%MH$5]A>(;2J,J@K M<\F,;ND9-BM.U3Y#HNR"Y>>=FEY-.2ZX#!F/R41?R3V \0F6]Q<-Z'EPA%S\ M[CZ%L,N2^W>)99VH"JQ,O:9;1$=;8=L^5T4G@D@$ %?0">3&6)O2P.,X_7GN MH)+]'JVI=UC1^=KX^WZV6NC6+"P)@UN*%'& M\/E&*O(IA49;(A89ARTV) JVGR/F$0?((ZZY*Q'LM>E^MQU!XJ%>2IUT21*8 M(@,QF*X15ADY$G5%I3>[_U)T"6"(QPU!JT,MMP38 MY["V"SEW/63K?L[,MYKN@BZ2FAOLJ:/;M/'0UAK1@1FF,$%R02([;+N9=.+1JNUF MRXIOB^0LZTM4TE5>051,@>2RBK*EK?-NI636X1GR"<$3FL]28'L _V]FA%AZ MB$+Q&CTV#@HRCJZ]9P)JQI=<2#!P'GWD@TTK)U4Z] HVW462326[:RE""FW8 M?8 +T]WDREO=9]V:_6$(%H]DNU??5,"+>WCB,&A/$J,HX%,RQC'0QU@$J"=Y M36>B>HW7.732[!$0AXTN5\\REU,JB)TK:AMKZW+ MP$6CX5CIA?B!,'3H1/E,=6%!'3!1-CM[2_IW-)FAEL7)Y!QW-&>H!\7-=O3M M8,H[2!Y^+] :E5DW?N&$!EQJL":#,Q];[.E#6*5N,HESWI+=ON*(-;)S+2H) MJ51>KKS[, W@CBM*DBE>L 4E2E;>5!,Q")S"!N%];!J83,\=I[QS>]=:MK60 MX/FZ$%!*,IA6:[N*K8X.\7ENVGX&9*#'G/B[?:#2.EFWP.7U5$*$]BG4:J6H MQ)D1_%;DLOVY4[:^--GEJ::VQ,1?*%R%,<>(!%.0T_QEMHZ;TU S)H:NWP@_ MQ$^%.QK31TL7K;1T*HT2&!)E=7R?RV=$)E;MF:M"[#5XT.(E4 -@@^@58'!A MTN+U33G]OHC2WY9J GYT4;Q>NRA>KRV*UY;5;C/'M!(?O#H_%+=%&A?8+C26 ML RND9&ORCY]KL\!;=*]++09LFX'"X%RME"A8T*D$(-3#@>7Q:N]@2MY<8$9 M-ARLU5'0O..DS8F4X'=QT=5QT6$7%^WBHH\X+OK'3*L=T9Q$H69XFH(M6)\: MM4)EV(6*(D>6"8;XN&&B+6P7%Z285=6TS =!1\D[S1,CG9*:[$FVZ0&KQXZ0%[PEYQ/FQ[CHAOMVV??I M>["I,:CT6=5N&[BR2GEKCF#%>".G/*-4.@=6)XQ _'_9^]8GMW$KW^];M?\# M:]:^95?)"D&"+T^2*LC::"BGS#2&ZTHGH^/4)L^5_:R1JE?M&R.CGJ9J;W>I3IKTA[7'PLW/*EMRJ6>@M^-81P# M.> _.B'=6_VJ?9PZ9]TG 6\'DO$5*V/S\O[W'N M)POLB^]MW="_I+YE4;;O;0"G0[=X]:;W\BMFL8CR_4(WJ8Z-RD:-JO MVUWB39-AMEZ_DZ#>4.D2W5V[/WRA<["SU96W-B\Y[ SA^^,F@P?W#017I9!] M9X/VDK9]=8WVZ%]S^6^!GU54R]17FA[MN M7//&]=O1I/JQU3A;H_=OSIEB^$E9?E('G)L[W8)*R$2K0?>NKCEFDH:N,*$2#0J=S3YV^VY^ M>]1_VL1=O\"FS]O=.VL%ZL,WR;JWSLI-DZ-(WH+!EGCA+@>I=3N[W>Y^7]M@ MD&E>?3H8;E^K?Z"\O:99BF]6H%6^&;S.GZFS:>DFU]\OK8]]N2>S!:@.(ORN M;)M5]A5S)@67GKH?$7^?C 88=YK= MV6C8>J-R!>6F!HRKW[[__>^2/P[Q1U#IND[*XR#Q94R3A,;,"\.8AD+R1,HD MM!V#/^:.D+G$<1,1VTG@QC1R6!PE?AJ[2>B&+&!11)/Q'7XD?-MS:1PZKAW3 M-$WCB$@2RR"*1,*(\!D?W^&%PIR0!D1,[F!! MD#@!=^/$\P!'N6?'D?1@DC)-' K>F.N0R1@1AE*D=I@ Y2=C!+8$ MMQFH3(#X+W E-X8J+804QA@C@A'ML._$ \X8I@L@Y@AA/X?@+,2WWXAZ0Q[7C4ML/Q'<0A/&"4Q(Z'=N K-B$F@ '(\<0(! 3#CHACYPQ '18Q[(^!%014[TPP\2$0HWCJB'R, 0KQSXTQ81$SP1+I_(E92A M)#"9V'= T*D'3 DE*#M)?:"A%(E/)]*. P>$,EP0P95SD!(.J)*D0.I4R'!+ M:T7D.*X7Q2& "NBPRT 2$5#\1/K$=@+J3ZCK.R*Q.9.QXS,14YN#)'HV!X+Q MT)4PCAU.UA$FG@2: P-2'V@E7'@\!TDDH"0N#8. T@D_F)MXPO=M!"Z8E0#( M#3E0#>;H ?3(!)XTX8>;T@@>APH+/$<:@ T0(/*IPP)._7"J@RZ+ $Z2*)8^ M0"X- :D!BH$I*7 68)<'LK4&RIWLG#+E0:%#EK-U+=^W'X:V$'T8X[^@\>7: M:(\]IN%^O7:7[,[-B?RE[RM'IZG:<AJ NQQ<-U@2> Y@X("9L2V MN,# 81@\'R,0S**T10;:O]5>P'OM84)\)A[T[(P?KP9N+\6W)?)-(Y_8H]O= M\EY="#\^LI#"R#]OQ"/(/M@\*4JU=:*7:2_MF1'GP @R,^(\&!$M0W=FQ!DP MPEF2F1'GP A_268^G $?R#((9T:?)AM]6$9\;NFP@VB@VT&'6_5^![J MUCF0QY+A2?=AGO@HV)-3A9:+_P=9NWX]:NUDN670GB)X6QBY(C68$F1'D7@3Y:@ AT9+0 MBP80[*]W*6@1;FG,OI7I%SZW_]U:[2P&* 8DFL5@%@.;A)2JH>W.E3 M)T*'[U.X^&+,X VBQ]1LL)Q%Z/D+WXN.P/*'TIU/P/+[K=C3+?.!9.*9"@*Q M 8^.HO='MV^O9QQ[ 3CF$V_A!,&,8S..S3@VX]C%XA@)P2<+9G]LQK$7@&,7 ML+WPT73+A$MO,HY5G"]D@^#0D?]7&903)O7N0Y\#K$T;EU.O[0F,CVM'"S_P M#R<%)[,Q!YC[91J.T%[NZ]D%QA>S=_Z?%5;^U^VLY@WT9Y2P??IN"<8N" MO^4\[SWR&;>V$L3V[>TY4S=)R[V%TH=#@1[A3,!^PN&SKF;>8SB$/_DV4%]J6MF6Y\ MIMLESAO.3YL /?71GY,D2$^]Z#T8]EC4>D,6E'IOYY3I9:9,'\UF>TF.P>1S M\7AG<)O!38%;8!]%[F=PF\%M!K=+$.KG V[1[+==++1MI1@P7B/.DZ[YU"7D MGEE]6=-PO+BRLH*7JYTUX5Y$(F'.+I]]:C*R%[ZW[U3R)=N$2X?^1['07Q[P M2,*Y.+(S6;FPYY?/YQSF^=L76;@FH%KUTE. MYQAOH\W -0/7#%SG*<87"ES!['#-N/4L<>L"-I.[&-^\(3UO)E^@ ;DT._'H MDT;AP@WWGC6Z9"MP86#_!8?OWXS4KKN#VK+"::VFE+*NL&Y9OU,O-'&Z$X64! MD2.KBG?EIK'*!";.FJPLYK>>Y\SE15F4K\M<1@M"YJ*/SR5Y^2B6VWL/-5YP MDG.N57MQH/5HC\I91-'\-O*E M47.,[SV\@S.%T>.-F^/X/3#$[/ )PN8,/W M1XCE*W.BVWIC=GW?SMN^S[!RQ7,K4/&5/67V-1>Y9!-R89;B2PX+G3_HS] S M0\_#[Y*$]QSQG9<\W(?FT)+[+PZ+[>)'-^]MG9GOU%OYY'KG:& MK6<-6QY9!/08?85GV#H;IGO+?66?9MB:8>O<)9C0<.$'^]HYS;#U[&#+?P&P M=0$[X_^H2@Q[R\*"4/_!2/]%!/1SFOC9IXG)@MJ7G2<^OIP?Q= 6L&K!FP7@Q@>8M@;XFS&;!FP#KW15[R#O[?Y5S!_!2] MN%W ;E%NDER>QC"].G8WQQ,L^$FZ9Y"]?7,%&;&R@M9OON\+F?. 2N"US*8AHZ81P*-XF3P):4T) 2ET[NL!/AA2*, M/9>1F#H)BE+WYP_7L(K#Z_SQJ07/[M%LF_^:-C.]VA^B^^V?I8KM:LDL)J2NNKG^+8 MX^IUAOBI])F0DL=.Z($N';,4TIC*A,6 M1X$CXB"B(K*!^TSPR1U!2/V4^#%SF!?#QR .72^,D\@&27$]QI@]OL-);<:H M"&(2"!Y3PIR8!4$:I[[T)!6>(Z/HH"(Q% #%Y:EZ.9UZ_2JM:R8LU[/*M:P8 M%L:T\I+K4I@6J[%@YG>2RU4B*[U=XI*%A>1?6C_HZIJUY&4AK']M6-7("F] M 5E8M]+BP.M<-LALN)#Q?VU 7_'1>-4O'WZVOB]D=74'3^)+ZPTJKF-_"]^K M3^3;M_"0ZXQ?6Y5(39U4V4L M!UDMX-.&JY\9+/)O+"L:6;""RWZ^UO?6QZ^?\8=[:6PFK/@3[.(/W-Q/'P;2 M;WGE&P&+RV ]FPKF46_R1@UA'H!7IE6Y4LN'G]<2EGK@'/MN&:X (._ 'CJFJY5HPWZM2;]?<2 MF?Z1566>%6SG>'^6205"<6>9X1176V8UY954-69N,WB.&NIS5BN:CQ_=TW)A M%5DA[YDL2/+.27Q85UD^FD%S7@O%@1G>258.10%J88K8$6%$'$%DR /Q,2<%:2B,3,)6X<")& C:&NSR>SXIPF7NJ0. #7)J:RF>>YGIV>RC+]/KO?(_CFCS\A1FSD[W^7M041S#2)=6( M"M/-E;J"@$5+Y_4"D>N5LPQ]_7NB?T<%44K)!UZ*5BY$P_;9O4*!WT+(TG_= M_U3)G#7Z1M0FA0$3]-@-8*@*6M?'6H/?,\M9TM> L-WX,(Y>[V"\@5HS!'5P MBXUN')U[OR@CG(,90%UM#'C(&FZM%;+V\%'+JQ46XVX7]$:!5+FI8>%UARMP M.8>KV)6LW[X?.?5VY(8LB>+(=4'JB0?>E0-2'TII,QIZ@2O"L=3#+SQD/HUM M+P OT8D%Z<-<9][D3C>]((AHE'N6Q1PE@BNL"IH0)C5T[C%S?#T7@ M.N,[&.",YZ1^G'+702_1CR// \ K600;0CA3K37]6GJ@8L:2PH!!@TXB:-$ MAK'K<)@K1 M(J:$+&910!#I/!+Z@'IT@A"$.EXH4[C$CV ,Z4@ H-".W<0'EY9+81-OXNV& M-@1B<(ETX6+ 1EP'H;%P?<$#1X:).QG#E8X?1! R">G#K(27QHP(%Q;# @ZL M\I)P$F2QP/8#%KEQ1,']I@X@,0I!;#,9V2GS/1JXXSOLU F2B 4 Q"GPPTML MH)KMQBF10#U&F.U.,-[F ?C_@+^.!-2E"3CL$7 "IN8&22C N@33R"#E8<0\ MB"4B8 4%V8LA%O!BH#65'DPJ<28#!L8,=!P@)/BI3Q<&)'(,"5P@U%[(<$+ ]$I''(.9@? M9K/ 25T''C>Q"DX 4^5.#!$0Z(<+ T5>!%;!!V&&ITDGG7 P$8)" !W$?I2F M(+N"Q8D?\9@PEL#%- C\26#-(Y\*%\1;A&BE8>(0(8,H!SY$4& G@6[M.C1X MM/D6G5[D "UL7MP<<4^OT.(!>0P8*7C9+9IRO8+E274WXQB MZ6%PK:_!;W2Z)@B6A+Y&*]54[=3,D$1;KT>^+.(L'6=?WD=D-SN>7\(S4\#6 M-NG1_JUREN\3L!&?WMT"I;Y=E]J*O%=6 MS\R3--FE8-W%Z*OEF^:62;F;+M MU\?(0 TNA!\?FX^"M73__L:S:5$P,^(,&$&6T:P19\$(9^G.G#@'3LS8=":, MB)8AG1EQ!HQPE^'>S<*9$3,C7A8CP&W:>W9@9L3L-KTP3LQNTYDP MRFO8=; M9D8<3R/VONDS,^++&/&EI6$>RO8=;]5X*NAK3U,]+2K_9AJ$6R1([CT_UK\# MG(S7QLL<%_R';XC]S5G?BNX.PRF)XS[9[+Z MK\#^[S?U^(R3F-+6(] M#1B=@2#,^OU,]'O[W_LUGGZMPCO!J4L<_%:%UR<[#Z+=#R4&SE4,SG2U1U7\ M@Z@"<2Y<%?"$\?,U= ^IPL'*)IS )IJC8.^?]EV=)S9S9_ZZROY-VJ/@7?O8 MCS#GI,K@,7^1^8W$=> C65&_VW[NEX1[3T2[AQ*$,_'.5^TNF78/[5[.M#MS M!V^FW8NCW4/;>C/M9D/[7 SM_8')D]K$BWGO^DF8?#&5W\X]%]N6E;#T:]5_ MD_R:%>H=GY]E=9/Q@]3B/[7[>Z3JDDQPX87C9X.AY9>/Z^+J.7 M IZ'@=!&,D?WJI^B8_6)'>CO^Y?D]SG0%QSOGE$@J%WN4S

    "0F'3@_=.I5'[XQ%G47/CU.P<(S,E6'W29Y=E)!O+WAP 4G^Y^TQ>QE!@V' MW7XXM2[,=N$P[7Q\=Q&08+8+OV6KX-E)!7&7Q^F9<69!T7G&/JIB M[5?B:%NA-$FQ="J+ Q^K-S-BQU$@@SAU?%?RQ!543FIH!D)2D08\MH4;QC2Q M21S)Q(L#.XH\._!9X$VJN8;,#9V0N#$-L(8F_"^.!&6Q&T@_X5%"['12H93* M*(UVEX2RF!:!34*8*:N<&,28:U%!(6CBDZ5G#6M !X,:T)18#Y=_ M_C&UFFM=2ET]=0%/M?TE;9^J"[,W394E&UVQM"\ /:SGO%56OYK4K1[5EAY\ MJ1XFQ<94=:^E+AK=6&4A57E_(,=_9TBKC UK_;]YY3A+TD[S[:)]5)FF0"XK MV60YJK J,WTM6=Y<3+Y="Q[(!3D:D:N=-["ZFK2T()&>84_*Y7%*:_\V("*A'V%U M^SB5#JB\RUQ0^3"*0]MEM@R"R)F6YA5N%/DI36(OL&T B4#$D0UZ;U/;"4-/ MNHQ/8<5E 7%<&7L"R__Z#H,[ COV_0Z\.OXCI2&+'$#&O/4!_AA@1-' M'J%Q0 A)PD 2XH8GA)5!@?9]L!)$RZC3?\022L%*=]\\LI;\I&#\I".)J0@/ MS]+-'I0@@BKOX)!Z9)!+1:>2U:AP;_^5F3U.F=W[Q5L&<*T M3I 3+%T/R05?F9(PBGSC:BV#YXX>]H[#+/>>,CALO9=[7_AUZ"#'IGGNTNV: M+OCOO__;J&3-5OK3N((#^AFZ.,H?NI+O=$4= M-^FJO)\-='YM#3XC5;:XAO6L!X0;]W[2MXU+5K=?/E"9QS"]*=?O';+TQPRG M9!EX6SQ_DA2H._!OF75=R?0/W_S'+R7?]V+%EPZI_\0'@7-;K5@^>E_>?#60 M)"0NIF2540?U^EBJ>N)U![;LCP^JV)1ON]CQ!,[SOO8X^$W7#0=Q2L%2W0-3 MK5NU '0U&#\D'!I=U W;$RQ[=LLL&\,3 P69#K;H#U6383D9^P_ M!.C7/J&V1)5A_Q\US#7P!-#OILPW*T7\')8GK7^62=V::MV2!@QX5HK.O="@ MV9MUW6,'I@=(S!O-Q:HLV$U6;6KKNZQ6D]=&WO2?^?CC?__PW3L2M9V=SMO: M'[W!QY\ &//R"OB9HJFI.S^V;D FT)@ER']>7A7P>&$!@@)'6H&$+TK\:[7* MFD;U):H;D+&>694$*\*ELKCKJOPG#&'=EM6GI?6/P5_6E2R Q2B<.:MA$CGZ M=PV$!,IIQ3Y%R_;TF,6N*BF'G486K7'7S\)AZVO0$4MLC-B8D>NV^1(ZQOV0 M@FUZC]('KL,(&1J*TBK*QL#X:=G4J-U?75J)IA>VZ.( _"']^MVB_Q:5V MC5&*'*4>NU$96ZY[>/7>"2ONK"NE'^FFV:!Z*L%?:*>[&3ZLO4UU70)/.L\^ M27A\RQG%MKY16-^/I6L9!G9;*4T!4F'5V6?EH=SBRVNF4Y5J7L;,#:I762+S M#(8UBBE%IGN+W;!\H]2W77-6(+VZ_E1Y!G*@72"0OJQM/P)5*VE*IA(H_G4/OQ&!S0F,&B?;;BHFKNII]?P PYN MXH!Z.72L91)QSP:?E5)P=:E'@C@,&(\3 (^04?C'F_2=<9.$ATGBQQ'EX/0F M/H<[' _"?,^3$:!!@P&@)22!*8#Q*4T\$=C+I6N(0 M%ZAAPQ+L-(PAZL!>+Y1#7!$D$4D]F4S[G#C$CA(1N+&7)@QNHT',W(#'@924 M2,9#CTWO2!TI;>+!["&$HH$+ZX U S^(%&% B9],.!A)2?S4CN(DE-B-3-HP M(4%BR2,GY<+AA$ZH&[F$<\=.8T? 0)0S$H?4@QC,2STW82Z#A8SOL"E(B>.1 M6$ ,%^JZ@DMOP@]',@>>Y,"">(C=B2!@\T)L) 2TQ=@K"B;\ MH([K\(#[,"MX,DTXCQE+@1"^P^%)0!,YD790 0]DRXL=E0&C#*1$NC8,"11S M)0]Y-,DUN1!EV@Z,$89I@K,"U2! W4C:/$A9F 9L$JHR(MT 6^J&=@SRQ$!\$^+(=N6'ZCOSZ*8R MK6?]&UO*D*4WUQ_N'WO*VNAV-#/B#!CA+&>%. <^$&=IS]T"SH$3,S2="2,P M/S>WE#D'3KC+:%:)\V#$C$UGP8C9;3H//LQNT[EP8H:F,V'$[#:="R><9>3- MC#@<([[T3:6'LGV757G^:6#Y##J)'*JJOG_9#2:>H(W,0W';K "71H-949Y$ M41ZRU&> DK/Q.T/=/^=^2Q>NY0?MM_3$9O#,^BW-!N^YJ<(A^RV=GZ$[6K^E M$]A$SX3[WRU[I)I]V".>B;>F6=U+I9V ML]+.AG8VM)=$O!/H["G:+9W<)IX:79XX,CUAOZ5CQYU'Z;=T:E-ZE SR\6W> M@4IS'T!7#4=DM'LA&';R+B'K;:X=$#H,/W6YK!G9B08*]X< %;Y0\<;^EV2[,=N$Y M "F>8A[G)YKLUVX&+$@WC)\GEL-OZ'?TLEBGP/W6[I,Z_7;C=0SZ?6Q;8>> M11.(A4?(@A(Z)\WN-2S/@L^'[K=T'I'%^8OF#,$S!#\$P;Y-%D'HSQ \0_!% M.?%'Z[!%[*;2],8NHD7DP#G\?,YS+VJ/1E(GB8^CX,,"@+RX.$ MA0D1L7"P^1))DC@B7A*G42@8MZFDX;3Y4NI2'D4R)HF=QM2+O)AYC,8N%9($ M01)%=#)&P%,[(@Z6)?:=F/K,@4^NB#WADLCUJ>.+29<4.TD<'G([#GR;QS ) M$4?I)BS[SMVF*8^+ CF NM(XRCT@SCQX3%,2EC]I"!N%-E> M8',_3GT&ZQ#2B1/N.G$8$J '3ZGG3+N]4 >6""L7@6 Q=1T:1P'AL0P3R4@D M(DXGK:V2B(LDI&GLIEB?66(Y9.HGL:3$96$8P%S;HKLGJV.ON@M9[6O7&NE< MLM =7+#WT"N(48G^/FD;23$+@OG7?2L7U=+@9[ENA@^QS4/:VN9II,R7]M@ (9RP=UUZ=-IE2+*NM[Z^.H MB\R;5X'3]V+"6OW>DKQ^N[1^[IL[3)\I+'L9O![V>A ;J4NZMQ>TE?R3LOP$ M,*:Z2V%_K#>OB$.7AB*/ =J^FU7?E +;[.2R+9P_;!K0MH7XB D5)LI1TRG' M[9OXX//Z9E<_%")C!=MJ=47'K:YV-IR "]V^Y1@03G$$&Q*\PUHW[_!31\%! M]XRV]=>PB\;693 _@WHP>?JZ[4Z 4II4)1/O$D5MG!Q^US.$]>7Z\2$/4VS7 MNHC?U6%@WN,$W NI6KY>QH2')/%Z1)QY-! M4Z1!9Y0WKV@PX.EB5]RF-T!Y8P:L=%$I%X6&D^2+&.N@ H] ,> M.V&$A=LCL",3(^ Z7)#$XS&Q?1O -P5#PX0=.X[CAPE -TTGAH8Y,K!I*F*' M,A+3R &S(:D3.Z[PP0T5*?$G=>W!6 HJO3#V!59>CP08 <]A< >UG21@*0LF MLQ*1F_HTC>+(12,@<(Q$AF #0T>$GFNS<%*KG5 >"%_B>D,P?PY8C"B5,#\& M!+&C,$GHU- (+Q(NX['OA*JL/]PK6!!+DDHP?;X,V:2"O)\XS/$2,$C88H"F M%.;G>R).62AD$/F4L$F5>L<)74%"$HLPA3' XL&L4C!F'A,.3Z(@FO8R",!Z M2S^DL2,YW!':V)0 UI%(X%^:2)=,Z_,';D"#$(R>*]!5H-R#^0$_0N)Y)+0! M^APZ-9A1BOT8XR01("4V3^ K6'E(>>C[KB=I,C'\J?0BFG(.C&'8[0%L.9-1 M JZ0D_@I6%S.[6.96'3>LM$@ZO/[K &OE\.O_UF5=8V-7-*L^?WO,N7)$>=; M_?5:?3ULLT:]I3T"'-7!,5K:IH,CJ-/D@J[U&L#% ]W7!I#[R@$#MCT0!C;<%D9?]A1CWJ]QI8<)!LTK3P@9^QHH%[$K=V?4'&A&O'0*"N1R#1:"@5K M+7'@EP%!X0ORNA7!I?5#3]]Z-X%%5O--K4QV E?JOEO]ZO(2OK"T?F&/H('< M#25IZ :HKRO=W:?O&ZB[!,$3UVJ%C>Z$@]_!G!JI>_4PKNG4L$\2VR@-FB#5 M&^R!5%MUR=&IA&DWK.!M\]"RP59=<#67 CL3,?'/3=WH97.VP>7!T&U;K7:V MA;Q2TP!JZN9<<%F[5'A\I5H2P2K^QBJX6E'TK!MQ&3S^2_[)\3TW]*:FV4N$ M#:8 PB:"?7O!F!-"L'].Y(4N37PZ:2#C"-MU?.+$?H2-5RA$M9$@$':F@1]Y M,B2!G!A:"A8H<2&,=:5$#FU?0CJ MO00\%-\!!V"R#CMQB<]\<"RPE9&$,#N2 5ATVZ% DPA8/KF#^!YAV-,9& @K MCT(7^^Q@-H($:0C.%<3LIXI^]]OIGR6 9'&UL/[3=.%"-?\@5ED!FE]I]/C^ M\UH6V+:O[9OW\W_^'[9:?_NA[9LW,/#M3Z/6S,$RW#9[7M>>V?6F%Z@^:/=; M]Q]WF<@%H"W:>855*VRO]K_:=DD]_875S:V'>; YSO;4"%CDQX2HT] EVV%Z M3]3%V!O%9'TO63,K#!'%AG=/JAC \[O6[Y$MPR?!9 OL&$^-#*QI*]DW>+R_ MK>2XX77"L"UDTK1#FER'VS?R7K$,.^;U'2/!Q^*R0J29REZ=C"#VPQ<(Z %-K/$ M9PT?;WZ#8?,%7M.P3<4*PU95)@EGI-PO)JJ],!?B@9$7YBR]S@L;\CAENK/YU.O"R0XNV]F'N?5:KF'!VBWK MYL/NG?21')8IMO\J89HW@PAG (KMK._#Q8652"7TPZ:.F6HC"4HJT]0XBRO@ MP$8YJP:)M5'H6DBF \][:?T%*':#1/RBF<"8V,U1]8L7LNIZB?:-.!GGF',5 M^*'<%$HW0#;!-5VC NJ.E\R(Z]UPTK@8N+ZY4Q8J^+:V4A#20KFW9A'::6;# MSIWC'I.#B<'C6 X*76@RP,!#\8#;;HNVWR;>A0?9%*8")C0F0!B3;.[=O;MW MMS?W[IY[=Y]1[^XV].)>Y'C,@_!).A <) Q"%L^+11(($B5IZ+O3\,ZW,6:P MXU1 B$9=UXD3"5%(&D+0%7%PJ)-)=E=&MN=RB)Q2)X [DE#$C$9>#./B-\*# MN'.2?V0^Q$)N!&&'@V&1+6,&H4T<1:F$6-+%+UY22QMBF-X3AP& MU([ME#HRDA#C3-@75$;LRB*/#A1![*>;G0SN) MF8U)Z\#A,G(2;GN3S6:8@0NA.43!-@;/(0^P1RKPW'83&0013:()=<'_%' + M3$-B-USN<5@'A.H0']N^%R0,Z#L)4Q,[Y0RO$QC8!MR.HP388V-\[DM'I'*2 M;>=^$OBX>6$SQH%R80@K!QI$#@EM&DG']2=) .)& 881;LP+W/U@PH_M MA%.9>A$,/QDCBGSJ2\EB0GT/DP 1!.@"!@+2A6$"+.FR[8?JUVKP5.$RVS1E M^X4&9?7-HUNZ!L&2T ,T=?7M973ZPE1?W-SBMYX_]%_8DITE/7WEMN,N&<(T M/WAA:YXE^R4L^25*MKT,+W/%7_C"TAG9XU-VGGAB&#MLVR7O:XOKNQ1#_R=> MYV^IG?\_>)CL^P)S? OR;I7M6[%FQ]ROV!3?-&':)FE5_5OUGJOI? MTDW*^5HP(-Z2!!>-!H?M)C6+P<6*P<$Z*3VU+3A8Q\!);M6^)_H;B4C8B$ZH\1(#PC=9H1??7)>;FA6B?GLAB'!2[_"KZG:>0O/;4R5/7%CNI$GJ M4Q=B.WJ^>F9_E_=3R3NV%;1^C:.") M+?DS2^3\5=;U^_ZTISJ2W)WF[E['N@0?^SS*&QT=C0Y7V^;DR/-8K'GCV OB M>&\O* "S9'%1X*8&J-HN[WC*:7?FG=>5/73?YD?AU8'__ MU*L^B%7V%S3T]UGE64]F/9GUQ'$6OD>/H2>7[2R+-Q#-NV\-(O<5E%NWV3E))52 MV'&:XINL7N+$+"1V+*4,PBB,7"DG;_T*&5*;??5ZGMEC)H%P/^#([RO78JDY@7_%D7-P&2S$P$#ZLV)&USZY8 MHTKME9L&*YPIMP24LBIO5=':/<4%VTHQ6$!D4-6U?[29]G)8*\QS0X*%(&-B M2XX5/FD7?976\#)MCB( MP$*"*8YUH\:2C&,1GW6I"]*9 CA8&83W\P,&9RN0'57%8W S/K>2O+PJ@#RJ M)A\.C[*TM'XH0(9,J6<^7NK@":J^RO[)#VMJ.4NRNQ[F_F*8IC137^WH&M!? M5GW))S.Q-2R^4L6,IX5_S).01*A9_?Q4T2Z\]T\?_S(JK0,/:(F!00"@(E;T M@>" L[K9/6!;KHIMJ_)D0%,DT3R%;ZH*R:>>TR^RK<W&(()&,0&6A>5]!M4&0N MSS1Y,URMFC5,M[J!)^%,-D5;/0U_:NN@8(&DONP27I>7M:X/I^J$XA"*(:IJ M$P G7+)2 -'79,6QB[)0!<%*57.PLYCUR%2B]Q.R-,1J)S88/HH%+FPG#E@@ M0B<1 2&3 A(R9;;'!=85\1B6M<#Z%!Z-O=#SG92"7923TM:>D D))8M%1, Y M"['B9I3P6"3P?Q$6;4[(U-42+ BPH8'T)=:$=.(P=5QP\WPW$%0$=C!QYUS/ MM4, !?#K4BR=(<$<"YO$3L!=#_PVGP:3HB&2VDQ0ZL1IA)T=H@@+DX1>#+YB MPM.$.,P_60\%5.CU"$DRC20-(DE?KU&U4:"D+[:N!6-44:R# X1-LO3!=YOX M66S?6%@BT T>/P)=!J_-!%MKV%^IKAK-WAA$90%071T"=X/)JA02L&;3E-6= MOF^KV&,A&PU0XQF_H4OZ^FVK D);-%3FUNHN#$"@5NR^8EB36K53($OW]=O% MSAJ+G_:+O+6&_S5% ?]X:>?V[J@&N''+0AP8/D9!+9@[5?*08>1E%M@* U@O<$B MCX9O5!$//GA(S.#UVSU\!$-^*CXB6^A];.GHKAQ!Y45DNO:JJA+Y&0M+(@7, MEPCEAB@M,6!F/&>9OAE+XUW=(0DRGIG*DBM9J;IVR2;+A?)71.<^#7E$@NB[ M_J>.73#ADK=2ME&K\-[^>^1!Z.P91##3^!R1IV?-C-Q+HMZKB- J@\::ZI M:YS(O@1@7Y=OW,7A+_DGS_5)X/G1!*8#)L&P8+U^#T(L '8>)XD;Q9Y/G"CQ M;4#P254KCSA)E-I);+O8#2%E 41_3AISFXK(QX#-3S\_"7[L4LW'82X^HE[!K2#9]RGS@VH[5KVIRAVO\/FO M7; $E&BC6JT;&_1U=^J1YOE,<[ L&?U,;4=VJ"^@D]$)K.+P\P2]F@R36H%BLF5 %=X!** MM&E>,T*]#VOP<$!]C'?\@3>JA10Y4>7[P9U?4E9EKEHZK5KJSU5+YZJEYU>U ME,O0\1/FQD& 54N]B,6A:WLQB;"R9,*)QZ8=C8+(<1D/XH0P;&48R#@, U7V MU(]8X'&9B)-ED[>A:YCSNO>%:4W:+[X9F-.'IE_]%)A"N*.+B$O2Q.;4QU91 M:4P=WXD9&)/94;RT1R9@)'L7<2ZF7>FD2V9-4 M1,0=$C@4NUAA7RX[23%5 OXG#;@KO2",[$D'+)O;+'5L'GM0#VB],KARN^:DOK?YCET S(^S[3IBMM?@P(_;IJ\+#\-M? 8GM8/A=C43:5:5PC3$2S:0:M,%AS&;9L]F32YBGY0\+IMA5VM.$ U32.. M'7TX5"K_;UUO*+U[\VM902SQ%\ER"!=_K*Y8T9XG0P?]JJQ4S-GO[*C.#4 \ MN3>J.L:\,#%< MFS1@Q\^A0/2B@U1?E? !1+\H-SO%96$!"ZZP55C;G0($K4UG0=Q7UFH?!J * MN*42Q+5J"@,*5@)3E+CEV2IK^INP=42M6XX821X(]:A_SF*K0T\Y6-U@,^.: MM=&]!MH=U8!E]P@3)+UL%OL(FM[JGC>XGMQBSI+R% M-=0JG%=I'.V>8D( MWR4M>EU+%4M:9%_0+H;&+K< 'IE:B^Q;7*B-M*&DJ5W M<]O%LUM6*;86(-DCZJINMW!5N\BL4$WMI.G[<3M\?LKPR4J"5+;07(G/588(,.:$ZP*2R4>W_0'WZK3>]C]@1O,UL76TR MF!LJK19>30@A5%JW5E(,/YH4,[\S&1DU9[0EN(LI52^N%+7J)@/%[G8U<;:- M9"MKI7R(NNNDC(GJ3:'$7:=0E,]2W W;K"C*FGY8.W;J308)U&*S6O>K[$]G MZ",Z)5 >]!K"3FDVFK7WI*PH[HFJ;=-VAW+4'MSJ.H/K]+=YC-!T4CO2^BA% M45HX9(5*AYGQNQKT!Q[)@8Z@(75O"H8 M#<\=\L#X (/.B[OZ: VL[+IL#%[@4$59K-G=RN2E>MQ4>J'\%$2A%1[=%AD( M43/LVCBTRB_;\NT-2>\Y(_FA1=Z!'XC6HM8G'OY7;?MT(MXZ:LJD,95.'3M2 MI?9F.Q#3KI^63SPH@9N>_CL#D=@E\]=0*KU%"]M#R: !X5GH_JD M>]LVU(Q9 VY^0M.M.\ZBSG:>I[&0[3&=4AT/,&;7X+"R,WP#]E_M)_1NL7(> MKEF>&J>3+"U0TWH-1,8+ZJ[?ET+$/JN-EI!GZSZOG>?:O<9G]%@ '.CGG0 [ M0!EA$O#7 HC=*$+>X@+[HT':4<#-C4IT#U)$N,6N8M?82TNT)[(Z!HT2V97$ M,,UL=-T"ZNGT-RX1=[V 0-SB6<4W*V."ECN2!Y[D?HHM-J1T1$R31,8ABV3L M4!J$V.DZY/Y!@^X]"K"O6-5?LW^!H4$Y0%)\9&N,T3#.!;YP/(AD"E>=8W^/ MT#Y K88OW6DP_S[J6+DY0^Z1F>I'I/J]KSTLG;VG^6=&'(L1]C*@ M,R?.@!/.,MQ;87)FQ(Q-+XP1,S:="2=F;#H31LS8="Z, &S:^];US(DC<6*. MZ0[+B"\L)_)@)N."ZH,?)HGPG!;\M7;H1=#@(??T)1#A(<_P)=!@5H99&69E MF)7A\<'!2R#",W*39I?X1;G$.]J%?:'LX\LLE]U1#OL+Z]=T59-A_;$]"Z7_ M$IN]$^&UDX5)>?4P#" M1U9?ZZ)L0K\'\D:]89,5;]\_;5N&<^'^%]5%>:+&'F>3:CT'8IS/!@31KP+< M[TL^.3'.9R/B]+28M636DEE+9BVYS/V[TTO&!;MH4_SR:WL M8R'KC6,'B]!VCM&(^3)-[BSHST30';J@GCT+^BSHYYM'/(2@1]XB($>1\TOR M7"XM@6@JB,\)Q*\.>T]X'.]+$.KK+.ZI%W<(H KHPK?W M6+L+NS<%^0<']= M8B@,%MXA\T*SH#\#0?=/O[A#H#AU%G1__N 9NR@7F_2$9_Y=-EWO>.M-VRCR MK2JGCT="L9ZO^B#_MSD'3AV= M?,4'-_9T0>Q]&Y5SEFG6EUE?>GWQ%L2?]676EZ?)V)Y\Q0?7EVAA!\?0ETOR MQ\X]NXL)W4I*[4^K8I4O+%"ZI"-,)UCDJ=_E>!$UU69YG>5UEM>7*J\G?0OH M>11?FA.GV_OT6V_/EX]\\^4/OP2T9S&F>7]^;7J(_<^YIQZFS^H]-Q:]9K9O>@],*KJIIW(M[_&OL!OW" MXI!+BIL/?Q;]24^9[^\ TJ;F;J:WXCL/VXJ*]G462'K&O0 GER4C55A3KF25@W" MDJ4@.$5CL14$*XU*/V>J1"JFG+%:0%X"J1I9K:PT^RR%Q>I:-O72^N4:'K!) MZ@;NSEANK=@_RPI8BD]HKM'+7B-!+--NRBJ'4\EJZ[:L/N$YVO:ZYIHU5@H! M4ZTNY66M9Y,ST&B5"<\*&"S/Y2 G;@FYSLL[/<*Z*O\I>:.>;,%BLEP_:5.# M-LC*6K.[&J:SM#ZJ;UAU9^&ZZG9V0$7X ;Z%0Y;? 1;/8(%JZ+>"_[X#=5?IJ YU?6X// M2)4MKJW8YW<#PHV10=_6?J>PO/NRK+,F*P'A9 SH#N2$XUIPK_8%D!6K2T MT!; ^!7\T4&EV.#;#&4!,RBO),RG4@.U\QD\2R'EPKJ2!3P!)ZI!;#X-W6S+EFA'GVX]M MVDSO5ILW8 M0@W^00-R 5*<90G[3H@@C>P%1*%,V[M=Y1[\95 M7L:M;-_I65H_@-_ T)YN[Z8DJWU[+ 1X#0KW!NX*%4H%(W9;Y9 MZ=&, X)ZRK.*;U;H).'H<&O5*Y]R<18#TDV7HER?Q<#;0:J!S]6"3%G![:C[ MQJ%34@=D6[,,"":!Z*U&OT,&#N\ [1S]+ M%8DJX2.'.2VM7W$:5 +6#<""5^+C 9%AC S=![V M?I) QP"EF*' M1+51OX.[4RB!P9M;JHL>LK1$*2ZD[*:LE!VYE4RA%Y!&9%HJY>>L5AYLHSS5 MUKUM?C,UL25+ Q]:W!$FTR+5PJS0G7@UZRXDG6[0O@9IP'B MISSQ=C"0$(@#^;72*U0IP"?D)CY!,5\3;C&@;XY^,OK<'-S-3LF5QBH:2Z!! MNE\YH;_T](X7C)P; M\\1WHMKH_;Z6PPK@>0OP2D-?$>HL[?%#NZM)I*,DN(A.1^[1A W!4U3@O!3( M&^#6JS!R52O\OM6NWZ6,!\,J,$:6V_0"#OVMQ\__/3] MS_B-^IM\^U8KG_:R<[21&_ 1E9^92%D84W!G?0$W1B3?6GVI]H=E,MU1UEW+ M9$"G4K13)/GT??.=3P0)>A4&6V*Y0W2=I7./W1G)[GU3'SGV8J.,"QO)/PKT M>G2*52-ATFS)*#P)EJPMSRY;H*T60%3Y6(A6T-=BJXY$ 7) M?(^OB1])-(T?PY/JS)\1ERR1U>#0U8,DAP::=TWYSD".9G56ZTO40LS\P:_, ME:Q4:!SQ6V/(?FCDR@J,$OV-88H"[;_Z(OBVMK[K1T4T_ .\5V=*=DW&@G8 M^+'U]M4U/ZG01EWR8Q>7A5($D%H8'_.4^"CP(;O\!LH>C@"@V^8)A@%G>2-UFF3L;K;9 ML:WK^1W/Y0)1&J!&JM@+P-1:@<+!DG"$GAS=SVK_127CTC3C&JI$RR#A"2$ MJVOTU^$#YDSQB9AJX-DZU]X8A+_,&+2[(960>G!]<]>A3]I!C,Z7M!$(/+E" MC<-$[7A^];7RO'&.B1Q.4Z6S((@J5&(:I]$S)4.!D3J(:S\CYIJ<+SSSMFAQ M!Q^)9R95,%LW\!\=+PUC6)5E$!)#-M"7+R71TAH?CU,A?=)JGP!# #*$UA>> MA*IF$BX@\04P\J)SMS]?H\ "IIM7J-$7O*K8ZNC[M87U-P93T$Z;$Z'-L(.% M$H _E0S4!MC]'40-.O&B<.(&^0ES*_DGD-9N!6N] N6RZ4C#VJSQ+S)-6-2X M>"5(. SH*:8KA0*:TJ@700WJL(J?5$]&40UA>]J0UU MA#NT9]L#9M&C21^@:LQ)NLV>-J]O,(MMFNNR@F'T MAM8 ;.&686927P^(F>'^D-G' ,L[B*&VD7H*J=U<47YW(K9V:?HGB:7U04%C M"X7ZKC;EM^BVH >W@.G@F]4F;[V31N[';UMYM=&9T#TN*$=G95@O\&=KO>J%V9A99_@9/7 M_B(S^_>=Z456JQ2]7%K?]9M<.Z+;'7(V%#%0C9W"I/*>D\RZO23C:^^3..HN MHZB7N(MV/[^327-X5_-)LP,_R9LROT&9^ B>&P1V?V9[!?4\L"$Y%<3SMMI_T&9=LDI]JU=)LLPQ0#^-IWH'8<]04$ M,6'%)Z-L'0D@6,6XJ$3AQ_@2#\$8:IEA<\QG&"C1X9X6:F\XTW;3:_2EWH\# MTBZZ=$)/>CPW8>9JU&MZNPEA]>F@+AM<:MO4)K#ZZ4Z.-[4C30V-U>O^:$*< MK>$C?%!)<"_TAC/1V99N/7HK%+=)5 (7*(W;C .^W6],^VG]LD4.D]*HD6^; M),\ @?$V'0N] J09#)'5]4:Y.(8SF/109U EH':E8VW%O\E \O,Z,]LS_Y<5 M&TPO #$\?6JUUE#?"D^:537R7^*QI^$)6GVFJ@W# -CT*8"N& 1NJ()T*Z[J MDPEZHTDE*MO=_J&1P/0&W)>4ZA1!T1[=M=0Q,CQ (]E,.5- 7-O %A59@$F ME(F,55F[C0J3N;TN<7K %JDVII2OD!4P )YK,3F .R.O-9X/$-T*53[KB^>K M#N9@OE09$^ AYOW%U%J0)>UY-]K#T)O(J5099$R5J>/$N.E1%H7>%-<[^&A; MP,8*=;[&.((M7]M]"G4B1JKGKE ?T %4N3JM*RL@HC*.4DO+6")_3'6B3&OY MPGIE#R==;VW>CW7"2-!T]$WGFO9I/W7"!AAIK22XJ4*+:#\[();]T+@[8:H[ M0%*N$I4'ZHY9K>%Z=24(4(LQO5 Q-YCN%G G# MO0!TDJVB+-ZIE!4X&W@.JRE[2ICS $O,T8\)NVB3E,.C4ROV25K_ O6%RT"\ MNB,)@VA SQD]0^4KDJ4#$2OG>(G/W@P^1.64QG\"H8@J$"HOYR"-FK\E:? MQGA%H^T#+=LH.;H?)?F5"_[=CC,X^FIVP[(O@ -BTDJPP.'&GSU46:%PA%+A1R4#] MYVVQ'?> G D=6>CGZ=T+?9P0'B-$MZU;:V*IN6G(T:XM@K7QV<>$! @'#W*( M.CO)N05%G:-VV\;&G1T ,_ :P>!>Q?C*B8U=DP?'//;9FJGX?C3VW'@0-V#5 M,$GYI'7+$\Q MHD0;:=(1>&B*&_=!XXZ6 FUD\9]E*9R/8%<-7 MGN!+_>C1DUECMJ;,NT^MK5(^IIX=>O@)4M!LSNE]2S57-8K6Z$V19Y^D.KC= M^KR@U%+I0;K!O5&M/5MS@"6 <*DC>&-;Z"QM^[6*S%E1;%8+M-9H[O7SU;Z\ MR2'V&UJ_J,33#P6>V)!"[5'V9P6F$>8'\<]-C7=]_ZCH"H2*.7.ZFYWJSU@8FP1&&ZE#*?2Y7(%@8K61FD, ?!8YU_U M3">A60^8"K&ZR MW)-')K^74=I75#IDU69\K=2I'FP)MD*;LMI>.K=BML_:' M8/<#?%[.NSB[=W&B>1=GWL5Y=KLX7X"6/TP"OOX$30G'509S]D;@Y/ MO%&H#R$L6,CZK6[;J"/B5FMT-0$\2L_6M7S??AA.%N=F! RIPS556_A1$LTV M3=E^H<59?3.2^F'*5E]C=Z(:T:47*&%MJG9J9DBB9>RKBP'XH,I[JP$,Y& P M) ;"JM6E.>7;_JVJ%KS7P'$+Q'M080T\JX';2UD"IF+3R"=6U-VY>G4A_/C8 M*@5#V/V-U4>OMFU9,%S;# V7 0U?P^GM?[?DN@,!YVM! M(%CZY*(Q $^='$C?9RFX8"G @H.S%/PF*0A5&'O94A"^:-M_J-X[IW *MG:R MRP)/\.B7_52!QDH=PZ_JIVW4==H@X=2-NO;GV(_5_^!@ MI2O=+.RSL)]X./S[)?0G1Z'GVZCFZ9[^\'^S*LL+=PR4&[)LYB.HOI$YC0 M11@>M.OARQ#38[M^!Q/32W3SG(5#]@4T+\N?>VXIR?&;T_4M6\_YR.>4HCFC MU5^HC7;=<$[GS(HQ*\94,4RI_5DYGE^N\XQ6?XDN\_$TX\*]Z0MPFO^ZJUK* M'*N?K5U_Z2FET+7GA-(LI.-33LRPNK&K=SZ/JT>9T3'L'^$E0[;#KGU(L^O,VF\QG.65]F?7GT MOL'>G?U97PZ7&CVUZ!Q97\X (9Y 6=PY6_H,LJ6J'/ R_X"U85+-Q*YA:\W=:/:V^5W2^NC&4E_D:EV,ZH+ M62UKU4E7/4\RN-4T$<,VJ86]NU86.M\H[LV\K(" M:JU+\UC3+ C'?L/>ZF!VVH7M6^M-8GY2+2KKMN-D5L"8TFK89UG#1=Q<)"0H M("RZZYS%!DEYN$Z8ZU1W>C5M&*7]4;XUW7 G[>%@ 'S4F[2;B7RGVL_K$GFF MIXZF4MN57KXG=3*HZ992,%L'S/Q?0B".W? MUHA /\1;$F=E]LOS%\"CX?I.[=P7?(]MNB2RN4\A"DGVG6@7CV M@KC[*A(P/4A6]/C@=(*LZ-&1YV G5B\492A9 M4/N [^J? DM.>&[U9& S?3%_@6FEY^8=G=.IH3-"IA?N&(4+)SQ&&;D+A[)S M0ZSO]J7T6QB;/:4+Q*.7 3N^O?"= Q:(NW!XN1A/Z6?<(GR7,%.-LMLHG)VE MV5EZ :BUB-QCO(1SX6AV;J#UCR\YFK# HQWWGR*9?:HO@:U3OR?QE#[7J==V M^!QYN/ .66GRPE'L8GRR!TY)S:[9T[IF)S^B>^S-OY,O^/ E=D-O$4;^[-F= M_+ARN/.TLJKG%GQ;6^LJ*WBV9OG.8\OP6[X14A_X?-H)VX/YJN^!SMGXC E^ M?I\U(!?\6_-BGO57"?+"KJ3U$T;-79FZ;'PVNY+**<7SP:Q1WF>%EZ._BD>1 M/Y:%\C088KQ^[@\%UM60HI"UZF^F+GO@\&Q1XGX'2+$ I;%MO(W@?UE[F!N/ M.G?GL-.L!BEOCSGK\[N-&CMOUZ0GJ6]O^^=JGPN;Z*J3N;?PJ[T,E^?(H3]G MGX$4']7A9G5"_3>J];2C&$(6^.$= 87;L:3] OK_E/> M"TMD-QDL7M1M&EB='U?M0H"CE5QO*G[-:CS[C*>[;Z]EH6;Z404\O6KM$E C M'[7E# 4$_OLF>:L>4F]6N-CI 74UE9I?2[')81Z]UJ[9'9Z!K_5- YE-X)X& MZ,'@(63I=8,]>.9_\5M(MC!$&5"IG>%B:U&+AU?%*KDG=%RHJ72O&R@ER^H. MOQ:X9J3#X!6 )WK]P!R_5P*O3_.KV[Y$BX.ET+5A+CB*T1DY6K*B9>J21+NP3WBD^N[JJY!76 M<.]%"68@\8GU!@ 4;/ P!\$TMHX&S[1FU@Q?9M!X>XFA @RL4\@(1 YX (K!+1S-M9%6=*O5NTZY7B8#I MK-6Y=V@F'Z-UUBW@"1*1,X!G:Z,L]4U6YOC;SG5-3&N/%#C#KD74OO5TKVFE M[*:LU#LP,.65L5BWH/>;JH() G&NV0W"P"87B$(%"C- "_R0@;QP1-SDSKSQ MA< 2BL],YSZW>8O*HV7H/<*DBM MCN'@,^/<_[DI%*9K"5)(/D!IN/,7ZWOK8PO-N)RF?RD1?L9GJ65E=;W!5Q?1 M-JS@C[*Z4[/=:C=L9'4\_<$Q\\&Y>0X.484QY?6W(JO7.;M[K\*Q]J4S$X([ MP=+UD$WPE3F^K]@V/ED_>.[H8>^XS/.]2:W#GLV_MR.W0_O(W02!U-X^?X__ M_ON_C5XOV K.32)B0#]#%T?IYY5\I]]>8"F,_Y[EM^RN;E^ZCI9NF^-XW^4R M7)P3F%W7>VT-/B-5MKB&KPL."#>& WW;^(W ]LL'WJ(P3&_*]7N'+/TQPRE9 M!MX6SP^=3E"L<0?9%69=5S+]PS?_\4O)=[UI\;5##K"O .5A^;?#H\WFJX$D M(7$QRE86#M\PRKH+ M:188LBA2=7'#0OLT $AHZ<==B1#FEMYK'37T80^^;;U1AK@;% 9T'X^L'W[N M7%Y\]5<\ :X.B14>BUCN7F)]@"]S',U96H\EEXDVZ2.KRAR\GLY4915,Z6DIZA^/HO8>BF8%W)?G.@:'O_\LDPH>?*?$47G MPV_H_0+Z*\L_P=R'Q!\)J$&3,55)=&"J#J.[IR4K[<@*80K3)1_VBBPH]_DX MRMNO]0U]Y1VOPORX:?*R_#1,=!\O?+';Z$7YOU>R0)<9TTC*S-Q(5V%.Y^Z9/1Q=2XUA8 @0D#&N.P#1U[)E*B*XQ9P:^6%T62G35XHTV MZ-DD,L\@#C8!0*I@#Y4(@CV3AL%06BE5O4EA@AD&W'D&.BQP8JA_&\RVP-3* MM0E4ANDU4 DIU>#I!K.'AXP%[[?T^][9^C%-W_W)(,+/UQ($XT-5L>)*FC0C MK$;GN3YV#:'K[@VO8XLTQ(,JB[E::;A$.K>2U0=\RM/7& 2R!<$&"D()ZVR1 MKU;K9,-U&NP%5QSLFA+3354KX$HV=:;W.E"4]'D>O+S*ZD\Z528@^N28U@#W M% VG&EK-;4183 &K[!S ; *>)&LS<3=E?H/RG:OV,_6@_XS* H.8@&A= I$W5I-@K[=&:LW M2>]!Z6M;RK49M+*6_=.TB=R>T:WL$ C)!9=NU *,*Y#"B'JU?4D M/8=GS6I>90GZ#DEY(Y?6!S/48"3=^+T>IM]P,;"N-L$I^[T?DTFY!BS1#VFZ MV0\>F:7#JX0$[06-98WLSMIL;Y1:\WE6\USD@6A1PXE6R+[H-T?2)U(M@,B(O>OMX0L-7H;+6";]%]&^NOGH&1;T/0 MQ2[P0OZHQ+ZJLL50V5H1V4H_=[8==]SZK0F\3XEZ[P8 \S[B&N"7*ZPJUMPS M=,5TYG9H(S#)9XIBM3*' *YR?(8R*X8J9IZ\@T8#*Z!QOMN1 [HP0P_DG2+3 MQ*N 6U$=4/?S[!,FO%OY5SY&*U#*A^!ZD1HE=DRD2Q,^I4_Q!?;A;[A#R(', MY4H)!"9N,[[)&>X4[I#7 B;!%1!LS$Y7*WA:NL!9;4;8B]C9ZD92HB[TX,<& M67CD7-9LU$B?"@B$M/1I.ZKPXU9#S1!H^NT,O6>!^V4=*B,[6PB\'\]OK\M^ ML^ZJ+&&")=HF4& N>T:VMR\T[!B"*50!9-1[*&:CSYC^%?LD!]O956<))L_& M6Y P2NA4$;PQ^*G'H>54%ABX97:;U3,A0LS9G;'($)9MJK&RH#:AKK!;_&0V MA/,2R^CUMLX\?P>W-<-&LU#2CEP&IK:TSLO M7?@OQ0\5<3.P#%JDVO"^96KU23:+ =%0F V=%#P#E_\)ZWZ7W+TS'R%8J;-: MDP=B(Y 7GH-OBM08WHUQ.#"G@=6 "S.J'@M2I79%MS?R0(5+,%%F83J%"8I]G:T5H^K->EWB)H[: M2#3[,'C48V&89&@Q" U1(,&8@G=>MQ#>TLE8#%/ 41O*=!APX8D%H$^/!^BH MF\U&;01'L@H3O(>,::D]O=NR^F3<#H75([<#+V!@"JI"Y6V[@V$@NSB3%4CD M)(+H=MA;N%.C+90F*$NOHBT$)6W1L%X@/!_/H6G55Y(P ,;>1=XVA$A'B'+- M>1(I/ZD$D&%"9W/3JER9<5NZ* S1_H"Q5,KED05'QT\J_Q="*PQN\>8![B.[ MP=X9<-1/-0S6)B%;MUND!C?T7&\QM:CH-)"TUG3B93J/D=_+9_2^!X#H>,)DP0#S-J;)?AHC!9Z M8C_VP6N7"#A4R^$F3[+VS)9&F?M'#S M"9;L+Z.7MN19L%_"DF?!?@E+G@7[)2QY%NR7L.19L%_"DE^@8 ?+Z*5Q>1;L ME[#D&;%?PI)?H&"_0,2VE_2D7?F^?LE?6.WIC'*Y>)AT*XG^/& LW"+!EQ:$ M;_ -QAP7_(=O"/WF*Q=*HZ4=G;0P4G>&>-?[18^@S2^W,O__['UI;^K(MNCW M)]W_8.U[KM0M0=HS>'>?E@P80IBG$/+%,G8!#A[ T-^_:LJFX0$,NT=YI+. MV9V0PJZU:LU3S4"$H0K\\\B/?E9P&=MZ%?9;]T8<&VV< '\3_54_,S(03MC-9&F6.14'DE#!#JF )51 J(#E"!40*F!Y M0@6_207I*^FTP\^0"@1"!9\KNN MX3A$@* )5C-#7@W V>T%''O/F;S-OCN]-F'?:9&=7J2QGW3?M]^3\31*^\T8 M%J%K0M>$K@E=$[HF=$WHFM UH6M"UP>@Z_V4$'T[7:?H!$W3A*P)61-Q3>CZ M(6$HL]+1#/< M-UO1)QY4/9FZV*A5KF$1 LDATO(]-C)5&1$0J:$ M3(^=3&F:D.G1DRFI\?IL%6Z"XUE"S\=.S]\F=D_53R8R]W)H]$1%*2F7O31" M/5%ARK#?&Q(X\=CBR13!UB; TP(T'-8"F@\HMP_WI:&[=T@E[(ZS)0><_GRX M#.*A@?Y^9X=.L )/$HR$90C+?-962"5HFK ,81G",I]F&3Z18E.$90C+$);Y M=%]F@D6W&1*6(2RSF\JP0P.]BR .0Z<)RQ"6(5KFTTFDA,B_%_8=R44(7)"Y*=.Y#R7$%DR6Y 0^3D3N< D4AQ'B)P0^1D3.<\F M:)$0.2'RMZ(&YT#DC,@G1/Z]L@%"Y9=#Y> M)5Q1[1&@_+#O!YH3F)I%V=J#Z\$30?L*1L '\?;]M?UK\ $3UP^ 9\9C.## M_-!#2^8CES),OQ]Z\'N#T#'@MQS*#3VJ#T::-4"OU5W' 7H0;0A^&?UU[GIC M^'W4"WF7 MLEQG2$T@L;H&WG$ Z3=!^2,WM Q$9 M H[NAFCHR=IN#+A=W[^BZO!44%<" M_.XFX /7@P"9/C4)/7A\$$R?TC QPAU./ T>"L0?6@5!A:@!,?QPP]H0(,28 M'D25-4AN8!NM]-QP.$(O\(SD1/-6AX+VH/EH]X9[175')D20[]K@-8%MYX\- MZD=86$P@ 5$.T#P+T@/$?O0H.T&A]YIZ:.&_!",$I!].)JX7806>PN;6$T\G MZ$&RFD.BUAPGA(]=7E%8_AQ$VD VTD/?A[N!H*.9ZQ'',PQN;F/IOXN0#" 6 MV]H"^ G\&?,W7*M;H1%]"4&;=1V<]M00KV8T"P/>&@$ F3AX0YPALO@/FWXM MBR".0\<#NCMT($P&%6@+B#,'#,P $EX7P%\L$Q(H!0\0/L$#F@]YJP_/ =(: ME/.(+Q U:?!/1A@) /3,"6(7_#YJ36:^^2I('(@97%U'<@,*$+@8L:P#T4L% M=J4^B% M'AA".L(M/0FTKF\Z*WF'GF.82"B$%B9S2$N0<'5,9/,1&R,Z \)-(@H +G8UM"<_8BRD2"(V5K7?"0S@X'E MSA&6K:@-*8(.,5,L$B'W[H5\Z4WJK<&=($FC12?COMTKM4GE%$.O"+R,5C^3 M]DK'.B[E0^/&A-B'*@O),GV$'^NMO6E=@D!D^4C>(^2M?0PQ9D!\8XDZ#%!PTCSEHC\D'*##X,O0U<@H-?!KSP@D83TV!5&ND:9 MQG]_J$;*T/L#@5&U?EI7>3;%J7UAP*B")N@&*P*!'_#0*/I+6WVCV%8J*;D1 M(FT<0%AF &X)_FK%O^4@PBS7#^,O[21=O7:4__1?O& .D"$+[4K+^/L-*Q4! M0*7D*PH27_^EN1>]%?W\$T(#^>WOC8?^^'<=='P<:\!3*^BALJ/@Z80!5=&@ MY1!03=,?KYN,>Z=Y*/^05015DXNH&1*7'>W,@SN#] '9V8-[B!@V6C"!Y![9 M7)H!J1 2%21D9PAW:"(1&$\U\[ 8T-99!0I:=XY%+GHE4MO0A$!B:.9"Z8=9 M"4I ,X!V'*1-O"6(L==[BL0?W( 3"<>5(8(^#P,H0AX!$HN>"SE!3ZTOXK@AC>$6"&GBN'%=7!V,_+!P7#_LMZD)VJ;(WH( > #1 M#$9Z;"-J^K.9':PNUKZB:G"Q ?I!I 'Y@+3V8NG0F+R33_ .LO9>DD,^HNF M0V$+WX55K^8@-748E"''9^!:D)6P_L1Z%\HQ'Q\S)#QX]A/$FS8RMGWJ#^@A M!1%S0;LR]"%^_#\QEE8L#?'O(<)XA9;^DEI"2Q7!#E5ZY&8@&]M=871='V*L M8SL; H$,$OC<@09_C7EEIEF06]\TW7YB5$:PK(K"HC"(#B'5)C[XN?IA'7,( M4:-("MO:(HFD L1"C+ND!0;!3^2$K3[ T8SHDSA@$*U9BR#$:] G<:R)IO\/ MZ9/ 6VTL?B$3Z9G/E6]Q]%5:>B]B89BS+<]'OA6REU91AM7O6&?][$-3=9R$ MJMOX&S(/=@E_1G;5#+QZ9AQ,PB]>+=7ZT,(. _ *T%W'3M86PC]^-I("87GZ M]S=CAR)/#N(H#N+]H1WD(/9T$.('E:7D((AHNK2#(*+I* [BHRE>Y""(:+JT M@R"BZ2@.@HBF(SD((IJ.YB"(:#J*@R"BZ4@.@HBFHSD((IJ.XB ^FG9+#H*( MIDL[")HVI^>U\]_C8.TALH>+N6]GDL6O\E;+IK(8#_^X/A?_PB MH#RTR X[#PUA8JT93@>H0.X+N&GCJOX(0Q5RQK%AA7#'X>_1/ 8<[/W*K9/@CD/W5'\C#HA9 M>83"\5?,RLU_WS8TV5^U,U-77/JDS4S47WPJ!N014\&!AR]_ Q6PA H(%; < MH0)"!2Q/J. WJ2!])4FG3@4"H8+?E@7IT[8.VR/@ 6T OT1HX=(E0GR)P[>0 MP<[C!;^?A_BNB[H/$2#(XTD%332>(0?ZP6XOVSEL7/08KAHZ_*S([[MX:Q\7 MQ7S[C$@\0H_=SX$3%(R3V=@*8"(79"[)= [(Q$J)U0^Z50.T^( MG1#[+U[^>7+$3LSVO9'[OJ'?L6S?H;P=4=Z)^I,?AT\(H1Y%[.\;1>29QOD(H1*)NFM=SGR'+C_Q MT-K)%&S>:EYT!R*IV23I@9,/VY%L&"%W4MCSJHQ-()4]A-H)M1-J)]1^;M3. ML@F!4#NA]I./&GQ2MA-R)U6;I&J3D#N1[NBAFK$TF%D0^BB$'+A7 M+_1=SW/G$*$^!<\*>/A##\Q<:P8_I'0/&&9 #30=XX"::SYZB.2#I^]XZ!!T=^C O1BO'C$? 0>A:(F7&0#8< G$6A\^'7[L)8.1YB0#8$]< M3_,@X)1I3^#7@7%%P6T:I@$W$#P_G]*EP/JUY[[XF%)'5C6N\F=[QUQ_^8X%99_EKPQ&?'L MYAA[].___+\74_HWA&L\&&8-?S%>6"PRAR 970* I_3\U*RYMO17*DBZXE8C M9WX^S9;A,'W3*&M K?V,L+)Q:K:V2*XA+I;020L,@I_QUU:?>=&5!?&''UQ& M$!]ZX$Y^LLR5^/+ >>8J)6R<^7>K WPTW)IVU*B1!P;__?&_;5=_I2I^ZY71 MK^A!4/]YMF:]&-(:?[1&20BY2.9CD0GE8!:N1LS[I)2T?S]DL=?GMNTX=BY( M8\6%I(6&WHZ 0<(GZT*)Y"RQ89WZVZ=T^$1(04@>00"SEE!&00DWL( .'X^%(7R_I^E!J%E8-_FKC4Y"3Q]I2"X./22+T7[^ %?# MJT2D!^&>3#NTX6,-"F(<_QQO/$%9P!D&(_2H9Z @!ET#2F&(6 &FH4"5&Y%5 ]X$TZ/.2,$C]B%F%:*+7FH@CFHAHHB/2 M1!%3%]M*)9TW'$[ M(P"H]!5%X4%R&Z<6(=X,(&[US3GM:&A;##KU##N6QR^@IW):H*U+Q-U?./ % MS$ D5'/*'=6N4?EB5:YFBW*9:K5EB!FEVFX]3=C#,O))TD0S$:&4L;2)#WZN M?EC?(V+,F"D11>D1):Y$-I8"6ABXJP\B$8 _>2$IUL(,\1IZ@[T#;[6QM6NX M?OQ&$9W$7PGD+KPU1CC8%6SL%7TB=^%]'>:H=O&*>[=T\8@!_'QG]"_SV?=0 MMP4]D96!P%RQJ4^1NS0YU-T<']'\7I#R+3-X/TW_!QZRNX&+WYFZ6X=V]8># M:5^A!!JS!V:)%THW=<6^"A0DHX]>8N')ZLW6*OE:L]WJM:#9T.JTY&(UJ_*2 MR-#2WJWA]\XR-H^SKCUPO8!J+7UHM?D4W' <'R@Z^M6&K7SZS+SWUI 77(T\ MM;VR]"Y1JZ%C(^\ M>8R,_KSWI]!E! -*A:R@H&(P* 0']>S312LA'HE ^"6=OG<0W\FLHQB:<,%, M''/NH B_/ 'X"4TP-'V4]C7J8=\R=5G7W? 8F7C%L0-J;??4\_:I:/\4!@#G M)2 3>S;AVK/@6O&BN78+BV(*1P2NLI+$IEG"LH1ECXMETQ?,LME:M54K%W-R M6\EEY+)'XEE(0OSX(OV0OFRVJM MK2 %NF;S/E5U/?.L>I1N:-4-X'L#EWK!K-MJ[ BCG@6C:[?5WF-H]4T8/NJR!AL7]2,01K0I/[_K?I_ MGM3_D_K_HZO__T)IR/?5_W];W?MW%8?TO[VJ_W-=SK700VUI,0P4[I'S)]!V M,M'A#UR/ CZ2;*8_BGK54,N;Z:!V:/R[ :8A:O"XSV^ F_Q,AU(6^DASAH"2]8!JAA;PHXHZAM.2C/#'(.J*8P0C^NV* MZCQUN/OA!'A(FZ#^9+@(=\GA;CX-"6-S\M2+Z+X &?5&ZU:() C^2W9D@@'< M"-!#1*=4;3 P=?@.],SH;\_G%_\M0+32'NW'1_U7\/7NE&+]\#3;#!WO3'"YVL"C(>:H(^'7F09/R_W_1!^T%^N MFC5M,P@ %@ M1! N[O6N>4/-,1^CH/$*N#:4_P84^]&W?'P&?V1KK1K<'\,] M;PD>6.9YKUJPAJ?$JV-!*$''@KK1TU8\QP_B8G;-GOQ-]: A-8P^*)?K"20;S+5B!N^Y MF&$2%3-HS\4, ].S(VD98%:-9CB87GSN%/1%H10U_5B P17 \L$<41*%_C$A M4XTT?\78\-4:9&@_(J_50[00H1V^;<="ZCO/8"^NAD +M,@.^BH[$#B5-WA- MU0S)4'EAT$^E-68@#0;$U7C+U1"(JT%IGB-#F6*CTU\%Z-B^? <3KF+^A$UETL&7J1J2:6$WS M>?_KR#GRD?A$L\RL)9Z)IED6A2;0>9$AZT_0<*#H><^/6"F45W.,T%BTC5EU M:T?VC T_M*+C0:[>\Q'A%>BC;S@*ZOD4(F<*/LC&4Y*0J]2Y:EU10VC5>Q#@ M):)C,,&1BF>U,8'>O6Y.+. ?U=R?W7"V!KW@%^P=$0/$AF>\=# A^3@&U"9/ MH8Y8X:YH8$WQUJ I[B-)&NN?/SJ.^50HX/])_5'/RK7,GXF7L[ XZ6__EUVL MM5-_B@'IGHGI^3EN%[F._Y@ODT381HNGDOSX]W6@*+DM1/3/7^:_WQXF>A4A MBO@&<7?LH,8)7-#W0C0&A14PQ P%%HB?_32(]HMMSKB7682Y^#DU=4#1/H MB^^8.% 6DR4B2O>E)?5Z_-W6_3RQ,>( +)Q\/.(3[5-[(T:T'D5Z$EQ8V$1C MW?#DT1>3/==#4/$T.:SZ5K&\E71[0RAB=3( !E(GE(_&@$:#YBQM_FR$K\U_ M]5 @'_\![A1/O5L3"JWG[Z,53QF -1FQ>B2&:4_F^D'UTW,NX9D,/J^A(BRU M\637Y[_&)!!%5N?0C+"T"+/0GD#&0G1HZ%6("MP^'G@+!;;O.O@0T01"#[]: MZZ.AAO,10!+VE:WTBK4&<>SVR<9:#T \!J)!"/B(X1_ MO)4KJH7R76N+GR.V"\W&F;1$-%<7Q6>C>;H)"LQ,2'J[]8G9V[']%#XOI]F/G,Q*[FO_RO:[W M6C6_^'.LCJ-7Z4^F=J0/M> G]0?S9^QM1S(PXEZ<#EL7#?CE2!X_"<3XR1_O M&[WK#_9/*##0 /E8(V%KP<2^)-36%AIYBT58G!)$.5?7BQ)V8$$]A,8PYF1\ M'$\0KC'^]C,R7+AYE-?4+/0KTH .FEB_7&?LE7WU(2S0\]+& $UQAZ<\'[D6 MB.3Y/#*OX'L22(JM[2^66-LWAVDF$4L@/%H73#0\^C[>F/^TLZW?1^+)61>Z MF\?FKG)\P>J4C\HYW\QQ/ U;_/%]LQY7H7WV2F)_;5#C?ADSVYG3'5\&$&ISAEPPJ=+4K!Q$(W]AP872IRB*V96 M94 _SF:\4\=B-QW<-8GQP;FI_'RX]\<\*$A-%FW^E9NB'E>]/[C7]E?&7)1 M\!UU)5'!^8"!3P\4U^_B>)%_@!YYOXJ*[2=2?ZHU[)_KE@%7P7Q MY.%'UT-%)N;J,@S*>\F'CU'P)\"6-W3X 66$WLHPMLP!?IWV_/67]W:@H$!H M!>;$PCE3L$!11NS8!*MLQ_H[XZ3":UCB5;KK1Y&@T(MO)7K:$T(L?N0J*&&\ M^MH5I41_B5.W+Y[HKSLN.#<:W_<4UTD^!\_0R9DH[HF0LO)KHJ^XH67@V"H\ M& QC?[E>WVAIT 2.RZEJZ$E=N^F[LF#.R$E:UU_9F$]%S=!W92B_59:2VD(FP4E26"_6, MEX2J.8JJ/2DN''%\#M&MTAKKOP9 MRMZOO==:1J'5B>:OYQ+B#:YISH&FQW%(W?3TT$8I+1U?B149"Q&HZ+]#7!" MXV;/!M!!=>LA_0/N*L4>FOR_XA]/80$!F@#!9FF"^["RGA MZLV^]:.0 Q#J*-^Z*F9!)7LH<8N#ZG'Z+$:( 1 /Q=5ED&WBC^.J,F1CO^[A M>&K'P45%ZQ??O;"6(1?BWITGQP&G*WUH.>=13=I"0W_ G6[Q:U\^=XL(@U:] M"=&%M_""QY'D6I= IC,)@[@I4/,_(V-.P6#>.QFUW2=:>?.^Q2?]\7P=\ MZM84M0]P]2:^?]''5+#NE6')G$!):=0_B5+G_MI3$C$1/&52UK\577SH^R[T M?G$U(CQ?(_9QXPH(]#U<'(<>$M]\&-61K)XZ#1$@KN.@ZW#]%?U&[M>3:H"; M@BN E8BK!/"EM59401E1FX<),_2?VJR>\+.F3< +A:,-(<>B;/V6!T6W2J)[ M>E?>*GP*\O<3D2>/&?6)^3ZC5)'2#B>K,D##A8IPE3S?J$JP7'>,W(OXWLL8 M+1IVVZ'+X2.%C*CJ62*L'/EU^)YK*K;P]NH23E0B$<-Q=79Z]M?33%_5O9>7 MY=AMFNFK*O_R\'^Q6::7T:LCR:3O8!M_^7]1N!V96NM$ILKE^C%5$.RP<04JL9?XVA;"Y@XV0U&!'4O3[-G7AUV[H1\@:Z$-C7G_W*'=;!@X/X#WT@<_ MT 8#EM48E9$,5N4'FJ%J(B.J&L_U!8T#^H#321_\6ZF %$D%D%3 $:4"5GWP MG[L2AC3!?QZ"[>:J./GU^U^/NVM^S_,LCPR1GVVA/]0$N!-$Z>N.^S+=WRGQU-L)KSMVJ/WMXK_SQF[3N/8P.. M?4[I.%+N.'S7^@G7SA9'VNS^M$BK+TEF/7^ M_-;U<:V_)*PAQ:/GX-Y1G!!:[Z+=2#=__L%/&4;SN0WJ:;S.]\S5_99&_<]# MM-F]3YKW7S;O7S;SOMCE^E42D!1Q4NGOM]K_C[7[_U<$"JI)>[8MWS0MKZAO M+O(X4:*IK=% +#"C\XF$\\MRH2])X/5RB)\*!U\9Z+ :J" ?SP3!8Z6,-^UW7)HJ'O4Q86.L/P\USH*Y+U2 MX+4W%#BQ^/Z5*?V7#1(3T7%-0/_'7)7[P*-[RT2, M2H>B%OBXQ6OK0 'LF2UB ":A-W%]L'6XS:?GU5&_A:%(IOKQO):G@>)8[KR: M[H*F+4SBBNO8V,)Z##AXUQ!BU#2%U"U:CKWS-?P: 'X1E:#I.BK31L,0L6F- MIQ&BN8@6-N*0LPJ/P=?TYR&!*-\51_.?%#V2D\]N=XR O_&LAGH:,#,$]O1C'JX\ZNG2,(*NN?;C3-R6:YF ME=:UHK1;JL"R#"L>*XC/NZ;B;5/1OO=8[_2E+?]1=% X.O2A.P6M2V6!'$&J M-4)&K!S-,OWSU=FH@L#T:<"F5.@,"BJ?,G2UST"=0O>--)?J&T!*I^(#BK[1 MUM6Y/;Z_%NIV?AQ.TF9I;,LS+=-0&95]O7*2:AFZT01W'=/EV(?0?^3N!T.5 MW5PYI]7[@CR^I>4V\>1BBE<+KE2.XM:;>J<\[V1K383B^-4V)#957 MZ=\8J^D- L/?F<(5VY ME/'Z0VU8#QU%G-;,=MF4G*HDJZDM$/7:5K:7R=PIIC JE;H\]*;TH9K>7-F= M9+U[?6Q7QV%W9&?;\T9Y&LBJM+FRW!PFC;!@].@DLQAWU>J(;7GP-.G-I35& M+CNJV_:5+J?W['Q.YNKT4&68S:4>SS;GTF/?[(B+7L#T:\S=.)RK#+NYE =" MMC>[]8ICL\G?25SS,2QFX0:XS:7RS3@/YG*&440+7*>M=/46/,*E6PZ?O^TT MP&UYQBGL*!]6;69T_2C I5M.OQ<\ 'OBB4"I56Z-X:VTY)PY!&O+\6N99+DM M!3R@01*$P<@)@F LJ\R6LVI5V[/,F,U+-#NYDV8^7ZHUVG #6PYKIMRUF*)C M78]#V>IFEKI3;23ATBVG)3=E3RH]ZLMQ(6=,B_7ND].:3D0/PT@VPM"X_H$NSPI+6 M#:HTIFYZS]=MKN($M1.C0ZL#IC 9B1RM;S9ML\?8^8"&RMA!A\;%B+R?S^_NQ MUM-[M497+J%".5Z*TMS>3ZI9+.5G-.0KJ5%")=N(<)V8Y:KY5I^FDYV M].LNUU&N'Q80K"U$6)7*?+/;4E)TS6NQV8?'A5R7997=0H3:>"B/[W,/F0[( MW8SEQ35HA(.YRFTA0DA9CTW %'/C96F4G%=NTNVR!9=N(9=;K7C=]OVZ-=:L M>J9P4TJZ@R1)W#IEM.ZFZJU02!P-W3K>CA6Q=: KW1EE=MR6K(T>)CTS)RHM)9: MN:[)-XT T<'?MEZM*M9,<#6;#QD-J.01#E=M"1T)N6ID6^Y7Y6'S0M63 Z\TQ M@*I\"QTM_30S"PH5N5.JZWY].;6FK=1%EM4> M0E WES;I5GUJ>AEAS&8;-[WI/5/QH8SFM]!1N[HL]D:^^5N[!>^?8J_$KFW&H+WT 7M*P.Q44)T0 MD1 9<80R(KV!@O<(/$K];E#V$^^SO\K[#(VOHCIAWD<=KM_$\A^Y300/(JIG"/%' 8(S!'GGZN[X0/XH M'G>&(%\@81^5 O]-?;U9*JWK P&[]9_'XDB?\]>DUNM]4+/5P?^5:B/577_ M&KE_%_0'UN*'!?[0OX MVVDVE6J;BM3U MSS/PIB_!?[X(Q^(B?.2+\(H)N9Z)YWO&ONZKCD$Z[AI$*A*-:GV:V8J&T\TT M*VIE)8[MN3BV_SE]@WTM6H,[$]9)FD/=Z6MM_-0_Y@+NTF[-W22[UN/.;733]'P2P;035NS_/_^2'(_T( M6PO^^\-< M!#^=T#;<(/[[#\K1;(B0T$\.-6WR$_&@[!CH/\HS \I!5O,\-(/U5K-"\(/R MX9G ;\$GKQI)KBO3XBB3U95:9F[,W$K1JMZB9E/NQ[\"GTA+XC]_O<0$\=K/ MR6LG;/V-;,U(:GLZYN_U7NZF8UV/FVK[*B-KXQI6<^3^/QHY-X,-?\E* O/Q+8L=XY' M?>%+YCV )J-:+KYOP,F[7LX-^\$@M.(K$/SF$^Q9=%&O$[SF MC"ID&W5:24EWMS,(DC8:3>T:;X:=P?S'OU*"3J+C=]'4E#U M,E;U86:.0Z:3K,/#TUT%(DE,2/0FDA*K0<_F#%A+$B,[5B-^53YW(K&$X]'L MWR_'(KF-1R;##3\SI;]%F]]HN3X_<8KY#BBXU1LZN.DEZPT5-]&+C)00>/Y3 MZOPBC/'CM[D)%QZ-HOP*%Z9*H%SKW=]X=+;A-1>3&W_&U>>0"\6("VEN4S&2 MB.9)1C0[3O]"S.H!W.8*VDT+<=V.S&(0RQ#"K08CES2" M-/%I6:UE+;$[MQ M*X708$RE-W732=G4WX8A?]J3 J=BU15S]MB9E7+YT8/7^/$O_0OF-(FBGV84 M_6W53V)NAQ:%*YM@Q>PKJV"-V[=8!7>%\7U>2C=[X^DXGZ53RU*I66RH:62; M\T)"( 'T\PZ@$XX^7M7]:QS=MI?3_BC7&8WMXG1F59==]TZ4(4>CV#GD:)XE ML?/SB)W7\-UCSZ:]?UZV_7O18 SZFK_[7BRXIQLY9EY-*N-D16KUZH]*9_YIE?Q$&_ G;Z41Y[UEZ5;'2 M-L#'O(A&\:9L)-J&\FD&RHL.NB// M]4Q BGU)F))(Y#W:12O66U;!-AE<*3UV)\,E6^B RD-GJ5=*XV$+W[D"32&& M2_"I_88Q3M-&(H%)PL,[M*H^X&&UVM G_46555I5;91I<2ZM=^>(AZ$AQ= ) M6N!(*/(\0I%U=">W&5^2[<=WEKLH!D6"1*=G)1%!NF=C*&8?)>(>V3%P^%;& MMZN_[:<*#X/:A)_GRTJMTVX5FM8BW7'GZ+(Y9",)"8'9C."2<-$)6CR$'_=L MV/P:/VKJK+8,1/ZATWVLC//MVZG?YO'EC\C>X1/<)XLI+LJL.EZY6515B'%0=!0,:FV0B0'= M7E*X69*,4X\UTQJ7'A6!5X#:N#,G\T$S7VO\^#=UXJG9[\+/@'9YQ^ED)&69 M&MYEJH]ZFA:'I.CRP-', \[9/ERDY-! 'X_!L8/Y!W%I5]<,1MG0APB.S8TJ M"-XV.-R%YO3+Y:2@3!VF:0UKG8"I#O$VH<&13H@L"9+N.TAZ:"XAHN',?)%? M$PW%:779X'T[3R^+#;%^")M(M=-9D"KR8;*<,BZ M2C-,(BV08^L#IZR\Q-=^N:J7!T'U00-@IVEY=J3OV'#$UKM.3$JD]3P$X M;3/LV*RMLB*W%*I9+%RWD[5\L@-_P;>!D"#1L1I.YWJYPO'(W.\WI&I0XFH! M1%D9:#YH(O!J@XX/L*N[1>@N^A:;-1L592P6VWJ[X;0JO044N@*RI"0^D6)W M,H[M-.VEXS>+",N>GIGT599UG.RU/C""H2+V<^.%H5DRVVX@EH5V4II/T*G/ M]3-8FY:U1>""I"+>:,GR0EGR MWDRKCYUE?CQ4&7R]"R^BBFI2X$2B382!#VI&O-RZ,J() 6>A6B+#XCG2M65QZ; S;Z4[-+=>Y M:V/*WL]EE<$7:[ N&Q)!.T-@A'+GWR1:_Q)%IN9P9&IU>NI.]J<_: M-=V59NP<<23*I E20DJ1NJ73#1'EE+S2;"HYJBW?Q48.B1:=3[3HB("_- G^ M_395#@R YP&CZ.BN#=K:XDF0;Y';I?N@,KFWTYEQH=;Q2NG':\6]AW(;7X/ M2@F>9DBI>0 MR3S*K,6!@3Q-R^0BLF^$7,]-E9Y&A 0^/TEPA)0%G6QMP+%"?YKJ MEU3%$,HG3O'1*.R-FUSBP&9C1/2R6ZPR3T'>V*0/T ^+H'JMNWAJ9 M/$K1\J7X(HZUL-^1)3]-G7G\JO%,">_$ MME**;;4$KGH)!^>YIP_[XHT]Q= M:MX!4BG+=-JS1=>:JRR>)LS2B32SDS:YTU;:I^%^O];FLJ[#+0<^-=&66M\" MQ \_'S^/4_KR0TV*Y2P": MP$*W1Y=-#=.;"=ZY%B?9"AZ5&Z>E*W:SGK3K]$.YFH%2%L\,9E@FD19W,E[B M-&VC4S:!"#ONV=+Y%7:T>OK-?:5;LL>FV>S8W?K-O=X?(G;$]R:PB;3TN;$! M%V7;G&9@:75[.V4Z%, WNJ,TD8ZN>,>V#_ #2%:00Y:24)/)/1$)/AA MKU!?B?'EVT+\T0CS\KP0YJ >Z>2D>H-KS9H-E<4SAEE63+#4GJ:Q10)1 MA+GW? GZ)YB[?M-V#-&N9>E06@RUI:U[TZZ,F!M9:**8D)@T"4N=5UC*!]8@ M:3I^Z&F.OC4!>!'&U@G;5$2Z[MET:D&6*:XXI@D@ F;OQ/J5N]E-?3KU7"4L M9*]!19T9!1I:3'CL,"\EH%PE02@2A#I[/OQ^*^=K?&CG\Q.9XZ MI%M+1T9\B"Y7D!("OQ,^/&T3YC2C3W@2#Q5/X*&LY^ D"3+M<0C+T4[.VN4H MADL>J;6CF7B?2BZ4M:QT:SZD*G0VV=&"E%?(M&THW?%(8HE)\.3JJP-/92'B MX,+$P8XF['U*' 0/BQ)$2OM.L4=)/^/,:/U!F"-Q@.X>91(B][DIF220=<2! MK/4A>Y\T]B["IB.QK',5J=]O87U*FK+)47M044%(L]TZA4O;UFMN 'T>7B J)%+??"W!.TT8B]4^$G?@ M5 ]OE,+#Y)&Y&XMCLS%'[(QG'0@)CE0\G6J@"%E6BMQ2UB<-DIC0Z5E)1'KN M.^LV 9X60)25@>:#I[K1=P7IW6 POK'9D=C12D&[N-26#WQ%1CN$=E&:3@@I M4N5$(D3GSXT[2'K] C=V''O2J'NM1V6:TYWI:\'\[;]MPVK0,Y3(; M71_%<1*)'9'8$>'JH[H._4.N9F[NNZUIT^LIM4!6'QB[*KJU.>)J?"T4SY)9 M3J<;0HJN1'].T9%@$KD6G=1\'JX$_/TH5*^PZ&26,WD,:A-A9)G-W@WR>SED M7PET@DN1.B5R.3IAX\.7;K_+QOI]52C)?=JG2W.PD'/9HEDVYXB-4:L>FV!3 M9%#4B8:OME=ODQ8]$L0B[NZA"\"W&53I]-U#]7I4H\5YL3[*UHOZ/ DE,1\% MK&B13DCLYS)[)&A%@E:$BW=?1KZ%B\7"T%.;1;W1">]<1US4Z%G2&R(N%E%S MK)1(T:3*Z71#5-E:I5)L5Y1J.[J&/%NKMHO5@E+-DB#5$5M'Y!IG]Q]7&"^L_[89J<.3,-@(,T_DCS M@*]*@SM3GXU%=YR]5<>T#996>3#\[5A-L9I_'9%YVFL+;;6N>36O%: ;+VXU M*P1UX+70CIZ"-704K*EJGJ?>3+V>X%?':3HY>A@V&\O[RA0T('YW#NRGPLO? M"RQ7S-VS>J'.CEE(!4XZ,U>])03VBMZ6XWOU 371O,1G8W4Q5H;T0W7&)*49 MG6QG2VY#-_JMP>^'ZS!6/AVO>XDPC!U?#H.1ZT$V,+8BBLF4FKV:U905L>:) M3A-,>O?&\".J^'WH/T\3NX0^64YYR>&D7*-+7J%WVZV!Z[ $R41(T#2-_O\) M8HE00&E/;SI2TDGZ0$<(G+N>X0/G,]@K^G[X!N;:MYH4MGI!K3.5Q:&IW;3U M>>58Z>9[0>\KMS=\X!9YQ92K='F"1I+I+1V?V\QO]1O;E!/[1334$IV-Q8Z.>[%L\-7W\W M-FWCBJ;?VG_T*WHLQ![D8"OZ9 X0,*N/-H#\\2^%XR_L,ZF1R.]QNY:7S5?] MI+\L#>Z3 @U ;YE^O,_DJJECY*M=L=5I.[2G$:%^[>EF7=MVG1-PME&S_^ MY9D$PW()3MQLN\.^W#EPTSMH&5G320>T@L48I-I*R;++\B,MOX^6F'@BAS=! MP9\G /YI!JPER8Z>3W:45'(>?SWV&JMCVV)+.>=@7L]Z.CU(=FK!W,@5.N+T M(1BJ'+[KA&<^UQM#$KTGFN@E3'S\Y=B?8.)*71H&0KZ<'MOB?2T]2-V4DZTY M8F)Q_TQ\VB[^47OR;0]H?N@M5[Z\%D!*](.3M,Y7L*P9HEM-4.>AUJM;OEWK M ,M)S=6[1K9ZCTS0A,0)"2:]V3!TJH;Y9S%2E"K&[W-NZG>"X5BNT,VQ_5 MQVPU_[BL:P]S7<0\AT9CT5Q"$CM.JYBN\G9)=*>RK/),-*Z43:29SUU3 M?Q&&%9E72OAY;V;6+_&S(5=J%9!;+L;:9)B_-F;WMC^<(WY&9I:83HCISXV" MORAKZM2"7>N#2W%2=^1:D _]U5@1, TA*DC(:Z9[S>1@B)@97[DHT$*"WMHV>W&QMK\"#=+I MT6SLV[E!!Y!0O=?&&\J%QMS0'@%*TW77AGM8PI.B'#= %IP'/W8H$WY[Z.&* M-2^@W $5C( /$/EC?PK%>ZF!Z6B.;N)P'_S AF_TK[X1FM]&JH;90I5T%M"2 MP*M"VA"A)P)T54L#1M5 GZ93 B^*(E1U__REP?\;YNS??^ _3_-++*!YB/A' M?QNF/[&TY4],./'F5I*/34%=AK8,/QI% TDX*'Q6.H"F_P^!L/;<%P]+ZL"R MW@WKKIZP8S)A^34C/\([+T6,@Q&S]N___+]U<#:=M5C^K^$OQ@N+A<,0)/L> MT,9);0#?_U.SYMK27_DUTA6W4BT_GU0(A^F71C8#M?8SPLK&J=G:(KF&N%@6 M)2TP"'[&7UM]AK7&TX>NCXM(?GK TE!KR:M3BP\]<"<_609IE_4#YYFKE+!Q MYCOQP;CG\X%$/O*0-OK?MJN_8I.]CMM!R$5B!1$T$AA9I"FA1'AB2.W?-4K: MSF*OSVW;<>Q?4O[3?_'*& -]J(K_QI>,Y&O--M7JM=I*I45U6G(B"G85JUDH M#?OKHBA;J[9JY6).;BNY5AO^BR\GJ>5K=:4IMXOPKRHG"0P?2Z.C _5Y]]3S M]JE:GGH&X GB(]O\'T6':H_QJ5TP+MSU?'I4H< M S1F %1F(/$J+Z;[:EKD1%4756S5O7KF8IFY&1NY6[HU5Q4VV;J=T56T4GJ]TK#RPV$@WRS&7;4? MV&;6%C1NKO(J_7IE2X:6+&=[H6(NTCT]W;@=NT2V[!H4*_/ MTL5N9LZ:T)?5<5 ="C?#:A<]]AL]5*JZ*FRM'F9H&A%RK0'>-0C,I MLWY6:%4[#'H",.[G*"*W%16TYLK%5'2BMUF'HQ#VJB69!;4 M%&^N2ILK)U)P/VW4.45IY9*YB9NSQ0DCJPR]N=3TF-SB46:RG9(X57+Z;.35 MY+G*,%M@TB:@4V22\[$H<'JQW%^PCXLA/M6&2[>02;=H>4HOS*?'76M029K]['*8 MAGO=2JGYG*F3V?MKERR/95M!'#IEJ.B#26LN+=^LM.ZRSY.QHHP>[R# M&]AR5FUF&O)F,= ^9O%3 M-Z@Z79C8U:%WJW?84<.?5E0^*.?FT(W<0@-2?5ZQ\CE&*3Q6KWN!-.F(=T.5 MW4(#/7.JVD;R9C#N9KKU<<7VFIG4'"W= (O-"M?LK'Y3[P"[-^VFD]/\/8.7 M;H U[K: JD#2HY?W&I>Z86Q&&3;0T@VP+*-TQY1">$[367]8U"M*SLK"O6XA MPEFC)8QNYLV9HLT7=*8[S:?OG09:NK'7KAGV\D)F/!R7.FQW6G255+8W1TLW M]FIKZ5I6E*5N!S1[]7N944$?DC96.[5[3LCN%&]A" MVCQ_VS7,ZF@^9H50Z$&Y7EE"]YK=0MI+K:.UZ-8R22]IIFBU_/OTU(88V$+: M S"4;K2JSW0*NO/841PV7Q+@!K:0MN]U2WRZS^;&W>ECLLIT^JGV$"_=0!:C M.* DN&[08>>FW7JHRXV*(:.E&\ABR\*-T&&=$6T76C6C._5X+8N?ND(6=D^> MC/PHV ,-?$N;^.#GZH=UG8ULXM@>1L:<'AF!*V\)&^!:&+BK#R+K&W_RPDA? MBR#$:^@-RSKP5AN+7\A$5L#GDB_5N\''-0%U[O L?.;#<^1)&0 MGY%'@V8T?^A)Q'XC?O%JJ=:'OG48@!U[$*^=Z;6%\(^?#:2L^X._&2 5W^WG M( >QIX.@K_AW>U#(0>R-(^AWT[KD(/9T$!)1$4=Q#D1%',U!T.0@CN$@/NH7 M)0>Q/]$DD8,XBH,@HNDH#H*(IB,YB(]*)!3F_ _%[^ MB\*YK0VLK"_:4SW<^[;\_F@AO4IR[QT''T5:+@$''P4Y+@$''\07+@$%1!Q\ M;+I> @X.?3?V,>#@(U_R,G! >('PPA[ZO+YF/:_:5_O_OBHC/R)_X 1.E6C[ M&](M./)$,/:!ZE. 8PJ!S0@=T''L4Q M">JEK#A>.;@_:B'R\OCDY:]HP.!DPTO>1P6Y]7T(&NR2#]*F8.SMQ^WYI4M\![)NF4SM9)%M\X4>R\9_+G0D]#SU'A@F@<3=M= M'TY3GU4?LK)9]3O9W$TO9;J,('6&OS$[=@:<<.TFP.>Y%6XMGVK=F(T"K3UT M6,$57= V&BJO\E"])-*"F!"%_4X0O&Q!=H P_*Y9^.+<=(-*U\4YX.<\OVIQ2F0[I0G_4G+>'2O?.0KR<0KPL,D*" M3:7VSAQYT2ETY'W(V?3WWAJH0>8 <+27$E+B+P847(:XB&_#0Y+XS M3K[PP>][]OT^8F7/+?F"DGUTQH4@28=^VQ"MQ1RR,G8 &89+<-SG9L!?A)]' M6)FP\J%NJB(Y*Z=12R(ZE@. M;5%*3:OBMWVW[BFE[H(5\PV:F<^&JHA<18$7$U*:(ZG"[31ER= K=]\PD)'[O''V"CB3A:,+1^W,= MW^?HRB0?5,OCZG ,YCHM)H-:M>&A6=S(<>2ADF9)VO"$TX8MI5PN5@L)JJ!4 ME:9,KN'_'R#NKEM8!E0?P5 M@ ,\S9(=0S9LTS']P,/SI)3%!#C^MJBD7M;XY= (>%J\EIP@?5OF QY=WP = M0$Y()5*?K"\C4NC(C3]BXQW6:_ME#FWT[.HT39<>E<(T*PTKE;:;H1N00Z%# MQ_%T@J9W,1,%)4N][DGJ' MKMLX1-+OT#"_H^J0NZ$RSGFXQ#36-'$,FP?.;1N>?1"3N-HUP: 8Y2)KAT$ ?5BKL/)?X M1:F@Y?4':^H6KCO ;/@ U$K2H('N\$SA&C::V;M4.$$GE4@%(A6.VA/^JE20 M)F5%%#-WY4Z!IO/BO,X\> 5D*R '6-JWJ7#B;O$Q>;^OJUIK$X (T1E2IJ.[ M-B"9@'-V:4D^\FQCJ;OV-I\$11'+":1,MNB-L:#6[^KFF%-8]]I_$'4_N)%E M5<(^ID0G1&'3GB0BAZ0VSHX==^WF?8X=@7?7$]/:W*'-DI?GG(=Z6TDA=D3. MG<@E1.YS=687X<01=CQC=MRQ?_4Y=J1+WE@O*C?E<6O>8.ZF]59.<8>0'7'# MH$ G6"Y-THHGFU:LM:^5)E6L9FL5A?HCKO#\\R<)HI.\XIDT"QX1] >^'N[0 M1W_);'_H:[ .3O@7+?1.T;4@E$\HGR1!CL96?TJ","Q^01'=Z0#\@.1 +L#\ M/GXKF^1 CC0'4G1F4$K8P FB,,]*;FP)]4R2$SWCA=YL;$_:#[=J9UF96'.5 M87 FA/Y)CMF.=T?5_*%'L\W$$.B;$AJ)QKRQ'VH MDTB$O.E<@:C=CL1%23KD3-(AYS\[\0S:I%;RY^UNWZG2*\KE=+>O3+M%J]H; M9V=C:XBV!'VU=()+D\ZH\XYQ7\" M3/H;/J8D>] LVPVVU);R=YV\L%]U4C? MI^9H2]#'DQ(;&]H]W;4ZR::H=Q_O9C+: M$O(-N42*V1RK3SJ03C/YEAUISA ^RW2H8 2H@69ZU$RS0D"Y TRE<"_ @>ZC MYCE)-PPHMP^!P/3JDZ#Y.7N&I^P GIB?=VZ9NDSHFP[P_:QK]TT'OSG[)$K@ M3[YI@&A#LN/<'])#UNP_B":WF".FQM>W2=(GQV5N/QG7 LN0Z. MS'>[Z/ENYU85^V4!05LINE=5[_N*&3RDL@V9*7*BC 0$FA.2_MQ](21I2B0$ MD1"GX6I_64(LX(YU)Y47%;8 P#W-M;+N"$L(?&5=@N$_-]>+Y&./-Q^[F@B) M:"/NA*3^B(MVORF(>8*FWT7XO^?LYA)O]JB]V2\YLE7^CF]:](.R=.Q[5Y+Z M0>\&:B$!%^JF24+U]U(OAZ;Z7:9F#@W;>2=DWV/B-PLD.J-T7F7OU+M.]B[3 M%2?WR=FC/$?Q$.)N%HPM%[]!!_B:.[THUISV:EPMA1142=G--DRH^1K364UY[(MWVV_Q9QD#$@^ ME?1TDEK?/31XKD8NYSW7CNI_0HC0>":SZ_@9 !\&HG5M;0'\BNFX'J3I52>* M[!@OGZ),0_CG"@A&KO$\TV#;3&>VWW+2;&UBTK6@YCMWY>747D"=)T97'D"E MQV_VJA!Y29K.3JFZ\-PRI(<5&=VB5:SF[H3;3JN>%'M5/Z7;%L3U&V&BBH. M[&: P;FMDE]?+D^L;O6-#4VVRW/3-WS:MN +FX*N;@\D^"W7!)-Q!;)TQQ] MGN8\W=K/L'3]X=Z\M>?6>&PVNB5_X>;*TR5F:>B",\G".6QC.3A$2*S-0]X>1K56G'?B%) M'I!DZ[Z:5SDHVPTW[%O@,(KK/WMN7#T O$>DS'9>ZPN"=^_'[14+B^YLZDN* M=IMO"383]Y73<3AKGK1SET@;%BWERT1=EXX_(%$>%A, M'NH2T%DZ&TJ-G%M4];[>0!(!UPCS">Z3-[>05"F1"$0BG(##^Y%$*(EWI;'. M=UN=+,,!1LJH;?\.2P2<"678A/3)V]5()O08,Z&'B->=HI%W$:[M\9<+[Q_( MD[SXGK#D4=2='81:+T'NG*)30,CU0LGUQ W64\G8Q%5\=:5)M:[EIO*31"I) MXN9,NN2."/J3M(<)VY]HY\8107^:M@H)Q!/*)Y1/XLU'8:6_OAP@H_FF3N)7 MYVQTGVM1U*77/N7,F6D G-7T1YH'?%4:W)GZ;"RZX^RM.J9ML+3*@^%W%T"Q M7\AM*IKG0!SZ=>"UT!ZQN'G*<=+/#3>EY-)F*GFA,UT*:8[:_//A)W/K$[A6_CY%\J7=L'/P73DB8.I7U1*&4F>I;7;H5H9(GY& MW3976RXS)DD)PL]' -?1\?/7BX]VP<]SO3ZK9;1;@\ZJ')VZ-1\RW4!&_(Q; M;:X^68!T67[?2:1M7CN$.=,* V"0$"[)W)"6&])R(P%BN_?1D,Z>$A+ MQ'&W1!PA_9Z@>T'HE]#O61C )Y$L@L_$C3TMJM-243RB>![:,.;)/FG[,WNL^@/&N7]^V<=D+U M:;)AG$X=T@_5&9.49G2RG2VY#=WHMP:''8#&[?]7#CW^7V0G)>X-L/JD+7[B1CHJM&/MV<(VY/86Y/"Y^; M?7P1SA7A=L+M!QU<_+O<_E@IT]7'1CH_#B?#\;3;'_"/ ZS;<055*@$-$M)6 M=)J9(M)61')"%]Y6M)@=R:&/YMJ'[MJB]C)84.6DQOE-J-5 K)3"':D^,7=H4M_>^@@N6FZ=E%I/F@O/SCK\@.N[&+9!/M\N@,_5T700U MP]:R#20ZHDML&>YS@W)(5I*(#B(Z3M_5_HKHR.=Z*=U^3':68:V9"C)*A9X- MD>B(G6U!^IRS3?*Z1Y?71?YU\;:84ZJYUG,!)DF#G+/G? 8.\F5.=3S.Z1K% M:OX+ZBCKVK;KM )7'T<;=HSGCEF@6_ _6_OI@=)_Z"\>[FF[Z=[?N_0L'(WG M*IM"GB_2!\*&!J*(%#M=8_1"Y\(=YXB,O7"X]S@-^%Y5I\=+IUCHE\=!?Z3+ MB,-3B,,Y:6<S<:^G4ET &G7>YWR1>G>F$G:(T!INN[:< ]+ M>%*4XP;P99"N*+A[$WY[Z&D6-=&\@'('5# "/D !CA@'(V;M MW__Y?^O@;$:=8K6PAK\8+RP6#D.0['M &R>U 7S_3\V::TL_!C8E73TYPS^? M- N'Z1=*,.'_J+6?$58V3LW6%LDUQ,6R*)H*$W]M]1E6)D\?NKZ)1.)/#UA0 MVL_ JU.+#SUP)S]9!BF=]0/GF:N4L''F.ZG M&?V*'@0E/51:5O3)/ (V_FB-DA!RD5A!!(T$1A8I3R@1GAA2^W>-DK:SV.MS MVW8<^Y>4__1?O#+&0-^U#/C';*V2KS7;5*O7:BL5U'DM)Z(H?[&:A=*PORZ* M6FT9+E*J[58MWVK7LJ7K6CFG-%M*HU-L]U2!81B>BT71T<%9;=7*Q1P$($<] MPT'5\M0Z)$@*,ZF_J0BB)_"/#)@_B@[5'KFAKT&K*D$I"QW +V+;BI)M*,8" M_\]71Z?V:5[JTYJF&@-:5_D4)ZE:&BJ5@2:F!ASH&SP[B(].6UEC*4.L]V:@ M:7?L146MI>7"K)J5D0G)OEYJ6ZS=FF0;%:70,+1AQF&R4V:.EJ9?+]4>G'RE MFG79<6U^6S;$PH*MRW.553<>FO=3Q:#3-X=CMMMJM.^U_ITR'*IX0.++E=#>B&GR>.ARFT"=0,J MRDU%H0=*,A]V[I4Y-TZE9;B2?[UR/,L:W6ZF6QFWBF87_FXY<@JMW _IS:" MTMU=];9C]Q[T:BWW4!B+:*7T>J7,:_UR5IV7Z65]GN:R-*OI3;1R$U%2W\_G MYO;\GA8;]9O;;$;@;Y0Y6KJ!*/G!*+.:U<^/[6Z[LJ@-N[<=@)^Z@:C";>>6 M59=U;PQ:6GGNW)=[1EY6>95^O?)VT%+T3N,F-VY5'*MZ^SA2DB%:N8&HN=^8 MW+;,$;R%ZZ,YX-XE-*\+&2T1W84\FCE)OC7O=XL M,[.XZM@N\M=WU68RJ37F:.D&^/>YSJU5-9D6;3ZTDX4;5TZF1?S433IIS>]* MCUIWT!&+MPWSMIQ*WEA#5=@$/^/17?FA%-S2R>K_9^]-F]1FEG71[S?B_@?" MZ]P=:T6 KV:D=YWC""'$#&(2TQ>%9H1 @T(^/5'$MUVV\+M[G8#DBC'7N]N MTV51JLHG*S.?S"S[Q"_&U%H]12,3,UW4B:F^552-'1'=66=ZJC29!AV.3$P4 M:\WUHS;?H*P!6Q!_E!1])4#U+ *G9?%\K)D90!LZ4%@4@EM@V MUN8MJ+DPZ')FFBSYZ0$C&^WM8;V8T>'(Q$3'\KPY\\HBQA]7!C>P M=XV#PT3/3$QT[2XF$M_;;-FI07"E6M6LFOWHF4DA.4Y(R0\\VS/]4EWI[Z>M M(;J.AR;>J7-$AE9+J/1Y<3U6IMC*X_GH@(*2+S4=J;/^8E#=0UQ9(QMNO5/A MVO'0Q%OQ[LX>C-R>9=:G7$?:M."#;\9#$Z^EF)C?*.T8#AJYP[)1VY/!HI(93@"^LP:X?[G]CY$ [ SJLF'5];5!T-#2Q M!D;U!,M;@V%,%9W[PK:SG'OU^*E)L 2XK_/3?94OS;K=A;\X3=T@?FIB#;!3 M9=T*9-?D-QOLN,"4JJ_-XJ')->A5('PNJ)VQN9GY8T<_>BMTI\=C$R)CU@BV MSBY;;58D49OK"G@)[091?"OQ6%@?UYM*KZ*S!G]DCDO$7-;)030TL09$96,U MQY.YQJJM=G-"K>$-Q\=/3:R!?1*YR6Y55O@1SD--6BQU5T'\U.1DMUA]T#M5 M-B2$=/N83=J<7%//8Q.;6V$KK7%)M/ILN[)C#H=5R^+L<,'0"\KE;+4IXW6*1Z:/#$G \X,&+JK\<=]I>R,^YN==8@GFSPR^RM^8?9*)F;6 MW38C'-<(7.V?GYLX,R<>OAK[JE>#Q%JE*F^W+F^'U@5\P690%B@Z%^$]SQ+6 M<4XB;:])M?1H:&*VTL9T2:FE&69[83-\W1R;6XD;T_'0Q')U#\.YK*QJ*[:$^-*ZK4VI2=7%<.R%P]Y0 M)Y56O=-PV+KE-;5*72O#4CPT,=GJWC?W#0;734/3EELB=$-["!T-34Q6FKCH MEL/=&2M6D(7/&3/:+ ?1T*3$C#8UI^-CU5&(7&C(S<6!-L3C&21?K+E<:?S MV>(0(P=.6^O9^L$*L7#!."BMJ6GUP#3VT&93VM0LIBJ99A -3;P89[?&R,DX M("9R=)H3;F$9K;(>#4V>(?0>4C93;6LBM7D96P]' WM#1T,3"*.&^EHXE5&" MKS6',_UPAE"-@;M]O(T9 FJKFK3ACE#U^>QB37P9\Y)E["3S!ZY M?A3FO7'TA06^I[ MWF 3NO6]>&AR#?#!CD1Y!J=-U=GLY?6.I%'L/#9IGXLS3RH)LQ;/]%I,P"^6 MEB#$%V4F'LLLO/HQ$,NV!)+MQ1Z)#4+,T=6Z!IHKND< MX/BIB37HU,Q:8T5/+9[8"I+=\ZB)R\1#DY-5#:./RX/UV/0'_6S1]<.JTUU76W&3]L0Y&B*D-\W_'@"20E?=Q!(W8ML&RH%5DNY[L!>.KCF^8 M*JD0H06ZVRFSX:@;3,(I7+ E:*)7V2_;?I,GQAU:@&B^NK?U:&C2\MDJNZIC M#&BS'1X27A4U.TRT!A=L";-S8J4#CW#\B"DA,KSIE@@W'II8@[[4.Q+=3NB' MBVM-U7U'#&$WB(8FU^!4J\VY#=?MA&8!WEWM1HCC:_%[)=>@<6KRF_V11LT- MR>N2)J)6IQ-7QB85:%/;E&NS,@VU5UIGBD@^IFSC:J*DQZX8/9YP@H/)'0(' M\>QYN87$0Y,*H<;U:NIFMN"/.Z32K*D(=^C%A09)6\+5Z\'2-V:0WUCSN_IR M0;:]($XL3H!3FYCBM'-EC7U[WK9ZL#2+<7+ EN,F\T2"X96$<,&NW+>*4L<6A+ MBB>0G&Q#P?465_%@J,T-3MO-KCH=KL+'7K EYGT.LB>4R4*[23EH^ZUV>S = M1$,3D]VVY"!@5-D)G:;5^@#Q[7XWTI\7; E4&P]- M2@PYM1>:ONW.V;I8Y>LMML\V0L,'N61+* ;2/SI"JP+Y:LW#JYXG6Z%[@URP M)8ZT2'"B0'G\1MJ+L][BM'&T>&CBQ6:'UG(A0P>#YQ 4%?NRSI40/1J:/$/Z MOCZ7@8!>L"7$<8L9 M=FLZ'"HD;N&'G@9EA+X%>L&6V*Y+#0K=-C>\CY(=RY+677H2#TVL 3\:>LM) M:5GGVPMA=RH/9I7U>6AB#?8E#C]V*X$%<8PJ$MI!&TA,/-?D&JA[?J1;LXG) M,CU!Z,"S+KS"!_'8A,RX"ZE"C1%)@79ZUZO8!MHHT724<))XK#;@8 U!RBN( M@$C.G#)(>QR>F.@%6T+N32LM]70ZA>ISB0R8]LQ1J?BIB35HSFU^X>G)1N]LEP$2[8$IRPMP='K>'QN\56/YFTY ]# P&]8$MPE'0,2D.R!#&5T\G3 M.WA9Q..G)FR)YK0J]_8RK[,[KMF?Z=:ZL2*#:&C2EC@V>P>YLU Z/#S].BM*G3E*'E>(&V(,?6%+Q'S_=];\G%0EV^NUN'75 M?YY_>,E[123S$\$)/7TA?&;2WE95@<%?J5?+*EY0OB^>;X?/U-9V\)S(\?SW4I1<],\Y1R ( MU^F/W/Q3)D;\Q<]#1K5&!6P$0,1C M;03TM?QJ20?8B!MM!/$5 E93&C8"J*:4; 3T%9S5:=@'_"M1!AN1@HT FBDE M&P&,II1L!/X5!XA(PT8 U92:C8 )L!$IV(CR5_35&U+!1MSLL$8!(CYQ(][9 MA_&/&0.W>^ORUONIO#VN$[Y1VZ#7C\='6(,_\>37KQY_?54>4!!N],IW[>QY MAS?^$^\*)/UA5-[K=",0A'PJ@#_%AW+XRG^BKX"H9T[GR?8Z^O#_?$&^?%@H M63B^GLC(" !GRL!R*O.][W5 G 'TR EY%?LNG;2 MW^J)L>U]FHKX4SSJ4U[V[:_V?%G-RW<#(9X48OHCVYK\;T*(OZ,7^RAZ8?0K MF6B*#6\/A;B)["UZ1_\MO,]MF,\+%#=CSHHUD%Z9P+\BY4S+Q-A11==WCD J M'L@?Z(N&4FI:6=GHC)EY5W<&_G;[AZHG&E9T0W8V]C^U0$^]01_K\V7XL^JX M3]V,@7D/S/O\8?EON-H,6V_GVSB!'O]+/8Y_A1)7^V5*#LY]WA]<#OZ&O,SP MW@,=\$E6>SEQ:VFFY #H@$]TWC,L!XRX-3XOC/_(@A"Y\1D6!%9TK' ^X&CX M'#<_RY*P\T.W\:$]_^2E;K*LJIKVZDUUUP\))-ZU0G?H'L,6Z'&ARC)LM\(. M"RA<+" 07+ZT>>]]K_2@^WGCKO=.5T_%_@67B;M_>-UKYT3Y;I5H6ORNT@T&LY[*D:6!$'=8QN BC*!%E$A>ZIQI5-P@ MP_'SUN*ZF8\)!7'QPN?/>INK)Z]?2S=$5SU3XJ;?/9C',MMNP@*L8WA=Z-Q? M,930=^B%E]3$>2;?50+Z725L9K0R=7"R 7$U?,#AL =-Z]%=:GBD$N!\Z8*[ MG)!7SMS_ PHBN?]WZ@[%YYR(E]+?0.>C?F]HSEG1++LM2%QB2^XOCL6?ON-\ M,(;R'ZY1"*,+9R.I,K;$^_R*/;IEI$\L1[>5?Y371(EU3>LI O^D M)>J8,?;0DK3A=]7^>D6,D-.L/KBNW=S@/(UNS,8GR*C4N\NV-IT00JP M@)%BF<3R93QG2CGDRECX4W.J1]<.S]F6SW3,DUHH-PP/1F%MS!+;[O[@'GQH M/0VNJQ8&)WWA[+%:GS\.@T7%04F"J\2WF!-?OL$$642(I-&0:;5P!Y_Z3ZVI M,@;O/S5XRA^\ASI5WIG4SC-+YG)%L<,=A"^NC,Q]I:,09M^D^9*[V[@+88-U M9I%_#U-1I*MP;!D>Z-FDJ/_ MO3[-/%D7)\PCG_%N>;!^T\X6?9H@IH\9RI @7E,_W)>JR/2VI$\_W-X)_C1) MO'=T'$CB)TOBC6.UGR:(Z8O+ D%\3)68^QA@U7?$Z#E".""*$I#"V/X1,R _ M)R38P5G6&8OEJLFL3CM#V_KK(_MQ/K'OV)KA=6S7O1!P0#=(7R$]6C='0QP9 M0]01V]L# 3^' F&D2$'HFP(.:?.C8M 1M*BK0BM7(;M,Y.O_ M&LN+4IM%2U8+ME:(P[[_9)H\R1"G>INNZ]E8"R 7N>K*GIF,]PRM!8#(K;NW M9V,M@%SDJ[M[9A*B,[06 ".WBQUG:"FN'HS.T%H B(!CY"YA\@RM!<#(#2/+ M&5J+JX>J,[06N8KHIC-P2R8"M^D#0SIT\H93@-+7V9LJM/ /@;^]Q>?);$_$=>^^CKT M7Z2*'?255-=H!Q+]06,RJ^:B?S?*S2,^5RL MO]XC ATM!5E;M%L\("YBH%G+*LY&1QW5-=S#-E3HU<*Q:;P M/^)F^]_"5G5B48Q&N><[1#/,'()6Y:^?H)G9R Q1?2F*Q6F[KRL7/L1Y!]B!V^Z&Y9J?%LX MTOX-& 41$*HB(SU,G MOZ4E&,58"$L9G-VP>>[&TV,DV, M2&82YM-N1'\257(]$W@YEX[*WAES_*A9(P-J2&RY0>161\1)9 *_K1T,J"K( M3%7!N1W,.1Q3<%19-?:J4C"LPMI0_8A'\<1#(3"\9=07/)Q082L>(\NM$*)E M'\I9./A7IN6QJ>Q,\2-IVY;TY;JDB.W(,ZF1-D',;^7!>_S^7+(2WQ--XI>+ M0@LUVQF+A^F/0R[\(/YM1715)9JB:KGQV[UV\2516K*C>?]ZT4SHC[B#: BS@& =R#J@/0_SQ7@IC9 RA3 M >*T22)(@$]A5/<>)LTGY[Q_KD$BV- &V=B(;^Y:YL%N!80ZV-.104)=TR#) M5; V8^GO3U'C40:I#@F^T$W[MG.Z4PV_>"PSVV?_/-L;\M_>IO#]7P)=QP MRT>JLS=D]9QV-51E6[?BI\096!>\;Z:W M)7WZ(4TN8IZ#JT 2,Q0JS7Q$% CB8ZK$>P?'TI^&/U0]T;!4A14=*UP8]RD. MW\%9UAF+Y:K)K$X[0]OZZR-+?SAN\=V7#&>QL:TX@8D1W>6%>$/%.M7U!=/; M05,"KT'[L3C5*5J P[BJP)ZYB-Q0,EV%-4I MG0?_ V\/!==>&TKA7U#\)RM&;V8V.D/DRU0'"Y<3:R7G-(A>M?SE M&TXA11)-]ED�QOFK;T6$?+.9B=#XV3VP8+/WU%G$#RK&P8V_6ZJK>T+UW; M8U+!I'2:*7U>;&&SS1#WK64_UC9Q!V:RB*-OO,,-:)LKI6@_EK(Y$Q;I53;Y MM&,SA8G'.X'/W D 1>Z=NS-[\%C"?:8=TBO<.: E/F@5 M-SZP$%T-8N.0NH]QF"ON(DT41?C("MVA>PQ;H,>%*LNPW0H[+*!PL1 )Y&-S MNNG+._[\^!KM"ISV<0_W!=_YY-_238X5F$"AS&G'Z1],I;_?,W\13GOQ#>=@ MVKD3^X4(&APBT(3+L HAQ+Z\%6O;]F00^K2H@'SYAL%%&$&+*'&5^VCS8*BG M/8O[?^4R@?N3#8P[P/G]5TY'C;94QSW/Y%*;3[$V#.B&3? <2I>K1[SI-9D8 MR'@$9#B3",YO^ON5F)^_%.5+L=?3U.C0]94J0ZN3K/CVFS[.US:0.%V-F.Y+L=E? A5)/ W6M9I$^_T'5"WSYG]C!/JWA4$ MU_!Z[X+DOS^6C-_=,B<.AKY7PH,JRZ%-H4OL]MZI'D0XCL@3LEPL8Z !?59+ M,#X#Q.FKOD@7HE]O0'/4@K*.EMN<6:K.^5Y'"3;<^N,-:-YD"5-W+1*^-)($6&P488P8X.H_0Y%%Z(+!"TI6O@\?N77$^CNO08/ MN.TY")JG+38.!#V-VW[UB#C8]C1N>Q["'6D+=P-)3^.VYR#(G;98-A#T-&[[ M ZKTJP>J@:2G<=OS$$]-6]@T?:^H8''V]A$C_[W%(KG'RX'>=;R<_-3.)?UW0*X YERCY5"G>I,N8\IH/<7H";U3]RL M]'7U\R-M1NO7$./4[^[9*1E8793NS6?=(%(_<3/[(HXB0/N G/5[+\6]<];_ M>X.&QG^G;U[O"[.C'&<50+K'EGJ>[2I:3YO@M]4\OVT)!2VHWNHX.BW8T1"I MR0-4XTHC/59!:&@"D4D%!"[3 /8/J!0 3CA(;0>I[?E(;?\,4WXB8)6MX]>' MYO'0Y)I.J^8B"SH^1Z.K!XHH#H'\]WSEOR>Y*T=U/<>0/36:>2@WA?\1-]O_ M%K:J$\MB-"K^'+#QJ6:2@ #7B@=8=FW\4):^.ZOG:$=[B M\GYO+9)CR8%[_;,5'',DT'7>"@$AK>,KG(()U38BL?(GBN$<-F'@A8._I54 8P[J $" @!J@$ -$,#" MP]0 O2?(DDMZYWNN3OQR41RG9CMC\3#]83N$'\2_K8BNJD135"TW?KO7KC9> M&S+:F3=]&RHU,1NDG%Y]\KDGI(.VC4!%] M%3INET3IU#3VR\W9I*3N8E+FBGQ)-<<2>3TE*9*14)Q_" G@ST&MR<-O9PZH MC#PS%D" T\X_@.T$"89Y*W, $@SR[#,=!4TU&W/3ED@OG.BQ_9MOCGUHZ5JB&+^&&6SY2G;TAJ^=$QZ$JV[H5/R7.>;S@:8>OH, U:X>8W+PRJCM;?^14 M@]#-CI/QL2),)#UMH&K 89F_(#.0X$<(&6);G7 +V!2W_48' MXKE.NX^1"'60V/,)1UWQA,M5Q#B3Z?I58V^$;ZJX@%($J?9 $"J/4BU!UAX MF%1[( @VRPU:Y&IJ#D TA#!FG( O@8,A_&G+ZRX&&JB<:EJJPHF.%"^,^ M,4]$@]-PRUP.(;%9KZP7L&57"?K#<;GOL9)P%AO;BK/P&-%=7HBG3;=CH62+ M0LGT3\Y1UE1&XOMZ^&H"3'SY!F-%'$MV@0/U/B"M&Z1U9R]>_PZ]T/!FG29S M&%'\SN.A6F/7W.*#(-8+U'WT0JY"\&F.M,>,3<%1M[XC+T57!?3JQY.U)=M1 M5*=T'OP/O#T47'MM*(5_0?&?K#@.8+O?%"R_XVZG;T7.,7, @ ?9[G.$/+W; M_1[S+=?-:G[ZCG/G&EH.)^59+O/I ) 0();2"\"VR\'4&G7D^K-^>A8\>B/!^E>?,,Y1'>^]^1" M7$X2N@-(+"_:[+14.KI,'S8#F!801$"^?,/@(HR@193 ;WK/.X#3[:HH$CKT M?SU6(<0G6T5WT SO,J/B1T<]^%3'/<_D@M'4&^)B0#>,M>GK^&"]X#LL#^N1 M3L CG0 #9?"@9217(L'^$C27(M.JPW,S)=@V3+569NSQD#&U;@\:Q.H!_?(-1: WMR8!V@'8"RDOM$J[>OA-F16UZO@&UX>W;+M*. (\ MT6=6\\J^^&)MS#"EJC5X$=/AG40M^]0JCL]%!58H018)$D3G(D7D0A[*:0SA59F29.\M?:J)[J%0Q+MC>@*NHOJJ+2I*! *A&XPB+3!!@0 M8'"%!=C._#1CR1AU "087&&1LRLL@ #%0RBL;]/%4>@EZGBX=\^)3@[=T_B MLLQCO? ?]UL(L^NC[E]$QW;="Q$<6%&6I[8Q[/'U!FV.>KPS:1T" M 4'/7:]PJ BC%+@I!=PS\3?E) ^L$/K[WHJAC9[+,]76O&S8,$[Q'Z\=>17+ M'C6:*GAS.#6GZR$UV^VYOE(_8YFZ*I9S%73-1(7(K]%8QM_XZU 0]VHIG*HJ M>P7Q^XTDA7_#(/?F84M&0!/<7!4Y9&@I,A4@!EC(7XX_$("\YYIE:"TR%9T& M8,A>6G:&EB)3@6Z !7 PY#F#^?H53P@DN(XG_(A1L'&(XGS3*:?1BKV-OC0. MC;]IX/?0QE/ _%.B[I6&,#"]Z:1IEAKD'!/ED1TP'^\ ^+Z2JMVIWJJC/MQG MN=-6G#G3P^P$!0*"Q6%X'$[F18.03EX2HS.T%O<.Y^= 5_&FB$R"&C2'-C.= M&G>0J1"P'R<$WJ=F*NX2[:U99&=N-(G6JE+3@Z!^VF+W0-#3N.U7C]B#;4_C MMNPZ"\&F+M0-!3^.V/Z!*OWH@'4AZ&K<]#_'9M(5AT_?* MN0H59BS%F$S$$,\=4:,H=>$F\NNT)>$P-X$'^\U'C_[?&%'./EP.\[T M^+GK>/Q+[FP^L,_6PX4.Y.1)K;%C@^3X4?W(D.U5NQ-XM( 040=R&$:+913T M\0>9?/=?B_2E>*>Z^OUC"NC]V3%)_1-?NO:Z^OF1,T/TNJ,-K95Y?C> &BU= MJ< G<1"IGZC;.5(DP2TB(*?^_DMQ[YSZ:Z3F?:Z^>;U3^LB:\I)^6M/\SF@- MEL*ZUCE._[(C\CLUSV_3]CJ2XR[QR;3#UR5&W,&VV9[.]%@%H5^^$4099 <# M^^?^:W'O2@;@A-\_()71('W^4N7O[@Q\;SS#ENTR[A](,3?!U1=R;J-?> MECMQ)"%*?T>*, ::E>_^*BDUI"ZGB0C>9X%A9JKJ E&.6""&+) GZF(+(;.&^5+E4*GS[7IC6*K+U25K!9$&B8@>M A# M"% @H HCG548@)VYK?+X+51PV$KL5V2,35P$4$>R-; M ]0(L$.R3;$ "7X$P@3P(G?A1:YG!]>6:[5B5N"\2VTFTWU ML702N'UG("!DQ.X@Y6(926;N@!Q8D /[<#5 Z0_TWJ#LYT?377>HKL-)*6/[ M[4KH5W_8;IUJ^VY+"B"N/];W%&S)'$U'NB?BA> B5": [@$50'=?BGMS3,#Z MO3L6P#F<2:($@ '4HN2Y%N4>1NDGEY]\KDDYJ'?]0W#D.<@_,'A[K)?9@-%C MDY*ZBTF9*_(EU1Q+Y/64I$A&0G'^(22 /P?5)@^_G3F@,O+,6 !3CO_ +83 M)!CFK= !2##(M,]T%#35;,Q-FR*]<*+']F^^.?:AI5]]Z*$:OH0;;OE(=?:& MK)X3'8>J;.M6_)0XY_&"I\TN3R6G,EBU3*2/#*N[&2S5IH& 4'$Z/E:$J60Z M/E UX+#,7Y 92/ CA(PS%AF^^VEYO3#QK4ZX?AM&VIO2 C)%=+TZNKS(=I># M^(2CKGC"Y2IBG,ET_:JQ-\(W55Q *8)4>R (-4>I-H#+#Q,JCT0 )!MEIJU MR%34'( !I"&#-&2 !7 PY#\-.?WE0$/5$PU+55C1L<*%<9^8I[E[$I=E'NN% M_[C?0IA='W5/'Z\(^AXK"6>QL:TX"X\1W>6%>-K2WEBJNW?W_&X*'^8]=ZM PU9# MG]%CO4#=1R_D*@2?YDA[S-@4''7K._)2=%5 KWX\65NR'45U2N?!_\#;0\&U MUX92^!<4_\F*XP"V^TW!\CON=OI6Y!PS!P!XD.T^1\C3N]WO,=]RW:SFI^\X M=ZZAY7!2SJ5;&7_TI)FOQU!_N/&V$*?ZU:[--'9U1X_>L_SE&T%B10)]8U,: M@*6WQ93 :9+@'/*A7G+;B>:GKX@SN)XU"V.[7E?UEO:EB^JF@X-&'+4&SQZ) M\4+2&VZIA0RBUXRO(H"*, (!U?*))1) LR08G/1J%F"G@K/U%HG] $/LMUG M4@$@(,$MI! >/F@;.OI %32^6H>F!%[G+&S115JQVQGQ$%>T#7-%-V0B MXS]\9(7NT#V&+=#C0I5EV&Z%'190N%B(!!)PSK?,^_]9%Z*A+E1L7UJK*5"& MM[ADE'8%3ONXK_V"7WWRM*EI1?78Z-1O!??<([AG2]& MN1"X"^3&U$"J'0\J]2K]'G><3I0V+:"(@'SYAL&A D6+*/&V2TX WJY49I%B MN(7?\;^N7UN1X@6X>M7F'93-NTRW^-%1WS_5<<\SN72?Z(+>=DNM!LL3'=5H MS!8\=W0'D9K!(S4# _URU]*5%./K2LS<7Z+J4KB<;,N:[I^Z XB3*23@%+I) M-#Z7BGN-@ENKX@R2*Q7>1+3.N%H9ZFUG%9_DY:CTF4+Q(DR"[NQW3@5/-]*N M>I1?(NG2M@"?'D>YBY[Y^_/;^-V5OAHRFU5I%3J9JD:76T=BOB160:1EX@L@ M$*J(8"A0,G>MO4HWQ*ZJ8R[1=:E:@+2["Z_W0!OP+>5$=!8=LUYWN/%\8E>I M]I5=!P\V:(Y\62W!_N;$FT M*[$+%96[X1!2).$DGP14S2W+W5*,M&NKFDL\=*H6X/:JQB5*#,1+=@LJ8=+Z M5!5XJ0Q]LB^4:*.*G-3F<>R63 +9;5"MYLW,CAYK">K+-X(BBAB2K'X#Q6^_ M9:/_?T\,Y?]">>3SR)[SMS!EFX*VMQZZK_//_PWT^8VC-T7WSBV=OX MK_$<2FOQ:/O>/YIQ4)5GW0=!S\A_WH"?.?RG8>3Y=[_(V:N3_G62O\A>#/=P M?J]0-$1"XOX-_^?7.?PBDB_%YTGVG]377ZWP^:_18\,YAJ!?GS\)U$A3/7_T M0H.M52V:SE#=.JH;F28%;ZD6Q.^=*PN>77@V4 K/%DI!#/^O$/X#?^T5;"T< M;F^]\!<%6I9#,,<_/JLVM\!OE= ,*OR;'O'_*?3LKP4$@HD2C!;C/#4$^F_- ML$1+-L1UH6FYGN/''3//26SP?PN,HX8>6:%CNVZX$O\>VUM#+J (\9]B_,_# M$:%:;8F6+SK'PE,RQ-?"2%7#[PJ_%HF47V%C.VK!L,YZ,-1&7[\#\18@_&FS MWZ@=P#0^?QHOY%X.94QU?BWSC4I\GT[N<00#.;J52;2.D4!;H32%8A_*43A[ M(_S7NA-*[%9T8@B$J''5Z*B.<^*B*\$*VG>Q=I_] /=KFA95C ]T@911I"S" MA$#@""I@A(H+4IDJ"^%X6,)42H3+?E? MQ7"WH>+^)X;1+YH>"2TW/)IR^-'RK(IBI?E"MW_YZ;D_/:PDJ^OUJ[E8ST^X MLI@@+XR[)S&)(B_;YX5Y\=__]_]Y^3I).^=)U[]8OZ=U0>*S1%=+DJ.*9DG4 MPN__1UP'XM%]MH*IK^B/L_!Y;F@LOZ$AA/]_A1<_QX?AK[NV$0^E%POW=#*5 MHK/@GZ=_]OQ9;.%^_]!VX]C8/TYTZYVQ5W_9M1>'.0)_)7[>< S^6L83>_[9 M4(BW!OVQ/Z&0+YW(>,35&'K4J'6XZ4B@8#Q44$\:*'6OUQMQG68UG'>U\&/Z M!:Y6B%Z@$+_!][=,V>3_W;0*XZ7MNZ&EYO[GE[T0"!(B" (3!0R28 &3U+(@ MEDE8*)._QQ MI3=XGCB-N(I>;DN\/@A'DK^.G%:ZJ_Y,/%5Y9C&P*]7AO,I6=0$3H%]'DGBG M.9E.E@AD3-HG;S/&.I7PF7AR9-#8-(Q-@UV:R'*_V1\'BM(OZ>'(Q!M)*"9U M[&!U,!F-)NL\91T)+ A')MZHOFAVC^/E2()*!#^I]CE2K+>B;T^\$4X(TQEF M8CYK[+=BJU[NC^O-@4 DYPF3*M9N#'L8JVHM8=/OS/R*I0OEY$A[=&!ZJ,3R MO($B&YU<'S&9&!A+"(/QF.]<=H802!0R9'8X4BURI4>P:OC M1<"HV'X\7D4CJ5]'UC1BL^YW5S)K=%:V?!P[JVXP$& H^5!*) /GQ'5AJ#1K M0SNAP[:(62# <'*HT"&80YF:0"8RM>;N0N24W2&((BJ)H5WN2+HF04EL?0TQ MXTES:'H=78#1Y%!$JCL3A4%:+*)66WN_K")\B1;@"P+%[QOPWFL[,A\^4F+* M9F7 "%R2*879[UVH-35-MER5F-X>K/2%\ZH5-U6O$<#<]#E80PN"+6K=K M+OKK<+$N["HW7GHL6=O;)E(=U1ICU( <*GSJA6U%:](:706U(5]'(7ZIJQHU M;XY"Y%_8K>-AI\U<:CDP_5)9V&1GNXY38Q98JMP A=V M:PB=0F.<*#N0VEA/QNNN,E]#='0Y<&+H)+ F5=_@5M"T9&KP;BJUL2D=W?V0 MQ"LTXTHN/]E"(EQ%AR=U=!I4X[9VB:'[HVL-?+7#0DA=+4-^=3KL"G'U<6*H MT_(\I+'% EZL#WH3;CNHHNMX*/KK4'^Q#<^=;8."?-[M!2O=KJ[F<=U*0@_L M%'/.3^;MD\DPDMI :F5Z6X[IS\0$\&VO[^M]0F=WM7'=.!"2RW7#U[H@ VVJ MJ3$8U3M!&W,^1H;D5.*[X00NR "ZZ(P5EQ-4=F=XZZG:1$Q^&#[U@@QX!!KP MC6%EQ/IKCD$FNE/IVN%<+\C E&#I)E[NG-C22E,Z[)J"&B&XT0LR$$J4T.\. M>987V_N1P!_@$QJ]5ED@$MCB1B4<'C"LJ2HJBC5'6\.6XJ*59V9HCX=&&7I LP?=$BV,#Q"RM ME]YVVVE4Q%"[A$,3,G!J.0XSFJPHGAA7F#5%" 4-!.R"$$*"1YO3H2V::H4GRG5S5PEZM(!=$)>=N$,:U;Z.AH]D M*)U>#IP3$S[U@KC@:GBR=(8GQD0::)OR=S.>"W46=D%E@-W#F[A%JA'.]("[8>C!%ZF9U:*ILNT?I M)#^E*^$$+H@+?F3E!2Q;H;PN"/'@34\GC R?>F%CC_/3=+'#ADM6;;9$HBO9 MRB)ZZH6-K8?:LBM5=(\WW-6H715JI"33T="$?3.UNLO&:+QKF,@Y(Q#ZNZ'OV\P=G!S?^Y"<_^ 6+\#0&2CBOGO,\L:07U^M M'WOA [YXO!T^4EO;P7-DY_GOI2@@_<\Y:!"$R_1'9_U%$/[[4%%R[;7OJ5=V MTG]/G\#OH$]>AES^LI:1?)5C!AMQLXV@7FT6#3;B1AM1_D/7;K 1-]H(^&OY MU?[Y8"-NMA'0J^V5P48 U?18&P%_)8'YFHZ- *HI%1L!5%-*-@("JNE3-^*= M'?K_%-BXW4N3ST3]2^+S1GWT7H\I/,8:O.[.7Y\.?WU5;M0[[1878*5\$?[D MQC[((KQNISW$(@ XO,%U>I!% ' <'B+N?[7BT F3*77TN+.Z8G?T^& !0PL M8*4@V^OHP__SA?SRP?5 J*_E^S:7)]^@"EX#QEP5G0)K*:I2J*IR7*4[_^5@NH)EQ<](<-]G1/]=MT) 69X#ZL%?[H;V^30P\72]^WV!'-M;B M-A'Q=*W%#<-^Z7IQ (@46($I7 L " "(#(3#WKL6:8M^) #6M!WM0L [OX:=S#U$G?AWPA/ MHS&I7F^S1F=K37B5@#CS2K@;ZRS/N>-:@R<:&[NQF7/SS2G"'1'B#L:**()= M!W=9M4L [G*#._(GW)'":EVI$/J\.V*9T6&D=ZKC";G_>!O<5W'GS VZU3TM MCSRR-P)$)(D3+4>XHR+<(44*2M[_D84 ^2W]@8S$S>GO?5#=J!&JHX8R*1MK MM6!]]R"BSZ._R:*[+&P=>V]$^1'2L6!OU4AF+;T0R<#>\ S5?>5B;A!I!Y%V M$$6LN49 MFA%W^#*LT"?4C>A'T775J#$R",VG+C3_G!8%XA6IBL^_1!:G-;]#B8Z1="&& ML1[VE*K7Z];9([T9*I JE9AV()2%^$;!(D&1(&2?A= AP&,JX_;OQB.F^M:( M0!'"+%FP4Z;7'=B!(CP27[XAY2)$(B"4#_"87SQ>.9[_;CQV3&BF=FS891$7 M"M9:I>TTQU&3?"I*>@_Q>!5*.U>.2!9"_+]Z*-7H&C39.'LHZF&K6N[%%"$0 MK$][L/X=FCDS(954J>QKNS0OH7A!0?/M.DZ;PD'FN>V F^S+^S)D!0(9.3"A MP42AM[X1/?N>33ICJ@#(&?>%_@#D'@,K*$?76Q A*(OF=#'RZ^-!".3(\\&* M&'7K^\:S:H(!(#\ZD*_L1/T!R&5MHW8EH:JR7,6%I'US0#%\!.3(94**!'1; M(.?*ETJQR\0L0U\ZHF\*L?27;*WDNX##20^'<[_W VKYFHZ2%L[Z#+ZF-8S> MD--X]_<1K5.]5JN*Q(9A2YS97@RHNKEU="&^EPLFB@1UI0AS]OVBO*>4 /3> MP3MZ)WKKV($@-IL&9]9->-3J"&2UH4;7IA(Q>DFR#/BA%*+W&!UUG1Y:J]? .CAP.='1=>FC@XT4$?UM1&B!$0!SUP8%]@Z+N]P![/VOX M['1KE_D-[8P(>W5:UD9Z!.R((2E2Y;>E:@*"! #[T8%]_:KQ]P"[4]O;]5IW M/H?:/8&85*H26IX%$;"I+]_0(DZ\+2('")-L$29555,=1U4*GG@X%XQ'(E/X MMZ2&=IOA_0=P)O?G3/(;MXFT[+^S[1@] Z@9]U\8BP?V'*>HG $4:MKPQ<-G M7E"YLTYEHP288?/3":;(Y4&[[RQ"E0M'3E*Y2%UPDCX#CWEPAK)B&@$\WC[! MZ^-X])I5?+U4+\8D$T'R@@*G9I4Z;_7G*Q:13+1KD+WY;$3' M\_OR#UA(4L$ @6/S@L+YMBX _PGK@]&H&ZIDE=F-4%OU5CY?7ZQC6H:>$ MOC']"W! -:/#NN;=AKX(ZSIX+!W_;V_A@C"5\BVJJ_88Q#-+^* R-OF;.3* M"TNQLU47C=#)"E\[%(;(V0*U,H#WR4&<^=J.4 2;J"4[9XU"X'!:WXE:;'O' M_EJT/';G&]NH4?<%)5O2M$NM+)F"M'(XMTS[GRT(VJ]KVE6M!$ MPRGLQ;4?NR.1&(=3">6EH(J.5;)]KV!+X3O$ @UH($ # ;5^(Y>GXKN&I;HN M8V\DPXJ_F?F.SO GUU#4\X1HQXD@'5]5]%Q73&^BU&-.^\T_Z1CB6;KAUU)T M^IBQ1M:,TN7KDZ-F=TK+[00*#P@L/"( I01BSZE3$?FBE&ZG M+7Y5$G-QP/;L/E=A?7R[)':#OM)NQ$KB7*-$W;H;8U;M2Z C'EU'7-E1O)^. M"$B#:E:Y@ M?1GJ6#QRUH@BA5[I1O#LNV19L:H #N_H8+T9AXO2=C[H4/"01TK88L=!"VEM MZ1$.B:@9"_G&G@T/Z/8 '.8!AU=V8MZ,PV:_X:U$GN787655)^U ;@F-&(=4 M5.\+$V^+2SRR:Y%Q>BNB0<7(5WW*LBN$DEU8/_FIANH6"Y;J1:Q7^$JJ'/X^ MRL>3=WZX:#';%8]7C+WJ>H;G.ZK[2J-#P(*EG05+X8O?]X+FU^FSU"Y.'CR. M= 9X4_CB "& @$( 0@!!$#&" R?OZ_FY;LJ*&S]I_(W8M_"@WS3^T7GGEK M.>]&,=!;(*B>PW,ZE6*=JE?.@QD*I/C1I3A7IF*F KH(%C]_J,JJL1>E]5/ M%D1?LQA]!?;DJD]^7--Z;F_^ Z"OU1*4L(EJKA;=*:\*9*>L#'BX M"@<"'-_:CI)%C+QM#F >;.QT!LD>$.HW*#>Z=G[+&_&=@/6L1B_'FZ,/356B M[3?@LCU:Q;".NOA211Q*IKMNXB%K"5#(WSJ'I&G6U-]9#8XEZ:D:%)UMY@F94*0C$ MYA>$^?QN)6E']ODDN('X \?.(ROOVGLT33)]OE7JZ3(JV M%"Z"*ATC]()6;VW'F]U^ONR;T].@@8Q+.D.2=#CGR.7!BB3^QBZ#@/8!X>%' M!/KM7:8/ EU $O::T./VJ1KKW8^?*0B8$>M?;%B_CMF\5EU; #2$\=TO-5 M0_UAT/\^N\.=(_#*6G193B<&2F]_7!VH083^T'F[!'U %66?*HHOMHG=M:A" M.A0]58F[!H*W]]&BUGS1NTP-;\GX;K@73[K[-=7MB.L-*4'TWAQA@][&*RV6W"PTW.#( M0T.*9>A*L>_L^V%9,<(RAM)<>E6O0?-71&KN"A>&/61F^NC&,/J30$0: /MN7M(;@8WII.(2=>+ ;QK0;F)2A&>L M]0C8H8-41F].*6?51@.P?DA8W]S3>B.L65K@9M7AL<<3Z'9,U7=\"47C\SIR MLN W>EB 1K* 'F'Y<":R8EP \01D M FC^!<0Z9T9A%N/QS\T+"EOQ&"4,Q1E%HBP[OOK3W0X@0 \"].G0:@^>D_0, MV/X9K[2ET&>T=GZ ]4(L@*GT.6OA41A?ZB]YFEPU1_-Z("#QU>,P7(3(9*T\ MB-V#(!_ ? K"^!_$/#5U*^ZJ7U] AE3:K.L:NR^W!Q'FB2_?T!#SV*U;!&;5 MV .8?W3,WZVKV#LQK^H^A(TYM:GI3-J!Z;[&J MS\5J!9O$"#U7B91!SS( T!P#-!7U(J\!U)A4;7M,.'W6]\8016VJ/X)IN1[UL0-3*-9;O7/C4U)E@$ D)$ MKA1YX7X,P&-=+:8-M$2:M,0#U+#\K!I^VX1C$*#,<#Z8S,U2I;?V6+:U/1UB M'4'$]<5E_,;7;>3!SP-Z NB)]+J3'](30&XJJ%*1CP7X6GD*TU?O?>I@/ MZ$CFQ5_,F2+/EUL8@I(),=E_@F3ER+NJ$BKV[X6.WU%Y09-+![&I=FEC")66 MR@(Q-$?2^Z'%5X[;KI%$$8 MH)EQ<](<-]G1/X#7RV*U60I?_+ZUM]E8BSQX,.DLRTCABP- /(;1#P ! %8 MB:RP$D^MN_J^(R_%Z,Y.6XN8B=!Y\H[G\IV=;VPWJN4!/@)4[62:&+XVB= 7 MCQ%.W+%-RR%H'+7_A*/^6K0\VE+89RA="$2(0_HT:AR]F3FU]9G/6%V2CR[= MHV(2 2O"Z!O31A[0! =5 %F%Y+4C_W\%R?7A$&Q._F3 [RQ';(DM:#,ZZ1$D MSTT,RG@R- AN;P&0S#@DKQRN_RM(]LCZYB#,YS1['-96RD3;5TDAB"!)A:=D MN8@022X.7-Z2P7!]PC]Q['".BEO0''M3<$.Q>*>G F+X:8_A@TXR&4^B>L9H M+83H*$0HI[U'M=>K*P<75AS!'I55K44&G7&3#@04.E]>B93?QL,":B+MD5B M\XRG4_T=SK'^V)9A3Y_RQNR@DI56NU39QS@G(IR'*@ATA@,X!SA/@:?V5S@_ MMJ?<8KE$V[QHJ#5&8676..@1SJ/,JB)!W;9:-E<>7*83HQ5+>G>IP6 M97B??Z\J%XP-ND?MM:&$3*"IOZMV8.S8P30]FC01&QOPVUK//J#O -"=:G1_ MZN5Y&176G% 83%ST+1I*I!T+8D1^N4:DBMQBP5*]N&ER-$0\TV(*8#% AS'0 M$R0CU,>OI/8%\^7I-Y?,%YADUCVAOC)9T5A*E-1"&/*8C(OZ&((G:!'@5= MQ8"" HB*V3+WRF(\5#;UBFC43/;TI2>HC)/6%80*0CJR[K&')TJ M$B8AO0ZR&D3@CO+>$*R(@7(B &X [G1T#WLGN!':6W>'KGHPB9,T7LVHZ5'V M8W"'[A>%%\L7.H""NJ0,DGK_3;81JS5[=(\!;<1R4(*4PA<'36(>PWU)9PY_ M"E\< .(Q3'X " (P$9DA8VX6/WAJ'M[O8^H"-E1%<,K:*(J#, MJNT#0)DO4-ZP7OVMH#SY0^]0TT\'EJ@>#Y.61"%X.8A &56I(]BU0)DKAR0+ M@?N$I_*4;U<(Q?Q=?@J(XJ<]BO^ C4=RD$(U5+=/D.2TMVKOX+ =;5%T8;$& M9S4V]6 *=:#0I")B/P>Y;%*!NIE,1EX!JK/H*'T$U;RZ7LCJ4I=X8@Y9GCB3 M&S <1*B.,Z4N1R] L0M -4#UC3RMCZ!Z%M0Z9)?9:!"G:"3*[SFA;>L1JB-/ M"Z9NC^I<^6 9<;6\4%(*:UNT 5T?PH(M%_)N1\U4BW#=JJJ=$DAEWF\9@2; M48>MDV2 *)5M4X%",RN^MA[&WZZ/']!%RGL.2L9@>\T&?EFU$8"P/IRPYLJ@ MS3JI8'M+U0D/<0E<1P)8A&QHIIQ9OUR$P-\8O\LV)ZMS1VN:XK;2FZ_8RF") M#@24C(Q?C"CB* :( Q!B!$!. W'P&I#IO=4UIM(L8 WBX/8PR6D?=S&0HZRJ M8IF\.8ZS:H,!'#\DCF](%;R&8S- 9WK7->?\2.H="6(W6!QP/<)Q?%T(C)0! M.9!')^D5W/:1FF!A?H4N!Q9Y__LY7GM6 MUTRDK2\!03CH= 3PES?\W:A#[!OP M-QKLQ=IIWERRF[(W@6%O>=+F082_T)@FL3>ZQ(]L,6>;?= *BA&UL[(4M^#9 MX;?:LKFTUXKJ7+2M 1D!R(A'U-BWNA6$TZK/<&3LS<:V1A$@+^AMK5F6%&$F MHN9TMMV4:WA]/&\% @8]I>1@5/)R9,!*@&@F0/3-?: W(MH;#EM54D8'IKBK M2T:_)?JSQ2!"=.0)844<0P$_ 1 -$'U_K^J-B,;:'-MFIOB2Y\01??#'M$YK M\1D=5XP7$2)YL3E@*G+ 5(R6HJ,6''7K._)2=%7 4@"6(M.J]5;N3\UVAM]1 MPVFOJ]1<4 MJWVXI^[:!&KZ1M_S;6]8J]:#"(KQI8-%'%Q8 :"8/RC>R.%X%Q1Y\N@*IUFE MS:K6T:UL.'7J[&(HADX'0A9Q](UAA$?V+;+(Z<1.AQMZ';)J[,\7_*T-U8\H M'D\\% +#6T;$3C@A0.P 8@?H\-MZ-D-U+7JJ,K;'XF'Z XJA:H]Q6PDUNQ(J M]JUJN?'T+FAV2M@>#5B'#^8N?%";-ZLF.1X(V/GJ]R)4)@#C ^+# .KW]IP^ M >J:/JVTS6:USNYF_=4&6FZD!JU'4#]GQ5$W#ASGP<\"4'\@J-_(,_L$J.M2 MQ:KV:6?,JG(/[VO='GLB@PCJ<34+#FYCSR=']//])^I!=63#52-OS=Y&NPQ* M6P!I=,/2EHQ[62_ZN<>!,>Z,(?8)5LJES.>IP+6DK3\P1XOC<0<37LF>A3;6 M^0KU(GPA]QF01R!BG1=(WO+>D[="$J]P]L*V>Q+$C6NZ!ZT/@= :1)",VOD6 MT0LL$B"1 "1S \D;WGKR5DAZ':A6'>\0DA7W@^YHC'.5@QA#DHJ:9L 7ZO, MF91],JFJ:JKCJ$I!E'=^^/JQM#^W9P#\41;YHQ2^>%K5?H9Y)RV<]3-XZ1_8 M?0Y874JC4[66-:(1P?27ZUYP4/8&MPW]("SR@XBW)NX 4BGMD>84OO@#X_]: M[M?[\:_K%56;X=T2A-20,=T\SNF%/HCP'SI=!'KC9DIY<,8 _@'^[^7KO1__ M5D/L!"9Y&$%^'>K00A,;DTR,_]##*]_Z_,^5YY=B!^][!XA0HF(Y#;\Z_'OT MHVLHZEE6"Z+CB.'GO_7Z'M"Y^[,/)]E.N("E\V_^@;>'@FNO#:7P+RC^D^5( MW)U?+9\NVR])!37;8;[CD7D)QXXAGN7U>UNFAX$<.NVKHD(GNLK!U[*CCB%*0CH5_ M^VY_2 [BYJW%SV3@-/C<&]]#'Q+4=OA#>3(CN_A.X*T<^1';3 MNGPFA&L0/OZ2FR?5UO2ZN=;8>IU9S1;UO49$?<.(R,TK8T7B]E>@9]\!_(L0 M/E 3:5(3^4JJ?)?&^%51S*EEX) MJ#Z@)W*G)W+@=7Z..7'T(!EAMGJ3-\B%:58\;V/H>J0E0E\30XH8A !&, ^, M8.1?LN-"L\<,67K$AC\4&'K4*-"]ZOD'=L W)W2'[8U'@/L#W%]Z=7>^:MDB M'1[]C]WYQCY4SG&9L>LYANRI2O0+VE)^_N#%R'ZX=':H]&5'%5VUJI[_?_CW MM1_M"'N0EQ&A/Q0]E=4T5;YTOUZSX3!+@;%KK$&N-?E * 2+AR= .;[PM@A# MR>8#@#8$C +0#[?Q >^N'XY-TF6U;6G($XM6"5WV4'PQHR/]0$1L!'RAJS5@ M'(%^ /KA-F[@W?7#8 M5EHV54FS?#CIM6TKNE-ON]?DUZ(L6VI.ZM&9:+Q,(J_CD*NZPXA7_BE=83OV: M7/7R0S=I#E2OJ/I/SD8D^]N'4.6OXI\@JP+35] MS5C2TV,5HUSQBA6O^.6\PG3.NK9YU[?OLGZ]W[NUFV=WDG[SF==(TL_U3K>MH-C,*M37+7NQFL(HR_E04847=7XRZ/[[+1]UO MCX^N&G>73=J*#UNA.;C?G9PB=1L_Y/+Y#:VU%77_[M3]X9TTZJV?\A)\WO95__-"&#S6R[3>ODR?\VB*B3D >[09/YNHZR4 M1'3>HS7B>?$ UC#!..$PSF R;)P->PGA[6Y"HMJ()!EK8=>C*675:= 9@TTW MBNN/\%":P1>L2,TZVPUAF.IHDN=[KN\Y5)=\1R.NYH"MKSJ&["F62HGI$1V M]U\"__/#^W_^'_Q3P,&+*$D0)7M_^V$ZBLCD&SL_L:."32GFNJKC<[T4;]]*?J\RQ)$ MSO^I5?Y&J"R*[YC/+[\,N9ELKXEV- EO*=SIR8. M/8M'WQ1YW9@]< V,"GWAS'\UF?-[P=/S 23O)2@]_L]Y["UC 3\[)?^( P'[ M!0D3\6_&?+/BJPHF(7"1GA&AD5+QRCNO%R78"_FG@DG+26S^W)8=Q]NSJ/_G MSDPI(.#&D8\NJ=;1=NOLO-:^;I\WC]JU3KNQQEW4>\>;P(;W&L-\ *OP?DGN]]S-')+E"6T% MK9&H_Y *7O<>+A$/04(4B?/O#-> :<%9K3U(0_BDC MP-K>T%M?JY':%C".,>H27IR,8@[TM:*,0EI#M2.A/3I,@;G4!A2SVE $L^W1 MB'JH"\-'1 6FP8)^ @N^#SV:KM5 0_6P)D,(VL>(1-$$U!5,D(.!>Y3@PVNU M>]A!&(DJ>C H"5F9/9_Q-1SN3]3"%.GOW8O&)OM3_OLO6&&4#UPVP'05\&TX M8E4>8!RVHCB"59"T-@;U ?\;!P' ,./Z$6",Q[<[@)FR."E>#4* !X @H^SW M]=HEA86#[A3!% ,"*A?\;ZV6T!$N%M^ /R-0P_$E'P;EIY\*>&<]D/O=7IQG MJ)S5T/0!I:R-JEBZ7FN,X*4'L$8R"O!YH<$T BIQKA+S8')JW^ST=U3=N) F MCM(^.?VQ*QEIDCDG?-&MI,T/KO$0IDX0/C@<8?;XSMDP>T/ T&BR64"/^MO$ M0Z4YI.D18QS.8'=W\_1PVU/Z.X=ITLBE_0LKF7&XO+0Z9QNL*;"_ $%R*I:6 M'M/LA";(XT!!*BVNNL+9Q#%)$D?/:.NH;RA>)]R_.6J0A\UC,AZ#O66L+Y;H M_0_K(Y8GLPHS@@;.E,U<"^$T,T P-V>J:"V+"V3@2 L#%"<=#FM#A,\4O5#[ M+B&TQGI+,R1(*.(1(MR'.O$C1&Z*U@(]8]C-#%Z&VV@UB,?%25_>;-STS$9V MUJ?DH+FKYD/-<+IO>-+UW?W-?7\[.&WFMV>=8>OPP0C"!FCDZOIB,:__+)SB M8+K99<2,&RYYV7H-S3 0K'#*@A_-L=4UP9N*G\=T_IM\^DR<,"R8CH2V7?EK M@F5I<85/B')&&("+R0(.,!W@R_(N+B>@0><=OP MOS/"_BW-<;E0KJO2]87VN;!H_8!:@8JE^67B.9JMJHY%;<.1))^8Q QH&BJI=F.!!:]HUF&X5B!KSLPM2N; MJD7L0)U]PPTTW3=4SW%M%^8@N#[9AXE<1:4:D65 RCE8F:ZD^EK@:)XI.YJ* MZS,MXBBNZTN^3GV96',[]V5%\JS 4:D+YV%9)LP& /-@'[(FF7 L[NP;NFM: MMDY<)Z"N 3-*BD,46W%\"_:L$%6RZ!QT=4^R=3NP'%?58 Y/DAT+WH.YB>S: MLJU)FCVWP;,?W?$65%-U0[#DL\>"(9%OQ' 5.R]$D MQ038A@"JS;P2>'!!-1I0R5$>CAN00709F'!B:"TN2 V_N#6)X M/E%=&=:BFQP3;04^ZH$MTT!2$5%FWX CDDS5)(YG$,W1 MOG>*5(FN<";AF& M/G<>LJ7IMA; N>D^[-PDDF/I!F!B8)I4UP'9_#GH6IZJZP!9@*D"<[A4=RP9 MT-$W)2 ;R0;$(G/0]0A1)$ +3[%=1_/A'\O3?,=7 4%,Q7=MVYQ]P[;E@ ;P MB*)Z ##9)8[KRJX#*S.I'5"5!G-OJ*IK41G05M8U@*X!I$M<0W%D7S$L2CQ% M\N?IW+(4G7J>(P6*#3O7 Z0H6)6M*R9 G.KN'*R"P*-4!@YBV-1"&B2.30!J MKJ0#3%0@*U6:>0-[)@;'P6!+ZMWU[^K6[5&XH287^PV4R'.K\:CJ^;[I&)*) M6"X#^U 060S34@)--[]561>=QUE;FQX\ORB M.=:44^+V=\[MJ\YI^K ;*J?PI#[_Y,GV]=E](]YL-7>N2-=*@]N3M-N )^=@ MH2J:Y'NNYNB:#S2FZO"$3#4GT&4#B-Z#LU7GQ[XE%W!NHQVUJ?BI9TOW5U>3 MNZZC.@M0L[:USD4.Z^RTW7'#S8)(.CX]A2<7=M9Z]%K7460?=2[A'+7)CFFIR#V FH!5&HYK M4M_4=%66J#8_=M!L'FBZ?NOV[\XV7'\SO\T);3C:DIV!?MPZR?;&'>+%!SIM MU5WK=@Q/+NPLN'B4Y,;I<%NZB^^,2+W9W-JR3^')A9V=&Z=;7J _GO1#]_(L MW+[/>]L/.'NQL]>VUC=(&J:MX"2A*:II."#HB^VP.PP#L,>&6,<5K 1Q5Z_M.L3,W1Z@]V>)MVUS_V[^[I]S+>R66J#V.8 9Y\LGH;3 M2\QFUDDMB;8/G8?NW5'[X.RUO"RS7F=KSJM19]\LX7&M-8C]S!EX:F)<$ZTR("=9.NU1A2QXCL%Z;!?Q.KF M)DO(,.567LK'="D=UF@4#F#1L/CUVB9-T&=3(P/^&OP)T (CBF=#IF +3BJO M)M2+2)K"U+!SL,-@A6C'XI_,3,J3!(U#_C(>3\G_.!@IN_&9BG!<93B/.S5A M\W"LPSBKH=LG0:@60[\L;C=OF[TV[^BDM!4TTXRYJ:8^V<<'S;TZ-G/2WVEW M>MODIJN=IXVOPBTZ'(7+;;\WBQ!\H/0Z/4&2!;:"ITV#UWSJ9I/N"]4+'"+NR1\*8G.*]/T3_"O5H<[4=QPF835 ?#P0!4 MD&TD2CLS?T3A;&-NY8<1':9B1C],O2A.\X2MKTL27["FH@_+\A&!?WA9#J"! M]_*(^4+R"$<+T+42)/% \*AR?YQR!W&:S;"=Z?Y%-6'&TI:S:D;U,UOQ<#@@ M_Q@&9,(A#OOQK$_ M#H$WAP-TF+&SSQ!(P^YZ[5UXD\C+F;^?_X2"]]+84.\D>GYB-BX2(F]H MXZ_"LA (M>TH'M?VAMSS^MZJS24M.R75@ ?5>K!%Y'0/N,/)9Y0G M7H\@D7'%!I T"6%4(+(!A@61GS&!FE"DTV'62]$-&F&P#:2G2WD%<#K%@?4W MT:O;7H_Z>00"$J&/P&_G(^"GN"L2;4WY%PO\+V+DUN#DL;_9./&;@W3[1877_#,$_;-#"5528L_(Y59)8:Y+ELL MKR1+BJ6)*65.5"^\NB.M&_;'2**3?W6*[%-Y@\JZ_$$Z*[[9EN5U]7?;LK5N M6[_9EE>(_3ML>878O\.6?T/$QMS;#W(9[\WV+*WKG_28?_2.^,=1-*U_D7?Q M5?C8KX !F#[XY?_WA_7'3\)#-=:-]ZTJ4CHKGL@J_EX,[)J2I-8<8BNN(J>X MANG$9;CK@[,':P%?GMMM47+%7?&!C\T'?N98%_]=0.*2XI6?I7B4\>];4^?? M4OS,18$5&OR^:"#;*S3XMV@@KYOR9T<#Z[>6]3]7F?@=E( ]D7+QFA6_WEN_ M?YMZ@!_(9;&TVL2OVL_;.-J>+3.!5XN_3B>;@@1/2.@?TV6EXD_V6MOG+54] ME8SFYGUH7VH;;7?LJ*QUZ9IA:6]:P&]%SBMR_L3D_-J-9[Y/SENWVU:]?G!0 M;PXN'GM98F\F-,2D=&PPNF;)BQ<55^2\(N^[OO&3KY8M&1OZ,4#BLF7F*DZ MI*S,4D(#.*?T,W@Y7H7[?E(FNU*-WMO205HZ1U)ZFINZ)])A]ZZ;._TPM Q+ M,@ZW6P0ORV'%6WE-L5ZEXNV*#E=T^&'H\/5-E!?08?OZ\.CQ3C]QFY?Z8[U_ M=-4.)T87Z)"W&%%>IS;MB@X_+AVN;(M?;UN\@! [)YVC:]O(QLV['6DG]*2# M0_D0"1'-"W5-D^37*2/[RL)B6M)3UU. MRFXOG,WV^>6F1*/[LW'_X#X99Z>+=^&7/_>J=^%_X"K3['WYG[[+=$8QZ#AS M97X&E&]ZK8F9@;7]?$AKP 6,-7:G;KO1WJB%:0H'4VNT.[7C>)W]6I?5M:*V MTW9Y4W"/W?KC=YWP1UG^N[:94#_,:H=QBO<=_SR/1X"0JF+\M5[4@L)+B:G@ M8=,+FOP>--ZGYK>3^?VJ7IAB%3NLQX=W*).0#ED9ON*^,FRG#]9K65TO%>6N M2!H/V54>5K4N'^%%0/89N!CU2,IO ^*.!_!LGO ;GW@Y%&9A-#TL<%5$2U ?NBX3UN$J^*SIX=5GSC-[BQYB'>C0Q" M9,FU"25)6FG8RBKS3M/;9!VK957G^0/5>2[*T,F! M12Q7R1-S/*L0OHJF7M05P#( (&+'(&_GZYE@N8#XGI6>6%[* MA)><00DH2A+,"V)>O$$4OL%>!QXJ*ZQ<92.*XC%3 %! SPI"&.E_WL1-ZE1J MJF)?$+$S5DYU_CO_-N<9T8*.6;Y4/%5M).R.L&H.@ MDU4QAWI=]]/]\B86D9Z5" M=<(TGCUQ5J =L?^65JU1*> ZWFZ.CW?LVW[G;I/TT\)EU]2VHJC?;-ON'M4VGK%$]]L0UI<>J\^LRP8#>O<+ZBMU#U M0#?S0<[%;9.9 QRS6T%#L*SRE+_[X'LV"'JS]]N$#%9Q0+ M= $5-TF"QI4HWO$6AOW/.)W>R.'0R+N 'R@/K6==#M:,S8B%?2Y889^CBKTN MS$/8RE_?:M.R)#4XC@$=QTF?FY4*F)6,AM/"XJX\>\9M>6Z%HN!=/E?%>P&V M=,43, !] QS48UM6MNISY#,O!=5D)&2P8!VP+;?ELC 7?(AQK6BR)%ZQB]:I*!PF?=/%5 MO@R9/(6$A8 0RVPR]96K:V5#V,7"ZPS0RD2VAV45%5D%M>IY5/*\46ZST2JCPAEDKX8/QO=+M5I:X+/Q[BWXX42WM-Q=P M)?TA[3TKXNRZK)1'+=@2"YL5!VQJ>,!MT!"C,)@41-B8K8U7??$)*97R$4)1 M!W&NN%Y820;#$HA%E5%6E5"P!/J 91:9@UV@4NFMAE_+U=:8,V?JV68-&0C@ M#9\'1(TH,,K*_H'"[8GN/-P3#]S(CZ.XRZ4;L#B/Z:"LB&IEC87I7.5H4S93 M*4T(E#53:+!239'-$ -G"7U:<['JLZBDR (,?*D9LK"9CV2"7<"@P@LEX[J M^:@(;.#X?&.PS*+&X?H\_OT[X:)(SPL76"&.LXXJ,!;K+!PC,.D("VMFK)0M M<%,_9KX6'GWAQ7FL*L&B[VPEGNN7D?WO6"N.%+ M@\9SCK37#PJ+]C;;23S8%(&I2SCY3=#O@5B3IT+"!P>9OIDK8R(-Q@'2/#H!%> 0KZ_X9_E74O2YHH)5&AA,*@!/\ 2& ML.%070$IT4V8';3&&,J?(0Q6E--F7!U!S&IB8J%67K%Z.@;6I.5UQ4%.8#@4 MF KCX.5#V62$X3?>QXHU46.#L,G#T@S#L2AVB0,9 #P[9,JD.RG#KEA]EQ<$ MYM8;,.N<>6?94P@HMDZVT1&9,%T-(#_$:QLR#PVK-"QD,"B$=/ZN^+@!U+07D(;M6W1 MS*HPDZ,P9>:*"P0R+>P% =>YDFJ%:((Y#C VO.%3H-&, M$V;!,RH%MLM*]05)(Q'$'M![P988\0MF,)7[?*;U6F?HT^1%ZUS[@3,$6(H1 MYE" "5A\FZ^G8$PE\8OM9'&&N2VB)+=?L++L!_!$2)RJK3X=+Z"T6 M35K+;A2S,,)L/1]\*?JG8/K!' ^(IS@#Z$*>^$6G0 90R!MQBD MW/HJVHA2GY%U/!K%:=ELHN@=N<;6M1R5$3>+)H:DZ-\GR%T@4EIMV,K7PG65 M&IIDZ$ J[$$D&@#U.IK/(1A5./)M[&+'RF=5G[]KO7@,7P)B!U,.^!1L2F@S M>.915#(7P2NG1X#].%!@ ]CZPW@\9 N99:+,JAWE687++ZRT:$$[S\2G#EZF MP!7*4\&R9]$!&[<*KL(9T,P[K&%(0<3\!*<:'_H+IRTD6ZCS"!!6+6_AI(9% M!GDBB#Z%LQ0-!X[CC(I^S(7_H]";62.#PIS@IF2ML"A*_\8K=G/\ E!BJH;AS[7<18"IM &=I28'GVH0H\EQ>L.)Z1,>%ZP&J^+5GS-5&TZ.\>YYWC9SL"^L PBA8F[:2J'JJH.3E'YG(.J%L!I M(1$IV";NF^X?&;D/&QKUS M8\NV%BB 9=B"'":P=1-Q$)LM2]3P ]DT?6M^[)NK@6I=G-]O=5I7UO;]R6%] M9]/ =KSR_),GMS3WR/ZCV[F\NDG=^]W!1!IBT;&%1KCJ:4,QG'@O;-[5M\>7 MO?W&O<6:["Y 3>_*;N[M-A^;!QOT\7I(=W?VM[!2BCQW)+*L>("NQ*$V=G W M*79=!B@:KB)[GJ+*MKVP8&72LN^,:_U,JK>2T>.>?>7VS=-E_7BOK;O3T[.6 M/>C08>=NZWAG3[F+\1 M]JEWW&^T6X_9Y1&.N0"$]D4P/MB_/&I+.]O7.SW5.,J=!A8XF >"Y*M 86K@ M&,!=L=VX[5B>XCF2[1M *+9DTX6VP,;XRKSL33;NFY/QP=;QN+'?N%$;CCX' M!,?6#$^QJ>O('N;">Y;D6":P>0G8D20%OBKI='YLN64KCX?VLX1@+8P>:)BNNXOB&!-@HF0K0NP>0,!3?]VS=)=K"NG?V\FOSZ-K0^P>N M1+/PI+YY0AN.N7AX@1W&H]OLX*Y/P_BF.;+N-?D,GYQKZ4Q\.?!\3P>A%4@H M7Q2@O !0* "68[F!;ZD+S;6W=VXFNX_MXX?FQ+3N3/4V:EN'#<=:7,505KK=NM]MV>E3<[[:UA?J/O6/[@?@Q/ MSMV-D*ENJY8&I$ M(%$4L"Z(%9 C%+BF[:-,7""G@X=N'HWB"XD>C!CRX0:7Z_W;@&1FE*N;[3I9>] MS7IDLU$7J'0C--;0[KK.HWZ_4@[D*_9HPNPG02'CXT]Y<3NWS6\765_ MUWEX5-FC\W3J!3Z0)H2,H>;(" #'?22 /09 MD.>^Y!#+ -A9AJTHBF9KT@*]HE0%.2@KJ/NHP.OMP U ]S%D&=[R)'GN? S5 MLTV4Y]23@&G;@>=8F@T<0I)\PW!ES53\>>FLZ59@ [K*$\,CS@NWO@!/4*R M=."YDCVG7X'6171+!?J6X&'-\PR'4!A -KW \B30&/RY.6R=R(KFJ@Z0GX2H M UJ?9(.^81#%R>" A"#;^I>Q0XWLP(C=(3>.^\<.$J=ML?J(&N.0=;.C:U9.B4 M!P>T7X+WK S00WS;\6Q+!G$+TC:8AZ84*(9&3UN['=O\S'>HHR=^')SOY9()\?IE*S?7BQK_?V-J[) M+DK2N74'GAX$GDP<0R$&0%GR@3$:GF.:Q+.I9U*@V?FQHUTOTHEU*?5;?=V[ M=!Z']_+->$&0@K+G&H8$:JAE(MZ#7@-Z+'PT%=/S55UQ-=M>H-4VW;5OS_S] MYN5#H]>^#N5>I(V7R*? !)("I"(FB _-M5V'>* *R)JAFZH%>IRU<)92[\CI MW1V,'SH'P]VK^PUM:](=+9%/H A+J@+*H6\@YZ(4J"\@J.G*-+ ]P&=I03X= MF&,U[]^.C(Z17.TFTD9Z'8U.E\DG/[D=3W9[C_M]:NP/#25(;^@0GRQ.YL=O MBBD_=%-,??JFV+,^R5>Y*49%0G]-9,:E+,<*W4XLS;_66/0\E4&SHG,P\W.S MQ 1Z>.>\=E.XL*3%2=EF#\?EG?=L17P3%H$"WB6KG+FF\\2XM-9=U^<-E/FP)WQ96+$K0O PH]US. KPC8L8(99C\*G MB0DE&<\3QJA=$$=A7$MI5R2>X3DM?E\<5-E7>:V,1:&?DODQUVN7/.LYGVO! MS *QXND%CRIAT>Z,#J?YR"D94-;4GE<"+)%(9/?Y\#EA^?D+,RV,SCHI3\-: M(BTOBLKHR M#/:Q)(J45D>JI$SR154.==JG&V$HDM.KU1JJA+20A%.99+VVO5#T(8(_.!*0 MM AZL5,LX89ZDDU_)S2*;Q2YZUP1 24SG%=8JB;D1UR+E1*JVU MBU7[*N&%>5*/HG(R;A8,;(>]C>^0_3@0"2:]E2/SI)EJ:FU"A]VL M9(*S/(7)1YH 8;%D;,0.9)ASHY&NN-[$4NNF*,:1D8>8RIP1Q@["7LQC_R+] M#K-3O"2FP!GB0>C5<%%^6?NEL]Y>+Q/'BSHJ^+FH$@-0&L;#.F >Y^$DFN4Q MHOS,XJB_/1+N3>]]E65N2NY?9O9C-EI<8R@W M(\1AOKI ^D\[0X[!+H34CO#VH2@ -*:5^E 7=KEF;#\%D!:"+LR2TJ %"$- M^(>GPO)Y";NK!VQM,TY P;X/$^"-6V'*+N:SNW1_"LF]V;K8VZK+MA#>?ZW7 M]F97A$-?QDGDUW8IB8 /MI(N&8:/(G,8R* ;)RR670R%R$0 6#OP*K62L9T M4K"? C/Q-CB\U\X8C_.[[/;^N"V[VLGC"U60*G62>&I4:AELLC]8C+9;=UO'M_N*%N= M@V//<>K-'?5A-'Z7]+!&8=$(G'Q.F6!\D.E\Q67W&)]&&OR37Y7.4R"G]*]O M'QHY>)W#(LN&M]M#\B"CE'XK_J@N V<5"2F83>'Q+(S9%)CJ52J>_R(MY*UD M23&K&$WF>WA9&P1=6K=_MX[@\N_7!-U:-XW?;,O*NOZ[G;*\KLN_V9;M=>4- MZOE_J"W_EHBM?I".YF_)L7^W4P;$_MUH65[7?C>._7D1^P<[C'T@U=KZ\<,M M6X_+\L_V'M?L=>ESMZ"_1@=0<]$!]-V>W9\(+WZZ\,D*4:I-ZA7IJR"%_2N1 M0OD>3A3=@&3U71' _I<(T.9)%;,X\ 54_/=!!NM3X\)F)5;]J1#B>YO^2"@B MFY\:1UB)U%^''&_;TW"%'*^+'.=8'.*[ZL2/-GE^(SW#GI M'X0/COB<%H%&4:G^[.'OW)QO.7O<=5(F\<76?G_;- VGG<'(31=?7 MF_02MN\9K_J?CJ2Q\=7K8[R<'JX?>CHS;J.^H$L__&/L69+BPWM/G#0 M80%G]\HT]R&\7VFT4/09^%+Y?3_/E5;.@1_)K_X97X'<=\!>N$OW^SO#LZOM MS%)ZG>1?"/@%XBX:&!ZQZ\G3].TFS\O'RJM)B@,M\(#+9L<(]]I[H^9E>#C9 M.F@?F?W)J:,S]X'\,@OA0QH"'XIF/DZVY)MM^8N["_X5FWC6>]!/AKJE]?5$ MNJ2/5WWO^.;F[O!?: >_D%FHE&P$%V>]A^: V-WVUB2Z.;]!9H$.!57^O,SB MC>V C^8<^'C M\FW[TG;%JJO=L%#F+QJL*OPD"^GB/AH_D+5@SD@S&0IVZ!?@ 6 M<*,V\U[[[K+95+)MHS'JFS>=.ZC+C 7 M'9F+83\7^OBLS.731CL_O_OCJX1*D1Z/-XW)2SR;/WQSY(PRZM:!5_2)?)I?EJ+!QZC[4@TU4.QV?,X?A0:L3K.T!@AA=F:6WV M $:T%03I,5]QQS?:KM'W]R9=WJ5!7M.6Q&"7:A(?TCSY M4!3R%5P&8PENX+WX=:]B--RZS1_]VHW_Y>+.M>Z$].^*3VP6X05GY>Y4ML,H6^)P(_1ZB[Q=9M[].@ TGGAP$ M9KO>5&[-#7EGG/5]%3MDHL&KK,E+ GY_?8G< )X]4:E<#18N:]J#!?M9$;H?:ZPU.[7S<.3@/4+:B*?N\_C$L2'"NF_9;HP:I%"3\).K&S!K6!YCTWZ;.+P8/LHS_7\>M@, M#ZYVM>W^CG35:SCV4T79?E%8_^N9G#]E6:ZXS8K;O)75^6OX1;V^<9!+^NA0 M4HXO!_*Y<781GW>!7S#3\WF&\8ECJ)7*[PO]LU\_0CI+$RK0A!_GF,C\1D3Q MIK4:%TS0M]_O1RGF^)-IQ5TUOKM-FIG?J0=J?<]S+^K._3L4B.Z,A\>N="P; M_1U7Z6S%87R?GS0<6<)T8FW-4+_B+'64W>TW?+&[_WO2WXC?OQV^,^J;4 M<>-]J:ZYT>.6TW%-Z1UJX#>WR5J,DKIM^*/ZJP&3-7C70$'Y*'.SFU88F ] MHD%614;G-OHQ M^\;#7LI__Z7K>W4.'^$/TD..QU^7VSLJQ9T^:'>V!?4Y+4FD.? M^K.QPU_4,_U[/.L3(]_-!-F@/5:VKR;=9.U7?(2=D<&K=^JWUVU]_IA77Y MLA[I=MAP5$?%JI>6_;9!X_?6W3ZUKZ[9RF(RU*OVG/CDW/^#,?E?7S'P]V/A M/\6IW_GRVZLJXQ_W8M_74-9_2669M'%P,NX=N%?-\.#L/-JR;]RSC5/'0+8N MK]GZR^JV_5[,^[.H[D_?8<0PQ$H??S-]_+WS=-_&WXY[W]=-SAP_KN^ M=N-=;^UW!L=$&PP/-.?X\1WRDK>VKJY)_?:.-@UE/]JZKA\D6ZP8MHIWIVSI M;6]F?CH!4*1D"R =YP.8T>.?\?S#84XXU'[-TF=RI>4R[AP.8:W9M[H\&YUE M^"PKB-S&4_P0__X69G ^WF+B A]JFIG]4O@L[)ZG@E4RW+R(D@3QH?>W'Z:C MB$R^,5 64PH6H9CKJHY[@J]$HAW;RFP.7&7S('0-&F MS$4P&-2@YC/E\-___;]F$@$7"$LPR@K\!%P4AAY=6N=YAB2 ^;^1:$PF::%J MV.MJP8._E;Q694@B 9S_4ZO\C5!9.#5,VZ\ ;A8;^6NSR?O%E]_)=Q2'GL6C M;XJ\;LP>N 9Z@[YPYK^:%;"C42L"@-1Z";+N_W,>>\LHYV>GK)#=$-E[-$-V MXJL*)B%P83WG[+8%V-^;_-I$6A(9<+B>Q^7-;=AR$B02'>JJGR);NJ(9G M.)HAN0Z1%,6Q%2)9MD45UR)_\%GGJ)R+%-=)S-#I#79[FG37/O?O[NOVR:'; M=?!1E4M%>(/ZC>Q[3VNE&!9\]9=43)D5G'O#>P!FG$Q.P ;U)N_T_ MBMV_#!W?F+W_\4^Q?>:) MGS+P7\@.Q=K9"I!@"O@BY-PK87#@DR03&RY.4D8Z;I^&0IGQ$DN#E)9)1'PTA M? -4*+"$X#DOQND3%JT 9AJ%CXSX[DF4TQJ.T>7^+I LR'#9XP.:]6)_O91_ M56W@M9'X)(E'(.0F)V#7XH<[&\Y5DUSN'^N7PVPT M\!M?!:D+<+!C+F'QKO@]LR1:+&D.!Q&/UM@3/ATEH.@+MIHR5VN.3TV1+\T2 M@INN1X#2 OMJ&%1CO](T S.!OT'!%JA%P.53Q&V&N&E*LW2]=DB!@!CMA(-1 M B_CHE*V*L #!N!'7!I2RR &+0H_E7-$0$F<7MB,#R/JX811&-#BRP@G0$IZ M8DW3)]F2UM_G<)J8)>*'69Y0'LQ,Z(B$"6<3 Q*BO.4.$P0,BX?X6)6XR"X9 M]RB!:0K,P86B IX;*M% 5&#=> MBL1K;"#& _%[IE+@>CPO'^3\[QETQH7#%+ ^8-E)/!"A VZKEQ,% /C!EK V'%WR/8,/Z#UH4A_[["'@$T0KB1Q#&<_RG\7$J&-E,;W M%M1:L!6VH/1]>/9.'/OC,(J 7>\-,S+L8N"\P9;]%-?>.MC?;%YWE78_;%XT M+W?38*=U\654D3.>$\!+>T_PB H0,:38PWG#(&22> JQ&@?9NS+WB4)@-@+T*=$(2(J@9'VID86Z&Q4.#6EYQ+PLC=8D+D+L"Z M832&UI0 '\%<9"Y%@&7#5 E0*OP836HA:#9A F0)(@?860I*5;=+&=U61QF0 M2:T'NDTM]@1+>Q^P7B);9;R%),D$64$),5+K F]$=C5"L82\;1AF#/#4!RX! M4)R"> T?+X]HNL\J0TGP4D[ !!5\XX=!0(%?>_#N,,XXK\>A9Y<#,C'GS*08 M?KUVSC@N.STN3'%0?FSX"H@*5LJ^7 ]@!P@#6AP 8VKW<030!\#T:59W 7WP M2^X*!+:#<\ :*]_PT\9-"_5W.E\QSUH-%D-"D#YI/*# D+L)99!,<_<6LW;N M"^1BPN!]#GR&9U1]A" ]V!5*1 J@)9K@UFN@UL/&P?B<.=6,PRH3G,4%=$[VDT,]QRNDKH?0CH M@8C/%HH;F\*D@,$:GA#8<8S3^!2U(>!T/K?OGGFOH)+KY6[9E;JB#T..!* QID5'!Y0"Z0@\\T )P,D3E@?C!).)2/A\@;4 MPQ(W[AG;@2EG>3VHXDQI)>4@?*$,WG"Z@/),7D1AGX*L@*^'G/?U!#;,RJQX M2(L#FD=N& D0&M QX:/@=[,L?+VV%\#YHX>2F3819:^G.9SZE LQ0$UW_.-K M)/,8_.S*.#=GVBP[39@'GA_&()JYNE]B/3"1 !D #L,I!C>$JP4UT8MRG_*& M)>,P!0&"A\]^I)@>.3,0'C,H->*0Q)?H)M6%N@\@.6%I.LO#" M. 2.M5R:+@[T7A)_:B2^;+\E'R5"7-;("!@W<@_.[M$L0X%7?%T86WD6HMF$ MHCYEE@>*_QQ--H!/VJOAK7U@*Z!$K(P I[@W.**18, AGURHJP, M7(X(V.M39.<<28I':@F^NU9Y#A;+I#+,NU9\0-,Z!H4;(7V5:Y M(*D2-D*,?XSX,E.NGZ" M/H_$F!!_)BGL3V&:\2?$#Y-R7F&;_36SJ.G<;)Z%V0O()/(D=LZ8.8)DY &/8-92G?H]^!?% MEIH;>^=;C7('[T8LA5,&#,2*<11.C2-A43#:!W4"-*K"J2 LD3"9<3:LUS:! M+Z)*% Z9ARFC76;N_Y>Y,=@9 8_SN4L #06N.C&ET[_-TXPKO4SE$5KU_'* M:",NDN*E2W@7:WRO%,^M9(MY/4C4"@Z!W@YA43XW,O<8]@%2+3?8GS+;5?GD M;G^K^7#9V53TDW9N'IT\FHW%2,CRYU@D1/XJ1CY"M,Y ^A$,=[::B*U&4 KS MJ@&G2D(4+/ ?4,!')(HF585N[3OTMO:DIXP[Z<"V1$,/6$[IB>5*=1C[*&%@ M-J%)3O4\H=8Q 3^CU\U8ZD*;&^(P3(:6FGSA YP2'Q.H: !TS3V@1DQ%J M[AI34KD6S)<^[Q:J+GLYMUCE'[P@_\!8Y1^L\@\^4/[!CV<3:#^43: _/<>S MDG<9.WEM=61#,,7->. *?5XH&:56X5SO>3LGVZK7V;&<6VWOU%<=^_2KZ F- MZ562]U41+NDTX%0J"85W'N57I1DI_@XHP=R$I5CS*D>X)@P8%,0OWDO#V[X]"G_\<_F=,O86 "4*$XK0&#_B!:& M>\.:!^(2HWF5W:3,%428FQ3])Z"J($+B3V 459D,L+/5#S YF8,4I"?I< -L0.DB&7F.AM3'UJQ*2K*(#CR>@ MLE)93PS6<%=H2E4W,)SP-$!>.7"AP2TY8V[6H4T]C5>@N9N-*5U^(6MFW"+6 M' F'"^!@%E5=Q[-+I8BTL['7Y?K?1T>]QI3:#JN-A$L<;"PE1S -PK0,$90' MZO&?9G" 'QE ^CGXCX6;,40':CH2,9CI WS4TJ7#=/'&,^-5& -;S3VS8(!) M#"G&,3 1*@RX!8)3KU4IJ!)+JF$4(_%%EDD5==E.78I'#G/RC+?Q^IOTRC8&Z8P%I#.&>PVN:=/6?$=)7JX5,\4OV]L MW$6W[;KD:/M?)OB.D*B7H)@EC/>5OBQ%*G?1W,U"9ANGN-80URIBMN,XZ0/7 M9^1K_LWL=SI,16B4#D91/*&)^#4ML6\")) #]E8^ Y8#%XNF7W'[G8] T>F: MCVH]2B+@NUY$P@&3Z#46[BH=U%RCA77V ,!HU=?1B8"[!0)A-1-X6038FIO& MB2M\QAA)"Y\##13F<&\E9X':.@+P<)$7W\8 MCX?,N(;%]L(4DRR9%QODA<^Y')Q%GF; ($1"(\S0+(>-^%RPS6E: ZYUNI?" MI\Y$(;H02 06H#_A<>T1"7V>K22$:&T3CCCB0&F2=W'0&8\8M,@0 7??Q:- M9E&%C;: +6*<@O_2,9X$/(L!Y<2O8S(K?/*R')FQ"!Y'D_5:"_8V1>K%\\\I2 VG&<47X[5U:+3"@P&0:A<,/B*C>K_'M=^*S?A]N*2U.BP\LE MVV,VF;-K-K;-]"0/I5OIX,(WX[%^FDU&PM\X MYNL"8G&!V0B&(T+2F% D@K6 H+"U2 28AJ!;C&M'S9-:.DDS.I@F9[MY&/F" MM[ WA.)!@1TPOQYP4F".(I(&")V!5H$1AF&.G HX^Y0.Q=)$G8%*PB)L0)#@ MT@V\ CY7KN/54^I]\_,$RWFG=%B]>UTB-G/HMH)#7%(#X<<[&@'"<6P_A@>= MD[V3T>G^X46[TSZ]N%7NJ6K9_?$?_R#/ #SQR22=IU1Q&&DQVC0_M'(6H"VB M8HDJ#1>2!>9AIB8+TL^*CC)>4Y$=>#@5D<$20)#_3\=B0E#DR1:9)Z6D+6.Y M4Y%>JGQYUX_&AI%BAE'>)H[>.3A=]3,N?^UIQ&@ZL MVCE&1=^42W'&A#%&$!%3+XK@&''.K6&\A M(RA)Z4ZZ")2!6D1$03+@) T!. MEEB?(67S M,U7CGO"LBF)\3A5)'N$2]H:EN;7&1'@"=ETM9#Q39+VP%R,R+M:U5KO-_>Y4 MCD=@ET4UWHV1999[(FL3P!0OW2&+K*?%-/@XB=*XC*$C'/'1##-BF-D_ETU: M36%B>69, 5D2[?*F,>.Y!)RIO5HO\\*?<':Q57-^5584$[X8_*EP&:>%GHL^ M'V:.B]3P)=H?4ZQ%L@TKU/O6/HJ?O%[\#NEKTQP(IFVR%(DB)7::TS+5?_E] MDT+SSTB?BDQ'<3)+75+3A,:TS,2?8A]S2,W@8\4=EX&\2?D%=""GK4H(5:QX M-J.RG'S&'3:=?YI&5,P*[X?I].; /'[R+)69T.TTC23!I)&4)S[T"L92 ^6@ MN*LSG8X'>8L\TB6AX,40\0R5B/IY+.N/$?PG5^42M/<*@V::YS@M#87>I6D^5ND?HHA(+)-ZFL!7YPE\ M=4S"JZ/%R)*2&8QB=M<#F7CAW%ZR>L:2RF UOP#S?EDX">WF8&16H_9+X,/4 M(8!(F/8$72W;&=/4&$T)A4E!F28+A0,/M[[DH<8EHU?& 2M_"' M5G/IGT#'M,C#AYG;*&.+20KDY]2:>G >(*5]EE26I"1: -T,!4ZS\<0)P1,B M#029Z-K<91837D1?Y5B&7I /2YP<;IC.9H?A: MH1E4-XGO%-"=8H309;ARAQLKH,G&*>%<@&:53O'3Z13F*IUBE4[Q@=(I1#D' M178-R2!@++N:[FC4-QS+EG7']0--]@W-UR7II\LY/)-2\:R1_ YRN@VP#P/@ M&\ UGV*?L^(T"P>%@EA$F)E@*-S>!0/GS)Z[7'@".Y?R4VN&Q]M X(Q"<3_( MI5%( ^XNP\_<^ %Q,JP:.BSR,4*Y2[B;G?(7[T5F7QFK+E_!)#Z7)98S07++1 M(8F8SU" A)\MUU]AS>QD<[!ADK#P+&(@G5N,9%*8']--K@D[76 "BW6P^$81 M/"5L#!"/.0+? :$15 $$R.P&B8I_1O6W34N"Q:$@ MY$.=A6F?UX?%OTHOFG.KT^OI8/M\VO%29+;P4;WJ_C%9B# 3D64R$48 MO'>H5%CMPC',<8K4W"0FH-PRFQ1=.C3N)F0$-@8:+MQ"1 ^9,/XP((8**TP$ M*RYJL:2B:'M9U)W%Y%#Q3D+*C8W"B5_8ENSVJ8B0(28F17IOF1L=CX M%I&C^+NXPP1#,5.]$J ,V5#B?@F_#\V#P[?%Q:H8.0%[K+*;PO,$#U0\53.U M8,J,Y/*NW7/^1G0N"0L>R UX#D\'YQOE'CHF"458=;VV"ZP8U%;.9S%HBY>^ M(G&K3'";(I!=W X3+(4QFH+1 ^\?UI@FEE9WQ:,N\.YZ;9N'"1=E!?*6XAB0 M9]$1$P%@<(&I5LBYHH1_C#(%**#(;2$^2$F64!X+/_]R4+,SF9K#XB*HB/5R MQEF)ZS+ %R$"4K7=%AL*"+X[3;DB(.307*M$C]#YL,8]?TRFQJ/I;Z6+!K?Z MPMJ.([#NG*O$/)BN[P%S3)'/.$/$:#V'*/AV! M!3O(!T>L]JHCV*NSP%XW)AM@E?7PX@U[-0@?G#8!^COC]Y^^__[Y9,1G+9\1 M$%EX5HREGOJ#!R\[DOS.Z/+^*+JVM[7H7[*N%.I3_X96:*N(2@5U<#5NOO4N0 M:9N$R06ZOUO!=N%MW&,\@8GQN5CW\.Q:O[<>I6X_O#(W DFZO30:7R:GJ 1 MK0*!=Y61*.>JM^K+555KCK&K*^4=%C0/[@%-6:&>)5QL381%*L*Q\APP=_Y0 MJ9RRT%,Z)B-XC!7BF>9\%"R7U9R@+)^5"8)$2,HU=J$9BT.P_&'.=D%@33-2 M"+OQ68MB,F2<MQ4TZWMCNW&M7\KD]_N,?;7VQ_U5M M@.H8P(A5O5I:;@2)%K=9\W.FD%48")8LP?HWXZ(#TU,E2V:U1XK601H/QB)+ MCR,K -/]TP@:P,4*]'5:F_8[I*E MQ]F_VXF(N]_<;9+ZGO5XO=<_[XP:?_PCKQM/'Z>(E;!3'9-*S2'F(TB*61', M[9W_2P:COQMK98K^# O Q*-Z^%#G >1ON^P_SJ%KJ:I]?K;7W ENNL:!XS:C M47>>?[?E$31]^.]6G24 [H>\#&WM7)A-VTD\V!2V\"68BX5- MM*@H7%_?WV\>Y_>;S!%WACQ)S1 CX1(\ZA>8<.W>=Q^7)1"Q:_8!L#ZUE8UGJMQDQ\4?AMFN$"+_/T>79N%3/W8S@=!Q3WQO)$F6,' <73 M1@NW$XMQE[M$6ZSR3DIY2*9:-#;7L+X+7J7LPE_A:.JR8L<]5V8@ M"!AWL?]^"3*E&)6I>N[6:H,8])8XF59BXSE1&7>.B93"Z0Z+Q9<+GLF39N6K MRUQ=+-%5>;-(UKVDTU1I5G(6_K==/NRM!6>/9 M-#R[<1GA\&HP(=9)2GG1+2R*D0CDG*Z?&Z4S5 +H6A C9A@BPI-D6*81QYR& M\.:FR+$$G8N+2X\5!IX^AOF O1M8))Y M92=L744Y7UXQ@W&?8W4G18FE"<\;%S6;LSBK$&HYI[@J.[\+\=3<4577 MA)H)&W*:8S[[VGKM"(LRX;U'%I4%3*N163,1/8IJ#7G6 LS44V8M%+ARF)/E Z1Z60 60A039"K]0P$O0NW-[ M%[$)_@[_JAIL*!X6'GWN;R_2?F9U M14ON6?$236FEP"2&KJ99G:"162P&F@1E,%TP+&IK#J4!+)J MN)I) WGV#_8-1=5E'QIZGF-KG@W/29;CNAYUY$#R7)6J!K',V3>TP%8US=5@]51V M-,V#!7D*=0);TCW)=66BSLYQ[CGRT;F2G;:T2TDYZ([WC [^S<]FO7^F/^WO;77Q2GX-[H$B!(FN.X7L!P%U2'-=0 M=,<$#/$4^'\:>/-C7Y\T3L+!_8TG&4DV>%#[C1O]=NRHCC3_Y$GC5#W('AN3 MYIVSTQV8C=OC;?\4GEQ8;]T,S?.S))+[QNC^_$ZZVAF;>A>>G%NO:>NVK=HJ M8"^MVP]'FUNNX M1#4#594<0@S *(J4H5(=*4/S=*1A9.^_QDT#-:S5N_3X[4!_EZ MF/?W[AN.L3"V17T#$-*1%,,$:I-4P%<-QM8"US5-TY<->WYL>F_G^2&6]WSQP!V1#VF\\Y$==>-*8704)#& K"C K M&4A1 S0&3 +*I*;BNYZK *^Z'IW:3Q)-YHTOIB,@Z&[O7'7<*Q%_-#4 M7!H095/ND]V3_:RU)7DW*3XYAQ\:#133ER3'4"UXRX;3M /3=?1 (D22;56W MW3E>16P%. UQJ$)\8#\N<6S/ PYJ6+)KN0$PECG. PS7]0FP0E5U)4>3%<.Q MB 0,B]JF36T5<,:?7[^YTVGO42DX[]3W-J_:OG8>;^XW,&*Q /";C2/MP-$? MI/[EOI+I#Y?7<7[2Q4<7J69OXZYC!@]V1QGZCZI[DK:VO5-\= XLG@YH1E4= M.[0!:A,"HD@#J1&8AJFJP/]L6U\X^.M6=J2VCDWITDIZI_DI.7A(8'!Y< @;[E M4#@MU[(I\.&6O=W.N$=:5S*5U+8:,#@2UA4WSD/-&.CE4NGY7?KM9/%$6KBZJZ8E7EV9TO&<*<9 MM_)N8W?J=YC>F<-K-CR!H0XX2YD'D]]0Y!XOGE]WWJ,O,A]Y=2=T_"YQ,^>E MZV%:@ 'O=J%32[C>)D5PAQF1Z*&$G2\'T]2E@'Y!]CS+@&8^4EYY95HFH9)< MR',"TUX\2F>M:F; SOD5QCR+O)R]J!"1#\.[G,[#4SAP -+KM=;L 5:@-UU5 M&&N4NA3"-AZ5O2*3U(U!](I)ILAZ=*4E0.+V> M\S>40=B4ED-A1GGA,UK:/B6=N:3UAI>-+\M&6KSMS/04$;#?:G^&?^$U/^PY MPS)X[H6SWBMKQO#@ K^$1Q)^X^W/$%YC@4:>>5I$5OCOW.4DZB&C@P<>A^>+ MM%9T/2Y[YOZO6;].C^%=60 MW?++A&.1E+R)4VQ1AJT&? LS;9.0(6HEP7] LZ)X"0T9,K/?QO!DAOG__!:! MN*)9-C0K,T\QQ9<'<]G%20P"42^O>D2%6^@58K BR/UF^->F+)=X392*+\(G M@NA*W^64389#<4>11]!2_O[4DR@"7RQD[W.OJ6A)Q;?6@O?QD=CS2%H6BA0$ MBMRM$KF3;H*]X0]U.FE?LSWK[BR4B!N)A>-EVL-.^;(M TL8"MEW7[XFG2P\E, ME\!TX838?=Z%$Q(2=2;M3UPM]]D\'+YS_91X1RW1M(LOA%UV_3H8/E-S2(!\ M$=7@&RZ>2OE2P3D>LV"AP*06Y%$0+N#@3#+)(NL"H;H$[Y&151>!$<[ET0'A MB8?!)]_K]?F&J,GA4K2>%(#A;;K^+4IB8\B."@10(XZJS>Z9.HB)WLA Y:RTC:QU/&0CW\VAW+R:H@E B&5^)RE5JW M?Z:B)TVQ;%Z5@2%0N?H\S:LL@$7G4DR%!"[J]68*"^ ^BICN/!%BAR&6LH81 MNK6G@[[38-X3/4QY>9^A7UD8+?H8BLM:195D)H=XJ!ZWP_42<13^PE&(J.XH M#K&HRS34/"7PAAC8G13;Y'U?42=^;D.,MTSC>FFUKR,[;-%RL3)<"7ZVTZ%8 M?O5>VOSR*U'.VBF:F:Q^C*@ M^ASDRJTNW]&/0NX[!_%2 $T+ /T8D#:*W

    %2 M1!@28V@>C[W-!CZK%R!XU%-:B%9F23&K&$WF0<;,+]-'GXE2F_*Z;O^G*F3% M?$4>ZJ_5.MC![9E:=W^,LC_WRQ!#>%+: -6D>%4O9+Q MVZL'OP(JH)[BE__?'_H?/PLA?5TK$P +AXP\>JBQ\@*U(K7P%4%8W@Q>EB3Y M)$R?N^NS!88Q%G6HJ?):K;S0\Y$8B?4"K'ENA]S].[NU%%[R!N5G>8,LKQOV%^,-Z!SY09;P;KKV"E7>&55D^W>6'HOW##R/TB!X]O+$ MQQ KF[/A]NKMJ*I[<-G)_NBN/X_J^7/R\U?!XT,8Y?_SJCM\&XN[PN289WEN MSRI>E9G=]4L+O[VT3$DC=5K!3*$WH[XI==QX7ZIK;O2XY71<4QK/E"51?Z#P MS-DTL(6=ZL]I4I8M2%L)"U&005H6*5'_*!);SVBGF0ZV[OSFSEEKDM_;P_M, M:CBJH_[QC[HF2^J:;DD+Q4I>F0M\,)?$B@NLN, K< $L5737UVZ\ZZW]SN"8 M:(/A@>8ZC% IUO390NX@/PJ7."# M>B&_O-^QN1!&+SO&\!9)G\$Q\$:<_#,R[,)@^2Q!D8_&G'^=BH:)(T6MI(9_ MSZKI-X9^D39RPK/?T^TXF>?9)PK'S26AD@Z9$^B3)W>9=S]T:9V-'0[U- MUZPU35TL@_L9'#@KDEZ1](?7MUZ'I$=Y7]DDYLE-?X?(EU=NP^XW]O"J,BAA MFJ2O6?;+5+#?2M/ZQ!ZW0T 5T0=\HY+"B6F9*R_;;V9?/\W;OY:1O;#QVI^? M2(W;8%GD!2^O6-M+TH&7,/C&]L'V2=VJ1_WP-CG;EAN9_M@;.SKWM5FRNB:; MBRS^KY6S;<4,5LS@PRF _Y(97$8W!V?T]$&7)HEYMV/5CR]Z360&!C(#205F M("NOPPR^IB;XJ12^3G$C:4F?D)7G[5.;Z>^P[=^2F__Z(&I!E"4#GS+U)0Q\ M_[RM]YN^RWTK^^AB?N.<6L:*16 M=I]G>VC)_QVS9SP8O+CG>&V ?3++\6G]@P2P:@E=,A4JC8!';<<+;/A_& M2]T Z6/_(.K4Q_O]G?[M@]ZYTYV6@K5808LT+6WE#5SQG$\$KT_!V-LZ^BHOT"KJ@"D?MQCDKR!V&+2S.6?P4_>X>M?FDEZKL1%*P! M=4PKOQ\6I:7^8%4,8:XEBI73"ZYRP[]7^IM:8A^9TOE#/#EU+%2L%,E/Y[%Z1*8PNK/LN,(;+3NO$V(P<\_+1C+&3A/''/[*AK/'*SRO MW%"?.B/D%QJ4'] K_DF\2$621V$A7H99K[R>A77:P5#GG5%E^5=G0RTW7I"1T.)'@3-B[,=TSG"GLPR M2[RR5Q7/5BSCX\#CP[*,5=K4IW=9_7B_K97+ZEP^2O8!O3]%!O.C:?N_JU/ROZQC M^S\%D(YSL!)"[WVZSL_LA#]9T*->OEO/XA'[^,*MOOI&8-K&DHH@X="+PI;W2, Q^T#"(>E2[*N%6XR'S $+A)IF2R_M5YKY][_S]Z[-B>N+.G"W]^(\Q^(GC,G9D> IW27UIY9$9@[&# &C.TO MBI)4 AF!0$+QJZAUSYT,>TZSI M6\2-.MXN4[J=-YYS6:<1='/YZJ/B>)RD=?M[T)4)B/F7%?K0*2L@XUWLNMO, MS^U6S+F=V=CB6-ESJ?'?LAY'$-7 OJ_?D;Y9O-.0@LAH-1H.[BJ5YC+[[>_ M6:9&\/ @.+2^J]0U#J*KUNC\D265 AF;D:@!#T&)L;]_#1M5O?$LM2+8#]), MIB/\[/E@'E1X]#7;N:22#:C>O&B>@5UV5GD*SU($PZ^NHQ^DV@-"9NSD::9: M-NBF"U9A,5T"I'1AUNA<0K^<:"J#T C(--QTYBIU]^I7(AR"<=-1..,0Q\E4 MRYG__3_PQ\9L31=>0F%W\&_+"28N7OW%(.O?^P#!*U<" PGXT2"ZH(_9Z<;' MH_^D +/SWKV794SBNC^$^LT;WMW7[]^MR(L;B-^BHJ1%HF*"V?GS__Q_N\,Y M]E\Q;=F17RP7GCFJ/LD8/L'###//O["[P*M@$Y?0KK;7&/^U93X"0VP$,2>_97_-CF9XSL;'_H!0Y5A+]\XH)&S,G!K.WX M )Z[DO+;[QCW8TB0H7^M-A[@=LG@(3O6Q@ZPWQWSN:]+J)'<[;:].!&;3I@BD) MDL1;NB%Q6!=-B>B&+?"Z)ILR)IHE(5/X%GTU?D(5B"BK(JP+B0!/6*JBJT14 M=<&6X!58QBHB^T^(O,19&)NZK*A(%R5>U U10[HDR[QDB4A5E(,G+&1( B&R M+EB&K8LJ$G1,B*(+BHPM390%K)D'O9)M5>0X2Q:[0*Y?RC[V>\#BX[NNT*1^1M^I+9]U"S;ZY&%2U4M'. M]V'!P8M7QZ>TIT;4[X),J,@^5E!O6[.=3E!/ W51FY8JI%OK/UG/^0Y_W;07 M("@.D/J[@DH#+PDFP"L ;]Q5FLF-GH?NO6,>6_D_PBH$O MT)L?6,QV')_%:N(%_*N*$$__;33R5[7 1*IPVWOD;PKAHU&Z46J]9L'*TDSR MU?'B/$HS?D:3^4TI!7?U7L&]I5ZG.P:J!TOG?72-,L//#Y<$)K)8[)M5T MI+"HHN2;"HT)BJU+Z4!'9#:(UIPQS !-33DP;C?P8#5K1TL>6.R: SSN$[;\ M>O8,^D*F)2"3-/L!B-IB_"F(4(Q)YF4-'9#9S"7L0B@F^P!D%TT,S,**SDWH MSJ*UW69Y#PONE[*K;2D66^\!!_5\0J=T3H \Q*&!ET?9U/B1Z&%Y;6Q6F';H MTZ>W[XV*NV":GB/%2&%:*!N\=#-%F B"6$,";+I[)#.YV%2N.P>Q4^+WH;\J$14V?:H/O!"SN$^E^BJT1-Y&L M:':9+C)[@4GH^X1I.,S/;$'(>#] % 6DHLG<^P5XTNAY*^H F T+CEFAR11_ M-PI%(PR;8=!N,C-],1[3Q0Y@X0*@C2ZJR/+((U]NAHJ)X"IP\BBW5H1,VR:,R,!OD&L!+O#PYDQ !X]X-7*5JF M/HEZ27R*X"G3\Q'S@S7A"PX]T5O8^SO0G%CT& MDQI1\P)ANBS\1#]%X3]%QI0)';&ED]K#/IN[IU,>*;WM>Z,=D-@W$/ ,KA6) M$[,4A6,[H'XPFZ,)U. MQBF0#5K,-UU+S1V\:QN[=A,!]=G(\ >$:0^OLF::>/OB;)N&Z_39F_,D,'UG M0O_:M./+%NDEB\$.T9*4HG+?<$2^4'JXG_0P)TW(-2Q*>F0G^.R,YQX-<-,9 M?(G7,XV/1?Q"L>CER%9(UR+4?G]XL@?(AH:/=&6Q^OLX$NLD]HI*_ M[C_;U6'-LEK?_A;08*\1=7CCC>=Z24AL,PQ1T'Z+ MSX"HE%\Z]BHU G("KGSL4-GMRY"E(J@Y[*'Q7B"-#CWC+#-1IN>O,ON/7FS> M3GNZM>9?W@B0_+]N(PD[0?#SU'2$Z4MC$X]A\JE]]0E<"?Z7<4:[-+ M)V#_JN.E,PI'=0:B^F2@/F4>'Z\?A\U1UY2$NLBN=V^* M]2&_$!\>KQ>$;XO];W_+Z%7UH>-D[A8FUMF"TYY2,6<=:Y9]F&3ZH:KMZ%9, M!OMD#)#Y0K#A=?"%R'E.0\>/TF_ ;$?.5@6#B%GNK8MB=^E0?[^),#"O[E&& M#E0G]@RT;]X"ODD]+?TYU>$ ( ,X23Q&6$R LTA1KO'BT>,W;JT@SL_$F!-L MJ=(;+$#0PX?\2%FWNNWVI%AJ\8_3@9V]/ N@>/-I+&!S2^]=//,'1G!3-6NY MY?"&%#*W-]/KSL2K[XP/T!O^,@YLRM13E@-$: P_[GMT<>S#\M6?QTG@?>:8W;Z"[0)3_AU$ M[XGC-U'JV(EPWV3,BBYK:41A^XWO=);2HYV5&;/.B)6([T4+1WX3)V9I]',]SJ(&H:;^,#. MO/Q!TWA-M6$*%G%AO#Y;,&W%2N/%P;^N4F7" G,L\ ,.WM^=A^!7U/4J1:\% MBED+S5 ,O 5TTF=&0R-W&SC=$=H>>@8[\!EL@J.[\:IMI,R$E3U]ZX%&[:G/ MFY2^8N\B.T7!^(W6V]_"QKL5T;*PE+NBS_R@/U>I'G5].\%1^J&7,BKX M@!5NC<$SZ.M9GF>W:]@E 8@YCE[2>8N-Z@?M6?@S#"('N(_7WQOU5:KN[05R MTY%ZT-AF;+_4-::WMIR)2#(0K,!SPV@:6<@X,AE0K[BOB]WU;QA$W:"E1^8F MUIR:N"%E"W'4B05^J%1W@M(_[#N=L!]-PZF=Y*>M-^R1U\*!-&X)LT B .% MB$%^:PV814%CX=.9&H$7-3&=Z_]R_A6A@^=NR@^\, !%V!# (*)Y@, OP=L@ M*N';% N2.,OQ7PZ\;%/NQX)9+.Y*:P5IH'X_ !QLPLU1@I=N2[-B18C^[.Q% M:+<*&GO$BC0HV&&\DO-EJJ\[%9^ 0'WI@9>NR*F54SC_2"(;OPQ.09 MQW>C0"*-7D//QA'TA<&67>? :>+QZKTHJ_8C@II4Y?V\*D]&255>4I5W055Y MOUYI)OQ2I9GXOF;V7=]6C(. $9H&*1>(,UU1&N#?MLGM@PSM/H58M@,<%K^1?O[]&9-R%F+N-XX4R9ONB% MRK[B)5B1?;R0L!A9C2.=.T2-\3.V-(7_;KJW*P/JOPZ6?#0M1U.9\(1%P+'. M(F^ZC?G0 @AZW&)P&.*)')=G@KO>L KFNV-?'F>^=G8I=*.BE#?T,_T+/AR6,V&5VP==CR<:/5R5$\Q^P4]B9-1Z;BHBRTTMN^S2<0I(C8 M0XNUEJW.:4 FVG 1;<=XE0BEHB,-H;]VZ-J4/6VVE;A@$+#@W"15MT4;.]4] MF\ZY3$69(%*[N7X&>5@2[IXN&"9.VU.0CA.@2N52"E'A,91*)\ V-F MF?[>)ABV9R(,8$46!"\K\GU&[6]C#B^%(HQ=P_.;R,@(T\#(F.G.MAXB,DBR M9&&!?BI8 ^M3/[]$BFQ M=P+(WQ'05N3;ZIT->&R"*MMYH$&7J"PC-1Q[BRA2L0^2F(8=)N%L!\6/>IJ. M/W@(TCM50W1]M5G;;"!Y7R>\<%M?%(='=I]AE1<;(XVF\65!1O-+F_=\&]&1IG>[./Z?\7N MEAUK9K&R 8.Z$4)WQ3GC*!YFT:I*]U]Q\IM&,].;PKC(HJ!_K";#<..RN1_& MDB-:0:T6M"9*<-'71#JWB(HG:61RYK[L_7(](.-TK;H3DZ7:OO$#E!^F;&<9 M@\6F-YMMA[&=WA_\F-5)Q>MB>!/E6JR>R"+QW[<\8#>L%[\LN\G7DB6F0J$R M/_QN'"KXR5>V\4@:C(_&OZF,V2\F8F\#5 3)4EZP?6[D64S(<;F.MRE!PYOG M828#TYL0ELF-JIY"L#,_*A($@#,I7H"\^U%%YVZ]1QK0/ZH0B^HVL?4,OXGJ M%KS#G9"@(BLRB[5X3/K>C!5)Q2)K1A66D;Q8X#+B\'/R(KDMM3W8.(HI[]G4 M:6%SX$"[3=IX4S6V:QV ;] CL Q&G?"(EM6#@7CCB(R83OANE=5ZZ7Z#L-L6W'JGB7-MW+;CM>FNF]C6J!& MF35(,9A%]58[HXH-BWF&=!1CQ;%5LO#N2P';;K% 0.LR0_?=$JUG!]/M9E-F M+)X-;C,V@@A"XRQ&E,Q[J4Y^29[%[CRVF!W(BNM[>R\ ]3TSH^%>REM8SC5: M&.W\?F/PU,1I,?$81K[3F8C=QZR'C*&?)HG4/XJXT1[MX#L-=Q^GJPXZQ"J; MX1O'\?^H,,2/:C:W*9AM\<:V(Z][E_\*_G7U$H2,JI[9HNCUCFS8PA%N1F'1 MB'V^OC#[0<)ZZR!8:L^E,DT?+']Q7"J["T\;Z_JO>#JB-J^A\+_B8NEP%,89 M%QB..0@GU/Z=K\-#>F13K!G'4FE(!<3NN8ZYBJT@U@4@NL!X:04Z5=Z(K10V M&0[0J-S.&G1#4J&#N!\!<_1@L%G11]/,3DQ=$C/<75Y\+^.[?[PJ&"> /*L7 MW;6,+-UPY,=D$S1B&_U^I2O.."I]B;H<+U4C!T=-PP4>'[%1JJO4#]FI<) !CU>L'99S>/VU&^_Z(J/_]Q^"]N_=*(WAQ6Y_DX'>4D@& ML,P!1WFN>#Q@9%?]JXB*CD-6Q\QZOYHP2]_ZWQ3MZBSX%[2$U5:TV-I%W\U[ M, 5-6+98T-X%\K+-0*9@Z13$*;A9''^B/_]7-- (=U_\ZRZNUU]T8A0&FRKX M( A'DV.5"^*=#'3Z6:!A\R%GOI$'GH/#C@64WM0Y4(:\4Z[,"/X!KX_:[C[- M1+0)8T2_=LFX3S.M\7HKJKA@IT;\""DWL["3C=S@7;28Q/U8K^+\LH5/W8L,Q73S<4G4T/J8+8?NUMG2!S0OMTDTTB3/& M;GAAG_8CN =J11]F\[M=;WP98+Y^66JS32/878'?B8#HQ:D%.UXMO66Q&T^? M/L*+N H?'GJIP =U $D?;E+"E*10Y,3^:A/#F8: K&Q'2T1Q5C132I]EX87- M;JW=WNWLV&)3NR7X&_3;U=J(\[YD_!=DNXD)J"WMBQVZ;!D*[^C'VP<8H@%] M8/FD3;GT%DG2+W#TLN1EF_OB0@D:7/B>OV%[:^BFO6B?0B3!8SS>WY6VRR?H M23.'8K9"?]/+O>]&(<:Y8]$T['=Z=)6Z<89DX03467Q'6'' Y[L"B_>F,;'] M?(#IN/UWYC1>RGQ_N%>IW(\]U+'2_H;.QOH)3N*'Y"U-&2=C#GN!N6T0D!T" MNPGM13_:ONB%[[)?Q(-C:\'HL1A)/3]^P4[0#']G7F-?^[U=<;1T=#=P\K*( MI]YS4WFXW7;X(N6H0B[:FKFA7;8SV_$P!R_X ?F*JN3B K.=*.3>G$8Q)G,3 MG3=>8O8_&CX[1I_1K-W$PQZ-B5Y&#]1G\=Z7HYVVZX2X=HUM5/3&/W*(/]K& MR-QLO-=Q=P-F4@#PU@( +BD 2 H +J@ (#Z<1C8$TU(0KV-)DW41"9R.+-L)*+9\)"J:P+'ZZ)*+!WSG*"K(B<(B![:PUG[3_ \QI)J M(%U5L*)#,UO'JBWJFBF8R""EPSDV;XWE>YVU0$%&&#QFRB'1)T43+QK)DJ6C_"8,W M58D@>"D"F8H"3)YJ*$0W.542B6(IO'8P@Y9JRZ9A6C#G&CT@BH,9M"6BVS)6 M3(Y#@B0>'*P$VJ1A7A5U0Q%!KP059,5SBLXA8B+$*QR/#F80&;8L\Q:O2YHB MPC>0K!N<8NB(-WE;D01;00??D&W3DD4%Z00F&737QF :5'0JJ* BJ(*B'#S! MRQA$CNGQ5B!3T0(%5A%1Z&.**5+[,-3])S01](Y7"9B0#$^(1-4-T"D=M%;0 M+$O5%,(=Z)4%DR9)FJ[([-@JC7[#Q/0 +%!Z>@J6<#!RCBB&@D4!Q"G)5!-E M7;412%-'6, MP#Y4SA8QT1" V;[N=DP].U@H;:5_0PJDM9C-"\^W]WEQH;,[W?9T%DR5YS#6 M55,$Z6,>M$.5P#AL3@'5D#7XR^&[^SFIV^HW>FXA5]9GO&+ZYZ+Q^U NW MX#4?L]D[J9![J*['5E$M9"3:4CAL&9B5:JU2>GSJ-N]R"V6T1HMZ+PLMM<.6 M3X-^-O!#;UW@ES=^:>[4;=WJ0TONT.0!=$T" P+@T6!JP%X,#=03<9+%J0AI M8&&'+Q\\R%9FLE8=U)Y:-T9;:P4%OZ4+QT/+3^^?6ZUR>]S-W-S6,YY47MSK M65TX'MIX7.ST5^U"8YAY,JY7S1PRG&P?6BI'0ZO5'^JKQU%VV#-(26S-GZ5: MG;[S2 CJM/AP76R7.BCS;$Z?Q6IOT!LOH"5W]'G[$=VJ Z_K=]NYRJ,R?BCS MU17]_(&\H"FVKU36F+8_%$&"[NG!6]YF"W&_) MZ,FXZ3TZ"]I4.\0 \'@"+@5,%+1-(!9$$W0)8,:';AD%1\>VD=4V[!%&[!, M-0']>/"1!)P8;P@V.#)-MI2#(_@X6Q: $U@4QL"KBN!:-9OGP*+!$5A$U9/"(6DD#T@$2ZH=Y'F9C=E*<+2Y0:PZ8RNLEYN59-;O6AY;%N<=.5UGBX M-X9=9- G MY>5 CT2@/GRENF)!O@='CN@'@ATQ" E8&Z6IC2 M* OLPD3@A 658(1$33:.>F40)*G03D'TU$P;X$BFC_$F>&3+4,%['HQ<,4U> M)IQ.*/L7#:!'*A%$^$,R8%4@(J22PZE;Y[A>/=>N*ZC4$O#&C+(ZV\(WIC6'@U/"T(H=.JD!2V/7"JQ56R; %F$!PXF@]9@20#5X0G6 M#)E8G'VD\?>39;[;'(?WPY77-N\[M]?K.Z6O:\=#"\25-G&-EH% _XK#6EX9 MX*;6[1#W0[ZX0):'MG[\WH^Q.LZ+Z&P(SVXBC!8 M>ID6M#P20O6N."B,3/+8K=VO'LH=8="8%6D_C^V]X:VO*^/J8H%*@^+8-'K! MRKNCGS^V]W)->VA;5CDHE$)M_*SKG58&T>\?N1V#-Z@7T57+4N@"Q:)GK!K MVGEDR":P/ T? 23I#^J3*;*&H\+M8E+*+RO>@-W\?B3;IT8ONU;YQ;+0KO+M M7B=_MUIG6[3IDC/NL[<'X>% . Z83(.2<;H6 6[)P_B(C6 ]IV'I:'P>JF650L'M M(7Y1E19-WJ_[^3Z]F?AH?'S&EFZ<03%$N/ P?LAFNL-;>4&;'HT/9Y;!3'%; M0]1\FG3&ST5-#V;LON/C\=60Z:R?;JUL=U0LXL?AHH*%,GOMX?@LP&K-D"Q= M4DTP#4R73TB$I::FJAR #<])]N';BS=&*UR9LCH,:]8B%S26U?OK!3WWX6A\ ML^53Z_9F\O2,FG8K< LS8Z(5LK3IT?CXYX%PS;=N D2JCUIN.NJIVI"]]7A\ MEE5JWG9OII.AK"U4;S+L%R6;W7QX.#Y8D=*U!J_;E@7(#TBF:X"N@.\6X47) M$F'5?^1L<;O#S:9W"LK=C@LE>\KU;Y[8;15'XWMVGZ5!YJX8%*9W96&&S&%O M?<^:'HTOMVJNR^I]I5"0/0V(@=4<.NJ"-CT>7WXHS-V[]F VS/5*L^?Y5!K< M#]B%/(?C4Q&LW@5B@"'"ZEHD!H*%/X:9X"TL(ZQPF+<.WYY92-/:DU2M%=IJ M*U.8%'@DZM"35SAMOG'?+V"C]S1.Y=YGDT$UO1H?)5,/S-MJK=V%]X"MT/8%&5>LR;8:UK]_5G<26W79#>*UQMO!2MD5YTC$*[ M9ZVU5G:YO?OY%OVUN/Q87G0FMA#>PPNH3_/ MSG-(J5>BMH=+$LM685D'HP*" OH)OMV@IUI;R#8IW2:<GR)8G;P@N3IR"E98K!HC%Z,^;7HT/L>H35O=4LL;YF8S M_L[.9UM>U/1X?/61OZRHNKGJYBQ[?=^_#7HDWV)M#\:'#5M156(#XY,Q/$?#438L'E0)'(P$VFS 4D)2T(%[1[PB M [^"%3.R088J/>$6'Z3Q-:2YH$8'N@"T!'9%%08$"(AHIXBWI5&H>4!6#"FB1P1PRLK(?U M?L&W34 5=]2T:^I-Z09F0GE%UTN]R5UFGG]$T]+#HC]^GL@W;=;T:'Z+;>P4 M=7=:[#J><8UKH\:-=)^E38_4!N64F=[,5W(%)^P,=.D.U2MJGS8]HBJS1G]R M%W*+3 %?/]X^M85"C@BL Z]PE6)KWL].'@!_1_7.<)1MP#C9:X_)BF^UIW6$ MK $J^4]XQ$T4;OK(>GNHC01CCJ@P$Z9ITSFQ0+=,6#D23I1D\!2P@#Z810[! M8L/6.)TN18#?J'3)"TBK<(000\*":AWHELD+/$ 4@K4&]:.2:>BJR@,B2T+P4(*%KJ**M(/@6Y)R [!/^AV1@^>K >$#'H M*%V.6+P(R LK+EU3*1"+F@)&($HQ0KK8 )HZ-HT3T5EKG-S/0P[JS!_ MGY]F2KA/FQXN442LJA:H$T 0U4S15&%&87G'P_(1@SYIFG$4T$3EAT?+<9X1 M],"_[I5[I4Q[#1UYA6<&>7%Q8SPMJ\/50V;X=/OP].A$38^&5]#S=\5<]RGH MDE"9VQC4^+'*FAY3;JE4SF=J?;^PNK7:G9QLY?F'%FUZ) E4ZY)J,YQJ0S)8 MNM60TK(I:WIL^YWU]&Z&_$:GRZM R9\=KG.SCMH>AV5ZS<+(UOINE_B\EP<* MUE<7?=;V0#L53B6RIH+KD8#NBE2S#1NLS-)D1.6KB)IX^/;;;JXS>+@.5V@D M+O*N@9X?&HV%SK_"=(M&1BC@V_KML-9Y+.@CD1,&.FMZ)+;;SK-&L#>34:_G M!7;?"F6_D:5-CV7Q7-(P?W\;>"@41[,I!_JK27W6]M#Z;)4GL#;1983H2A=< M"("=1,,6IH4-0#WYZ.W=XJA9(G:>H-+PMB9;:&1)%>C)*TQ7G\;O?45)E\:=A>R7+I%S:9SS14>EA6KQEY[M%+A%4V@3->1A(-@ W. BB7!',/[B8P-T^;Y UEIX F >9DT+PA>F3I:K$HB,"6!*()BJ+P@'\Z$VG^P M5+_8Z*-FH=P0UWUI:9A@H*^L"IZ]KG^=$;K=(5X]#KC5Z'9>AZ4V_TH(=ZW/ M;SNZ7"YWP\=NJ]E[:'3"-7OKD=J,C8IOUW3_OLM;X_9$EA_#DMNB38_0UBX^+)]:!8PW+F&6I-O.Z@T(HS)9#\V$Y4VZBMD=HR2UJ M(TVI:T_#]@-7Y%7<')-1G[7=].'7SR<0?^E\ MJGSU\+VWDYZF7GL!O+(]$Y MIM$N>_I+G\Q"?\QN<& GDJ:CX^6B[;A[6PG8[7LO!=H_W]5.SUBC.W''M += M=DQZ\YP3;W8V/=^/#H3:J>XTO= /]K=UTJUUNU>V8%:TOKM9YJ6:=V>/S6;H M;,">S0Z>W#GR=7LBUP+[/A[/5IM=DO2;.YMWV1%WF^/9XHW,WIADV(GC\5EX M+Q^%3ECTSH5H.^]F4+1Z?K(]MF&G3)P58@83NDF*5O2PMT.7Z0:VT">;H^B< M;E7F^?'-W5\C+#.Q6 M3GYL1?KI=RYO59Q=J_B]P^J9C ]^RFEI=C#XP8&;M!!S6_G_O6KL[0&ET9E6 M9.YX8; MLJ6GZ5,LV*ADK$+G.35MIQC. >UVS+UB.,-SK7]_IH/5?G5LH"-. M@/M]NEUF ZSQD2";@XY/L$GCHT_ M3VD6AR1W5W8G-_/1;+CX!CABX@F\=>:'Y#U\]1NFLQGM&0T\U[$8@C%KW1X9 MC&GIL\_.]M[;FAR\[GYPMPN\>F<$V3]'3@OSX9)$8?.,C1H+HC$9_ MSNXJL:.K1AK>C*0X.455G4?_;D=-4Y67G7KL-]R_(Q?SX?O17M+-B+9G'^1CL\ M,HC+]L8='BHT\!8[QS^D8Z^6WFR*8I? C..M["_7U>YM[,/!(&6[WB+RO[MW M, &NCKT1Z'U\==(5N+[-R0W;J;*][14#T5D-_V7!3RBDLP8 K_"5X%]_O:=O M^1FP[)OU[^-C//UQW7ETFSV]H!=/ O+7YB^[G:3F$I=HT_IB,ZI+WGR=U83C M<.9M?A 5A+.?[-6-[]Q['K=!VV)O5;H2!5;N/?,W78L_R45R>;F!_4=E_B)_ M)7 _NFE]IVQZY_V4RU"MV'?7C3%!OL0%7R MH77M;[GS?>?1MVO+WKX%>AO\3R=BX,Q(!EY@TKIW*L#-P*_$9&J2J4FFYI>F M!EUI8C(U%SDUZI4L)U-SD5.3 -K%3HW$-@HF4W.!4\-=24HR-1C4 M) SM8JX0IIF],E-]5(W&298M5SJ^F)#\.@GYV)YV83F(Z^Z;#:8GI?*#I_"QT_]FE\@YF)5W)7XWT@UFI M"<'_1P3_^+8"TR3$MG]X!X*'J+WNQ-CM?7YO_7QW@9XTG_#-X3:1S M"NG\K*[L%.;R?S]R@#_+_;VWSV";S@Y&+!R..!7ODBWZ\V"W_1 MV_') GJWG=7-XM\?;MR-0QI%WQMM+H[M.;-!+M[165C&%T%F@X# M_ZT.7@*3@&[!.X1OF\,]EMR3-^OU;:';5JXKW:J[U ;%CDAC3B9 MW1FT(]_/#3!O,*'7ECT?-^*?908OVJ8FH4_T!U^IK5K:4VE8$B3Y'JUTOGW; MN@RC>HM-P2?^NMW>6[;=!/\]V]K:489_,:1P[:]156MV>V7/DWEM,!]-Z7T" M\K>_5?%*.K$-??"2\0TV])^?&B02%I*PD,MB(9RV"YCPKW\&F"-[TE^I8> , MAD,O2^!3_,2EY9DE-"0 MA(:\-PTYF56=B(;8HT:/GS?R-]WV<#8<*O::Q^RJ)GH*M"I?<0D/>5]/>]E1 MZ'/'BGY;GM9=8$= M"-7Q\3BJC63OWCR>PZX9L@NVNV.+^#%BED+'HB?O5<;1P]<$L)=TO(E#C\2- M>S#,3TINW1[GAR7[MF:;!>^Q->F?F0DU1[,P%() ZS9+C5'MIA@\5$QZ*1\G M4R;$*7*:YX63@OC/:LK_;(S[,UG3GX,!)^)MZ_Q$>0C+KH7:A8HLC\NJ1D_% M![M7O_VM:5?*B7G;!>1&__-WZQ7/2SP*+T=&_BAK>6G+TK. <2*$?U( 0X-\ M9ZSN^ Q"B@CZY93 7 *!_[7,RPN,'3CO=K5VF\T^&51PMU*ZIA\=9&>W#?'_:$LGSM5,2U7* &!LM33GICFO.K1!$3E$AH2T); M+C+_^5TD?;K745[OKW+=*;9XJ>UFR:"U.#-MR4@]>:3XY:?"JF&*?KZR&-CU M+* JS7\*LI!6N+<% !)$2GC+&?*BOV%M)^(MX:,AME1D+0I3N=1XO"E5I59U M02V,!^(B7&D)$N'QHPO2[4'K^9(EK2GH7(W<]S&1&]Y7A MK%LBF7.7C@UJCZ:G<;A2"&ORHJIE FZ*&'6"%:FB%JY^^QM=?5! ]^(3H)]W/V?'FV$W M]:F+=S]UR4HBG5\-4 K@U2POI'?P7<9A1R>H:CRW!"Z,Q;_Y>M6SLN'^P_-- M=E!=!84,?B!+P>D-^X.L+D7;.56)$N*WA3H2L#E=]>!7-;5W2YK^W-9.Q$47 M#\_-90M7O4)/+M='>?%9Z8^I?='T)P(A)=LK$O!(F$K"5"XI42K/[*QHE$JU M@G,S&=]WB8R:PW,SE4=>SU=:<@<5L%SD^2>K7)R56X"DT99/F9/2O'+JJN<$ M;1*J\IMYTI\;VXFHBG#[J$F5ZTFG,"*USM19U^N9%C,P/N$JR5;0LVP%/3=Z M)%SETKC*8;;D_'F/P5YVFVI M=UU7K[*X3KPM5.73JG+:P,[73($F;.FDR='/8.XGXFO/9IB=.KK)%7C9>Y;& M8UN];S.^IIZ'KUU\!O071W3QEPHE>R<3(9Q\)\8?+H0//\'E,P@A,8=3'.3Q M&81PZ7=-).:0>(?$.R3FD'B'Q#N<#1B_8IS_TDYV_ Q"2+S#EPT#)][AD^Z9 M^-[=Y;]R>?E%GCCW*2_INW3JF$CE(Z227%@>?S:YL#Q^-+FP_%>59>?"\LYJ M0E*>G=HD#S_+M=T)-E^@5)+;FE^SMN2B\\2L$K/Z +/Z/)>@O__H-S@GW7!H)[$I+[4T1B5L04LWW>PFVQT2H['N$3I)'>+7G)A M]GM>"5#'SYZ_"3H$VR.K7B#JUO+1_%KCP8UMMS,A@.K86NT8,QN#3'\6FDG/J.YLN&F7=:*";W M;+WW[0$?9YHAH83:YHQ4>_IW/<<91?-F\<[^V8Q))/2 MN%T>E^YPM0402D_/4%4Y++)#0F8L*A']6.I/%PC\4]P\_X[[YW%;4[H9\Q@]3%1&J&!1*FER6I).>QC9 MUZRK3OC3>U\M\)5QX$0,+M-N#?3.3;$ZS%S7GI%8%9^[(\;@U&]_\\H;;QA( M#MZXG#1JP0HC7?X#2I>2^JU3"2'9$OV'$O!?2<-LH6<3I\@)XTRI4+Q!&6'= MROOK=3UOGYOM+A\R]VOM>CT9\G=.SNF)DPYI]G4.L7O2526M\7QRW^AGW2QX MB=SU8TWH1$1Q7+\?MA>-?FLXK2HW\NJI7Q">%]1LZ/'_RA677"*:V'Y"(1(* M\7NYCT/\*W;&C>OL0Z'?'4UO:F/9O9E-E7-G(,OZ*BP^K(?+PNBYY3K=]GVK M/VQ1+*0I2)'CTP+WMA1D@B,)AWCW_.&OV]").(2(:K?/YO/('8[\.C^Y)IT; M/<.H-SN77[KZ(*/Y&B3B:V;_+BW)]QF$\$>2B%]( !P"X/GC_;G5M6&L]'S8 MY;O6[9/9">^'C7-'0AKJM!P^BCW4;7+"\"'H&2/38$LZFO@3-"ZM"6]+_"7Y MO83&O'L:[S-:\8F(U+(_ZE30VBNC=IYKU)SN\_CQ(LGKN.+)'.GQ;%2TKT3I,AC%!N W('93G!HV)5 M!MD<*A"U)O9:MR&O/"[.3)*#XF.[TYFW\% 6YOG^:MV]6W/@:CF:+A0X+2WR MTP!,1W/Y=*')&CKOO]J9H7+_3,MG>JD^MCF8;N:NW9>B3 MC04)IB24)Z$\9\UH_A!PS6R5UY86 "XN>;/G5LFN#L;GOG#3F\W[-RVAVQF& M&145YID&7]87%'QI>E,0U;0LGOI"O@2?$LYS+A,\$>?Q[Q\ZT[YX?]]MMV1O M,K4FP5,C,CN:'15.7HO_Q4G/U\RG?IK=E)]:.G\DZ?F%W,T/$??\B9S91%D) MG:7C%E;&C=\HNKVUB\X=:=('?'G:']6JA9YJ5?G&('A?S2T3[,X&)O9)4O6;[,),ME DU8^GR[&^8$\;7-]+B]CMK>=>T^LV21TY MRVEPM]8+DZ)R;N[[E.^&Q7FVW1J&"N*Z_=OB@W[;IP.F65:%2W/H;2?4)JB2 M5"*^>\[TMRWJ1$1RJK5GJWRS.$7AT*W<9I]F\/B"#E)F//*#J@(O-$Z80$%" M,!*"\0$9S9_ 885KA VK*[302-6$U418+!?HW%LVQ>K#0K^I-\H%.2S+NBOE M:NJ0$0R6TY34-"KLM\)XS.NW M=:O;[%3:]8%:;K?NF,712T;>2&B3O0T)G"1,)V$Z9TU_?A=K9Y/2?7VP<)7" M:.B/U]G[Q7/Y[+=E/@T;@^G<'U2[H^PC9]SPO7PURW"7)CXYF4]+**$ZEV-] M?R35.9'YG8CJR)U5A^=O5FJA9E_78++DQQLS,CG^V]]R0;WQN=F6FW>D6:]N%(:Y\4W. M*T'?5_T(^FD)KBB\.0.;[.%,V-8%Y&P_-0"?K+TC,^RXZ=0="688C&<\"U)@=*D"V)0/O_IN M'C=9"B="2#9>)%61'Y-CC6!I!Y2R8VL/DF+/>&V/FB//Q@_#&A?4^'9-)U/W MW+=-/%>=::75**T+N+"\Z]T7.G=/&E!CD:9<>4%+2^('W2&8P,N?R7//8UHG M(IVYN^QXLF@,ZUU>&3>#@3%ZM+-]:DZPT%2OQ&0?1@()">-(&,?O)5O>"HN= M.[N]RM6+JV[[)M.]JV3ZF FLB?^V]_: MU0?MG_X:G.-K9BF39&3".=X[Y_A67#Q_!J)IU:8/!4.VNLW9O3!X+I877/[< M<99!<1CT"MYM9S@2*@^Y^9,_K])CQ,7H&%E>2@MBL@DT83UG2BA^)>L^U<4 M[>GU.MMNU[NR8LUR-\/[!==CH1ZV&Q2]\6* KY='_+R[0>NA.W,R1?9NEED$ M@W DJBJ)[6WR?[02Y3.UPP8)I6$I\E=,L2+ \\_@[IC2>BN M;J0,WWZ\'[9NSLVERU[];I69=KE";F4Y644=YO0E<&F)YBQ5.:UH6K)UXF), M\(_DWJ>UP1,Q7I[/6@_%.STS)/F9$!+)S^#[/K4[>H[1&\^Q3390)*B2T)Z$ M]IPU@?HSR"5A;WV]*.4]Z$O;DO/M2J-0T4MY6:)/L($VXUP4D?+\"#IR( M_87#FZ L3ZUBI_T#L?W^ZD")N?D8A72!W?VNB:.-0&70='/HPZ6GY MF=5NN<.5':KWMW9S^%0]]YDK\R=>N7\0._5A:=IN="1^.0SX%M!EFJ15*%_^ MH,UP"1K%[/>+&MI'IV1_S]).Q$D[31PLKKM"L4"FFK^0"OV'*F;61:N)D_N^ M$HA("$M"6,Z99OT1C*)&YV%FEV8R&B&2R<[6;>N:G)NP]#M2J:!Z'0LU*]W" M^'I:+X_+#%)I>E43TSR7;$M-&,L%YE)_S]1.==. U<52>#/J=7F\Y)?9X3 M-5I>%\S 54K;DBM//]LFUXXWPVXJ M*0M.MK->HG1>BTL*X-,L+S1<\*=69@M H7H60G M1H(>"5=)N,IE94CEF9T5C5*I5G!N)N/[+I%1HB&$AW#FY8Y*CJ:E28# MC":,K-",9\)6DGVC9]@W>F[X2-C*I;&5PWS)^9,?Y;9;+UJ+<:=;*O-&X-;- M_F,W>V:^5&^XAE2K"?8PU[P?/MOV8G)3CM"IV%LBK#AQ3,R M I2_#@-G3(*@3?KTGR_W_L"0=V$KKL#V]?OBI#)\1JA7K.=K9FT\M8MG/Y"W MMK #M5PQ$)[,2TBX&?"2V])YCIZFP:4%04@K0G*:QN5@S1]YZ=89;/%$NR&4 M9^/ASLWUC +F5X-PGAG/;K,+:G_RM[]%^8U'OR6[5Q-L27A,PF/>M'?_=[&S MX<[+W#.^%@IRFUQG"UZ[E>^=>^?H7?':MM;A0V:XJH];_NVLV<15AJ/LWO8T MC#S-\:>^13 !FX3(G-L83W6&;;'00SGA>=:=:I.[QW5-UFJ]/C- >GV[='7J M1<079S)?LSKWT]S?GC"9Y!2-G4/,_RE\6XO OW=RM6LD%\3)O/A!W57>/)\+80]H25$4$[O&^"UM*:HR1D<%P-V?R:3^A/!X%2'JA5# M/6\,;OKTEK;VVM269NLF @!Z'X&:G-!Q627S;R C!5"]&7PS=1TZ+OWX3Q.K MR6(W$<(_+.))-E3_D?S\-[(T&WC:H-,KWO&^=,UW:]WL<[_@HE=4"6E-/R=/TJ<:AM(H^Z/*>!&C^3-Y[;B,[$055 M2W9EK$R#:3>3O9Z6NK5%51TMJ&'!$E3@WAA-_"I!PP0=$AJ2T)"/3WB^ 2%S MDM]3>O_UI,'J:5UK+,LNB-ZNA* M2(C(GY:DO+1PX)"+"\I7TG)1>F?;(MGF_ASQR2I6]][!F4.DGK<9(OG)4KG M:T83DVK$LV0[8]#;8%[L9I?!0[O8;]=NN\WK8F-9G:J6'YZ;3B\'^8%?&?1G MW7 I-OC%H&?6I]M!#W2DRV5"30DC"@2Y#.G\B ?B,%]#KN!@6-F+PA/J!>IZIW M R[S?,^=FP'=]3)MO\OKP.=X%+\_QI=T,D.)50H/.; MXHDH4"!B[:YHUW,H-Y@]2T^2/1RH; %"$[!JLJTTV5;ZA;:5?FKI_)$/#Q4'B,W M0&^&1W):0F]+ZR9[4A,6EB2"WP\,3L0#GR=9;N7SJ%3H56=&,)5M/RNS4!C- M_6IO3/TF6U(O+_4+VNT&Z50=.V!88ZK1*;##5-T#H_%\Z%12IYSL3GWG;2%G M/"W],P@I8O*7*- DL*"BM<%RRN^1#2RJ_J"V> M+^7[/L9X(O);OA'TRE/F;EVH<==B^,AGK">Z^A5I'I@3WG@>RU>)=28HDM"> MA/9\FB3O6Y VZ.O#JKI\&A7P8#Q8E@BO*-ZY:0__E+/SO3LOBQQK^(24\EVF MDUM0U*697T'5THK\MLQO@E@)[[F0/._[6..)>$_H<*$RZC1FP]J03*KA]7H4 MAI$%\D!\Q.08D#\OE_N/4K8)\4F(SQ^8V7T+V)0ZU>[AFKEU.4![8@I>F>P512XOBAV#_U\SJ)M0K2>Z^'QZ< MB/Q51UEAT;BSO>'*YI<>&04/XT5$_E0@?_)'1;TN/K/[>7?[=KP9=E-);72R MQ_<2I?-:C%0 MV=YH>&24_F]GTCO!+>*G%L"%[80.,HUW2T_,8S !.T.5V% MY%>UM7=+[/[MWS^4\PA,QWY\LB_+-W8(:&,W!(G3R2S$N-$B9 MH$?"51*N;B@ :-9W\)\D[OOHNM '2)7?_V M]T9K4]0QS0*V(??&P6P\#@G>?P _Z>^%"G8K)AR)R1E3?TX -Z&#+K%2> 26 M"+^8K2;4]MQ5RB=!Z+*;>&U AU0 .!! >X"ME.O!3V?$'S$,I>\-4HL!&:=F M P(_"F:IF1?]=T1F \]*>3:\CB$-_-?T^F,&C2D'7@A<(GWXRS5TB"P!#:R MO3+J7"KN*KR;?2?&*#;ES&O0WTSPBA:4T%=#WRSV'>RF4T%HT-,"HHZ-)BYA M(\,I$#:!]XP);6(.0#[PP\D !X1VFGYG$ITS<)4ZE"'V2:I/QL1GXC)=^+%C M.U26\.W0]Z$;5R=1O$O4,_?%!NE$! XH P@46W.V;SZ>ILA>Z;S";%"M9-,> M!*\H#.C$5:H9^EN5VTX#O&'W:W1:?#+Q?/"R](TX-2:SU,2+W''*HS_9OL-8 M[?P=0R]3>,9FG8R9UA(,.A&]C>K+A#G[JU2/;.9[]7M#VM655(6I+;B_%=A9 M&(38I0X=3(1J[0#/R>9;ULO'%N"M84#,&.$+?9\ N_!A")@.E:16!/O_IB/R M&:E(I[PWBI!]'_0:_HCK8,"5T0>=<8ACIVXY\[__!_[8*);IPM>HPQ[\VW*" MB8M7?S$_&.O(AE_R"I!.JCGPHT&$ETR38G^.T']2#=]Y[][+,B9QW1]6$&W> M\(X*'WV%TB;B;S2>%S=,8$L#9#X2%1/,SI__Y__;'7_"14K;CN;\ MO9&238WP,C__@U,#G_+]_^AXYFON^Y]^KC"D'=_>X2ORC'4VBPJ5E9E2A MJ=U2W*3VO,5K_/>.)KUN8H?S]MIT8,;:=46VD6AQAHXTT]9%4S1U;%N6C@4D M&3P6- L9WZ*OQD]HFBP+Q.)T21(E730L5<=(AM61(8NFC#$1#+3_!*>*HF+* MFF[R] DD<;JA(%E71LB1KR.>8W35:*H6!8MWK:%_2<4SN(LK$BZP!.BBZ)J MZ*HBBB (^#B&'EBRM/^$(&O$Q$C1+1EINBA;AFY(IJ4;O(PXS52@#^;!R$W$ M29JMZ9HE0J]L#>N:#*+C.9M8,F]SG'8P:J@8 MGE"0"',N"C#[)A$UI!HJ;^T_ :*0D6 )NF(@D)6F@I8@S.N&0(A">"2ITL'( M8<8%6P7!FEB"&42" KT"-1,MF'Z87,$0M0/IB@9T5X)9D P8.88%-A8E13:\U*UU@[Q9N7U2[IX7=*E^V++UN)K.!FK_NM ; MW(DF7\M[SX,6M#R0)D8FE0[8@T+U"'0#YHXH.L<9HF0J%C9L^?#=#[7F:I6M M2ZV"W*^.L"IG&^IS5N>/>W%_E^G=A(/L$.$%_X2&X%Z"H M<[[?[<^'_&.H+#)]O;ENM'1V'\)^2U_CGN<+%;=06W:0)#K.HC^E[U2.6CZ. M6+NGHL&5A96;ZEFW:PYS_-!$?'OS*8$Q;'DUF<18\ M3_1KV>C6IKG9K-16O)%!6QY-9G/D+)\JZ^"N6WNLWUK5;F'8,VG+H\F46M;: M?%ZM,L/2FI2ML3NL/-79UP\F4S5YHO &0#QO@Z!%T0*1&V CJHTX ?.FH=D' MDRD#=EN&!!X2 72H"IU'E>('YBPDF)K,[0.8;HBR(LI$A3=C,'-)I4\H@FZ8 MLF)H%H A=_ -7E-M0'@ !H&'J0$;T@W0$EV1L"FJ%C$).OB&9%)W#1VR9$/6 MP>,*%+4E728BQVN&2B3N2/ WRDPIEZ;AJN 44$4:.T_-:[ -^6 RJ<-03 3& M*YB F("JX*QX0"TB$UFP;>I'^$-XQ38Q> G&*5.0YV3X&P;,1RH\"$1$.+!^ MG<>&A#'H(<$&#\H(7@<#:X!O@"_B>%D4A /UA6Z [S-EG9<-,'PB@XQL)(%5 MFK8"1 30]& <"JBC@%4,/I/0&5:1;F"+URW-YB4"LRTC1SI]K*]1A]73;5O9J&E=-CRZ=MR\A;I-GM!UH'P_"ECG9-@Y5C%@J"%87B$$G50"L ? "Z]>(;"FJJAH'O,A4 M$">K&A A585)%3$(G+(U@C$H%Z46]D&OB,$9 %2BKIF4%\DR3"H"A.$EB0?W M("J B@>]0E@1X2F@.QBXEPD$3(-9UC$LF0"/5" B^%!(W4X]4YBU*@7$MX2; MOK&J-U2MI:N':@P.U3 )6"KP6,I0-'BM @22$TQ1-# P->E0\06)5R1-TGE# MC9_0D,GK"#22@U4X!S\Y@!.1@"@("!X!NQ:!=NN:2(4L8-!KS"'YD ^I@F A MSE!UL% !YO"! MP4?W9CZ:3Z35[NBTY1%N7T^?S&&NS:^1,VW,ZYWR2LXW%]#R M"+=[]^3^&E>;%NJY3WTC' N/]HSV\Q"W-9-7#!O&S\%:01 -\J&#CFL C MT9"D0]P&8BG*(J?HL"8!JLJ;0%4U">M$L # ) Z<[(&@>=.6)=46=8NN@T0B M4@<)O@%C#NBVS8N:(!],C07(303 %?#K\ 157P,(IF3(DL*9'"7K!RK&P^2# MO>JRP5 ,J($JP3++TF0%6R)2A$.E% "R1,S#$$0)GC"!.6IT><()"D\X+"M@ M7 >R(L ,0$7@4:KXM@ F8 !AD109G(FE0@\WWS@(\4338NB/C_-YKA'. MN91_[/6$Q\%U7Z=-I0]8M:%KI0RRB8ZS\*%'8V3P%XV[EVJ^_>K*%[+ MH;+$5'9L;;)2*Q;TZ<"'KZF OFV,K.:7G19>W^F(K^:R??%I_= >9+^E2&#B M"7QCYH?D8XQM;Q*/@Y,V_ ^AMV:SHMG;O"RJ*X 7N7@2D+\V?]GM#M6$."A( M(UIF% G;A(Q9%!*',V_S@R@$R7ZR%ZG\(9^?_9^]+FQ)6ES>\3,?^!Z'?NQ+T1AE?[TN>=CF!?;.I#Y]AH7]C3,LVW'Q MO[S\S,=\. ,^*"GUV=.D,2,^B!%?(B1Z1SXH*;$V%2? R.X5&P@SH$/[ LW-&)&?)S/%*\BWI(3OUOMZJ7X MTL?-6OF-6400X;].9.@FLDOWF5#VI;F>M;2(*?ZS2PNKQ@AR1":X MEV1B$UQ]7QWY6P:O=^+?"!)>VEYYD_F^?G;_][]8B?GG\.?!;'^7K^P+L:FO MQM?O O6O5FM%_4[L?R$"^'6T6A8^(5MCD_S[)OD3^V1A!H?/8K#/6A9",_Z) M96$GA4=LZ=_+TG]B"7ECM'A?/^#,P4(^;<7==P.+-RM)[4_N"IT]I^*95^\6QGK--_HM.; M&TI/*S6K))MWP;+99NK>[+;'!#>YK#H I19)H3OI0F5?5V?\[03[M-@>J_D[ M3N>E@Y)?3LL5+=E#M\.@IKOY"6_D!?;.;WE\XX,M=WG1-Z^F03H8<;>93+?8 M+8XN#:+D-+_K!-E\VNJ93]KB\M1P,?)P#H?_%AQWW39-9-C%9GFZ M+IB==2:Z/:7C/J+CW.0^+PGM+CM"*(KY/!?JO ML/B.@> ;+KP_N!KE1]C^D:O,C6ZCZS+VE2W-'?>*E;D!8 "LVJ4+47[=HOT[ MK,W/?PE^$MO_U=?E9Z#S[V'[6WIYUI?OA]=,5KO-FBVYFQ5OB-Z3=3W/7HCB M;R[KWRK4<\(0 +U?&I:* ?J:MD_*6#A+LJ'^M>+O9Q2I/'G @$#&O[_>>J&) M#6PO2%:]+!7EFN-Y^?L9GGJ85&]S/=*-!P2!=QV!AQP_*_:06PDZJ#'.!)>K MRO0F37(( GWJL]I]F?X0KR0.(_P2YFG28>@-KG,#K3+?JN1Y9YS"]9@5?+^UA'BGR9:/O MRC=S9Z I9)TC70C/!D'BK<\8,EZU?#DU%;X!9KSNE!,%BO*44,MRX;EK[-*> MIP:NZT ?.M(6_/1(1>:HRGUS4W;W6!C5$K22?GM;8R1Y$C2LFTK1O5\"?I"3 MS>J%P OQ%FH,*&^\Q7IJ(IPVFOI>.S#OZ78\&6>=Y[)9ME5*:PQ7K8^F0:7[ MD-,)?I!#T\(%(S*OB[5^AP7W'ZVK3ZTKIR9"N+P^-17.R ,YZ0;N.W@@A;1K M3QMFT.X$:;U=#4K^?)$A*QBRD2M<\/([[^.>PU5G/#4_\)+SKC+QH$RF$Y#R M52?!E ^X!7WR"9_/O0Q8L7A2,LMT=*?") 5]_)#3.KK,?/0U:;;46/4G5\-^ M)YOE&^9HW.KI#"EYR8'?H%Q('!??D_[8':N3*\F'7Z0^^8R_&RR\XKK6[*&O M\HRN+#KX)C]1,FB>EKL#P 7QQR^.DRXX7HYO6L= \:%7L4\^X?/!B7/)LB+@ MZVFE/1&RHV0FY]=ZBXZ<9DD5;N4T658^.AJQSI#YWKOZ)Q?]#[^B??(9?S=E M?X538(X9OL74+"M?7UWV:\MYMB+7B+;3.]POYE^A08+_IA6:?ZV;1<6PS[^P M]!L*552.G!8AWQEP+G!I!?)A6#[>(_&(_5(NQ$>D5<>)7%R0ZO3N)JH#'VF< MA\0P_L_Y[;^);R6A3X>SI%!6KY#K:BYBBLQ3R+QD9 KQYT0'#?0VP8?(#ZAN+NY M,. EG"T&()HQE9PHVX&PMZ3K\Q,Z5T(?R<5*/O^T?? ^C,-\K#]^-?$$V30C MYU;8/_$8]_?.?0IG1/U'6H*D>KX;A( _VR*L\TA8D.X9H )1 &*EW$HR<4T M8PV8C]-Y:OI+&/9;&\>#"-C:G&WL1#2JHWM,'&8 F=2O<\PI'!D-Q M_1S,CEI)R[[7#& Q>0F;9,A_6L!?S]U5IM0;254QJ_AF4,\D=[T6Z3?,WJM& MO+%VZI:UFQ0N;?9^X!M,M53J].UELUNDSDI*9 ^-G1X:NU2B#4S-.H#* ,Z8 M4L(+&1FA\J-'"([-;.8Z]S!L'\S9:UZ M;KP4QW1]K4EV*2GQR6^70)-),(D\C@_D,H.J\PY;1WJGU:O<#).K?'[03V]S MF7MK)L.7))$T&N -NY/<%K_QBK.:A<)RT2DN1M9C7)X3B-Y"E:A M^].PRC*29F?@SN01+ETW!+G9JIFW@Y.R2F;N^$Y''Y9']9[;M_5^5?9G2V#5 M85:3?ZV!]F4D)55J:5- >7^MC=%J^.SA<8L!20\;/\W )15VP2[^$0>>&V2X M &*W^#&XY;6I,\KY^>JE,)DW&-YVEHT])V0[O 06F]8"_H5C-Y6H@T,,7LF"F%K2U,?3\*P!V&=,_&A8 MC+@X,/@TYOQMS&[F2+ M(5=F%G)_J-=31?7F2N;EQCNEBD5Y@]^PZTO]WWJ M*&05A3[_RAW>M5"*QLQ<'HD589\,J/XQ,OO5J MGD:$66X3%CY<%OW!(NCMD6 7H0NPHK]!XP#G;,^ 53UX$:#@]WX&%@:C*/2K M:_B&97-])=T;9;OME3FY'SYTQNG0KP""8C/M/]-.(\T PS'8UQF\&Y99^!VV M)@[H_US9#B&5(%-/T+DG+C$B,Z=RLZGB<8Y+YQ^_RJ0^"?;\1),L\)JV-TI< MHBFX+S0N0U:0.1C'@H8+$V6ZIHVF%0<%7CGT\C21AO7Q.%I2 S[1HC" 1H S M#OD1W43@?>.G)&SX1O$H80!ZBN"K!X^,L@/7KX_2N&C M$!)IW0E9KX69R'(+QKBWXBAA$[@RR&%R\AT=!+RO''_])T @+VK]^+H\#-29 MV ;Y XZZOI[?-UC7:_'Y^I66SDC,->XYO[]109RE8S.\BOB2IFPY&MGF!]U& MORQFKIEY56+GRJ6@V+,!S8*<.ES^/6Y,'(_X4&$QH^L$5/K>B<.LQC-T<7#N M'!8OE5*=**F>(L,@0@._$?<5-!I'\IL8$@'V4N'+$IVIAWV?N+\A MO,/2A.SHA19E]Y'P"?(NL@9US7 GA@C,^F![:XAA:HA8$/!W%M3?L:^'],\^31[]E_R.;-3I/H7$!BJ]Y9:MVV" ZX1V<8[0M%)NV8$3HVU/+4 M<"8P4A^:43?F<7P;=R?*.K5Y9\%Q-UOE3^V4[V^0H\04AWM7I]@C?POM6GCU\=Q;6T;'*WPTRF,9K?W@T,U.'F MBKS\\8M)':;W?&I']HA(T,5ZI$'CU7HMN-EUW-:I<+4.$G2@2:$V1'J2;F43 M"BO&FXN_O[PXOB@Z]W&?"\GWEZ!$L,?(\VQK%3IJX2(;K[?#*61N'4TP0,UL M E3[:.U,\3JX;#DD6A6>%()51X+LWPT<>,S[22=)3UAMSCV%Y^@,> 8T#?]< M?_B[(%(XX%\U&3#D[SQ2(7B]Q: MY+A(Y!R=A&>I8(12EM211T,HL\"G9X."Z5:;Z.N-@0<'T76 :=1W@*51Y*'# MR@?]0R3SC(21B67Q3&61CV21+,)L"X@Q]8]*'0!B>#@'D Z6740XI\ZVR,%B MT?9\[^)QVP+\6I(IFYAAF#Q!3G]%?%R3O-V9)6PBXTL2MO&"271JYVF9->W% MFH!;DD11CD@!_/EP;RS\=NM)8PQ+(7+ ?O@/J3<%TO>3=K\GKIR]_#.1>TYX?$,?N1M27RXTQ.2Z_'G__Y? MV],Y/ H>">L6_2*Z<%0A!CBINQB-DG17]R<:+]'*BR8KJX]WL7YN;B7PU V$ M99'XK\36YT=>[O#[/KE%N$BUDD28?T:/K;^C%Q$V7SKA$>"?=($%QGR/:UMR MQ+$I:9?A IN2Q0.>O\N&#/_(G_]!"?!88:7\7VW'..;D?S!2M"D&@%M-SBOO M[)&@7UN2=%S%]OEVC!V(KITU5F88B^4%#:N,J@FRSFBJSB'-DD6#D1A3ECBR M'T;>BM:7+63SH68&B]4D7[TN#M%AIF6 M)YR066K<8RGY^8GOZ*U56*#6@I[;>9E)_#,DIF> MS+NJ3MY^2*;R;&55[F1GV@GJ;32][=@%.TAKPB&9Q R;\=O-+,_8"U[,UTU;IC.HUOC.=5L1)5R%]\OLMKP5_7)+XN_:(X_3!R W: MD[R]A)8'!.UB^6[B6\MT)^!8J]0<%IIWLP&T/"!349H$(Z%\EQ])]NJZ+'K< M -V0MQ^0B17&>DEN]_Q.LGA;2MZ-LOU*B[0\)-,@V[ILS=OVJH-G?6Y27.9R M+B(5W@_(%&3ZTDV^E+GMS)GQPX,(8C*<+<-:\'L$+4Z*?45FVJ-BU;>"AV$[ MSUV2E@=D$GHU7[M"DCX*^O8#,[T<-)G[=%B*>K=E=C835J.B=IU?<8N'JB0/ M6LXU&>>!W%7TAI@MK[)73';H"V[@^L@2TF'EVST1N6GW\P^W/2'?$BX95[\N M2\UZ(ZJFN=O44'-&KBG="B#*Y4JN/V,YWVYHTB&9\%1XJ-Y/R M%2+,TB&9.K5T'1M651W9;K59S]]F[J_;2VAY*$WWPX?+]FT+< 0SW<;$Y!R" M(](AF:K=@7JK+G.]3G'JFLEE0Z^)3",L(+3;TO;4I%;)E4&:?%SV'H+%G,SC8FL^N^P,;IN%=)C M<[?E9:]B^%4[K>3GK'E;-T;YA;(8A"DS=ENBQNV=5W5+>AX7TH-6,MT/"O5& M>(E^M^5=ELDS/:E]-[)S3+<^0?42=]D([]'ND:DE3#)^IH5&N'"[G!N]PNQ. M&$1W\':;FL8BF,Z-ZB2/>W-=86Y$9\:G-98Y9'T::0&_S!;$? NS9J5P>:-- M )FAZ<&D3&[@-%!2RN?14+(5(R].A%O:ZR'B6B:6[R7CDK$%29I9?>.R,&^0 MI@>B+P[K-9R9>FJ>>[@T"ZNI.AN,EZ3I 07$.3?)HANU!^POWB*U45.OT[3I M ?\MN:K>&E>>VTDN5EJF@LJ-!XV.]9!:R=Q0=F2]4._49Y695K8S\LU#@VQ[ M'E!K['NXTT_JZ7RR4!BW"T'#N_)HTP-JRNSM@&ZF M[C?U'5.[]1>M+A,LRZ!]]_C&[="F!X3UJEUAW"O=M49VK6H4=%WTLCDZ@ -J MS:7[4;4Q&P7Y>B=;4J5J6BLW:=,#:O%WS:'9G%^N\DC*.=EVR5I45K3I(;5: MIB5SHUSRLK."5OTDDE _MR2;'8>V/#EOY2O*\#8OY2H=?^:C6\-(DZ8'U'*- M?DN\G%Z7\E*WWBUKQ&)V:*\'U)HL'IR'VFA8R$^*BH]UD>$S$NWU@%K.Q,E- M[,4\RZP6:"XW,CC[X-"F!V+8FMZ-<4D?]O.!G1URV;O.DB74.N+W*"U9&>9- MOY1/IL5)HSJ[S24%VG2/6B"%NLDB%FD":V)-4"S -,:R-%82+)%GD(3UW8%H M,J]@TU"0QL@6/ 9ZI"%&A"=TK!NJ*8I($@Z0UM/87)6[9D:HM"SE)MG)ZJK6 M..8O"E)]63?5YF)47=F3 JY*#50_ZB]VV&J3*TRN[_/)?$FZGI4+U]@XZB\. MLG[E_FZZ*(]0IR3X]\OJ8"0TCKEVQ5QNZG$!=SNTYCI MO;I3NE)KM+#<='/.8V''MQAWP M/3??'9W:HZ64++]=SW#C,^?TYO??[N-T[KD1&]]]'#EC'$9C#&=6MS")&F MG/#24W-KESG:AC+KTR8FNX2P$LX@S_;HZNWPJ&*RXA<,<3G61UV%+UYG%KD" M;Z7?Z?#A;VP%M7>W;L(@93"!!Z W+]S9V6SY>!=A])T$D\)SQE$J_JU=H:&- M7>0:P]5C^&JOQ63K5"-\/QY?1+NE1_>>HM9T4QZ17?.0U@F=$'OO^%$47MN_ MD)[X-QVF$WCPC?>?W]Z/"@E+Z!C%*<@BVP@7Y^LH%@V,H,!WUE^$41'ZS4[P M9"LU1-2&.8AX^.YZ8-$+V2@F^ZH"#:*2DI_-5[85.=CJGQS5LT .UEN5Z]_I M">F?8:B)G,U_,<2S%7_>-$6ZYXP#'[]S:.?X'BUM2$+/KTR/M!VH^\LDK8H0 M,^(L&,'&C#@'1L@IGHT9<0:,B*'I;!@10]-9,"*&IC-A1 Q-9\.(&)K.@A$Q M-)T)(V)H.AM&Q-!T%HR(H>EM&?&;Q5A?C/5]W*R5]8FG/[@!\;ZH_+EH8#AC M\N7_^\&R/_Z0(+R:XD];S55Y[HQD])+G\B"0K9)26,]:**==?9RZZ-/S@9C/5NCEI7C&5ROCLI4 9'/<+;/:?"RM3W-1N[&3 M"F33IDQO*](&[%X>I:TNMQ9O!7))$4^-U?'^MI=YF[-U4T.))\\$C=&5=0Z\.!]]#+K_(=OMW!>%(? M+36>G H6A0M%_=@R4S$,Q3#TKC 475J.93B6X5B&8QF.9?C[N(-;'AF]X[#C MM^4]GY;OV+HO<<2!>F_',#=(IG4CT!'#)>EJU.TTB_42 MPV4TIZ_E9A75)=>O6>X5GN$GV*NHV1;-7AFX))-CA*ETR>W1='DDUQV]ZO$9 M@DOO J>?%#4_/S@^8^!CP8L%[TM9Y3\-TG#O;8N9;F9U7WYXN!E5VVVN=E]= MWE68OZ@+#):EM38L3_D71^SP=="X;[;\.X%IY;W[?I5M6[T2R=HA@1F^$+C# MI-#%J\@/6D7^B>6:] PIS?4O^9'M)_FA6*X71RW^[2(&\>>8QF.93B6X5B&OYWG M^Z>1&OZ]_5UT85LN/BD'16E"DYO,17S@_:#BY59#MC)+5V\)-J>2HA>Q M$TFF0$Z\4&4U/F83PU,,3_'"_,1 5>TRR?'=!,TZ*Z!RLU+QA4*99&DFB_87 MD>H3;/N6#PO,KA/UK>( YN<"T,^/DW'D/!:\+VV@WZ*.\6?8+7['FLN7/6_5 M:CR4M0Z>EB)_4G'Z"-?,[&M9N/;@OMZ9SE,^6 MN^FJ>7?9P;T_WR?_"\,ZOM0Z]YUF>=%!@W(O>\G; WE)"B*05?>SEO7U*^ZG MM.F,\L2POY-SZE/#^VGF_.%H?_(Y?XRI.*\YQ[+]/>8]\O!66USBO:WS2^]Q"!^>S\\VJGRJO*\,6*I>"WYLPW9M,^M)N//1R_<9) MTG<5LK>7[66W%.2S7=3$;?/&Z6MIC65H8E?F0E:4^,9)C$-?!X?B2YVQ#,:K3"EM\5):;K&_'ZMYSY2)_>MYJSM15K=,U^H$P]E(2_:NTH3@)+FK9.&XBV'R&X0TM/LKB]!%5VW_[>/ M]#$^'Q0)1WL53*!_XTW5P9["6_V?O+0S3JH(++?1AB=/=1,9!TGU$S,7^.O" M.!*.E1B"=L$GDGS63$R<*5XEX(\C["CY,C0(0I MV='V;3^@<8;$TO:'"0=TU9ZB,73A!R[("4P2GO&'+L:D MXL<'# <&1IMB#R>0YV$8,)K-7.>>JI*7L$"RPEWRA G_^PYI"U]Y0\?UDSYV M)^NWKL*^L\X$N+*B#KC\#[P8? 0"!2"U"=I\[ !WAWAL)O05=&:[9G*&7)BF M!4.:&C8,:V>*-I 0@88!H8 J9,07"63>!1XA'>@1:);N0RLO(')/&WC'A_+X M>NASZ@!+ GUL&\ 'WT4FZ1_X!].C[UN1 :,)(+?_)$601YO3+I%AN '\V5XG M%MZPD"@*Y70XJDWG81] ?2=P$[KCNLX2OO8(&QP@ YD>92]Y11,OG/&"/)5U ML6G[B0(RJ%9LCRUA^T\P;'<<"0!K+S"&E'(IJC\?KB]=G!BB!=!NYY!&8N8 M0XC\&@X82#+?5UH9,)L3+;VZLM!==SK-2Y/ZY4VV,\!6J?%"3C5/2F:9CNY4 MF*2@CQ]R6D>7=PL\EJ\*KT1LAH""8Z$0' MDP%Z 0[$HX#]G_?.2_-,*)'P,OX4ZN1$[Y!)I7& *+C:H":QN7(I(Y#MB\!,+ M/ 3,P-[%!BZV5&[RZ!E$N)K8.W&DA_;YF)9[6P,!A#(Q 2S*3N((#!+;ER1A M1&3U19^%<>X-8[A>OM$Q+F&J! %6X9NVYC+#+F4*#&@-3H?'HQX-Q&9T2T"^ MSR)43V]RU*T=83LJ64:G\U!4!O:HD[QME0#^E/KL&B1+3 G/"Q8Q#D"X]:7_ MZ#8CO?G/,90M[TM <*#;\Y'0-WJY2F=RA83)M"IH5P\?3<"5-F+K&#UD&7NH MM*QRL=YS>" @GSJL(/!: K(JE=8MEX6JK3$.S%!MB-W(6DNABYSPGJ/WNG,XZAYAG/;S-%N(# MW3T**UD M(KP\"5,Q8&F]G 3R+B&P,P/^E:[3$OW%JD+I8B]?4G@03.M8) MNJ>?9VA%&UZ DSP=$)?:>B0X@*3MF/ WX/(4Y G^!F)N!&/D4^I/5Y&?Z!&/ MZR*!?2/U']H]>+!CX#]UZ8+);,ME=_$ 5)MX9U8 WC-^Y!"\YY&;D2>/#* ) M]?ZHVW;P"'T9VC!\V]E\08"(XD0[U%ALPO)7P$?Q\\N:0"N$29XB@2\I[ M'*VYZ3"W/6/HU\6& \+S$*HD>3UQ;U.)U@LBY0^IGQ_ "L$&!][PGS.RD=93 M1=Y(/B)&>X WRQL#S6P?Y&1CL!T8&Z(V?DQDDSKA,[J6AIE"E\Z$-@IIL"'< MUGM3 "7;Z)18(_O%-EN6X.5MJ^%:75\<*,#I@#2U7&?R6@\8Y!YKMZY<7374 M?G%4Y$7IAEEI7.MZSP/.!6'00 -#$EK:MK-C=UU?:Q(.T^ '^>TR5)DHPG&+ M#.7>U-N=?'%BW/$]D1&YH5[U,;U2?= R1 M+P7)_OB#:#>=WR.IF9S.F#G7%U;IX=*]OT[_^,7*J<,2O/\*3=].6.6W*'&] MN+K+INTKKY/-57JR[;"B"B[YGD_Q&+BBECD*K)GUZ2:L1N-\G2V8H-L.\&>P MZ@"1= QM&%1F[!BC*,2E:[*V&C_<*L/*J+6RB[7!;;J;%('.& @S@_?[L%9_ MVZCIZRP[P60:.4OHF)CC+2OI[DQI;?WY2]H=#78>RPQ02AC,>HYF'?ZX_;).#S'X89F\ VYJD C-= M$R0YQI;_$P6^L_Z"!IG#;Z)X=MAF*\ =M2'?A)%P24U)RK](G-!WUT.+7LF& M\<,_/_\FIF3^N2B[:2^.O)*LY@G@KR.4Z]^3I.N?NHO1*+D$XOTS<\(H[D\7 MCVDR\+T^H^P<],7KID@'YS3P\7I?@V'^];'9O7XG.2#,9?/SKTXB,BGIV>V; MF!$?Q @VQ3U[MBYFQ CA%_7U7GQ17%=\C2^Y(S_[EHL,G(*/YI1D:.3S'\IT[)N!/V?*,, MG2^!UTDR=/YIBNX8#[X?'OQQAE:6H4+QB?& 1'S?" 9>6EY]W42]:DK]W/40 M#FL:?#-C\&:'O4]@)=8''Y"?T#%\339KR9;#"B/W/0^VG\ 8K+GYGK>.)-??]R3BS9_&]=&VU/N&[51-9<) M-+;,E%W]S_,"'[N.T+7]X<%FJ;>[6^KM[JUN9D7[.G)=8%&:RG*Y59UWYNZM M,9MD%*'%-S2>I! ^P;VF=W<07N,]KKO-PIAUUX9N2GB\P&0>I$LT]9)1O\^Y M$!]P"^IKX=!+D<8OAT/*>^"0,NR-\L:*]?-S=2"VD7_?$?CSQZ%B^UJO+\QN MKU-?RIV;FLK/<'H)."3]^"5?\/+K\F2]G=_RSA[J^\#07]3R.R=OM1Q=]SF: M:>7\/=!39*3Z<$OPM)L=>Y_+WSM6^ Y&P$VKNT=PSV((-=[G'=>K^;;V)XONY?73%+VZHJ3[N=[O3]/D/I1$'%5<8.& MJ:(.,ZG/'XK7GJ?..@V "/ 36?5"9 Y/.W^&B.4;0L07"UVVL.^/PYL^7RQ2 M>58)53[<.IS1[$_N@A*+\N_8ZWQ?D[(%)$?LBI9I!-U;(+W^7='HD_N_G\#-3=.D1^&%=G)Q?',S,(Z!_H[) M..$!FW>/D9YZ;K$#>UJ+443VM.9X7CG*A5*>YJ.T"T<,B'$_:4\,5^*9ZKQP MAYS&Q);22TTB_JP*[NPK#T:.ZK.P RR"T1T[5Y3S M"_RP)#4ZDZ(Z38JS.6\]$/P!!Y:[4%4V#M-^J3#MU@E3/#6_Z-G2,XH1'#-" M/ "UZ00DJ\=)K- 'G%(]^83/Y_C8^[C U^6FT%&E>3#*EM$#6G1Q;B1^O"WZ MW>-CO5%P8]7F]4(GV[J>)ZOTSX&LR(#EJ;OV MM(@)L[TCB>&W\E#O=K$<8II\?$6;F219.$W)K4/O)'-\TA\B$%H\F8$5I)5[ M2#YJ&R U=087 ,ZF5M_5%A/61;#L^0T[O+$K>7Q796K:Q+:FV<$SE0>2'C:( M*T[R3'EXNN^'%QW')%4LRI3^Y*TDW'RTWL!\CKJK9FLHC5H3K69QW+WR<)7^ M\>O*.:R?,HBZ)=61*,>)/2:IMXDJ4@F*.!YNNM-TWD2:7&+^S8!*';&7)([I MD: F?'TD(SA9[%!O@5SH2R6Z)">X25V*C6C2+/+1$+;>Z-"4O(_B3)A"Y"^2 MTB%)6 MX-(!DP3G@>?18BJ))_P#1!FDL1(K":S :PR2D";PJJ(ABS9@4="8*%,;?[ MA&09O"S!$RJK6)H H*LINLK"M%1.08K(B2+:>0+6>":#K*QXZU<[]8E6X.;- M<3OYL 1UWQN-),@L)\N&9O LC$;0=4T73%7335&Q%-."_LW]OL?UKK*2&D4\ MXM*-6IY)!H@O-31NKV]HR?7*CET8#6Y'Q2%[;:VN\/P6D9;L'MTMQ3!%%>P# M9\$,>5'6%$/F-!TS.H]X2^499;_OF3J9"-Q<[#&3CMEH75I:H9DD%\7W9JC* M"FLAA#3H5=5@NEA#DF%I+&)-)'&(5V5]O^^.D50&_C2_& 4,ZBI\NM)X& TT M8;]OAF%-6;4 -D4+),RP9 TQ$M8L5C0X9!DZ*\G[?3N,-^K?!:.'?+_?N[))-VK.!)NW36Q<$T^)E1A,4(+J@2:B)QO^\^7VCU M''4VSV,^P]Y?=28=OY76Y/UQRZ8B6*R -%57X 6@>R#?6-(8&+@(K[)46=CO M&XW<9C.#+QOYNC0;S+(W]X8B-C3E4**FUK1;-R:-9:>:J5>N&DRMT&72T')O MA@HO28:ABIJNPKR 7I*F,A(#&JZH)B?('&\=S+"57V+6+_;2#)?M5.]SN5GS MUEUJZOX,$4""JJM( Z8#2EB"HJF"*&J< *C!R*+.Z0=64 MAX&-E;M&6F.9 [9SEJAC 51$YT00*<4$MNL"V&;$29S$@GA)^YW[HYMBU>[D M.TPR[??*W>S#L CBRAYH.X\$ Y9T@Q&-('O$O"&YTV-4U5>5"W&9 \[QT'> M;5N.KW6P<<5IG6'I9HR7Q%W8ZUPQ>%U4 3=E66(!2@0=2,X"SC$,UG5%!1WG M]CN?,.*=JC79@)&F"-L9TQ1R/G1^H,46HRJRK#.:P5I %E81@2PP!UU7#5E4 M9:Q*!YT_]/K5:VREV4X]/RQ,"NE&874)G1^H,8]5"\L*U@RL@!KKK*HIHBR" ML(A(P:9IJ>8A1/1[LV1VQHEYQ#&W]H,^TBMMZ/Q CQG#$,&N6!IGB-"YI;,: MX#8THP ARH9AL?N=WUX9(Z-;*@O,7-/&P54N"W@!TB(=T%R5#05+.M@T,#H" M(P)#%5G13!F(H@N:#'(H,3H' MO>E$6@0$]M,$ G%@J2259475/-"AQ4JYJG"B7,U/,N)#11Q9?0-0@MU798TU M#(,3"%E8L)F"(BJ:;B .L )L&R>9$N(/&%I&-^U*P6BN\H'=OJL);FV47C8T M]D!#9=[0+491-"R!G H*QP.^298F@R70&4E'DGA %K-]97=6"Z67KW*Y2775 M$@KS,6,?DZTA +8U 5%7,,B PK'DC+[7R8*;7X:I;I M%O-.Y<&YYA MU$A?&OEZ\3HI/-C9@,J$Q4 2+(G< JQ)_Z#K!8!B%HO?I^^]H_0/?1TN:_\""R@ 5(N69 MALZ8E.E=DM*+7J![MFF3ZHE1298H4)RBG=I>8HB1.0^0Z],HMSU-E)S \YWI M10+T#$5U(DD=L\086I+E&";5G3"M;WH!:V)R1"HLK 43 =T)(PHSUUF0R#EY M[<0Q Q)?WVG@K3P?3[P$")F0,+UO#E4Q-&Y))@.:RS M?@NUI-[+36B2F$A 4B(>H))F3 2EPT':& RTD%8 M/*N)%WA*0N(^C$H/PC(SL*8E+WV/VI(;3!6>#Z\.=.]E5EN_'1I>MUBI^SWV]G:4 MU1:97NW!NJQ5&A]?J&J]80BZ3C>6$A1175J]\)BH[!6F,K:WY)%^QO9C641:4A&;%U$%P+ 2XWH+CDC])KAWK+#5 MN8KX61;GE%1FB %Z1,S9(='O<8.J:[\!F>7)T#8,3Z=2KWK.>0/DO^SN)ZWO=C? M?/[#I:"9DY:%*;]ZR ?NJ-U;-INNG_GS2P_74<'YMI,.%SCKX6"OZ&X?;7@\ M(US##S6Y."WY^:H^:^NBXQI68:EQ&D>" .*%*CZ7U^S\+>/K=+[KN"-ZL'%= MTGV3%"'Q>B-Q:@W?F6JDSI9%S_U])2,8@\#3Y=N/[,_LN(;M1\\P$OFHMOMC M%I C&&$Q!3YM,>W>*.F,V\$*^1+7(2

    N97J>:;: M2Q>O[FJKBGI-TB\3)T2X8)[-K?I5?)"\Y]OA;N-!$#RZI9; R)TFG<"'Y;S+29*$U(-C?DRC-BCP#ZUK)Y^L M/3!CG7?30G*@B01FU OV=U'F4[HQ[VO 7T29+WT;^RBB?+/KV.<,*7_@O[!' M8 1YHU:[[[(",[DLM'QN<344Y+0F46]%(JG@?W,]=&9XT=RZV40WOCWBAOS) M-OIK=A^^P/+F/%YTNY<;^AV[,TNWD&OT].'R+:W7(V)O7[8++]A%.P%F>KJ]&$^' $V$ M'_Z0?Y3Z(_:.7Q2*R9OVU5U>NBY="OVY6D_.!II"PW_RA2!]A]5YQAZ/(T,7 M3/7H%\,(S:.+#6S3)!:?=+?@*]F]&##>$S!("&_JARV;&[$_!AL.WZS6AG?, M:I35AJ8[9;,#-YW65.HF*Q%*GEYR-D)R1/_T%/(YXLR"&F_>" M&ZHR1X &CR?9<;)5&XWFHMW,]:;B_@A( R=J:# M),TQ]2*D?#WDB 'BVP$$E?HK9VIL \6Q8T[WG4 IWQ0*>>0[K7GF^LHB*'UG9^3:=6:8I+\CRQL2 IF1W<78'8G=D1AMMM%FK2?78P18$\9- M9D\0)IUL)^! S&M1[3RQ8'^BAY7\O?-!J3N_P]37]#P("[D!7E._L? M.RGB]I/EQ6&1V _Y NCPEG[(8Q;%8VN=@5>WI_>5HC6:ERM6J8-L)RNF23HL M !N1OQ"^Q7'*&D8>3E#92SI6,EBGNXPC(C$VG LV/''&\<^C(3-Z@FDZH,+? M)+2M6QTO?/18K<:>(SR(Y97$!'>E2;W9;:;EPH#DMB-1$?5"YK]U6"2]WM^= MH=4+F[NQ(_()'9%_WJ%X[%GARSMNR6S_(5*3ZU!+CIT@L?KC^KAQD\Q/K%SM M?LX,N8%"TUS2(Y,7@L@_5Q7VJ[@DY P)K:YA3Q/XW@"&A/<[/'*4DD1>-S= M<%3H,G968OSX0O[)(7:L5:(\S5.%J%M9H@XDMKI6AF=J3?NCZDQM#?C!J)@N M* &WNG&N6P.2X19PA1,N6/70?WD>5[Z6 Q/1FV2(A.7/U@'MV).)/9EOC42[ M*Z7'^H"APAR!&OU.JU=7FEYEN(?>W7RFS&6!I?FN"=1<\/QA+;TOZ,&D:8$Q M\$_N9WCJX=!M<7:.LKT.9;X>F,28<6Z8\3&KGZ=.I37["[_2NWL0F'G%G;)] M3?2Z0YK#GAR;OV"/[/]^)]>DMCFH%CLGL7/RN8'F@YR3QV-NQ^J0WS:-5L:X M*N:3^)(9HJ RT+H-4M6"A%CD"UX]W&'^@@[*_BG8M_)&3ITEXCR\E5-3X3N# MS'MX,X^(\@J'QIPE[=E-NK_*?HCC1W7%;52NS/ICD9)CF4'[=R E+AZ?7*-_Z;E M#GZMFT65/% X[%CA!G"H](8L\ UAF3U-0,";>JTOS*Y!ZGC [[7 MV)Z 2+CT[L %>=[%(%?X@A3UN<.&3WHE-7L&\!8\-=P') .T$XS#LKHZ.9MHV@O;#!"I7;3.B!*1R,,S1"K; MCU=;M:%IX>C'HB';1:,/*R61.D7;!4V P.2])C9);29"!5IW!]T3QLT<#^9] MUF5'/GQ<3RP+RM/UUNI:^@ZKQ&R8?B!SM!A8X,-T'W!8=.911B?8'SHFK8P% M;"(K#GNZJ:-,FDX%GQ@X M,;[P_C"%":D01I*/AI49G*DWM&=[$T";O>?U)O/V+"ZBRF:T\HY'MJ+74.$Z M1)MQE">%%(;P#@IM^=M%TDD!9W(N(*1'I)31V .J>B#_MC=*ALF62>WKZ(F$ M&TX7^8_:')%^4ZJ:-H&QN1CTFY2()GKFN\C$U':M:[&#EFWQ10>L,\/RUZ2K ML8VM)-'_I.NLT-A?1918$P'X-J: EUC_/1R8$ST?5AOS?!>CR1%:V%Y(BHM- MM:)0W47D 82,(3=XXW5#F::VPGSV830O*)JQ)O*&PPE:1S[!PWM(57E:]7O+H=XSYF%YCJVJ(\88Y)FX MF,-_@'"S,5K]I+R(X&+M3G)RBA<)B,!74?$3"BJ[=4FV^MWI+&G@\?C9](E6WGHQIJ8V_OK/C5_.DS&Q#-#Y7XFMSX0J!UPCU:6V"+=3 M/2IZ;+> U/K+%VK01$SWG=E/CDU)NPP7V)0L'O#\7>J*\H_\^1^4&+K$Q?^O MMF,\=ZOH=U\9_DHZ @T!CWZ\4PHT^FI+D@AQB4M(E1H4G:3.W$EXA7YM2=)Q M%=OGVS%VK"O="KK%J9:J(565-<$T9 U9%J/I"LL;C&E9G+E;>5Y365T1.)Z4 M3E8X36"QJ.F2(&FBR2-6,2294?>>D%5.Y01#U7C58#3X8&F*9"H:PR@LUK$N M&@S:?0*9AB(QC*$AI)OPA SOP!*,BE,LA"W5Y(S=FL<:MCB=08JA8857X E& MT71&(=G138:35(.7D;K[!&_P@BQC6C!>T@39$&!4,'W3XF198@15%':K<&L* MYBU9%V2-IW6[X3>@FL%I.I*0RDBR@55C]PE+$EF=0["!1,F MHRJ*IH@LIQF*J%N"Q-$1I585M"P*L,\$,=KB(,G$"-:!F^)DLX= MU!]/ZZU%H=*XZ0/7YWS6N2PBG$UK-+RTVU)NF_1'1D@)P)T+2!>$W@+:4CD)) 2F :C M&H(N[XX"I%*V+%W7@Z 0Y39W6*HU6H=P(JW+L5;.^GS?2G6I]RB23 M:QHK 'J)"!)UA3%Y#4&RYRE\#+#6GOR;@D@"::A M:Y(.C(3IJ)K.*C+H%/2E*);*&^H!O:]7U]-N=ME@I&5A=E6^%SM<8ZGM5WDG MVZ-9Y?9A;%=<)ED3LC?%RTY+K2S#F@([Y<,%4Q8M$!V%LV 4'-8!/4 4=45% MB$4R(W*[=;(U24:FHH!4JR(&?BBF .-&@L89,F-P6+14Z6 TANS?BOUNQF>R MC393*+16:L]H:/L%Y*&EV+:YAW9EYC/HSBK>+8(@G0:)$O;'S1DLH\L22)I M4(_A)4UE&%UC+)&5. 4+AG10W[LR[[>LFC!?CI)*UE]Y8K^15 I!NGZWCNPH6*1QXPF6R(IK&Z HI'*\RJL(&4!7J.@7=V!\2I(80Q6 MLT1"39%3-94S3(!B3E1X#B,88O0$^(E1>?%PB?9L*?)UB?'?*$C.G6Y[JTW7 M8>#8DVC+ED\?D%7-$MSZQ !/L4N#$^%2)YA%BYW=Y1<8?5@EV(8]0WLKNJTU M!PK781[\)(6EHTC)*\.=L\#%VJTK5U<-M5\<%7E1NF%6&M>Z;OQ.OF#/];4F MB1W18"?Y[1*6*Y-@$L4Y_S \VE_(WHW.%"]' 6[WKQ6F6K]2=O()CJC^[^G<\NK8;5>JE\QZ+;,\_>3NZ4C[%2R?NWV^NOIO&Q<%M))MRB.6H.^ MD&OA;LL>-7[\XOC4LWG^,BVS"*8]*&-8]#I?^ M- (*#SP>\G?Q!(6+;U!@*Q@GQN X>S1"A!&LC/?7VPEC#/^F3AIA.Z/(WY%2 M\WL!5!KXV@3VWKKZ^Q,[-2#]S@2WT7TZ\(>."Y2B&K+^:=/A1-RY9KL/E>;M MO*2'0A,(I11()"0DT00H]V5$ UM;WO/ M9SL<2?:(?!0Y*U,2UV[AD-^\PJV5MTSB6V0+J!D%5K..B1/_)G^*9(E\L1$F M,]A$8L-26T-[MMYH@I$1*(#^T^ OC1/L18+(0RK1'=HP?D %4&PN.3_;KO]\B:=M'/54FYD5_MJ\R'+C=SKY;[>MXPA MZ-$8UZWU!GD!S+^/:V#VMU(ZA'OHF=4ENG/<+#'Y;1A^9NP8HQ_KU8PXJ]4F MP)=!IYAL2;/:%-9>$[ 7&/!C!J_TW0"_;1#Z^9WE)S?/"%:, S-2+.H.$3G[ MMPD?*690*0L\P'GO/V&YB' '91VN#L^"&*3YS,,_UQ^VQTB&%$5V25C2",.9 MZ[@_#26CP'?67X1Q9/K-3KAYZSA)U(;9Q(@E.<4J-$KLN^NA;95.__':O^NV"Z']W=C"E?M4IT_EQ;(H[?>WOF*=OR5.62RG25YX@EV*_JLQ^ MB_FQW.>,SBYO?P6:/IN-O&,[@OL'I\(WW*S6:)=TG,_GX:5+\SKG9D; M&<@2[\-M?KSF% MP,/S]OWQ^?_HC;'[10?6GVKXBXOF4] MX/5CKXR?[FSVU G*U]UKUZ&W*IQI!#]1UX5TLE^^:4OLR+YL)$?9L5Q3^,;. M[D[2P\9/,W"78# \/-T/\[XBN-NEH4-LIH&U:(!#!X7X)YM[4%+3<:V'=DMC MDB.S=VW5!^-,G1P $W[\8NE^R^&)Z+<"D!,OG3\2*S]^JN][@?(#H@*?_W+D M.Z+'*%\?E8,%O\@C(5#G]UT5M<>-L[CK_7S.\.M)NW7O9MNK3K7OE9OB;%Q] MR!&\D7_\$B^XM\P8?@H7LTTO!ET!<3_-&O\$X9H3>Q'-PPM9GX9;IUZ^QE[@ M[^$X!02"!U[464;F![*7%9:=KF>DK_3[BCWOIC_<[U/%'FO6%Y4F(]UD MN!'D?EKCB=_'B>%!F]=X?F?F]7Q(".N+S"AV[LX&%/I9XXKU)YG6LYS8G:G7+33B!,^ S/E,M)X^Y1I\=K GZG=^/;W,-U>72:;:O?PLT;;3!A9/O:-X:E(\ MY\F>FC;?V]-]#JH><-/L5#J9UJCHE5U45OF:H7X&I]?N.VEF90^N.LE2K5VW M'8W7:^1J-CB] G/!?/H@IN.C\:>)B'W!^.6I P!?CF\G/V8=AZ+^2!*/N3=G MF9GVKQV3./OLI\T^^P<>Q'@DWGJ7W3G7P05>3/)R75S.2 (6^;6%D^/-!?,!]W>?WOTD?X.?5[!(9I, MI6X!D\A5>8^>UJTYRZ,7_/GL9.#?=N>[!)T(8OIN>'"1RN(ELDFR!)J<9$LISWUJ M9\25^C21PP;%JP0?Y9FA>:=(!O5@$NH*3&Y;[(G*DU0O@>\1H"7J1M*:^T3@ MP:I@4@\!S,Q3J5]P)L+SC@)*$Y M04%[-J;6T-B7,?MQ=$#@A6U@[R)*"T)G'LT-C2_ BI$$/N3S5F'1V9C X>.C M809$.X2'1QK1$@R!2[F$3(I<,#&2 M:S%Z+")^!)(AA9S W9K!9I3P81#:XK![TPY+2!"(I%GB:>XB\O ZBSQ-'T12 M%)TUSOWW7G;-7W$>]L,\[%*=@Q$D1!5'A-812&9( 6-!5SNJ9( M).^W(9N"S.YE#^:P8%B&J%DJ2Y[@1$TW%%7#$FOP,F857;9VG^ ER^1D2]$, MF60\1Z*B*8+":@*#3<9B)).1]S(4"P)6!%$W-([D:!9$%=[!(*S)@B"IK*@8 M/+>7\5QA686!MV@<1W*DBQROZ1*O:*JIFK(DF)R.=G.]MPUMU<]P MLJ3/I45I7@X:L#S9RW1N*0*+.5;4)$Y78=0B4(M3#8V5%,P)\!;3,/;['HPF M[465ZS1'R?RM.4N/,FFE>#2KM^-/A3O+4TK,Q)W=S;1T/XV<-+3:(B]KDD#EQ 2N8RS#6U150Z ,W=*<2(8G, PK78S MR:R,# K,AB;MTULU>0.+#*>) C(TP91@W(S.:#*H#*LHT+-XD'==J#78&6=H M7J>8Z?%N>Y7E"KV!)N^/V] MPQ1!CF21Q3!:A@6% ^H8/ \:*!J*;!SFB9\4 MRWV!G>4Z55$FBYQ@I(PFO2DJH[G5S"73FKH_ M0Y[118[#,#H)$9U7+ U)!J^IK"D)LL1(6#B@7NFNX"87O0R3[U[)M;0S70V0 MMM0 9?8Z-Y$E\#*I%J$#<@F< ))N"*S&F? R0U)U).G[G?O!R.KW#&F1S^K, MG.?<8J67A,X/M)TUL0&2A$DA QBY90@:4G1=,TU!Y 6&1XQR(%.K0J93O,WW M) 9=E7IE4;^;Y!H#DD-POV@"CQ4)J99F\09 B:F"$DOP":NFH?.&@$7^H 3" MP!IQ?+W=[HQ:SH0ME(QNH<$"3!UH,=F4FM1T6M+IJC?94U?T:]D&S<*:FQ_GC6ZV&. + =ZS !H"YA7-<-"@!$&J0;" M8DMC9%,R+06XS!UTSMY,>7UX.PY&K:(]JO:;K:NV#2.7]COG3*SRIJIJJDB* M,K!DY(PB:$ -@V59!*K('G:.A_<+SIUWZBLE7ZCU[SIR 49^H,D*+P-N E0" M"@-RF@!#"(/=D7@3 X2:B#VL*S#W:M@R\U4TTO M;Z^K\TJWA&DIV;W.!0L9#%%)PT @BLB2-1V\ DT$E\5206;8PQH4?=%B9HW! M=,P4;T2CH\SMS*J<)B4D]T%1Y719,75- GT'4>09#>G$(5)XW6!@<R4Q M)%&W>*)GBF(!C'(2--8E@&&6%4ESG57VR[/P)D(F\!4LJT&<%0D4%:@#Q!+ MO"B8E?=*I["2*+-8) 140(8- =[!8 YDF\.RKAB2(>Z-RM!5T^1A'H) 2L"0 M*B0*9YF::.D !# ^A=^;.:-P!JN#"\42=@G@HFDZR)\&]MLT6 X$W-HK&L,: MLF&HLJ*9N@3R27!-U>%9AK4X26(Y!;1WSZ@J @^L T5GP,<0!!&H:P(&(X%1 M1-D497Z_[(\L@V-C@7UB31B+P$LB$!:DEL>J8BD&RUCF/@PB<'O 0]203)!* M #N!6%'7P-*)X-"H+"\G50^-8F1GIYK*\FO9O*LRD*91LKSQQ1(^TW'-V+4D&G"!FAB%E M<4@Q$]V02$T6HH^8DWCCT SW4*4X-^U6?J[=E&X1FI@#(7VL%,Q5DRLV[&XA M.\+YJ9L="_9-*UB&.0-V6V;D0F]N!2.GDVUD[Y)7BT*Y>'VD: S+@&-%U@B( M!U 51"QJ"N VJ0,# J8CDV?WI1=+V.3!O1# $PSK'JE(-35&@*8R+_',(;Q/ M^G:KVBSWA,Z*+?*KLGW-J^;@6-&88NFAF6RK2S1:W6@3MU>IY&\SC8.B,=#R M7BC.Y"JNNQW)3[LENDO,S>#'6LB!8/?H>%&2*E8%-4+'-DV\+0=8:' M>>X5=3(4CC5$6!0A5@&G@47 0UGE-4!O$U338BWY8(;(E=6YUO/8?$NKC]LU MMM@L-I;'RLOHBM=/J_V?O2WL39[8_WX\TWP'US)6>*X5<[TO?_[3$OD,( M.$#>6%[*8# 8O$#(IY]3MB%L6;J;+8FE1_T \5)UEM]9JNH<>=3HE@3/,0OI M\NQ >QE% WM/@F\-Y@&W'P)_2S#P4) !($& !Z/MZ#R #0=J =XE0"?@-.8, MC%G&&*A1M &\WO-'.NYX:/"ZE9A.'6I(XVO94GEL>J,1$DR) M&6?&DF7AG1,[XU9IFL:];["S"/3F!#!%!D]CEXOB68QPY ZZ\5AR( B3#4;# M8L41<(>*#25P"WP('ORLW='DF[DQ?<]-[R73:-S?-YN2^C#&CO\!!_J^-LAK MMIZC3-&O/A?O%Y4DOG)%B]]O)T/]5CL9^F-G'/ZF7G4N\Y(@WLP'IR;Z1KHX M6G,KF=IX_D2*I=&L;W!VRN%H^2'U>BGK V]VT\N-;_O%JT?C_K"W4/P1X3]. M3'[8J_5*4.\O4.W.H>7JG:7O+2-I>?<>O1B6L@9]4P^0,/V&NP M^<'&RYO9<[RR, X6('';D'6?X7\.U-6^UISR5Z[W+7"W OG6=M"-K-[&\_%6 M)KQ^OZ+;ZGO0B^9GF ;&FXG>3;]&R?;@Q:M+%=6U+=]#)TZ['E[6^]V:L9M) M]+_.QXG?/+GR+B2=XECV:Z;RYU$VH[^MV6?AXNJQ M&1BSZICPF"*RY@C/ S\2)IS,=<0M&'P,+@U,3';8KV<@8(OX$(EX_*O/B5[9?W,I((3*A/J36ZG 051F4:@L--?)+>\6O9(D MDN)S,THI4P @W!DJ)5TOLM3MH/6?Z_KXG(,=, HY4EB::CW\Z #^H*$AVIII-Y5"/Z\LZV=$5-16N]_#?Q7_)O7*H MY-!QEM7)DK]R;"Y=?.;2A21"J+DT%6(H.H,K]')<,CHT? "$GOMMBM:':6V4 M5%NV**GEUE""S &OZ SZ^"W_Z.9_Y9T@+Q6L0Q:HF%TD(: >$#O3[J \94L8HPD M%T,2G#:<>.&5]VN=.(0G_0';;W8H]DGBT)QBZT*R6ZC@TWJ )R1]PWV/(/YU M;\7&135P/9FP?0!XYAASP@X")\_M7QJ-CK+G*/9_OB!JO9)-/ YB!4I7FH0= M.QI&.E*X ^AES*9B24\2/:(Q=I0)23\5W603GP<.EV&9;[$.T@CJW6@A":-D M0>S_Q$CR*9#DY/Y/H!V'(BEE0 T'!;63FTW3#WF]5%VHTQ0^[H]='V*_CN-W M\GM"2+'L23^)ZU6^#RJ?)443[]R(8>A<,!0H4=V>:)MP= "):$9\4J<9XI[P M:[K:TFQSF&%3F&P4KA_^'5R8.\>>PL"705X')X6G>+=&[,3$Z/%MT6.E$G>X MCF64%YZ^LANU1TA/6CEED,1XP3QH)9)]*E;[N 0((A(4M_:ERE$IYN_2\+F MS&?*8G?H"P/:2G<.8,Y\SM +16(+HXQBM+/SIMP5G3ZN"X:7HI@;AMYO1/ % M/9=-5,=UF*,V,7$:)E;XSZCPYVN:E%Q*7.\A/52)3G7TU+ (3E[>+7#I/\ / MFC]3M_'K!98J4ER4"$0V:1M)WXTP)4["Q%['%P6A8Z\J-:;!%M-)/]"E>TSX MAB&YX:T'(*E$JW*1JG?(7$;)4D7#Z3P8N10N&(I3PC<4_2UVV*16NVFFRC+> M2G/M\(%9]L^W18P3KAYM_B'2B+M0(0XM)HWNTV1S.>V,D@O?3UO="3._#ZH! MXV#HAJ3VL[C__D[.S&H-?WLKC1;LK@E2ONNC?*O&3;&;\[7R;";;1X,3Q2K=RD6H=6H*RQR/63F<%HE-\&F;JR5/!;KMCG D.-Q'S[/=V?O;;#SV'Y_%._)U6D#K(?=,<>4&2ZB7N1!.D<0=A?H/J*3DUUO8OO MN&[-I>N 7(?;*+5)(7GD3*71#>%&Q8% M"$2PXK?PC>(:*7&-E'B%ZP@.T6H[SD& JA]ZJN! M1L-RT50!XXLLW$5]I2:WB12,*9IL_V6,+^5T]ENXAVW5-QOL -$]!= 2Z5C[ M@2ZW5]WUYNSC>B6L*$U6:S8K =QO4K1F]MZVN)O$ B5\#Z;[C,*>1R]B.D;> MP-;!)/:7P!4R3;"9LBK25H[XVWB02, M.+"1^$FKY:97!HYM,[P_+%,#%L+&Q6O#OB!@)P;F=&<"RGI1:[5ZM3D+N'9@ M:H.P\9.+U[A6:.'86*%15 L'MR4!B?7 (*E^V-TH!!!WK:NZZ08KD2$](F6, MQNX'*@<";[JC9%C*&RY;W9%PPNF"UJVU."*]@R(V!9? V!P$>CT!DF&0\QQ% M1X'UBMZS +7:X(L*< )QU[J5C>,J+$B@C -RL E\3J[^' M[.C^.9KXN*N3@Y3Q 5J8;DB*FW6SK%"_\=17#XQ*?:XT&WRJD,CXCC<("/-M M :-7S!D#YB9<<&< A30%EQ*-9"9,X 7@. WD 80-@S1^XV1-F=>UPGQSPRA@ M9_#1ULQ@.71A>@,LX A$Q N+M;^("HP#9 @@-XI%5D1>,_4] M-V(IJ,TX,# ;<_ Q%QO+)OB8V%4H%GN@5C*5.NN^9LE\ES'D^^QQ0R< M/_RM!AP:^^/(N3N^NSCO&\7GE,_ZH\)#:6!4]4E*7FZYB]0'0UA<%2@/=,U& M5+T'>J[=O"05^GEUQ7'D9:\MDH_M]$@JW)G/I,PB/T\W(<[:E^?2>S8SHA\5IN= =E*:>]ES-$[-B*LN83S-ZRBR M"_O+(/^ZW2AAO 33$6R*>+$*:V/RHI)AT\$0^ (7$&YXV3OAH+$20@^HL^%; MX,[-0?FP?40*X,(NVB0T"_Y_>U'_XH-^SV?N=;F*WO+ &P]5@2<;6Z/# "^] MK"E#V\E@?NQWOFSP*3)96J;U'+JOEHHD\=R>\XO]?J&'KPOZA9(7ZY/YNA<8 M]:.,O+!U.\U_=-R\T0GV"L7-*,,?+M2,\K6D$TO=DNS%#[K]=@N\O^P71]+? M;/YD1SQW_U__^<_ZN>PU\+V2I^&LXC.;Q#@ M897F/=:,OQ5_3V^H_Y:_ZWS&-^WVE +EKF^.>S]E5G[Q,R7PG1[U330-Y> HQF^3RP->;SFBSU=]*YE/-8N MP$N8S'2X2^*T]=3.GJ59R?4))W6>K.H[$IS;WK 2<_'J8K&/N('%SJ#MZSN:6"X;SAWCJV';XC@)7KTI/KD]:1ELY=;/M?];O6>GWK.8FOU M/NDB[:?N.PNP'"Z:[*['?F 5MA/ .-)3( M*'X56'1OUER-%95I\?DX5Z%S+ MD%N#;/47WZA_0@P2 M'\UE)35HU',<[75GO*GJDG =AR+?+K4WR,A6:V"6O&AM<&&,7B4JHA.3/+44PM63 [965"?P;O[J'" M#>S27.@3K7:MJ]A92TG5,,2 =\?>"*+P.,,9J#->!W7/[VT^6N-R&Q]4)9)-IM9J M-OF[1C$EL]C;%./TY"72DY>N#W2MU D=X$M3)W:0_PCNQ.>ZUY ZZ9:D.(XU M["6[]RVT^ 2^,LD0R0>QB*I$0>%&PGC9UZ5Q'P 2?&6*^9JI4-M3K#BE<%6> M[Z5G^1U8>?%333$KCYOHNWB)L_=7@H_@ \6EV[YFZ;8_<%:T!9V9^EHG32"I MP+M$EE0[]:;,86?E8PW27JOEM209;U9NW+U MA!/G*BCF1?XD)@!83;^_=__:W,Z^^%0I+0;](OH0@7ZVT=)U4'***D8 M\/Z?BK50EFXT65Z\7>/TWA,>%7:/Y\?&W( U] M__D=)#!P, M(?^G;6N'#G#\Z2O#K_A!H#, "M;6"9#HIPU)PL3%?G90 L(V$AD[J.7P4EQ9 M^;4A28=5;)=OA]BQH[.KXB!M@BL^9E.$1632%-E[G,V2.90*BG[0K]_U9JF0 M0P!Q)8[$N:J6A)/OXWI7. &=M'TO8:O ;V55-7"W2%=8\6Y@HCD*RH^!)+A3 M,"%!$<.7NG F8+UG@P%)V'-<%S%Q70G2E*"Z-=I[[A.-6J_7\$BI5:^F/I+( M?*7>IP^T62UAQ8%8IS,3>#PF067F_P!B"4 M__=+NCG&VV OUQDICD))$M%I/FKY M!]TMYYS^CU_[5?DQSRS,!<^..7-$SA3!HAUDS2+WF$GI]_DT,::MYUDY4\D8 MO<6/7_LUS#[4@B!BWVTBT4%;-3V#HIU 6L4Z4"CQ'0C>*CQ9PQQ-9!3'LA,M M<^Q;F[5$]\HBXO*3J\J(8Z2XOA/0",:7>2EC&!1#W*AEN*JO>?:Z>><#^1>! M_&B!_8_7Q2L2KF'5&^TJP64,4BQE[K,DC[6=NMTO@K^R^!\0KG]MESA=\7J! M$BK>=#A'@:W>J!:+3<-:$@+G*JAEF0 78(0\, I.6-42'OA2(!,7!_55%\U\ M+(ZKNLX;983UX-T?$%L8#0P^DKJ@0N:&Y =5^F!PMA/4^@RM&1;+H-YS5!$- M;1BS-[5F;=_<=X<>E!W=*)ULCB$Z-<.*R[AE8^2^G*!4X*?P" ^<#@_B ].# M$$#;/R'^XU?0DR:QH:KN9ZBR>(YQE28)'(%ZD3T/JG*G6H%:[E7G#NLL1Z7- M(X.Q*;I!$=H$LI &P >@$T@_!A';P6);!ST:8*M@6V H5]ICF([K)68^*#JP M"!Z!43;TX148$;!TMXX[7'-LM^.]JI5W\_HPDS+KKI3)EGN\:9.L*&W[#.Q? M^PPOGD(;' 770 Y $GG0(Z@]LV.'M OWHY8GS,0!Y9O/-L WQ/[[_0->#'X[ MJ-B\76X]Q+>@(&3"]IU-]H$\S8'@@%BH'UKD6%U"H75QE7U]6VI),5"/EP+^ M+^7P3;!<4 Q[6ZB"'B%_P22 ?-:WB2JU4S8 MDA?;(MPS S(8F#CZK/V GMMV)J88!P<7,?['US<$O@'9A0NP#2BB/^&3P^^ MD/_]=U!_]F3ZPP3Z0XI8?SB9)L(O'_&9PE&VGR(*N*6)=@ON4LES.\%T&WBV MK8W)1MX34];L;D^H61*GE++=HL.U>OG%Y513]G/C<4=/601JBD-))^?%^@S" M9(IF;_=+/Z]C*6!MZ"J=)J(Z#R^D42Z=,1>E:4XI"26VN+!KY6SSF+PX:EN6 M3;9UB\7L^)X?V+E.IEIVY'RGO:P VTB!O]U/[*_9ALOO1XU'PB+VZ\X76&G? M+BY_&U;T/V3BHE*\>JRHKPK'7>1.M^V([ZLQ([?@V*Y[D,NI3-)72[H^E,;3 MAV6Y5667Z3(.>WCA+2Z#:<05]6]B=AP#-S>4LA1V:],/,DO7I0PJ3'(+HE D MVZ7I)&<7Z 4@*?L.KR8V;G( \=:J4P6>!3;30 H'G%@E!MFW$L0?95I*G^,L MQF%-*QNN8;:-.T+J% 7TW.SI;EYMXE-6M_MIJS7SE/"1,<_>R/&L,PI1HKZQ MSF;L0>%!SCS<<4NKK/*I7&LQR+?*.D\W&K@E@O@69][)HP1-6&(6A2QJ*T\Y M" TL\SD@3F2I&I.-X1[D#+5P^M)#@;5:[DT)U"-:)N*7>2,+CICH; M;UOEF6[ I31P5PEU>0+.?'[#]9OXU[&=$8PRHTQQEBD5-'0:;[89W63DH\%D M:FKJKDTLS4:)OW,Z F6!,\G?"F^XDN$;P-,(7I%0UN^X706(.'I/&+YE):/0 M_%"R)A3[!EG04G#W3:*-GA0W7.ZSIQ$-\1*>8_O] 4:, M(';VHL96P=6WB=1^7[B-%,7-UMP/1[[+U7U1U/Q[.8T#&;#HE5O#V,I\?5"; M3 ^-Y=2R;BC#SF22X\:-VD-&ZB.C^.JJPX8ZK?)/\(WSC!2C%@J5G%F=3AXD MQ!&-T5;^J53/[R\+@^"_EH+-+$9U#X]"&[3'H\DU,A1 MYOUL0!3&8,U!PO8%>D5-+$0;R4/,##R9]9( "&.4H?!\;83TI#F)DA2AE"% MBD":7V3IC9 I:CN'N[,=?O]-%%7A)ZY,&,YH0@1WXG3B'[#SO#F+ =M5FR<#@PU0)/6R >H#JV/M=8>\H+?4!D;BU/FF MKN %H'42($(QW+$0'\<)EYI,O(2(D3G TW!E*=@V 4I@XOZ(>+M+L)ZVN[H$ M6M38?5Q:L0+'NS5 R%N]>:ZW[X/ MNZ6:YN#LZ\80;A.YIQ44;.(]7O3 BQ];J+%CD-P-,Q @&D6L][< &6!.>"M, M"&^XERI>&<06]&:[I6JX)!(\N]]W$+C1N.5AZ@6Z-E<.M\G\3X2:*Q!;9W;A MFH2*$.ZLF0AR4"K>56/".(V$AAQ/@3=N2UFX00JS>6,?P%830_ OG7Z0K&KY M@-J;P#E P026@;#BJ6ZTQ'U9^\2D1T P>[G:AQ4FT"TKC.N0/;\(&"-6+R$L3X$]R%=-T3='_$@>.! MT_UK%\%!&C*GP0#6SK874>/EP<':BH9WCP9#QE*#)FXX2O2$/Z-PTUDPW6!M M.;@9Z;>KT\@;._;/O@-PX\+IGU?=5@(C([,D1W.Z3LF(4S29X5A%%GF!E@6. MY"F>)$0*&3_"O9G1'0:MB1"-,7"556!):5.56A.(VG#5%% MVW=0.DV3+*W('(,4&)7!RX("I&,Y FZD&8Y3Q)T[X!6(@OGR!,+S *H)!,W) M(@U_8$2#$/F=.T@D4$CC=5EAX6*&4D6@+D'!'0K#*XK(&ZJZ0RM:)'2@EJRQ M(HEIIBRSI*&0K &*0CL M]AT:B72-(G691S0K,PSX6(*A"S*C*8H.$V'$'2EI:W*+JS6;[52CDLOT2*\L MZZ)9*#6QH[9[)5VPEYSS[%2)1NII+AJ+P1TNU ;LWAZ%B%@0< &8I9!XW!P# M5!)$V1 8@N,I32!(???9K-AK/Q$U#NIG"H5VMR26Z32E>?D J[!2F\3NE=:] MJSQ: YO+42(]R6KS!SJ#%G#EWLSDB=$J)QDQ.:(JMC^ZSU4HDL:%\/9FQDRE M6M>K:""NC;O1LYI[=,4NOI+;O=)EYC6Y.U+\4>NY7NWWEPV[_(S'N4,#7A58 M#G'P:)T">4$*B#*6-084'&0-9)W0=I_=&67NV$*[G0,:T-K=A%QJV@27=B%V M))]0!)T!@FHT#?+ Z H '8 ?#1+,J"1B"(/>>W:%-:5T5S?I(:M9Z>\HK"-V'0*9G;G2%X/:Q!D)QL4!SH'5() M64&$(I."R(#2:X;!&7MZUU.&W8+@<9+"D:DAWZW49\N%S.\]6V04!0DJD)$# M-.,1S$Q$E*P8 %,LSVI($_?D@Z&DN?7HR1(UNE-]RFZ34G\HU> MLZ9#Z)5//IL(Y4=^"J[ M)LQS';O4X]MHF'Q*XBMW9(ZE-887%4 U0D=@ 7@6(YTHL[I@,)I *[Q.[=RA M@,'1@0PB(7)@-W4P9X3.R0I#L:S ((U5R.B./V_)^MKFENT@ZN@ M/'>;*&RN\FZN1"=>:),(B7,#(_+6E>>/,_+M@T3"3J":)(57(M4@A/V3_7.K M^1ZG!_#'!.ZE8^_J[?O2-6DDI46.G"%BEGKL9"I]>JJAU/F;Z^[*3W!F97N7 MJ*8XSC+(S8Z#[;$0/+SL%0BZS$=-=]W$/P=:[5YC2UN!N27$OVMI&SR'$6YY M[JUCTQNGM#:>CX,GO#E\%8"LO@?9EI_AL3Z<_GSW.%UT>#)X\>I2175MR_?0 MB8_1O1UU??0X]^:AR \=@8[.<;]=]#"F^I&I_OJ!>N'-J@$Q(\[%"/:6CSEQ M#9R@;@DR9L05,(*\Y<28$=? ".:6>K,#9#\6NGVO"1VC3R=^RU]UKOH9P0BS8@]>*]N = MK3GKV['"MY,%]E8\+4'^NE?YRW[,(\O">[[9>8JL7[5TD+?\Y;L)G(I$L>&\ MM.&\WD[6H8G\Q)VL6^&6]<]B-J]7$D(#&4M";#1_SVA^8HF)ZLZK;]O*WVTG M<3$CNMJOKGB)+-*"@V$)FKS!!TR$8_3)N(H@\](-4]Y>E?QL_9S?7=S[:N6[ M26%]#K.U.B.R.BH4&1!W?1KS)3Q?1611!;ME=.SR$7ED1EXZ^JA0;#YI0H'. M<\D_K]N]VM-SH- V_SA"M#)W.4DI+]+WN9Y[;QIXLR<=5%&Y(87]X["G[9MT MV?S"I6'@[07 3P<#[ZVC70 &,#=)ZK3MY\[MX^W.^MJD^NVEHT\GU>^MP'Q! MXY;L*=V!7U6=W)C6<@PY]%HNW3R%1:KG1_>/\^Q#-C=#6;[ACY<#[0E;)/$C M%ND3Y*126Z<")_KND<.76@1NXI\60HFZ[:$P/F?_?74IJ.MHDG-V[_EHW;"_ M@:?\W@G](SK.-8M(SJY-5JW]/4DM[X\^Y\ZW,8T?%JF EP9E6M?P^Z M1FP/59,2/1TM9;'.:O6:U6[C,TO@3+/\H5K/UY]8O []/KM;?#S]OD(7^&KU M^V6M\A7]]GI9R750K4!D^L*C-"_P/>XO.M7_IGY7[DPWVWI,VX29,=.27630 M2,/ZS?WX)7(WG+!?P>,S9HQ/$TUWB MO/X1\_J7;O5]M=0)8Y]+D^=MTY?XYVK=I4N%0T&'C])$NDTBEWFT4L93C>32Q$)F<6!$WI#$?M^K@XF.>)'A>(L,EU:Z MJZ5.&*]=FCS7[+)=?SSW&D#MXA)])_6GM;Y&$7X+2=*S6[H?## N<:_A4KQL M=.9EHTLKXM52)PP=+TV>OUMZ_02K-6]L?A+CQ9CK6(RYP"2__JK-SA+P4>.2 M)96W\I0Y?QAQ*:)6LXI#@K>>4'#-"5:>5&\R;N'H^7DUF M;CANO[U)O"QSMMERU+ MX[K"C"<51JX__WW"\("ZEE-=;MB_=WLY"MGDM&V.9">%U57\\8NFJ1N&>4M? M/_/2R]'W?\7K,O&ZS#=;ESEW#G2OK.H1@Z&R7V^UZ$+W890D]-RPK8G$0O[[ MK;4?7 '7*2M3ELM#-"HX*>YQ1+,,JTJ_7G I(Y"XPL>M) MESTB2S1;*;\TEQ+704>06_AO=@C6.X* M^M*ONUX?NQW\A;,_GHV=UFNJ07*->(3*Y>:DT'G9'Z=H" MS"O)W1XZU[OS0P)TSHIZHRLO+TZ8ZS?C)G5.'^$^W* I<%G8!SLHL[_NYSY^ MJ=SM1D1;G="[3:R[4V_J?EC)?J- OV8AQ<'&8/!?W72GEK+\&;%7D38Q G[A?[Q MO__[?VWU,=C+]D7F;X-^$5VHP!+V43)LDZ 8\/Z?BK50EFXT65Z\78?9/]<6 ME Y DP Z_RNQ\1E398]KN&_@!N&VNTZ&MVVW!ES]^$Z[AHCIGCW]29&WW#;# M&?*69_=X?FSW)6 -_<*?_U$2 P=CR_]IV]JA8J1_^LKP*WX0: B AK55S33Z M:4.2,'&Q+0O:/8)"9NR@;Z.[=B657QN2=%C%=OEVB!VK!MJJPAG(X&6#PHW M>9V419U49(4R#*2Q+$4P.VV]%4)@=!5QLL:2&FYHKL$=O""3/-(5FA8$A2.W M[V!90T\98+FS#0K*QHC MRJ*@:@*GPCW\3J-<@J-T5N-I65$-569(N$T424,6"4*#T?&TH>\TXV44A11H MC99%4@N:C6NRH-.BS.DT+Q**J/'L7M-T1+ L8\B\@' K=Y6155ZG9%4@"85@ M"06I_/8=O")2N@8>0: ]-G.!E(!%0C#-I@6<+@M)UV\9PB& Q-"#)/*KS, M" CW:V85V2 -31-87M.,G5&Q.LU0G*C*%,,"K71"@U&1P!Y1TU5.U6C$[#9- M%RA*TX$5%! ':,5ILJ*SE*PK M(,G6<8?H>#*J/Q!LOPLFB0, ]:). =/"$3 M,&=6)!6=-':H:[ $80@B*P/%$/"<(&6!XAE9('A.T7B%9.B=43$4I6J8 :2& MVW #FV51HTA9U7E$P\LTFMFE%4%P!+!)YA //$0)1M*#(',\! M!TF=EE51-T#>"!IXQ5$&N3L/3E!HW@!I%U30*%&%F0N&+BL\R:@&H>)&V5MW M@*L//G3;(9O6/^]9OE9]EAK48TO/HU2YR?3A2F;W M2L69R /7H7BI4YK71D:Z0)C5)EY@V>GIS2-.TVA!DP%0 M5A914)+"@(!>1% M-,F@O4[=VC@K]?-R>Y8;VX*8O:/5^5+'W>SW!MQI#!6N49)HPI_+E+MT4D-U MT(0K]P9,YDN517)FYD8M?IY]GI;E96?9AROYW2O3XS957-#F\ZCBW;/F8+ZH M5*OX2G)OH(-&47:>9U:9* RZ1*K(MU,/;' IO<,VWN!8@0 < S* B LJL WT M4".0SM&&!FJF[#[<;A5YCO1*PU&KV'ABU,73\_RY*=/[5*AGA?1 >$R6)FI6F):#=SY?H\*Z*&DU7.E,C$R[YT"L[2G3_G4 J[LX-LKM.:B>/Y=+',5O%#=^EFZ**H4XB0 4=!U$HM;,E MLI+IR^P.W62=4#@.C!DPAP-9IL%[$$AX-L4#+*L4XFA]QQ@R/")X3<$RKP,K M"0Y,+ZU!$*>3\$6D$$^B/8!1R(PQX)[M7*%,Y@=X 5HLP$]6 3T@#ET=#8.B4 MO='TRI*LUR;W3,Y_:MYYI-7MBV9*YO=E2BRWT@K*,"B7S&E^VR-+S4H#7[DG M4\-^GQ#NEX]SB7.$%LM4LGG7:<*5>S+E<=.GQMU2%B1*K GEML UF1Q^YKY, M57K&2+Z?++-$IUIFS73->ZZ5%OC2'9FB.$-A2! G@64 *!023 IC<#(87)U7 M29&B=YTY%6C&@0F1#4$ \Z:!,15YFI?A000"OP@21S(JTPX$83!+.2( BY M<4[$G/C!KH:0]:IL-OH622O22,H@VJN4FQQ5[/9E?"D99E'@#J2GO/>NIHX; M)Q_(X1'[*;P.2DR1@[,K"=MW$LH$9F=MYBL\Y,($^@F8<$/S;!4YX2YT\B9A M.XFQ[:"$X:"9#]=:RYN$:230/-BUCK-\FNEH_MCU<#K03<"(3 VG.38>/U:6 MB8$RA\A+TWS'0?IM(N4F=-/5?-?%F9/)QLYWZB8X/4P1_VWY8YC3$L=K+0CB M3 ,>#$]+:1K$\L%X[VS+U$SDW@1WD/]-+%#X(IQ@L:),!$TW,%$MX*_Z[ICC.$O\YN.LVB#W/ M+A;AWID/BT0B.@M]@ZD<$1.8%Y 3V+%/3R"A@PX0""E!,FR+0@O%3> WCH-4 M&LXS]N')6$0PK^$G37$'"=S&$GBA(PMT;JP"G_3$PO0&<"E,TJDM#4T4Q[37:=35#XT)>DECMD-&1(G4PC.W4(IB;3A*IDW4&4Z= MT5UQ:Z]FJ9[_0"857O>S$U!"Z:-41)VVG5T3/ /TS@.Y4Q/%6KJFF[>=O3&M MLZM):B.]JMF9I;?H.FBD]'FS*Q0+-8U+_?C%[I^__=C.EPT/23=GN>OQC96@[IK=8*B!N5FOBBTPXKDOQ@K,!1@W M]*1A]/\'KP9L#50@_O7OEUFY4Z0%&+K]HO7[MZ=T@U<5+,#7A7UX9,%8'*0% M1CNA1!LF8<#Z:X1X&2J,:?MMP6*'!U9, 4MZ;EW4D2E745^Q2YG8%M6MR99J4A]4S#OD8/J"9C:,/%#R(2!D:9(+R-@P,A$1@]\!+.Y7 MC,*4<@^K)LG6"'&0% EB^:Q1?K&P+/7K_1^_J/V-\/^*5HH^A^M $8= M&-;(:.D,OV)7O+&0PE#L2:@$@ P@3Q,M0..[\8); M/Y3S?2?L,+K#!0.8V'(%>JM!;])AA):ON]?_F+< 9F-%FA5-+QM@MK?0/>O("!5(K7&# MMCF>8D[ '= 4'\LZ\"O3>"AEDZ08<#TDVMHZNS C"P3LQ8)NR,%T/;V;4&'V M \1 .US?Q=!FXF5*T+\-4'5,=P1!N WQZQI'X.,<.2[:!#:L"R\XM0,-*R $ MU'#L9 01KT#)!EB$2@I@9NF)"=X'!#J /9NPLC"(]O@VT?)!87?'$]X2[0!* M+ !IT"08UNI]&^^(0-FR-27\ 6<> OS"[P=,G#H@- Y8MF"_1 #]88BN^P&Q MULR!&^W@#YLHNGY1P.I#6Y9N(HX&'I*RO],)[CGM%J83*&BKTK>SZ5RS0:!N M34V.B(8\>$[]];Z;@]MJLA17[O9*W:?1N)!?FAR7DB9\']?+O]W?L+[:1'.A MU$<[2$THV\XZB"#^&3Z\:+\9&7-X/RAOH!=#7P_K:)N3N6W-P_Q5E+O POVA MA,=MHA-X[V!L5&29(*GKW-58T;'-4UQ0<8P#J[1(.! P/?YX&JFEO?[C@;<> M\)QNHG36U(8X,L 8K-@X>0*VU 1 "14WTML@6W>;*.%M3A[V\2*O)Z ;MMV! M ^-Z0:X'9V'P&X,$'_SPZJB#E&)@#E=7KL# ]CW+MD<13L"%:Q7Y"WIKH]A1CN=MZWU+&R#=M[!M M-D&.4!4,@/XRK'!4P>::-KPX#1@^^K%*G5OS::E:<;*%W#CK-PH]IW"O4N"W M(("0*;S#D?'3XJ3F2P(-( ^7;_ M_3/@0[!A;KWM+-Q]K>'+IR[ZN?JP.68\Q&B'%MY>I(7;DE;[]P)Q4WS/7OT0 M[@<+?MD2R4T9#:\AUGN]>/*6%H/=7IZS&EKT2C*4SC\_,L3<$F^>&-S82+7Q M2AM>@Q-\JXW]J^])_.B?XZ798JX,+ MX8\?/;RPN6_QI(>W8D:*^$8,R(,S%"O.5CC;@& M1L30="6,B*'I6A@!;E,<25P#)V)LNA)&Q-AT)8R(W:8K840,35?"B!B:KH41 ML=MT7$Y\O.+?'^?$ST<(O"JUM[9TEKHZEZXE=A4T>"\3_-=$6*]#'JJ6$+U$ MW7K)]B)CN*L8Z17V2/ 6T\-S>_O_'@LEKMZ0WJ.Q8@8;&R47 M&;Z5P/MCW,\"DB=B]AH.J3^%0XAN1/ZJ&5]P;-=-I&U[%#/[;YE-GKK/ZM\R M>Z/(7,SM6+5C9G\#U8X=UMAA_5.']1.'<>8DT4.*$[NP1[)SGU@4@@-WL1P< MQP1^8CE(C?%!HN?@,$DL#C$LQ+ 0P\*;L'"$QMW7Y%-G?!?&A)S$?; 4;D_< M@3EUOUB#W)6@GW!2)T_FOEU$/GK+GQ^8Q'6A[O$AV>!L-OY6,R?FV!]')ZY7 M31/>."B97M9PI:&,I;AA"X75/2L9VQ*QZ+E:RA&>BKG!TRCCI]4'I])?#(:+ MK;/;21=I/W7?P768=D]POCZ<,&5=-0VT<9;[/F,U>G2S\DBT^+Y&6\K4]]*I MOR+7\6GM4N.>;A7M<9^OHA&EK,M%I:.-GUL[.]+.U:?I6/-Y;\_I%VS/="I\X&GR MV,&#%BQ,[%.ZT!CXT>%4_2 MU9355:1&NEED*LIC3Q3/ZESDT\U\M4+4M!%GC>_5;+WFB(6@)P8)8"'0-P1' MQMY%C!6Q=_&U\>'CWL5P)/286; MQ>?<$I$&?;#L_F=8K?B=M&R]K6!%V$:SIUCZWX@]9',1(]V%F6A+[3$ M.5$P:W27>[:6+=P"_C0)6,M8<(M4=Z9*R8*N9)!8;7*=Q<42L._0IMF7I=JT MLVB,6O,[MECPF?:=>:(<[)">#WN"]U3-93C&:6:UQM.LB%MI43]^47^6@[U^ M!#B"AW/]CLS18.Z[!3BG5>ZI*VE>:W.+(_M.TY^4C?< 64_F/N,M?UK:?MW,^I_F95X1_,7V79FXDRM M'M$8U)3^LLX]+A:+L5OJ/>2KV(/'.4?NAA;V.X2\G7+\S%M) MVP[N\%$'*L?[1^/]HT?,8 :"%2?/446V@! M\.KT9#"F-=24N,KP?E&?2?GD:"%S09:2N&7CK:*77:&]X)&+2\"F>.G"0E<6 M7!T;6@8"FV93 _LYU[I+U9VQEVN2XEESI.PS7RF.V>90JK0J3^XB;S81DP+ M87_\$LD;1F3C72 QQIQAJ\BE9_V9T[47Q)7?V)V:[#($4YJ*$C**C]/L.,.H M1>S:X 2M<,,=V&\6;TZ-H29V9ZXVH;0'.[K+-6G3[M83USN)-V3^S:+NMC6BP1KIMH^;3E_$ M"!\\>G($7_X"\[H>9QXO$G')#"&I=IE(,JKUG)4EE2?.NCNCV>Z88XKC4CE% ME#4FU6N.N6$3M)C]\8OFN!M1X./M&;$FO^\P7Y#[M_;B3RQ5ZTKV* M&$28RX$PS(^>/,-+@3[CI!W-WI!"O*TR5NC8-+\;#K=G(^91ZV7+TKBN,.-) MA9'KSVH^?^DTL2R5E#-JL^FTUUL&G&J3&*HVX8EHMM=)?4H\D&"HT34 0HM+!?(&HW _4?3X%7'Y5-Y@24 MS/M)?0GN $LK8]B>>FU \SS%5/Z!FPK,3VJKN MI[-YO#\!F$; M^(^FDT#PJSTVM80*;S!,S[U)V$Y"2>#'8P5+POM18HR\@:TG<*//Q!3(9>MN MPG#L<6*+>S@'E#2?DB&S?A:#_\G-ZKPS%#HY-M?H%CFZVGY@:K/%+N>C5'L$ M(W_%N? K?BR(!2BBM=6U(/II T@L9& NVA.TEJK@?Y@/Q]VIJ3S]Y4Y-PWPZ M7"^B;D\R]GB*/)3J.PB-06K=U$1OKT4L>FG?7TZFF5J=DY:-^F-Z,"I-BK7# M>QAQ!U<73?YR4V>>[ZDI-O- C;BY:C+BK'-WW^C_^.4M8(C+I($E>!GV"MA6 MXX09B&AB"AJ%G$!B=V4UH2F3B>TE;+C.69@N@C]@/3-!^98O@G^;>$M!U7#S M>Z""*L)-N XI8L9V/3R$%G+FIO:B;*!*2F+JV%-\BSV!UVWI"IZ L^[NM7I5 MJ$&WB4U<3Z!0C3$G@ML"HB00 )">6+7%"Q>M5ET4PPYY 23 !R&Q4-S$_SVR M ?S3S/"&/61_PQYN4J1A[*K#VO9Q&P+6+2RI15LKCD;44T^B;<$S72'UXQ=- MW>ZGF$(" JQ8\.WFU-3"_H*]Z3UPGI%BU$*ADC.KT\F#A#BB,3HKM?1R.J7; M%F"ZC_[*5!'BK_=7Z7:HE8@9Z6NDTU^_56KE,ZZG5 MKV;;#\)\<4Z"*261$"HMNBTUGEJ*45\2!8E/!9NP]PF66$N6@]PITK!]MI:W M:R\%3]V<^$H44@5]HS?:86L6Z#QVQ0?_U4UW:BG+GP%,1:['RNT&7M$L=DC@ MIZ@K=^"@;#?,WGCNUL.2&O@4KZUEGZ#E]JNK4A3S$GE'CA0G[K?5QO_^[_^U MU35\;X$^\AHVZ!?1A0KBD#Y*ADW)%0/>_U.Q%LK2C2;+B[?K"OH_U_$+'7AX M!-#Y7XF-SY@J>UP;*T_)#<)%84\2>Q4_H]M6OSEA"_7HQW>:HT=,]^SI3XJ\ MY;89SI"W/+O'\V,'CP%KZ!?^_(^2&#A8;_]/V]8.N>YG=MG:@1$'LYS!F +6 M?>W *;\V).FPBNWR[1 [E (9"1R#$4)M P@SLD,0JPL4K0FT[J@\2+259U@ M?H1OC>X@6)YG6!;)!BEJ,J,+JBRJ#)(1W**0AF8(O+I]!RGR-$UQJJRPJ@#O MH$A99%5&UG5&IS2&5EF5V[Z#$@B5)AE")GE>EQD>Z;+ ZH;,BB3%,@S)$H*Q MT[5$'1>%YC984@#!E&0M2XN<,X*E(\[*BLB(0G:4%Q%,ZRPF[SUYT[L4'UR;OB!9GW5&4,;LW"5ST<>?9 M D$PM,$8LBX:JLRHC"8+M*;(ALH*!,E0@L;1N\]..N7^(/-L.[E.L\1,&I5! MN3'$1S5WGLU1E"92!M!*(X S*E)D@2-X^%UA#4&@#<'8X_JCP V2M/IH$P5. MSS^5DYU*DL6[^G:>39$\#50&IT*A0/MH1,D***),B0:M"H)N4"2W^^RVUYCI MBK!,CA2AF_$>6N/&Z!&O<.P\&W2=T$25EW6% U[J-"<+F@+ZQ\##27"*P3SM M/KO?;ZFU?CF5RXVIA\Y(:-33#P\+6=B7*&8PI;MSTB.(3,W,H<8#X@037[F2 MJ!TO(KQ/E;G-=B,B.8Y2J(W([MX#83O\$TS,!RF6L*)92 1$$, M!_\9MF79"S?QCXF3.+;O@E_M_OMG8-/"R'7E"X4)6?"#+&7JHI^K#YO3P[.) MW 9L\[305JZ,YJ:-$K MR=!S>#?S'#Q'H +7Z/4L\H8IWW@^CK4-(-@J3;CZGL09[)^A[X?3&>_Z7)&' M';QX=:FBNK;E>^C$OM9Q4J&;GO-?KM9P;S;8C1EQ)D:0M^R;FSMC1IR+$>2M M*,:HC_(QZWT<.])<.?MHB&NQ'OY-(3-(EI M0U*GK3?RCAD]VTU<_OBQFFN& MKG5^'(>?_\6K#A1YE*U89T>E2VS%.CLF'66GU7G Y'HV19YWQ_-^]JD.PVHO MD#5'-1CCX-"6R;28K9;ZMF'E6NT:JD\Z^0&GX3POC=>9;VB&.<6&R4\.MU_) MA3R P]07". @=0&%Z@A:%NE', M$(VVG[\KWM6J? [WD<,H3-^P9.Q4?SNGFHF=ZMBIC@']N@$];_O. 3RWDG=) MLI$MI7((:5(ET\QS4C,ELP&>4SA+8-!#<#2U^K#Y,[,E_?D]>F!ZWVNMG1/\C@/R7* %T",>OJP305P;R.O(. M8/5#P9@52EVM-"JDW4$QOZ0\5.S+0IA$)V\$(O;C-\L;G:96T$:E9M M2_^="D?;M0-6!Y,I@J0%SI U125DAJ)Y640Z)1L4:^@J:R!:W3OH6-.H;KV0 ME6;$F,S/"SG:+>IF$Y_^V[VRH:0>[X4%04K*X[V4DQ\KG?%H_W@K7*GRB[8W M'2T6A&]->@O/7#Q7J11Q>J>>,U-U0L]*C!C?V9>O??8 MJE>8Y#BCVQY-+:[3,_$J_=XS6PV+X9I#VR;&WG..59[G[HS&S^1WKS1%+;EL M+ANVM"S4?6'6NO<>G_I[!U_A2NG1SR-YV>4!&J8T):G&8[N,K]P;9[$FME)M MK=N5,F,QK:)2BULDFW#EWCA]PQSH(W7^,*KSLTE M\9$>=9Z47(KJW7=;3G/OT"Q<2:ID>;F<\').63QS2S-9*C0F45GO'0G)WKD/ MC*6:4B5%^?2B5E&'_,'#LN3STZ@_8VF*0+22;K?(M%C8.BR[OK+C$7;#=K2Z MA*K-AE"W.UF66,CB_C,?TYGT?=[@*T2'+#=&_'.?+:CXRGV^&TZ7*8A3@D!3 MH])0G/$\"WPGB?V'VJ+7$ZSA ROYS;3(F]V&(B=3^-*]IU*B-+GK/C\5"&XQ M2^5Z#X^>*#2QR=E[ZJ@W)8>/XQPS4LAL4IU8S=H]$(KB)?"Z,JY* M2[%0KDU'II7WFOC2/2'-*9[/V[0M$8U*CBVDAVQK.0V>NI+24Q\FOG/L*9BC MY9VE3+S41,_-?'.**UIE35>S;-=W#AP6-E+M>8/VNYD+<$//M M+-'@F.R3.\AJ5.D*CE]O41"MQA]4MS/#(EVX?%9X@AI7W?I'QV>B'3?Q6#TWMFPO3] MKF]OQ:.Y58GD=?P9<_WKF#/ABSEJ[TGZA:EP7<(?R_JG=MVN7-9/[LP)>WQ_ MRXZM-C&IL==VW1#V)VP]5./F*-[*]?MG84>-<-)X4X#[6?RT$_%9LRTLZO_O M!_OC3V?.!UW(+K@9\6]E8J-^V4WB2/(0PWD,YU>DYG\%YY]8MV \I MAGH,]=2?0CT)4Z<^M3S@=?U8#/Y>#,3/+@:D^*T-_1\=N[J$!U!5)OII3T^= M/<7T]^>#/'MZ\=T+[ZA?XBR5@"^;'KSTR;>S9PH/GGDXVGS.GO*^_%F'5.@^<=')5X=Q6M] MS_UY+5.?F**0Z_@/?I[O4/=/#-Y]S?[XQ=^0W,<.2L1P$,/!-:P*7!@.2/%O MX2!521=:')W)YPIHM"CU]2HC#U+G@X-4IR0GB;X]'_GE]H-M59 @_ M?G$W%''>,ZZ7WAWSQ?;#M!UEXN*>S%'_K9=]]M-O'[:EN3@[T M5/\=3-J6E?65T1-S=:+27HB=9Z*"4H_=97XZ[["I@PW3<U=KU= M?>H?;CO_]U3,3)5Y*=6[$XAEZ<]/B0:7.-%^=F_MF) 7 M!VI_K;]"O>KG%#O;S'%+8[GL:]/BG?CGQ]Q_VUGC:^.6ZW!\2>(&;/EY1/OC ME(C/PT+L1I+TC4!\K&1WK-U?3+OCN.L(VCV>=WAR6*,J P5NUHQ2KK3.%7L9A65L4NX M VXTF]\9.3[=[U:'GR-V>XN&/4GMW6O#;C:'/.*A,,N7NG?#4]%P_M2LT#6I M)!(FDR]P4N^YWW?Z> 7\(Z';)P:/[YV:/PMTQE'@7R(!^?0DY6K=?(JHC+U) M>J#/N2>]?SXOL31JEZ7[IZE ^%1W_N!8=ZYD]64.QX ,?4,+Y\W8QRCQ]5 B MCB;_&B7&7+G)DW::(L8&(5?;U0>"KIUQ6>_1:I7X]'0IYDR7S.5'Z6*#&N.Z MYA!+TNP-R[/QNM[G7=?+V..I#R%)$$EZR$+3@3U!\?I>'"'NHY5A/LDK>8%+ MVBMIV46LT80>6_-J5I'&_27@Q*()@SW5VE3K6>D\,KW&,T$]C91DG="?VO/K MCA(_2L<<_SAM9JI))"TIW>SZ*%!W#&;ESM=64&O=WO5I>]5 JW\?I MPGB1[QLN \3AW5%4N/_8*9887:9RB*I9UBB92@ZD,X9XQJAAD_UG@I"6ON@. M'Z=4OR^G9!Z'>!1]0Y$?<]YB]?YBZAW'94=1;P7U>*%D9N2C61/&A?OI!%5+PC=J4M.[50?U%O *=X;GCE)Q]=/'H)]FF6^M&]:^!5N M$)Q92''1P+;TA#F>.O8<8<%POUA"+E[S.WM$MY(RN*2Z$K'2AH1%CV6U4<<4'ZVGR>@I4^J?*!A1'\K/K)Z4U=%RD,RQPF.R]]"X_J#N@Z0DRO?M M(9-D3\("!DJW*;>*#G-$'EAQX[HUJ%Z=,9#_)E[S+YAMH;/N4:#Y7LK%N#8ZI75#.<]C5JD0G(]LUWAM": !3[F1]W0!!FO!W[>]<"\[X#T^PX*8DX0 M2_SY8)1Y_: >KP*> MDHM97AYP!2E97V;3,E5*E;,XW(X/^'V>Q8$+3#*. /]6S=5'BB\716%)5&9% MOB5WF7:N<<;(K[G0Q[FZ9.6)9&JR8*61([5*N#DC1'[LC+$>"[(D < MUOTM A C;J:G],H/I\6%7[V_E\YX5+ Y&E@EL6MDB=:SFUK(-7J2I/N M )& "I>0?S,*X@9>^)ZCA\J@CE)3!V[#Z(7KQK&)16OA7=7EWF]8%W;"R[C M7'K6UV/B_]#)WX3:TN0N MK(R!>'I5FJZ/$]*9._K_1[-$]R]V?<)_2DCT@D M$W2>,%M/K48]K4T+]WW<+AV7^[BAQ(]9^1AF8ICYNP6@2\_Z>F#F#R.)-V'F M:9A2LG)=2X\*I4*[7VVJ2Y,](\R,TV5AV$@]L42+T]IUG?,F]YD 9O!^Q!N2 M.N\Z\B>/,JXMF#A_>N%SVHGK7%R*6?DE(MJ-[$R8N>5%F]( M[B2'Y3ZYE_II4P<\/OFIFVN=_C=G M_K=,>%U]7AT;]7\^F8N]@=S9#>"&SQ;"'\#0I\8V,.HY^/U5)^" _6<7\^FL M\OQHY98/Y7HM3V1<-I/"<\$Y/XL< )4>/1 MM*O]BN2(H^0#-TS2;=%LW 6H@4MM4^(-S8GG18U/'D]<6]BP$H;M4MLWB0GZ MI+71X@QWG.'^RZ3:MGFBP3SIMJ]:Z#)6^6 ?PF-XZQ>8V/5DY,Z8'J^C0Y:5 MNT-C_[[M]R6.=C)91D^)#\1")NFP10W_X8Z"L1Y_(ST^Y#]_:ST^8V;]L!XO MD_>-GHH(4N+N)X69EFP)63N%]3AH1B/>\.))]/C3^<'_\100T5][1^Z.*)'F M!,;A_:2YK9$'LDA2:X'\&=8ET-,435R$)3KA#5 "'Y!T M$P@>I">R2 OV2H6A/$W>)+"IP_^28N#BPPG)AV&-'L3X#C/2#%J MH5#)F=7IY$%"'-$878YTPX=AG9\W&]JHY7-63RY2SWT#DXZYW5]!W")=((&G MIIZP13U!'EKI--?OU5JY3.NIU:]FVP_"?'$QZDV;SO2Q-\V0N-T!4R5XD:RH L^+# L44)',& (MBPP% M!!$%D:<51FV,38V>,' KY]N+P0"64_8$DM7YR:D ML;N[JIZNJJYED- I-#+U?&2/,_,CB(\2XR&^7-)#2YMVM\GIA+(I-G4\LEN<%B5%(=OJ ML#A8VY4$1S='J+' T3\LOIY7E2(U;A.!.]:H,&JB*[='(>6K3R!9:T,\7('CI?#A4SGK. M8J%Y]6(X+<=!#4T O2D =D&Q!,VP4.)A'[XQIQF"&JAH/&N;8KMK-T8Y.C^; M"2FY5DE1*8@ (KG C[<-AUP!HWI2._@#U[@ J0Y0SU/$^$?,X_P[+8Y18L9 M4JP%CW4SEG=,$RXT5E=\YLWP 3X#>XA05^AS_L3Q/-:NK3 M>,ZMXQZ-]'"B<0U(]F_.L8WP \^.\C\)-'E_S)YJ'XQ!G_@V )E])*$Q_PLY MF<.I!:_$?99[G^.9)!\SK\9CB_QY&9\ILW :?&7;A3 M?R\,2T$\^=L$&H>.KV?/# Q9[\7A4(ZW#,VQP%][ $U:].'__4K]^NQ^9!^3Q%6# M_3*+MZN.ON:4"6]38N@B9>=[.2]2?2^4_%'/E%OTBZ(S:X9S; LS\:Y#^5ZW@-] _N)&(N9YJ< M;F\@^UKG[A5V7=WNVKDJKSL<+A4M]X5I**_;[=\M2NXLT:ZB(]C#0 (]B>2T MO,99EB(I0 PN+T\$S.5IOCK#FGQ1+4W[=F&3'ZA.%MW?)W[]DWG(XI>NU18) M=B38=RO89PE__:1@%]:NF4ECPY&Z*0ZWBSG!T64%"3;YZY_T0S)UG%YZYOS* M\ZI@U\L3NX;*%0:C>&U:=U$4FWLPF6XC(>'B0'N5(Q&.1/C>1?CKM*IWBC#'I#O]?K-2HY?#3+59 M)_%!;H%$F$0B3!#O4Z$B9]--.IM"%\I%'' C&;6T>FZQV":H2=E_8B M]9#4MR>77>XK^4"[55!>GV'J:4O/FK%W!^KU)>BA# MN?1TGFSB+,T4[ERUN1NW40%( !)>C)E@!70'1!9G9'%&Z'Q)K2F4P*XO@"_[ M[Q6RMVP I=>DYY7VU9J8Z("8;7@K /'DS]R/@]YY1-@+32UZG[8E0P0%]H^C)3\L3GU=B05L-*E5)]<<,&+II MFJ<(8(HNF_'"DK '(H-%/J1(%K^_+'[MO=CG9)$8-K8SU\;'*E'CK-9(M^?C M60?*(@HWPA\(_'WVRL_29.[&;_1B>;O(YCROS7GM)D;7L4FOO>K;@?8S!'\C M4>Y!2IF;/:1_&=BI9$+E0#>15TN5>';*IR5Y0[MLUO-#I1Z(=!3'%(%"! KW MJ>]]%A32O4XW(Z0UB0'ER4A,=MH;U2O\#+6]1 :"0B)R:-VO0^L:?;_N$=6_ M +R_2;^@8WS^T?V"SJ2UO0N:.381>7SH<*6Q1^2 MV?>E2$<2'$GPSY7@,ZE8[Y+@(EDA!OTJ6V8(V]YFR:9;;PJ>!$/M*H,_D(FS M^+7O3HDZ;Z^OER>Z-W#Q_N*G9Y[DU_S^C73FB&FH+LK=Q!VT_@J\==OX(/WRC&G% M=-M8_";P1_*0X$G\,9TZHOE9>#[Q1)__Y6)3$V'Y?_4-X90(?/:5_J_H05"& M(=YK!_4_@X_V. EM+IR/U\,&-7Y!?;L@+>%K'G=#M%CJ 1E\0#(HDE M23:=S?)L,HOQ+,\G4RR639$941*%%'G4C"HY3TC9I#);J"V@U,7ZLV6WE386I2N3?NY_+5J>V>:L0%DI4QE92Z%!-7QH..+73H7E$^U8A+ M$)14O :R,L/%D\28*VQJ"9XZU8@KV5WWVLIDM:!KRY*2Z XG\ER43S7BHEVC M+N*E>(=N@?@,]">"6^G)IQIQD>D$8RXKFXI*9M8,R,@I#9N>;,25[K%B>RRE M-S1PI;4I 6.Z%3NG&G%U) .D"OF2QFPRU=9"20YU#>[2B49<9KUG4VV.[JD@ MT]#GT\QR;#ORJ49<-M7':%EU7/SCN_.?4;W,2DLA756Q89\+IW) MS.PRB22Z:/%Q>DJF)%Y M"RME6DY33C34:1XQ]=&,=8/".NF)NE;S3(W22M52CB,[D%6/1CH.'E?DIBYA MK>0PSL[*;%N33_:AB[,M;=38FG&L5=25-ADO54=9],RCK>V-C$)*S7>66"OC M5&2I5:)+F'R*_1OIN+6R>L4TYN1-4&[ULE*RZIYB54G$+&:8TN/,,MD62G%A MY4#U[A2K)CO97*$WK/2888LMY_H:OM#')WO&+6HC>0LGQC!SE5[%KULZM/V4LDU91(],W.T6R194$%QCM$;:\PSC(,+ ZMSBOZC M)"&!43XUQH!H*83(](XSULK%BEA1G:#7&K?1/ V4NU9^7W'*:9Q29 M[[<5>KFF#/D4]Q&]3@4G5)"BAS.74GOC=JM3=/VG W2 ML]/@:V%BK5>LU&MJ"UO/L'* [/34^ZO!X=SEE[25Z9DBC M<_?F*P!^K]_A<2.^2FI2-*Q&=<& :GW6XPPJNV@$)K6B.T"D[%?&L6@8?EO- M$;.H.2)OQUH\U.'\WJI7Z(2(IO!"[\,_Z603WLMFY-K:43K\ M HMO4IU*HD:M6KS\!Q4[>+MNZ#+$Y#FEB[VI8=KHY[PQYQ4=B-0;7&8]9I1:*U^CI^-T)2'[#<72V ,\5"ZDW9WG?1D+$3UADI+?MH[.DK%DD%74H% $44WV- MDC8F1M.;T1;G!^F5V2I> 8I[.7*53@KIIT,1.R'JZ6%EHXYE/*,DUVFMB0^W M,^7SOCP/(^"[T.ED!4T.3IP4SF*\=9M&KZ)N:)%P2Z WLLI!'[8$'GGN?B#T MO");>_=49_?WW? VW)P:^DZ(VFB[:-VQ.BRU,11>4!?R)\VR2 MR!_XDYT$/\T?^.5=4#YI]E>G1<^?'.[ MDC@H 12^H XL"RT2)_YV(/M %H%?$B'+\78,:N<.IPL (-S0 A3S" MA"8X=7[D6FJ!+8V(ECIG!'.5BQ=KY3'E%Q,AR/31V?'OR%_WO0'E=8FYI>VZ M>^1'F/(KHUR),W[)!,B'-\FKTT8>8#KR2))]04V])&_W&KH%K+S+RZ_VI+HC7=\$@2R%+FGOK?(1.%DW]'KM*\7O=RL14_:')/ E0*MZ!6#'0R* M;+KK^IWP".PA@U_877WG>M--JT>^,TF#?!%']^"A;H2<2CL/TZV[CRZ@#WT! MAG^3IEK'"LN/;JIU7G]3T]"%%V$Z:9&D[)9+5&!5$I-\NW8J#L6%@QUC<[4=E8M"$/,O!>'0SD> M6O".#<[<1^]K9'>_*^(?ZDSDJ]>P$2$N1 C\D7SU;BTBQ(4(D7W,1M!T"X1X MJT=R1(B/$>*K;D[?.KO/L!MCP)DQ +4R,;97I/\B-SZO'X]G6.O+!;S/ZFA; M4COTVE9T9'?T7>/$#4F[.&*G/$5W5*7$L*XXGR<-A_);%!")*Q0BCW2[\Z%T MXDYUNRM<3M\0YD;0>O/0.C7!J1)OR4;>VLJ;:1];#LT%W[/&6[Y%^:7%$\GS ME1N^:PR]5Q4X&:G D0H:Q55F=4H%=&%K)^W=ZN[XL'_MW;FU;-\[Q\); M@KRK*&+WB7A? &S?(1WH%"3]Z&R@\]02I70QSRT4F]/J@+- BX=+]7(]K!,Z M:9R1Y#2^F4E,*=^99#-:K3+(=,**4F>K!W]W.!PF!3W/L+G#)*%S)05)\,%/ M"4$5^%@36#:]7@#= B_D 66[)8L:,656Y1A'%.9MTV&L&\@#"F($! S9'U'$O-.XHG/2GS&\Y/?L<"CFYLO$NZ("^Z8"_!LQ 5_S 7I MZT:BG1;B5GW54ESBSI> 5WRE51RI==)-HD$NU4 H]$.Q+M3XOV ME?N27ERT,P>BG6%G6BY'RN-&C\[WUCVY7N@/,JO/QTA_3+3G6[#>C 4CQ^3G M^^56;"QHW)M>:*\5@UP,.=NQ '(= MS.>*C2)\8Q( 'VEQ_KTP^O:A^,O2IG^<1G5N8PFEI@18F]^)4Q%*$Z6+Z&\5 MRW(X70!YP[)/9:I,DVVF-9RDD\RF,Y VM$*"!1T4$$+-:[+G:3\5B6DDIKN?%/Z^@(M(%K^;+-Z<5GV?UP*'*2G-=)$\N<.N=J7\994#(7;NQ-&]\2*)2#@ M/WD_7.5*7#YO-!BE)#08B>^V:S.937O15LDH526"B@@JOH-Q]@50,<1S>:HW MT"8JD=Q4.HUBK5%1* @5T&!+O#/>*X**""K^Z,;EVHN^):@X<^C9'T!%VBG5 MFU)A/J7C&2K5%6?]0B?;@5"115"1B))I[O?.JF_8G!;YXCX/U-^AP\LIM>V' M=7BY;@F"$YB;DO(U0J#+-CT?*)VFK$XW98SR.[QD'A*95.11CZ0XDN);JC9P M0HHS7;&]$09KDNX9&FV1!HB;N RE&!I9V8<$'J751%+\MEWTPZ7XLH4%3DCQ MAN::56R@KYG26FL(13N_&DZ1%"/[YR&-GR72Y.X,G?/V6CMHD87O*NH%?<'B M^&'=N:?&8%['L%<+4_N_H;_\1MWW%"%XSE,WKG=NQ:TN=']IWB>'-?BZ8&5H M*W1[Z%\MQXJD/4(;"_PY5XO^)__SNV,(V5@A[ P]7%K(TN0HFT M ;I)Y3E=M1Y0QS@3ETNI);4%3>]EY@W9'E54\%*:.458H>0]> M)\4=0B@6*K*R,%"U%2A#7,S<@4D@EQJ<>JU52:;I>*'*C4Q<[;;$SO4(R/2-?AK/SI88V9\7\ZJ>&Z7'D(#)U*M2@R"< MN[K@H$,$G2'!W@Y2J3R1J=9EAN-9J#0HI5PN+U]O;QMB$>2=?*J@#@W&&;=9 M?2A-(2+AK^^MC8Y[KP=OF \& JS#"T\9"2[D!*EP>OKRXM3WJ')&#$@1H MZ: ;B07:D9/46=-F1I6G38$F\T3%&:H@R=+4F]3APD?'X.8'ISH\Z+WW> 1! M]'J"JP6Z'?%CJO8)^8BP#WYVT'0!>02? >%..W YZWR$#KV17T?H&5?"[()9 M5K$-7N*(KB8"W'9]OD@%&:+A-7>$I=#=U?_Z0RJ5>);7GDV$FD M1X8%IXC0;G9UI.U]-4W>QN LKJT!AG\Z#,0-B%3+%&O:8L%UF.7*G>E9 M,C_-]:ZH[V$%C4L6,VL)R\>Y44.O :700*!)O@J:"JH_@OQ,@<:&)HQV7_/6 M;#WEMOD4W%$.K!>*"6D&OU;E= ?UUH92D/+.1:@C6D!PS-#JDA330GHAT%&! M"TAC"U+-5CA-0QR@H7<@RVL!WV?HG(9.4?BS]Q+$3OYA:EG MF*F7TH%<08< M-0,"_ P^$/V /K/@2^'W>$,7_;J P=>F0//F(L#'<@IB(N3_,14!/0M-2!$5 MSE2 _R4T&7=JH.FATNTBPGK4> LN%KX 56OQ=&!.WSP$ZA9<+GSE;HGH 1^? M\&,,6L [PQ=*A6.B+>06\(N0$>!CM'.BVI-('+K0OP[72F,,E!=4F5;STQ+1 MJI*<2A.?/WK:.U0[C&TX*1[GBAG^U\_#Q#NN5+- _?>)+VO?QVP10PPF44:E,T1$S5UJ*1\7Y==(NG\B4B:$71EXXTZ2N-)HKFL;?M%G MB-%TUAV;25/M((/N];/O)(E/>C0> L&%P,\KZ$SP)!T-7\#QBN%8D&I/7.!C MPSG]'C?O-CRJ;O8209O@M#+:J*7XE;+,Y"7()T4_BZN,!9D 6FG"E[W*(\J]_U&"L& M9N:>IP YL4WT[J6CF+XF,.=4$%M"I0D.@V=ZJ)X?N**].2MSX'N?W\E%"ZA. ML",S7=MTLI.26DJDR &V88E>N_,R1(2AJJCJP-I7E")J1BMN=)?BY>(0[SG.:IYJ(#GELESWTZOI/[R;$#173*B5?W MXCRC,=77*&EC8C2]&6UQ?I!>F:WBG^%QW=!EM'>4+O:F$![1S_G@1'M&T .' M'$_@D_J\O,)**VTE2+7%@D3TQ!.O^@7\Z^)GE\-^H]^]_L6"!C@378Y/_Q85 M:Z%QF]_><1Q>R@8A$43Z,9%"5X;PHZ"-LG>%>-CA>.^Y!P^+"T#37LWM_-H> MR2\V?R.23Y$4031%&C_N@XS^_<__.&CS?!1.'02&[.U?L"^$=ZDL@[C?19J3 MX/M_;FDB> M_ZMO"*?NVS_[RKW+>AU)L79P61]\M,=):'-1!+>GK$(XRR.LT5'Z;W!1S_VS MQTFG1>PYW4Z1@_,DGTV)1"+%95.LF$UP;%+,"FPV#5)LBL2Q5):4L"1 VX'> MRH6!,Y5V!>L)@[Y%*U1K,!-F"8,29!9GL>1:?3Y2'@\[BNLH*C:TZBF;3.5RZX;,$L?/3!J!#C&N\05(=- M'8^4IG:F4HR7%68Y889X$12M(N&RY/'(C#->R7&+%YD>V:J0MF*[((W2*XY& M5F;;02(G]36ZUDF/96:3$K$R&AGN$D17=.0H\+#SCBSO>SQ;24V*AM6H+AA0 MK<]ZG$%E%PV714-Q_Y""WX"8;[\UFCB7@'DA+">BD/;#HZ!I%?<"I'[]\Z0) M&(Z-_(>BIR7KS]6!:Y[A[S.=,W)M[2@=?H'%-ZE.)5&C5BW^:RY@3A[>KCXI M4/.*W6=:&\<:3#IXJHH.[_2K?F'/)_NTT7OM5H(]/[*2PWBDJ'U MM'&O*%5.NEF2ZKV1P#CXQ!2G=FW%#U!43/;Q6$GV-=8]O^21?_Z 7,@W]?.H M<.(*I1M:_.^[1%E-NY8]&O5*&,DN1IK=2'44Y$9*)+ WB?)$"6[%*1HZI!]O M+UA0>3E2\-<_>4-#MQ4F2A!3+A3X]_PPH+PF3G _%]XV"YXQARY4X-<=R&1> M")+G=S,LVSL#I-"!XKOH@>EQ##(%_7L@ST(4X'<-:()8GO/5"O^&/#.&)('@ MKBKP]L-31H$,K=@.HK,54W5TI\Q9_G5->$T4!'N@FY[@5BAP((;O@K]P=GBQ M!E9HAM#2!+J7=@G_;$&E3I&@0:+;>V\VS!BZ_O*.<_BKJ$APB*.AU_HA",&= MD0OY#L[?\Z/MPAO0O12$AAV"FYX(HYUTT*-YJ$=R_IK0"L)OA?L7? 7.5#3, M'=*?NK?R#.[=I95@[&;L[S9ZBH8 M!RT^W*+7O0_^7AIJ;,5I#@A<'!8(]P,%-ISW#O#FD;VM 5&&VJJW(4W#[H$% M9WI[T04HC >(+1VNVO;\R;M[!$YK!];-2:PO)Z;]%DANZABY%JIN@J:WZ95W M89Y^/*Z\?H#UC_<#Z%"6.3T0G6YPYXT8]'H ?Q!&@-@0'M#6'OX)NSF+0/*] M]2O.]&Y8G@;- 8=PQ-K%X6D07S7K27AV SP\\D4: M$<0K,/DIO'6+@[_@>* M!^&>M]^"6()NWKWG 0Y^-7#60_ 6'X^BYBEQ!A\+OT#G*OT"A9[A31W=!GHP M<'#+@##C>+6QA6.BJ%KOLD$']A.ZA2#]3J&'UM.DTP-;%)TNEB0%_(!"%2:Q0,4B%M 0$C@&J9H M 7W?37TXBY!R36#3P3XQD&)%P\QS&CPL@YH'A],*R>13J>F@2;:DCD_9IVM% M; \C9K@USZNL5%2=;$%)%>N=KEF!^J $#[)CVRE@$@MQB:>%>_S#Z9N8K,#Y M[MWX""6$$C_5L"I\Q_N+^[2/3\ZNHOV-_ M\<&?/#W%"H,@H1D-=9.8S:V!!0<)P2 10&,;JQX!QXG!.*C9"*HW M;?B6\(_@WS$#SM-\?D<&7X >]9>TFPF(\!14;?Y>$X'K,CZR! M^H%_2R[!P]9/QT"2B90"0T?DW-7#>TL8X>F.Q"E8-MH!Q-VQOSRU#((*G*#U M[]\>%!YXJK\D6?R)?WO"%(B.!@V4[L$27F127K%%KF] #J]X4_>\?GTXH9P& M*? K=/1,9OD^5ANX;2;/;RJU[!:JS.CR"4!N7L!W0X$!\)3P+[A#5[*?:^CI M,0L+_ Y_V =UA.&!UQ6Y# 7?U7B0*,4YMA%^X/MXO4\.#K3]$\X?@^W\MV3V MD20]#ZYMAE,+7HG[9]O[JFAD4H\X<& MLP1).RUT1YOP4JP>\,3[6G1_G3A<'O+?AH5#$/A@8;=K8'C[13/O&^B;WU7# M_++."Q$&WQH&AV;[.B@SDP,ZD)13W1NVQ2'.Y\F>KI).=S QR.QP/D0!+A"0 MD_A#$CM+D^=K:]H_1;=^WN3Y ?FCOIN:?6NUE6\$Q",-^_NBNR_5/LH'$+^? MR?($[^;*'LM ;TV9N&XOBEQSI6?G,IOP"WL2F?>URKIG;?M"Y92O@>Z%U^Y- M0LB/%/ [Q.X(HN\A6CL[TL3RC+4<=-HE0 MFL0>2.)]3I&?A<9WHX3WT+5UG.>LX(8YO+R.]/!(#X] _HY!OC?E3)!#-7=UQ^])6DMF4A^\/V<1E6Z7=.>[?&KRW/Q)8Y 7Q MOAR@%RGKW[")U:=P_MIKB\Z!]Y4PR*&:.\"RJ"<$@("P]UL8(_K+2[F 3SYQ M/F#X=BDZ-04CAD1/^CO7_-Z)$(S/@DJT.;[)K MQ]>:"%=?<'1VO._L"(^&'(##0>C5[W/KCWF/NOU99=JQ1Y8Z'RZS=F\ZIQ(- MUV_#3&12#YDL&=D7U^LE\H'TI#^/!KUJ1A6:#Y[^V]HKG70JM2JHN?O[TA-^ M5]::UZ(R5@>0YSD9Q+I(Z+QU$7^CM+6#!+*@K)KEY]IZA0G0\#"5-6_HGL[N M)8SZSZW *?+P5Z0QHNP0;]@;222Z87LIIO"3KZX,=I1\B2I!(60,,?(ZM#.]K6GF4)==-K"IERO[KLR =5C;%W NOI MA*V0J!Y-3Z9<#=8YV9'&39EI+>-X26,I?B*@%/Q'[$2Y"D@_"'58D&KEY5GK MXBYK3U+0"\*\*S^A2 O9RN<3[I747"_U]NSTOD"R+7%FFHE5K*>F.T02VS3; MQ*Q'8!K3DE&!U>-$VJ_,G?TZR"DJ:RC;>;^R(UKX'R'/7]R_WX*4!\B($']0 MPIR/SWZ9:30A_]88?AGEKS[$7D[?>XB)"JI L"MV'20&.I9?9M($D"N%*>J" MX*?MN5/@I_3G_?+5N\/B%.(&@'!YC>*.*Q9.\MBVP#)_&W*\#'8^X M/FU#TK[,RPM=6&']A<.K"I4&.759:2^K+M3B7L4?^/^_^'\'Y1F\RJ+/$S(] M"EE!%J"X=SSOJG]Z7]H[FWCX'1NR"0RM"HS6&PSJ*#A M8^IE(K^9^/WP)Q+\$,CHGM"&G/%PQ$P/;W,3JESQ1A;Z+N7<" J*A_KA UHR M#PXRC:,4]--\E_=)3N]1'%J/NV!\JQ 2&-7<1!3N[@@<5KX^E;K^$CN_*VW= M&*TD"M2L#=:KKP?UT2J'B;)[F;3U(&W;.T^#2LF"\?-4KN=\=58X*ZK;*BV* MFL9LI"XK4=J@TZ]#_2O]>!Q;>)OZ5\LK'[!?H.0EM6L!S+F"\.W)O6]=H%W, M*^>DWZ7EJ\[)UF:ZK SQC8P16KI$M@1ZT9E\KA'7:<[RMGI_I]O>CL)C;._& MQ*];!__2-SG=\O?R='5!HY6KSVS,9FIC;C4QFJ/:7.C\^N?5PL +=!H]/?CA MJ4OG3I?>JP&].PY-5 T,DMJO$*7OLX#?MT4ZY(J@\I;%H<(/OBFX 9P9$PU@ M[9OT$=-\G&F>"H*'AQFB3DO:XZ'3G1HDIU!8&V:9H3=#)B=,7#ZK#U#9I5?; M4L;*AHNLDX>@O(_7)2HHM67HJ(_08J%M/FC@0(T'+@*5\D)\IU]?R4:?[.I8 M]02X\Z9B[%P^X0 >;]W/9'EO8%%?5+U32C]BH M"=[A7L#,<;&*93F%)NH67>_4!Z7QU#/)7M/6+WC.84_'W'"J:.! U=[QX,D2 M5X8'1 ?%Z61TWNM/#0:/M7=H$/CN360M^J6O3NGX$$JY4'N+([_8>_2WF LM M#;2) N= 07,\'^E*,5#)NZ>*[OLUAZ.:[B=JNA-13?>HIOOMU73/9K) S(@8 M"](9CDT*&,]R*2G+XFD.B!@N)CB<>UZ#O(=7:8=*I[K8LEI+E.Q>FB_9[JF: M[DN9&W.R,ERK>:5;55G<$GM;ZE2E=D4M.XTB,*I.%NW5.5VBT9 M3X'BP,[3M:2U62^P83:ON*D#3O05B,&VW1+1DEL#3+SC'RJ4GNO[R2H MI%3<3 M-:YC$YDG+*$LH7KVY/.1ZE@>%5F3E9F\H[%<8\D H8=&9IZ/G!BF/I '?0XC MF%JWDNTO&7=V=.TXP%%W M@J,5D78SGVS&!W-F.5_+::RRLA8K],RC%7&S)CD -6%%QX$6$5>Y8=9'CU7D[T="<^+HNP6=FCE=4[<4'QGQ9KJAD3\X#3*YUV"YZYM&* MZ@D58EVG0F'QLD9U=,>Q>F49CCQ:T=+8)C-3KF0S7&HS3>()?)ZNHF>&*_IX M9P;B0YT9$F?MS!"HLR<5V6=7J$]>8Z22[CH%O*; [LJV2MS*,/TJS*CYE&__ MNZB$MFG"8Q!JPU-NA3R(#FK@"F(ZLCGAD89J.$,+S^O?RF^""K!>O>EK^;>& M@>;L]0/=:==^/]"G'K>G;(#7_*%W4VEX5^4 FG%!6=XB -B6XNG M681D0E1J+7P3W+M1.&EXFW+2UK)R/DWG98*8UZ>CTD#J0%1PC6.[>W='A2IS MQPS_X=[5T5[SD%.V+/H-9?!XK!-##=!B_M1V*$$[IB&B(J7FT9C'& 6Y.JB5 M[W.#?_=E(U<0Y'C_*MSW&D6<\%E. %9:EF2G;].<;&OUS:C'5'+N"YR &,!Z MC#$[6I^D[D/0,7Z?:[S*V>@D\*XM_73-H O!%!I0:%S8M!.(7@7^HH.B'[QG M>^62S]>X\32)PVBMIXT=<*;75P#-J>?U!>?,35[C+,OS\'C>]="E]_(W@_5Y MRT._?UF 5S!J_UWOF ZBX-XTYE,7F_1DL8!GVXW2335*26+U3CC#%OZN-RGZ!1%H?"C$]TF'X*>%JBU MJA;<>/J(]=0&9 @TS8((9\Q0Y$5B"J?#P35"Q#?LPR$#WP)#M;Q5G10N$*_&84U16;!'$"*'TP@B#CF@D8X7FN[O882P9UF MV&E*-H'GNG]X'J/SF2KV9U-7GNLGHF.^J9^@9K@MZ3/I&47#+ 1T#X)IGGBJ MX3/'GO06)DO+G9-D@YFWP4RB]4XQG9'?UY30=H$&K5-/X)X\ML\R&-[QG,/( M&\\&WF\X\(F:09GA\?I(53Y%CIO&IRXW\2%,U6 PMN0%'A= MV:< 0A#G*_ZB 3<6[JZS"'YU=;\7NM<5'8$ _+_?<5W1--0:S/,,[*+:? 1] MZA\1H C*#5_X ?7!!(+YOAJ6Y+O2T13WNKZ'-L[Q?ERRGT0QV/9]A1Z=E]8+ M'2-R;(4?:31F,EPMFV''%M84\C^L8T3FD7PU/6KOGF7O^>A>%C*Y&V;_A+][ M8OS;OYA#N/;FA5AP_>F].!S*\? ,<&QPYHNPKZEWOW^M^8>5$EY/!8X(<2%" MI!]3KY;KB0AQ(4+@CV0B(L37$>++JA:\=6:>^G]CPXV[:1W[?=Y M2QJ;8*-Z>6>LY<\M<1Z2K4_K/V##BG5!K0FO;21?-1:GCN[5/^!6_I&S976>[=KM@_3BY*>"VAN>]PB]Z$A^4?Q:*K,85JNTP;06VUG9CQR$$GQ<3?@K)/CL1_4MEA.[V$R,>;E(>^]X>RNO+.+T2%XVYVLI(TI)O=.(4)9\;Y:=,HVA7UDJ& MX71KDA\54NM$-HCZ3CP2)^(/[MI2NV)5X9M%^=8N',2[R/Y>]EH4!/).8RU3 M+3NY;K=<8Y:TTL;2.7M=<.27@D#NP5B[A1K3T3'^$R2Y/E;*6,Y2>C2W;@@Z M+79C^[!+)/>4)A;Q5K;>5KFA8U4'%)L$AW=^"-^W \@,M"^FX'V2OS= M?=^?1+;9:Z!^6]MQYY!PGY+_![%9W^. #O_P!('!-Y*+E!2W7(K XFW2+B96 MA34WE5]7E@M>D/#"#[9\=M KUN[$'?6KI>F*(72U-E263#'9*6'+CI]^^\R* M.HJBC!3F^\#62&'^8GFTA^5QL;T$D^QEMP!(.RZA*.:%U]61Q6@'4 MEQR1*Z5H"YTY-2JL2KI6*G/][B+-4:G?U05?/3PG2UQ:LJ@4V&5LX V?0"%6OQ#E7BN$-, M=%D4M8CYFBGG(6]PBAZF/*Z +AJF%?8PB&G ]BI PS\'F86V$0,Z*@P(QRAS MWC$MOT0@2C,,RX)[Z5I>FJ5BH1$H/PJ"D5<%!DPY37H(2K5:?CUQ'4"D4*"0 M[G+(T% +:%)<0K^C[$;X2J]PRL(T9).;6X^Q(?!KP$"Q-&*&('"6E\FG;?P^ M!R>G+CLN;3.Q'V(2'S"Y4\K36HGAXF=EH.'XY$NX7&ACL7 MYGP9%GAZVF.L!;\5%**)*9;E '\'3DS2[]]RD#7V&*."D7L#!6/NU3O>*W&# MI@=G&E:-!$^='_S4V-C4T$3_(?ZWGCU2D?9'B0 J%5[V''BJO^/MN,0IFI]O M&^SB_AO]^IV/L4I0.SXL&PDIY)@/Z!EN6+0GX+*@)T7 30<+.N(JQ ]H^-30 M@[S6HU7XT]\5)1(T3IG#'>0M1$#._]W+ 32]S&G=V%$7/M$$4*16'L-*WLLL ME*3H6'[Y'ET'_KGJE^\Y>O=>.5H>^'4R@Q'VQ%*&W*W,N7MI_+EC^# M@/>"K7DXP3M>)J-7N%9$LL4A0?#6$69C[BHOH03DIQK(:*Q@.RAQ>U>1Y4F^ M=+0@^*.X6\N<$U$A9H@;EGUJ51ZS^*UV_&WHH;&:HJ<0T=)FPHP2J\@I7ARCUK"2.89XBL;U7@-]/=*T_WWY_ M1EY9U^-9GDYW?T<[K#>RV!\OF-EZE+;]0D;KIM4D6_-V4: =MB!0HW41,SO' M&:U?I- \E2[%'E_7<)Z^B;U?-;C%O-LPX^O/LFY3V&,VRFR[C13#9$2(6R $ M1) HV?,6*$$\ILF($#= B/1C-LI#OP5"1!)Q(X2().)&"!%)Q(T0 K6=B"R) M6Z!$)!)?2X@/QM>]95%?;M$HL_LHA?LB$4]O&;/WM0>"H:$/_^]7^MUN]JQQ_JA=2\)+7\OKWG9!^1K_GB?1_W'='^I_8QAB7W\Z]:><[O_D9]#>CY#_R?K/7O(H>]]' ^*%4"L,N2.= MNB?NB'CAZW@AG3KD!;\?<,0+GW6HW3$S(-+[6V($I=N#SM[?F1_>5 \_E9%R M!;UQK^='&Y@Q2M>=>6S74R+^C3L!PQQ%+XC^[Q=Z$]R#8^\6 MBCE<2!?[2.+IU0H;YH-VV5TT^B#1]. O74Z7ONX4!23+S1YB$0Q$L7/B^+4!#=V+DJM=9;*R!.#64J))M%0K&*> MND8)7U3)F\=UB>>K-+/LEE;R4-E(^:4,A9%$PIB.SL6KFH[?3AJ+AF/>EC * MA%T>:81!8SV*6 E$*9%+BU<21JE493JJ5ARHFQS.6GH\K:PH"@ICYH6*VG_/]9"6Y&]%L]@E M]1:O9L9,+<[W021 M<$;">7?.A!?%Q+WPHGAF=,[-U'.RPW#S.:?,6DLK1UY)M26F MK8)-4:,LMG%FS4I&WI;=$E)M,RAJ])VNA.\AGC<>.^#E?YRH<1>%"T1>@#OQ M FCI$ANO51HT,ZPI@J04)L"U/@%\J ZB+PLM*7@1%(0V,%%@/">?K"ZMN^EM MNUX8<_5EV+1[L<[&BK#_A%[.A*42% N8QU7\+;.=!(J6S)Z@I5403=NY)QQ,]M7T)GR$=OV9XA*9*E>WU)E MW6EJ" :<@Q'Y;G,4[PRXP?I"ZE>SUJ,KPTPRS\R%DIA778GJSCM05#YB9]Z5 MJ-SKE?7?QW7=4=5^??.\EON.V?Q;["^KY1Y=A$<7X;<%PC=H H>^O[JB@QT* M!Z]B=-3Z)1_(XY,P0Y1^':33]J35&+OKM=I2AAV=;Y'-">:RF2#X_?L[ ]^* M_HNNU2(+^P)RR ^Z>H*?Z0EL"!8"OJKB[?:8@G*8_$ 22B2'D1S^) /^+)+8 MJ:PRF-(62G3>C>ORT*VR_0TZ$;VP]T1T(D8WV9%_X"*26#;CA4U^K-MTKZ5V MFO+&D2OQ#I3$C">)/_5,_&ZM/]$2D,PHNL,%9/3J?^^5-1E,W_O2ITE//(CZ?M7;.]GM"M'5$/-U_8V[J"Y6O"UP_YJX8=O%+D/ MB&X;B]\$_D@>$CR)O/!'-#]+DD?BB3[_R\6@@@0!_[_ZAG!**#[[2O]7]" H MYA"$M8.ZL<%'>YR$-A?.I^\W9/3Z&Z+F=]9.X+A_]CCIM(@]I]LI&'.X!\:B^1DD;$Z/IS6B+\X/TRFP=QOI>F'AZ MCDG9W$ BU5[#WJAX:C5OJO+[B!?;T>T+&]H>'C699Y@1QS,O@(:')B=U&@^! M%1N"K'!D8%4_D,.[SE(T5!TR'5H M!*6+;=.8*Y9EF!NTMZ$KO3)/3NJNE&>4Y#JM-?'A=J:\FH02MX" ^!]US[& MOG^?F7?FCG^@0>V9]VXVC3FDEP(LRM\6<$?,8'O- '#-D@+IU M>SV[+1",]?I1ZP;JS539JN5:!]*B=3);;N MW@@AXZD/8)@G?O!=""2MMM^.>D<[M M_ 7X2&O4*S6FDNIC9#_.ZV5A996WD(_2GV COVL\#]5O:Z>E/.R:J@=\HFT> MO&MS>(IP?F_Y?74&/O9B.LKMD_QKM)^>M]%OJ3X-U=8+H#@?JUQWLL[C TK- MDK)7?OM8]?%5TX6IZ(*RX#0H[S'10:KI$U/ K4Z\'U>H7H@J\)@S=/$GH IG MT7"R\O-)1A>VJ\<0'&X<2&B7A(9^*)B%7JM1(WI*2FK7IKDU"0-D2'Q,62@X(<:HC?Q M;EA 'P$-FFXF?)%^&I"&GJ9"K]I'I%4T%SWY#K/&WH+\N&QJ:GU71 MA4Q,56TK:9%JOB#Q0D>,6^]G@N M*2,;@E'R93 RP1S:ATB,7U6"H&WTPIWQP3WXAV(PVJOF+$\I38O)%ZKCM&+@ MJ2PC'T4V0#H#T%IX'E1=K@/. E8?OB.G&8+Z*[P F]A,FQQTU0Y63 $HT&!4QM]BYD5=@J@@:G!$ZC@%$GH67MN%?54*Z".@4 MU/P+X)!=_<=9OJS-#0B6EB+KB@25(_C5PRP/S]/\VE-BG.GG>7B6PVYF,4,0 MG(4"$9G?P(/9A*0PX9-]4(9O MZ$T1_V'F@('K_ F05,MCO:(1K8"D0![V(. MS@PGX,1U>QKDE%C^-%#FB0DU"A.UPC)\#2,7* *]*0#V8VR(#"3!<%!JB_=5 M;V.-^<+0/37' @O.]"_Z)*AW>(^ &Q!_/M![DN? #ZFB[5KS[Q MG.7/R5N,"-;HU'.!IJ'_6\8'MHC[RH5?9"'0G!2H1'CLF@L!^T9/2^#R;H. M@6-@=9!K-_VR/@.9P=-?T :>>.P;$Q'4[*3.]DP. MG8@:JR"ZP_\)4 M= /186JLR8I87J#R. M>QZ([/$V/4 YMA9^=(FV\4[6G6 ?GF /2(8TQ[/PD;:F[6DB3X+L(87W$1P- M/X&/A9H2$B9XO)FD71]+QX(M&(",9 M3T;N],0\S0RTOQLG49^U/\C'SBF?D AI$YF"+,NQ,R^5(>=SHT?G> MNB?7"_U!9N5>8(M8K:!-A,ZBSO1*=84FAFR/J+EPBQ*O: [/L..B05:?3.Z^ MQ+SZ!W!F[2DC)LH:\6V;@\FCV*BXLH[[,_]=]O['T@T\02\YOD$3%:?;E+.E M?ER5GR_\,+[\&B'.-LI(VVVR]S]DL+SBG#C6-DR;]5)J//<:^JW!K96Y,P\; M0# K4],671K+JX.U16+53([M',>7B8[Y++[L-:\1TJ=1K)E_);$G#3*Y)BM. MLT8P9*M8SK/H>?9'H^Q'C(C PW5/R??'CQ[A/]'W M"3APUKL_P@?![R";Q#(T7_DW 1K[@G7PY)#=G]63#? ^ 7M!G3\A0(C!/Z28 M=L,)[H0*WR,]T]Q.DVE9LYAERK+L!4[FQY2,K/C4MGW+Y+KP_NE-X!H=A MP+H1,U!X;XP/KI%B?H(-!(2ILGB,E0T7K%#T+Q3X4/"]^UEHX5C[,XMYV6/> MC9EQ>G;>RP7'-)&7 ,XJN$P%\X5F; #R+7;17Q:<(OJXIWG^/Q0_CN;^:5OH M,(WBSBVC=F!L%@VSNV\%[RNTN91.N T75]1YO:M7,O7,$ENXIWT%W\8D>L_& M3$&^OS"+;IKN]3KS:KMF]ZH;%'C]FE?U&]A"[]F;Q(B>S;K,),F 5M(>D33M MM'H>T[QL)QX903\2(E_Q87PT'>G>F[00-WA@82404]] M0[=6$E3&+&^#4+E9H.@B"&T0J@,-#D6M! F#APK4SE?UE%,87FWM M=+_'6"OT.,= -O!.F\#Y*SL<-/=LKX2;>3 * M14(A;H&/\2L*H#NWE@ZM0Z3T"@)GH9/'6UUX3%@.?W@-Z1TNP+LP"GWTH2H* M3S/-@": Z?F^O806Q=P=(7=AI3_/I3_Z/4I+?YZ6GHS2TJ.T]!M*2^>\4Y5- M@C34<[@$RPM\FDV2 L=R&1)G!3*=2*2RF40RG?KEOY7;5<(3.F;)3(QJ3'Z8 M;;7BC%EOIBFD)CP?F:2&BMQKL2W:274KI:TV'.(9%XY,/A\IQ>N.W+6D#K;I M9277RD_*R87,$BSV?.1:*$HCJI2CF%:1*F?[:IELT6CDT=M;AH9O"BU%PTJ< M4:0&@T0K/T4CC]ZN8SI;T9N$B[62HEXGM\WB4.RPB>.WV]*L.Y'794[-SX?1V8=V9KUO:K,V4>(YU MI]@VDRNA7MY';Y?G3D:5>KRI#N<@WV4S\XFYI5CR>*3BD%M FE2*)G(COL.Z MB]XTCCH+'8'N9#J3_T7PGJTY? MZJVY!C-TL_VJ-*G+2M4]17]V(-A]$:J =*G9&99)JC KM=%(XOG(37G23ZC3 M;4GM)4JS)=MTRDV:.D7506>MBU2',-7XH.&4R7ZK-ATBJAZ-K"Z+K:[.)GG(LJ91^-S&XR3 '(0DFM53BYI9,YDAVA.C]'(]5R32S8B7B1 9MQ*IF9 M+4;#A,MFCT>V4A37G4H=G.':+-_K9RH-I2&S.'8\5.3:5)7@!T6U5!Z)[CTK)3&JU5'%M9]U3"- R<-U(V$22<3)#=TMGU6%6.,DKLX5)K!ARU(9(E4K#\P2G MY1S"BJ.W9\5L%1H>G1;=,XDEI90'0J*-GGGT=GD!\&6\63;5>6DX*"YJRH*O M4:?X#V_A_2914U/8!DR&I&QA35J@3N(/4TV*FV*^@7&\7;7&15S1N]0>_KQ0 MF.35>,N7O_5:\.#YXB"1F[LG3('H:* E^<$XGK:- K*?XF&\T_0X,C*38?.; M=5I(8?E62>=FM41?Q>6KQ#KVO7QG3?/#7CQU%AH5-'% MT$&.BA@8FB)ZWJF#,#\4O^*_R8K]Y8TV' L^SOKW[YNV.8(]"11E3ZM%2K+& M+2SP._QA?QKHK8%.B10BP5>D0HO#4V(YQS;"#WP-UOOD0-'=KY+AC\%VVBF9 M?21)3S^US7!JP2MQ?Z$OUF>?PZ5"^R=X#OY(X*_53-O3\_:>CX(S)$C(<-_" MWSTS_K=O&*![H3<5\MW?.1YRC6.#OY%NGH*ZHPUM9 OY<'Y[/R%OYU_80QS^ MZ=]GUM"_IF+:OKWU1_7R$V]4!S\SA0(#V7OQ$;%^%"'PY&/BU3+U$24N1(GD M(Q81XA8($6'3C1 "81,14>+K*/%VV]&/Z5&76W7F ZL.> XJL>C#__M%_/HL M_Z4?$YG0YQLZU?'%.N;9 K'0FWS&_=E5D#OE%W]'#MW19?DNE>Z\9]69;P3> M9)6CK;@*[Z2^$^_@V4/>^8.>4U<'F1(,Z_SOLY;1?\MRN-TR M^I\NO_!VFE#\\PDP7;2\EL0$3K==R$9B5YA^EF>-\K*).=BF,,N(K9';SN4" M9WTV^9 FCF-:SLD!ESD%;K7#V7>4YU>U[>\FS^_*9SNK/*][:9'AEOFE2M2L MD9Z?]BN*BJY>4K_^R20?,%1]_T5YO@-EWC]G]QSKO[] ][R"W'T!ZMSFX7KE M5=[G 1+QZ]4.CZ]9Y3V;+N](I%/C>&M)3,=Q;%C=&F/3Z)9<]^82Z5Z(E8W% M8BTO.2',&M@[/0Z3[B+=[N:.D]O1[ 'FV'?5DOU M05.FRGUK)G38)#+6MF95.O5)E-NH22)9+ MSZ=;)-#06L.AM8:_)M!W8*V])Y4%'L]U0Y?W*WZ=.J"_2&F^HO?\5I3JY/5W MX79 X&*G>M/0A1=QP,W6FF5[U"JJPPF0E-ZH-7!:%)M"!WL&>TBEWW>P_XCS M.Q+[3]O2U]Z%VQ'[BYW]KXI]/\DQNM9*%VBB2<_2+#,U\I@,Q1X>_VGB@]99 M:DTW&*Z#+<6>360DNY"=H,0P=,^:?L#)XZ(*D>D>8<'7VO977_'M8,'%%( 3 M6##,E:QZ1QHUF5JJJ+9+2;.<6LH0"] =+?F0QM^\H_T?+]?FGZ.T_EM-#;I& M1X,=!1J<[: B2"_DF.'9='(^HN:RVEK)7849@6$CWKE:CMG M+FYL@BAQ["82QPX*6F12CP09!9Q?,/3?6Q/A42_:]FG=TPNN;: MWT"6L]1\PH*&7L_7O:_=81\0[_==E5Y71R;,1ZVMTC4NY M:#[JB;F(2-V.G^7K?:ZOVOIAC=*" YIP0GT7:"O0,%"OM1..F&E=DZC_9^]+ MFQ-'LK6_3\3]#T3-[3>Z(X#6 EJJ^U8$9M]7@>&+0D@)" D)M+#XU[^9*0FS MV>5R819;$S.>,DZDS)/G/'GV[!@YB5A4:;;+-;MM.MT4X=21"$:IY/'-#6>) MO]P0+#'2N[V2K M&L.[C4PR-TH:+.K62>.TUM>+BC^37I4(]:I0KPKUJCN%MYSI6B?034HV)CV% M2E:RO5JCFLW,*GI>1MV@$;K148HB/Y=BE0P5JU"Q"I'GHLBC+D_I5<-I\G'8 M5S;EK$H3\[5HMY*L@A*'$/)049(XOF3G$^I5G0FP +Y.(]2N/D2[NG:9P&UK M7]>F3HB1+D@AZ7\%*-=9>D39-#$@5/ (-&WHQ*@QNK ! B7-1)E$\C.H:.@6 MHVTQA=<8)Z#1W:AL_AI"E2U4V>X7CDX@D&D_;:3'\DP@TB"5=K1JDQ8?QB*' M535H)?))_E/K:KY<(PKZR4<-"]BH^TH77^Z746T9+L:Y?Q7NXQ L5.&^G@J' M4/+/SP23@J'XH@Z4[%J&0U,S]-L)S&RE$D\=BJPI@EI2ZH-*>ECE270E%HW; MV[ GRF'_NE^U;1\/S9&OP55>+X?]8A#XJTAWDU5\9\"H+UVK=\VZW10_M,=" MDYMH(+$N+9=&HNTF5^A&/?H-A;MAL=Z+5\&UW?E6?%L)5>G"%>?MI^D;-=^FERG9F]W'1'U>2$1RUL)NC\:5_'9 MD95D?_42O3?7WP4E([]Y;1L3YZY9D11>V_;STR[.LV'UTBUL!!U/AI=4W<). M4/%K7C49[D,(3;>V$2$TG7+Y&?WLCU%?GD_5>V)>-)\J[YY(PW_/U$K0EYX_YXX\-N M\/MP(.$/>24MV9/(7(*4AU9Y1,(Q"CNB&K+N(I#$OAH0F0')=BWL[CG9GNE# M8U<_44?/3Y./[4GW,Z7N+.MYU8O]H3[L]SI+S^+2#I(33GBT9;X_2W#BI)3= MR(\\!3H"/YBAND *%STG$J]UGSL_&]S,JT" L[%6),=TL.NT%Z8XWS*&LU:^144\"0.HW/\[R4_ M7ON@?O&FW8@Y="35\ YKL)8GDC$&^#1_TS%]G\(:RN0U#]V#^SCK/@,6C:S/ M?CG3>GNL>91IZ\W>"+A:G2UKFK:PQZ:2\JYWHM@HG?B06R ^P0$8D4^(9,BH2A) M@F: 3 ^'\(U_2\$W( \\)"#OF-526MLDUY!#+-VJ"TW$S([:RF8?RVNM M;JYK#69=:R8@MU#'(]>KH5SKV@XA2+F:DN#I+&]K*>\ZY_V1Q-&:8 O-V<31:9Y !2!R.7"SKE75K.2ID M8T*,J_52XQY917TU2.YIE()HF^\L#KFDI4JA/IB5,?:70-P]'(84N(38L;K\KK0RU13(GL\DG4+#V;'GLR(?"-+44WX0'.2$KGCD86*T&WI<[#(2HK4 M=($Q> !=E.!Z-%(H2,W&HNWTA1[!+O@G60*5(4X[.QK:ZLG.4UNU!\+,KDCE MXFQLCRMCD22/AU:+8F6HZR:932]'PWG1C54@TJ&A1]M$\_UVH=A-5XG%0$K7 M>E:Q7\@UT="C?=**1(;C&O.V5N[,:U)J:EC+30H-#3;JH]N_%PW9G(&.M$95 M!;J)/'3'.6,2RT&)7*T9K=UH]OF!,*[QM91W!D&0 DK*>669_)"QHB,:E?<@B3R)YCM]+@/9;97D@,/N:_N6I'YWIZHWIXX MF-V\:+DQ1BF._L+0;Z:G-9F&C3ZU5=O!5Q8@][F7^H@&G4I^O,5[ #@V3O!G MN > 2<03_&W86;^2./";EF7BJA>X7V')9#SYU9;,QA/)+[;DD+&_PI*_)F-? M]5JXZS#V5UOR%V1L,D[=Z9)_-07O=O3,[;U^.<1$_]^1BD7Y[F[ MEO*S)AN'7'"W7'"85GR[]LS-<@%_[RS ?>E3_EVMGZYQ_*==RT+)\(ZT?@X5 MG/&ZP5M5\:^=*7Q=;]QU5W]M_\5U5Q]R_M==_9?G_*NZ:J_.^5]X]5^;\Z_M MOOY,#NO#WOLY *TD2;\'G\--=)6^_ %\CNSYR^#'-7LF7KCTQ3?\?.DYRHL[ MD2._:8QK3*7/6$(Z;72377*6S]7'WJUP-!--)C^HO"44RE H;T0H/[JHY=>% MM\>53*?++=_?;/@=)V5^66BRA?$ZFQZMF42AGTY8 M:U1-QG_[05%1EGKMGJ_;]91_K)%Q'R[S0^L#,J\#(I"!(PT7SM.,M%39#-V' M'^L^O/;]#WO4"2)"'^T[N?:B;PCQ+V0;8=E.&4K%E-^&^RP@7)9BF\5L;Y1K M\)WQ9$W/@YME(>[S;\/]$"I"J BAXJXLME^&BN:FMJ@*=+HG4$HG/X_Q,TJ4 MFQ JH-W&16GNXDAQA_;<>2,SUQ::$"F^A!GYRTC1WBCI)R[VV,_&>DIZ3"EN MJVBAY@@\0HHD]]H]A&$DZRXB67L7PGX2N\T^HYH48?1>&WPN](DZ ,S5> MFQUK4["(]J2N=OJBL#)=U(\&6GP)/DHG$V%,+!3L4+!OQ$Q[NV _3>E>9>TT MUD1/K)3E![&>Z_:18$/[+$%&&>9M:M>7L,,^L[D5"O9=6%5O%VQM25=;R>+Z M08@!FM.4-9%DJ284;&A.T624)H\O*0YC<_<1F_L'U1F/ &0(9;^>)?+GT..' MO\+*EC"_/\QR#CD_Y/R0\\/X25C9$G)^& ^X&?TUK&RYMR3Z,_L-KN@70)Z M/^_;>1_8?K[8O.P2@.N'CS[A&R 6M>7$H*UREB(-FC4+]6J+1IW@Z6\_DM$$ M=WRSVE^A<(;"^1F$\Z,=\+\OG'*/;R4K[@((LVZ[F*-8R6VX2#A1I4N431(? M)9QWJ-O>O@+_>83SLWG4WRRIAP(Z)CLEEK%2*0'(N71L6C6R.6$,!93_]B,1 MI1.A8_U>'>MAT3^@[5+"'4C.*X9TPUU9T/J3V0#^NZ^GY8GOJC6E5:@ M9DDS*:LQ:6KSU#1&?4K&5QY#*Y"-\LDP>A8*>2CDMQ!]>[^03ZSRI%G/61LA MULGW1[72.N%R*23DJ"XF2B7?:+Y]"2OM,QMCGTW(/ZO-]5:)/Q3TF=$<3-,U M@27:9+%?BCW2*Z>'3W,O[BR:Y]M=C1=OB ^=])=TTM,0#Q73 M'>K@.F!_LOGH1SK=KK#@&SH!/MJP>[N##;BJI)/B4!+*O4IU[-;GS' !E3H2 M=S$@HXD33OD0&D)H"*'A3LW!MT-#=<.-%XOLTS2[41/S&04(CAFM$#2@K$LV MFB##1G77#=>%T/"UH.&#[<:W0P/'$5(IWXTY!%49)FB6&CN#51-! ^JDD(RR M[+'#-PS-[=B.?SL29.*S\JAJP/>0S\XUL7X>UKS9W! MN<@G?E?4Y8]_X8_@+;(.) MMX>0?1;7GNK3YCE?OSS*0;8J-TTDT=_C1Q+MW M%:_%WV&"^ --?^>Y>P^+R4#77[6U@R><'1;V;\A%AO76RO9HSB8]PF'"[/S\ MG__L+N=8%GR$VZ&?3Q<*<_@8Q(86D+28-(+O_R[I*VEC!^#)Q^D /+]O09+& MS$! .O\1V?DWHLK1KLVD=6R'<+Y Q70P??*3+.[&]X@HRSR:,]_Q G"/V\/_]*D8F%\/:_'5,^)2+O?:7W M*WH0E! (PKKWB7^KL/_1#B2B)'"BD"F@)A(2D-1DH>\*'& E#B6X(#$?_/>*@7(3^8[LE%3 M\B;A)CJRXM))-O?01,?3X4C+(N0*)R;%.DCD?"4[!)%Y(2 MR"ZDQV5K9-F-]6H%1R8/1Z;U:K:9Y]>C;(_.%;,MND?KY!B.Y Y'.BM[F7>= MKBKTC,6XJ3I/_%.]*=(B<3B2AL>(V*G)"Z(W2#3[V9XZ7--C.#)Q.-)D#-GI M<2-=4],))M,D1H;06\&1[.'(#KH%9)RH.9I:K:42W>1R ;5X.)(\>OT\GR/[ MS8+<)Z3.ZD&7R8XXDE9BXGBBCIT2-M)&);*;;@_01,LDBGTT\HB@!<=VU(7NL+) MY!N,8)IE+3U6FB)[/-(:B,O,8&(7L_D"FV,?U,(B1S9%[GADW3$3#;.]M(A\ M-#IY*9M;=M5DN:R#? M>2B#;+,M:6.DX!VOGY[HCZU'R\QN'++0B"7M='J8PKK@X="LH VXT2"O9-/S MQ&"06MA:15FAH=796TQ M?*#ELI,>]RMP B?X-%W:V,9&K&2(V9R9K5>IZ9,"]XH\P2I46V\-BLM,EE G M5*+52A=38PL//>)IS>56O5:RG"3 ZG'6Y2JYA86"$LD33)U]F*Q2%B<1O:JC M3L:5F6FW4FAHP-5094%ZMFJX6+_VO@C1C^4LW5JM&:W=:/;Y@3"N\;64B(:2 MGF8.OP&4E/.ST6CV+[QCH+;'#;DY$#1&9%2[XA8DD0_>X6E3NU_[\>^>>G46 MI^*^UM^6)T!Q=5 ?94=%/6O@6K MDJG5*E$:/DK"XF&STIS\^JF;A*\"T'28PY3Q2DRQ+S):S16U$CEPA702%2F%1+ S' MS6\_D")X9"_^$?UH:KW#U79):H'\=%3/$JD'C9'E7K8%G ?53$%J)>+'Y91_ M8/[\:(+]N@/BD@1[!-7B0ZI>3 B 8!_FY9E9J$R;F&#'00S(7E"0Y]X+]4T\ M@J "FE,VDM0 %Q053LD"A@S%>@B<%0 &^MP&)P4?[0#ZULB+NT.LDQS7,:U- M\'<+1"3T<%TW5W;D3Q4]S'1M^#W[K^]8L\>V[-8B]'Q?T!K4I;D-O@?_V,5# M!'^^\80T?]FS& +3&EMK$IQ#\(%GJN%/]BRZ'9^)/X;8FF$<$Z=Y;(@Y5C U M_Y6D9S^],?F>D&=P=_QF4@//?KDEDU]MR6R9JV:ALDLPU-Y^QR_U[]_#N\ $ M[HA)7EMB4'(P#(7_MH7_/=MZ_/.(B;=B3KU7S+DXR]^UE".O[9F$^\--M!OF M J30WC47D/S9(/Z#[9D;Y@+JNH6S9^ "[DL?].^KJ;J"!I [Z?&/F*,+W#GT MN33]LQ/G$L[HGPGYW9#K,H[LCTBIOF#$G/KMD.9^2D7*V2G4Q>BQ-_@HUHGR M9E9]?3HHT;3@)LIRRG5+\UH=Y:RAIHN7+=BZ0B#@CP]&C NLY_66$S=4=G*9 M", M(<([LD)N !'6H%PLM6RE+)1YJ3)HBT+,6:!\5^;BB'"%"$J(")?4$2X1 M.KDI1/CUM*<;0 0C6:3S:D;>"#TV[;9+2889IQ$B\%= A(N'GOZX*P]R<3R2*[!^_P;314NG@6TLEJV"]C@-UZ)XQ]/'VAU/6M,/M<"<0X?NUF&Z]8\4'B7!O MJEG5E+;I$#.K_FBK4ED?9E$-'&IS048YYD/:G5T[SRP4X<]HXMQZ9XD/$F'2 M6>5KVHP99-7Z/-$V$H94)5#!*X]%F**HCQ'AZV;47:5CX76L(U28 Q_P)^0O M[Y]_^65XJ,1N9)FS+Q!H^PJ1M%M=_;4K/*Z]]_=H;MR7__=65W_M$I#KKOX^ MM?20\^\GT'&KJ[]SY?:F=-C#.W1KP,%N??#3CMM?0D6]?4WTC'S M"6KHQ;^,%_\7!'5HI@J]37=6%S:]7G'0'%.C/D""RGS[P4291")TTW]!00U] M]9?QU?^"H&JZ9@BQ;FDM;!*4U#/3:9FH(T'ET66 IZZ$#YWQ]^&,/S1DNI+N M=S>44$\K"37*"EWPG\@%?XD;N:]L$?US__>XO@#9Z8EDC$'1".Z#@P-2M@T< M>RNVJ4!J7[OWL=EN+:79XZ,HQ,2IH/=CCT(]@;KTHF*3Y+'6=?+2QS 4<:<. MV8]'@*N;6A= @"M95V="@%&M57EJBGU6J+,UFM8G8ZM(C2$"H.(2EK\L MRG M118BP"W;<)= @.N8;6="@!ZW%)*/226=949MD9)B(MT>KR "H&*2*)<\SJ_Z M8 RX:V/OIFTZ%)QR#0MRT=B PQ7:%,:I[--7NS2+[(C$J^('7VWP, MX(H2-V;Q?1% M@E-OD-#D8F56>E91RY;S2:4>JSGE[FP%)91!OFZ:?ML5J5_"!/I" AH:-!]F MT)R0R1>MEODR+9-ZNS\5-J#$,X*M]ULE))S0:B&3;S-9OI9EV;,GK'[AWPGL;B5'SYMN]R;!K)?*H# G%"5;KYN9\IHMY?A\)V@K8C/2G M@4&T0=-)V4W0MZ4F0@)H<26CY%LUNS"X%"+!)XQ"7:!U[IT;.3=MRZ!Z'7,. M$!8;XXANVG9$EBQK X%U!>$\+-GYU+;*O9DDOP0_7T+#_A+'Y[WIRQ_)IO>I M_H5L>A?*W'WZ[U^Q\:!Z4P^TFPI4;M([NLVIFT"RTPW3GS^T"+6W$HI"K<5V M4RLT9>S%IZCCLH_0B7^?3ORV8\I:;"C90($\.T.)9EXOLJUC/RP!"3W[H6?_ MQCS[OW+M;7LB6> !27AZ1\"S:QG8-OQ"<%_4#.ZH\UHAH*"V^+RR+MK:(J&J MC:&^6N31J4#C:QHO[?^[3SLE]/^%D8#;R+ZZ)'+TF+51:'"")>2?2'796TTE M)S]&R($*_,D+=S^\3],Q1(Y/$3GX!/EAET2.1[VE]7-IM7E)W ^EG)AS<-8IO2

    VU?6Y3[%RG>'?-ZB;1ILM$W1@2RU'/ M( KV"LDW,K.X-SIHOI8M=1_Q/OC,AF6BI4+FAGSUT\M2P\C>^2)[^^!'0_!3 M3!=UU[L*LO_OQP?SKK[@&U+I+F;!^>UA?)_:"70W2)+(YLC'*0&66<<2';I5 MVD!T3^+ '1E-$&38!^["#OBK2\KEH.&4L?>UH>%BUMY/H4&:I(MR4B)$32K+ M1-)6UK2EI! T0,..9J,)\FW&71B;"Z'AW>&XJR_XEJ#A4A;C3Z&A-F3S+BF! M M$K/#5SY1RM+U KAR2R">EDE&6/8V]AZ&W'7/S;D2 3_PB(5'-G\(WRS4ST MC**C&O MSG>:.8[OH=B>+SEUUXK,7[1%(RO)CE@HZ10HD>$F\K^7D#-Z*V9B MG1JUJ$2)TT!Z(C=24Z,[$YM[8I9\8PYVRH5\#-\E5X$S,17O\K"7)8[Q)*XF M69:X($36:C]ND@*H"F5=5:1U_/$O7DT5&5GFS'\<\ARAYTB1$8#X+.D[^Q61 M@D5&)%E&47PT>(87')'QBB/2?*Y#^4;OC%^'XXH>99R):BD'E.&CD15>)"0 M%!VX>:CAYG:E%G!% MJ_H3#4>R1Q'_''=PQ'\@__D+3D")H VQT!2DCV-]=D?[Y$6:\'Y1&;NAI19+ MD9C1:YY\T#1MT4_],NN_OWW0K@24QR[5'N5&M#:;#&,6":;326T,S=3X<7[I M5@)V.!AND.1@+!FYNKZ!NSVR@8, !>TR/# P0>%VOB@"\4@/0)P"2]5T;?B$ M-_)(8I]'CG<;BJ*%^ 2+Y:5V_/U*Q>6VO$M+[4V:4Z9$N62P]9J4Z]EL"H'> M\<5F6XA7_K@+_,4^\ .2:M"4*XX&4S! M32<>%H5*<3 5.7@TL?%C-7"[2Q!K]TZ7%;# \0;YNV._NCW!28:$RS5DJ#M* MJN%L\"O@1Z;KX+,)GU]@#<\60_(>:L)3UU,IT+@BW!C+@-+; DM@P$>V@;54 M9; 'U<56.\#F>"1EX],3D2WZDFACN87>*7K];+[2&6FN993IHPP M[+A!TJYT&,=]!_[TF;!6KVP5A+U>!/[AH4-&4B++X 9:"'[^%;08R/R]=1W_ M1:]ML*(BKG4@]T(>A7_:9U]\7AWS\)58. =/6\1]&WB>1+SS. -D,!M"S8XF MH[YJ9]Z4J?$.;]]O\N^IGCZ(IT(/93X70-!]4H0C-: M5B&"#UU51PX ^[E6<0_%]_L3/BO;4$YD+#OHN#DK%+]LDT-IG.O2YKMJP'6# MV!!.0=MC>_0=S\^!!0!^W3/5?85?!9,\M4RE;K(]V MU"9?WQ&W @"M[HEIJ96JOVSA#OR/<7XA_XD&15#!OB4Z>XZ+0*;I58 M:!N5Z:>ZL\GXUTW_$QZV[1945,GSR,"UN(:24J:N[<#M<) 6U@:.HP/T6T]U M)O"+D(;;U9P4T%E]VJ.-)%G0\JSL3@DP:"9LJ(MQ\>.VQ[NGC87?[HF7C?P M2!6+1]KP* +%TY WWC\5#*A;A5)0UE3'0< =!3 >4E'(E9*=[;;CRPFL,*F MDH)L?PB_2,:PIK#SV@.%ZD:0^IJZ.3R_3NCFSUQA'[/%2\@M=1N-QX'0RVL2 MW\BR4STO5<@Q8HQ7E/1?=1%!1EI-5'ERZ=T(Y'EK5NYJ95CBX8DH;L\[=/CY M$BY!QVE:M[5NN_J@MZG#B(T<'_7]OU$AU+X<7HKL9O!0FPS6'8DT/,:[)VS M\-,^I!=:N2]W[*8(M/$B#;)MJ3T9K+LKWBR>PK4 MGH_IQYH#CT@F?ISK$DA0]'8IROH4%1/Y=K;9IUM:6B$5[G%FI#:#L^@J/Z7H MO%P6QM-EJR5L>CE6L=.4_""OT-ERW UFBTF(?V^6J)Q/U($I)*09,S>T37]: M+A8U_L'(7(9-'2:;+!?;I4VV3J^JBRQ)4PDQ!8&>?$65BR+M:>[9X_K&,_=O MA,CH!/8);",@Z)@[=*;9S:@QS[0-(3]./*Z7W6FLT?]UN_<]=#8KV<&:R/-5 MK5=;,(M<7W++11188U[CWD/W)7:0# $P?MU[>0VXWC@J_5 OYU9"/C&M#"M. M,1,3WA_8^3#7\7TA*N&@5+?^($Q@]]W95%$=!:0O$- M%7(7U'ZP[B%+!G+6(9J;AC2$Z@FPX1_1$U_0*]"+T$N@W35R@._1@Y^=6.3! M,/9*7KYW)5Y 1I&Q;\MSB,)/%'7YXU_X8ZN>ZG!Y*-%D\D^@%.(<#7\F0082 MQ<;I))H?_&@"4$*0-U\_28L@_D!3W'GNWL-B,M#U5XL @B>#%*_OVU0N&F\X >G\1V3GWUCW/MRUF;2.[1#.3_N)Z6#D?/>_ M%GR&L[>V'_J@\QT;1E#T#G;-WW3'G'^GR#BSO^$),LXFC_;\0TK@Z>?]^5>* M3"R$[?_MF/*!&/S6*[U?T8,@F$*\U[U/5MYB_8]V. D1%\ZG@Q@:82AR&B,3 M=BMPTH\=3CHM8H?[=FH[)'P*B$"A$XPRY$2.XEDQ08.D*(V&29%C%4!("6Z8 MD*EOWENE;6L(*2]MV$5+R_9LVZ@GE.Z42HS127@XLNSV^$6,>I2)^LI,@V:> M=IA!4Z1.C%17#ZW5>)/+JIDAD7%;]035:XKT\4B;6)G3P4I="3-QU)&+B]+# ME$,CDXA4W31/=:15VQ->S BQWF,KWT^RE0*D)W/\]HJ53E.D^M32\O,!,])3?4): MI$3V>&2Z;*?*D[3!$*!1>I+%'&E+M;'('8]D'[.-UK0W& N4TL\WV$9WJ+71 MS=5'(\TEKRQ;&X<@9@_=[M+1B,6TB>]D/!JJ3)XL4YPT%UFW.&0KBRQ17LU3 M_O6-!_L9([,)5Q@G-:K4E8W\>C/+=5/H>H/CIVZJQ1*S7E0$=> 42_,"I6[@ M-I'4\=!.=_/(L')U)O3:UJ:@]U.ECHK;EQP-;>;*#^U"11P0^9Y:+S7E35M8 MX$+ZHZ%D6Z!D.UUN$0PW:ZT'9+XL]'$]Q]'0Y8Q=3RN3D2;,$D\]0VP^< \Q M./3$KI*M,=0ANID4P?3GAC,WE4QGUA3)$]M:*M?J':F0;6F;^D)R,VVED(O! MN9[8U^SZL3GH#;-)+=:F$^:TG2Y9$SB!$QO;F.D3FU_SCUK:[S5%%N5FL9=II44R)U8F-;I67VJ;09.=DT2&EYK2,Z(RC^ MU(F-Y8>E:0KD>U--*A"U_$-2:;IV"@T]$E:P4A[GL0=ZF,T7N-5@D\CU\G/\ MU'UI%1EB-.0( H@$K0S%1(*71 YE\2M$@D^0))M@R:-Y2(G'/*TL2F--Y9=U M02Z:8\(XB9=4(\_FTFY_*,RJ=3;6BM4):WP2+]?%UG1-YW*)[&+E]FV)3(T3 M0[BV8W3)9)> +LSF,4&R60YPO#(H[>74GIA-F"7&B$I@[H^J,@4],WC[@3[J M?6\H2BQGZ=9JS6CM1K//#X1QC:^E1#24\@P\^ V@I)R?C:;/II#LJU3<@:X> MPY^<4M8#=^F1FN)I&JH#E0EY3],8FKJ"$E' "%C0.$%1I4C*AJ:T'?DS")*I MP/YK5['?2Y\^2\7=OEW;EB?0!M)!?11,"X43\:12AK(S*ZP-=>#+'Y +^5NP MH80E" ZM$#,M5H"B/EFD^D(*O@5 4W<.W^-8+CBOMO\V(ZH-%3EUA)(]<-A\ M;AI(@PL,9"78 IS-ZVT!LFOW/M>?%Q_!D;B1[L7O32^S=BCI*.,D8D\ _CXT MLU'FI8DBP7!'<6:RZ=KPN?9?W_%F8A-I:VAXA1_0R-"EN0V^!__8731:HZ^3 M(X52]A31P&+#'(MRD8,// L ?[+'U;ML[HUY]OHS1)SS; _'"J;FOY+T&/QM M';18(DY>LT)A9R#\XT4:6%#8TOI22R;CB:L6ME]CR5! +M"J^:;6''+VEUCR M%^1L(IZ\:HWM^Y?\BQTM;^<\Y@(7W*X:_,5@[!PT@ HB^O#_OB6_O9<>3)S_ MV [ 6_/IE$_>?\EP[R7[MA&*G4:R.!ST[]_#NQ!X[H@%7EM@T&%L&$IV*-EG ME^PK-IS[7OSSB(>W4DZ]5\I)*DY=MW7L[THY\DR> M2;A#-KAG-B#Y+XWQ[^J?>07PSQP[RB]RV?=UM;MK-\*ZKB?JRJN_ME/JNLL/ M6?\+K_YKL_ZU7;.?R!E[>+M0RFM3A8+8,E"7. R-*U6#M@DX_]G/F$:-&$ZW MQ_X26';[D'6R*^5M8LTUFTMZ5?,[&3$V$TL3PM L$;'$4'_*B,*0)=[?3?(H M80;^(_C,K\I!K9^L)4"I-% $+1>^)!6(7,ZT,J8[=$:N'HCGB4:4A5&6-YH: M&&;=DEHL9-IP6'TEXN[55)3DCAN#A8(;"NYG$ES406:A)09R/U,29C4I,3/* M";'V=.."VP,)D,Z/*55(=V>/Q>I4US9K)+@,NKN188YKV>_!&7*#MXI<6[=J M.Z:LQ8;HND^<:1C<]QE:B9_(2GSY8J@[,_YN!]>OHI#M7L@+L3THXSU]8V_: MM$_U!E\]FE,[.7^,:4 BTG;SL93=U%(BXZED+'_9^T1"* BAX-ZAX"HJWCF@ M0+5;>GZNM?*$NW3*?*IJN$!&98,,@H(DK[?5#@H@EBX2J/TW&3_D5%%&D&R6A7SW2 M?-95:SE=&W2J3K\I4N? /FG2MVMZR_U8[OX=F[TG&\6H$/+^?JJ MU8N6\XNW:)TREU5[V.D-RMD\H=KY>6G>C&U*N3&Z >+;#Y**DM3Q?8"A7(9R M^>GD\@(>K5^2RX=Q;U+LI)@'HK=:@FSA\?&!KJ1$W@OQL+&*!F3< ML8I3XS&;A)9L:,E^%4LV+.H,6?Z+L?R]:S%YTU16JJZG#.7YZ/+^=$*-L8AF MJ@P;Y;G+>G+O7,&Y93VFCJYE"4W#7X'E*W;2 M^'C3\=J+NQU0OH3+!PG?"?AM:]9CK-)IY[1TL=9+KP0]ZV[P#0OTMQ],Z-L) M!3@4X)O0JEX2X")HIOG\LM G8J5"4LH3I<<\OT("#/6G)'5\CU[H!;HS+Q"' M7]!VAX[I2'IH"7\B2S@LV;E'72IOF?8I4[;=28WGO>ZJG&VSK-MR&Z,F$)IX M9M]^<$24>F-M=2C.H3B'XGPY?]4+XESFTX7IJB[FLW#Q?>FQUAG4''RC'-2L M&#+*4V_K<1*ZIF[8->4I5UU)]Z\#VS:>"I.+0D/W#@Q=!,!_WKM"M16_;2N; M$W"<=4;#P7R22Q-N1IU,YX1L=XDFNK43:E=)\OA.\K]""0XE.)3@B^A0;Y+@ M&I!Z2RM9;6OE? L4!2%?M.KXWEVH4-$GRN[.(<%WKC7=I:^J@QQ5I^ZR#*W= MC[5VKPUS-TN=FS\%/I^7K 9.-:9Y[ "[S"^373[S*.S\/ M[\S)XJ53-RQ4&N]LO':/"U>=SX#AA+92F$]P>_#T>0-8E6=U-1#(ABX93LI0 MLH%,GC!HZ&:O,*JZYBI;'SR*%788X/FI#<\E.U0MK^P M;'^H1^*=LCULYJ<=;=@3A=E2S3@;JBKHE3&2;73#"AFE3MR-]*&R?>?:V2TK M85Z'2#^M#?@EE"PD<)!R*EM,BO&"+/L2&]NUMZT^OV[>O-+Q[0P.\9;=29LO %DW506MI2G6JQJT>W&#;2I! MA8ZJ4)!O6I!_J6GKU](/[M(Y$\!9:,2%1MQ= =&7T"B"/YW0)/H5 \ E)@4A M;SV9[:;1[FKI)IPV3BHBH\Q;HUZAE(=2_H6E_%)QL?=)N=--6[3D\'E!8@@N MQ]94]RFW0E*.:J&B$*-"%\XG<>&$';/ONY8U[&)RA[K72XUV"&M5+LBMQ_$%6&&?3GJY1(45YCR"C#O1'=0R (@2 $@AM4 M\MX(!)6NQBQ2XTE.J%-Y8OC8+>KK41,! =3R$F242%XX5?'.];];5O-JP'EK M@\DO@=YG &D:PI5BNBAA["HH_;\?96Q?86&WT[/M IT>=U#Y=/NV=K^;'8 6 M62/236=5)1:I!E.&&AINW4UQ48(YSG(*)3F4Y%"2+]Q]\:>2G#,S#O50S/#9 M=!FL6KW6LFY2*R3)7I%>@G_;=;V?79'ZVY$@D_X(:%%S9_"-\EEY4C7@/)SO M-'.L)Z'P8>3$,G8> __XQD7MK6"//3.NA7N^BY!_O9.F8^Z>.XUE;9I.J35; M2&=*?58UR20OC'?+&-KR!"BN#NJC!TE'7>/;$P" MC'C;?G0FX)3>BIMX[?@I(Q88Z4!VX"!I:"Y!1+) 1#5DW57@1ZH1<>!SX%Y@ M\U)"PX8> 2,VHB!\G@UA /7BMR-_XN&F:\-WV']]QYN*V7-K[G@8"TT=79K; MX'OPC]UEHE5- + [S-I'<-L8 0+C>E@Y'R77,<,/L!0Z7WBBZHW9D=V_3'H M$T_(:2[.TG\@GG6L8&K^*TF/E]]FFB23<2YQ3;1XEYC]'D#2\:MF.E]AQ5"Y MNW2?VFLOF4Q>^1@,&3MD[)"QS]4RE;]J7]CW+_D7/84W=!PCUR'^;>6I%4-3 M5[X8C)V#!% _1!_^W[?DM_>2@X\GR:N&2[A]TUZ&RBRP#B@XW'O)+L%0SWH9 MS(; BM!D-/+OW\.[@ 3NB$E>6V(0-1N&LG_3LO^>73W^><3#6RFGWBOE)!OG M[UK(*9Q,?Q;9#IG@?IF Y+\TP+\K#? :R)^Y[(6#5];IKIOE-6S\VZ^ZZ MGK5/YDM[Z7:^.S"*;B$_YU; -<30J^M#/\VN,8;\:$2EK4%6';*<;:W4:N&Q M*>*[D1$*+; M>Z()ZKB'SCUXAL($MQ<7=?$II^R(.8KL19#0^1.-K$!D(BF1_[V!@R[Y.VFD M]3E F8'&N&+:=EJRK U\U@I.V;'D].G@_AL++G.Q+0@ MWZ76JKW]<[#V-#1Q'&M3Q;LO9JN"4TP]$;0PZ]4?!RVUQ3^MQN_>BY=)?Y+D MB:Y5&-8R,8Z(S8OK9*L#2CVU^>U'(A$_5C9V:3X""GR1'JG5*Q%Y]S4H\U"" MY+==W4$#4:)B)]6.2/+"A?*('A2/%$<1PW0BK@V4:,1VY:6R51V(ZK+ MI^2*)^W1"AK=\>/;(^]08/8(4'(MU594/"%?=,;+J3 G^$=!4W/E50\T!LUD MZOU;\XNBTQC4F44NYN:U>EYA^KVD/AIR2'28^'$URR[U;;2L8\&)^OF]< *' M$H5$!VW7R#)G2)CB$91&_,)S/.%YEIFE9&W0,Z49PAT;BI6S L#+(-X R;+1 MX4/B!&2*2!#Q2%?279Q[#:5,-UZ2KV;2[;4207$.13I] 1=@M'4R(Q#-28(8(U!]7:Q/@2J&Z MIO!9Z)F28;APF*[.5*_NQ(XH+D!_08\W5P:P[(DZC\A8MA&-, P7C<@8&.@- M4?B(HW%1I Q!OE -1/O-[LRCOHID>Z#N6))A>TR%=D"VO"O3#MX.%Q5LC>V8 MLC8Q=;@\R"-69.X.=56.(/_YW X*1/ @]"T)LI U-SV\13-!O(-XR8@DB0@\ M]U!6A 07-C=5=$:8T'R%7W(F%@ Q=$B@,:JIQ"/7V?X>XN&QJTN6OH'LBRI> M\/8B/K=M=*-

    JWLF_B;@@A.BB4[;R%Q"1CIZ;!15R*";7)^UH!=!- 5' M09'!JNG<,D>08_S7(9$YD!+=PQN5\#) M:&$G'X&GB_G$W*Y>(H6'C A@$:'DVIX ^ GBKK\\2_\$?"L#&EL(8?,Y!]%M>>Z MM/F.?1E!Z9*?HT2Q<3J)F!)^Y%-06P(>5"+ M22/X_N^2OI(V=M M@H_301+8]VVV%XVEG$!5VI&=?R.J'.T:*CK;(=Q>49G_ MM?VZLN!#T[,YOWNBL@0'N^9ONF/.OU-DG-G?\ 099Y-'>_XAK2WHY_WY5XI MW(6:U7\[IGS*P?7>5WJ_H@=!)0:J3?I>0JS_T0XG(>*BDD6,*5 (TU[1G[UU MGDD_=CCIM(@=[MNI[9"P\B42+$CP),F)$I.@Q,1((46)&DJBPDHD3W C3N:D M;]Y;IG6>J8/QLB>.!P9JQ@M.S=T1,)E2G.59T67 M1VV3CT<.9H7-\J$_*A"2G!%KHIQB13$ETLY?F(J,V6B7(JE^P_U3J%" MH&<>S3.IQ(32PN(ZVJ+1T]5.1IRM'M#(HWD2TT5Z+)M*CB@7'M28S B@EEJ) MR>-Y3E(#C:NV-TO-W5!)!^CLT*ZAD?3A2*[&5Y],V00"-4NR:L]8L;+6A".9 MPY&/9K51T@ID-2L]2AS7R#M]YPD]DS\G\YK1:$>NU1J II=2+039$Y MGJ=.I0MTLSR::C.H)S_RU62S)*]$]G@D:8[+5G?%Y[(+NK^0!PF.7'6;(GN\ M(H:>#9A8;-4@8CG!X"=J:3E]7(G<\3/;Q9HUGJPTD8B56^,:/9P^4N6FR!^/ M-)1^K]H?+R=$>?) 93:B6=2<&11_O. M"$JYN$B"1V)3+5MZ;SG=U+0Q'!GL^\&Y&I192RQGZ=9JS6CM1K//#X1QC:^E M1#24/AM4[H,]=Z ZQDCN!=T1G]HUK+E-I_5*V916:::UR^)3V%_AB%#BDN[&B_V_V)]#_FF@*$\>['0$'>' M#ECS'/J4B$+;-G"D2;(,5X4JYJ%. FP'/VH.#$E'FQM%:N@=5LHS?)QASE I MS]!Q[JH=Y)13^FV;\&Q7^FVWMP/G*7)"\[OTW9^ "[DL?].]J\W,-#P?VR;CNEK^M:_UNKA+\D.;A%S&D?Z92VM?2$0X45(+2H]/U11;(;+Y M=O$)C(R,G,RG_+IV(DKR;RML/Z,@7S6@$ IR*,B_(U1;7#97G'^Q)&%;C^EI[S:>"K*,\=7H(=R',KQ+04 M;TB.6;$UYMF%QB\<+:9-IGRVM2"2@TL(5D7KD?JAJ4UI$@]7ZOU%MV+0O5]+QD.WT) M$^GV@??E"XSO7UE"^T-2YUCH#(?>%W!=RWT6X[^84S/-QWYWK4'?C?/X5 MY6INJ:;E]5@)_=*?R Q^&9%"G]:YFO^\5!5W7M.XZ'7: '8+=V& %,Y9YJR! MY+:!6R3 L=MROQ-V=#\W*@WF&4!IB\Y.,4HEA/E_.JI6YT14 0]2UFT,"BM<7.=,AED)O8NA) M,CEGJ2DJ,V>^_6"C"?:R+?!#(/B$0'!SULL' P&W!P2<.-4?'IAQO]K.IMOK M]KB2Z72YY=F]Y;\+!$*I^4#Q?;E.U,L.;T_8487LK2 0\"A$QE*7#9'=N5EX M:]9?"RBNWZ0-]85XK^7W)0R\>P;M^U?20K]FR'V7XC[$;W]^2JL@ WY/&; & MF1J;(B12H\1QSVEUE%C&&(LLSI=)$$>JP%^AO'X%>;VR)G\)>;V.\OZ[\KKF MK7HQS21*0IY:MG,#BJU:,22O."^&X8[S8LXAL7>NI-]-[.9 >[>!X^@ M;3U MN_3B]K5^K_(7+K@+8S;G<]!I[<:R_ZNL?"E<(\IX^%]K/\]Z#XP_'P M#ZEG^3]Q/J04O5*84C5)F#7+G"BH3:.L-D4.Q7NX*'WBTN*3YT/HY@U1Y+.B MR)$K8H]C8C:08^HZYK'+]P+^/['6ZU>IW#2URL;FE<=EM19K5ENKP^_NMR'_ MK?E[OZ+'OJT3MK?(7;>*S]T?SN2AB%^?VZ\2Z;GVHL\LXDK6Y;(:/6"RJM!L M5\B.4"#9<2CB]V_^W9J5MU,>#@SEM<+P+V&SG0%Q:0@^BNFB/MA7@=QS7*5\ M2F^ZPKINI_SL_/>=O[W\[,&H3GAUP\)9S)+M>O.A-3,<="\!2IOCHFSR;4'R M+Z%*A?(;RN^M]7/HY=?NPVRMC#5JP"29\9SH=Q0DO\PO]7,(Y?^Q4?.U MY?>*;1P:# M[G_;N0]G;];!K8*JH:L&B W1C3Y[E^N@[_A=5_WKCOS%[#YEY]WS-W?ZOH]U MIO#=U'O]6I%RBWZ2O'^K-O?FXHW9'/:*>;N0=<=LLR.- MEQMWVD0J=?RX#B6XNCCZP21YFY[R422QS=JH.+#K2\T5RXMT[*E9*\3&2$MY M[39GQ#4?3)4WH?]'447F5[QA$?8ZVUXD8R2K$3(S27W[0<>/4Y(\?^>662Q@ MHWNCU270-]&?7,,%CP)Y$E%'D9T1JA%<..W=08N&X8M?U1D\,AQ\TRP8C;Q7 MX.=9D@/L>*0'(I H)A;BX%:O&Y#E_0,:^3[1-JV@GF,#X^TIY]Y%Z8W@8K*4 MH13]&\M2WEJW^TCL[&->SHP=0[C$[#,HXV,WH(]DKPT MN7;9OM$J-C.290.":J<3,W-2+PR$E\CUF4#@W11;)CO#%7 9CE@\/;A$KE5. M%],0/HGXL8JX14^46S,WT:5WJJ2_;K(\NNOO111!U_.]Z7S?!2:,%ML' M_M)D7IZ(?PWVW#*1_N2O4\6410,11EWMV(=\GYU+546U&]W*AX) -_-<:8P/C"[DBQU89L/)L!0X:/ M@4H;6,-E&=O;&O%5[/"OZ*:,$8 6'B2U=T>ZEVD%GY0(MBH9CW2>'SG7 9H9 MHN_N,]%8U;9=[VVM5,N[Z!LW>H7OLL#(A2-D75)GMG>DZ'IPWJPDM*%+%:SP MM^'_YFC/X"_##5Y-*=V)*-X2T:_.1+64R,*5+,@;:#6(O>(1J%=*_N7L4?S2 MESD#7W%NH>0R[R7G1HUM$@V[DT3#BS3A_3)/L0_LD+0J!.6*D\$4+->%_-G5 MJ]_,H=E%E?IBE9UT*IT-46<>6D]<;)"B:A"'N?AQE62 *O%(T8@@*8V4) /N MU09M$XG5>CA=H*+]-4Q''4&+%--\!&>W95Y\QSS:Q!>XD]T"B;>9-M"A*"%N MAG_?84R/=WV^W5Y5JMKX);L,+!_J-+[2XS$4AC03*D"2EXV(7CZ"7S5D!%)P MZ[T>$_'KX F&B1UDVQ(+H5_&)\TP; M[\UHBXV?O?4PZ]0K+(,/AMS(X#_B>8R\JWTQ+IT^#Z$D*"H6 J@C0]T94MO\\=X RQ%;DC$&J;5J MX]^J$")G[JR*MT^4A:6EZ_-6EDAKW;7-$"7N07R__A> =-%X21.$\!T0J.'3 MYR1&YYU^OJ!&/8[:Z'<2?W$EX".XI>/20\335F&G(7RK7WEQ(#$ MBS@KH,,]G$%:3J PI8S-SG;YFMMT"+ASZ#M&F#0_,4ST?"QN:+ M=J?G$SRX_3RX.%TLZ%J29D@RR=$D\DA)1W]A*"[A_^6CKPA/PV,) ^$M3O ML_"0,C< ^%O?T"7#/KX4G.PM%DHZMEEF52+#S&TCV=:LE,?5<+E 23FOC,,7 MO9,?=(7X*Y[#UZX[(*EX)%A[Q%]\!*]^>P7"551TI+#ZM\C[*C,\EVQ54>%I M -]KSR&*0G0-#@=X)*H6UJPB0^75^PCX M*[>QJ@)YWOORW()P8<%EHHVU51N?IPHDC0$4O->6.G2QL.#QGI[S\M]WCCIL M#RD 3V]WH.U#[!L1=@Z%5GRTV/*FR0_R6IY.,EUB(U+M1O/<&>5OB:F,X*PS MWO+3.XM";.0#>,J 8*#O_1%86YG;^/]"94?H*I(MQL:H'9"=-QOTK%HI:-G8 M:DS40&[:;ADK"++QY!'&_H%V3(9V#,3%YUW&R6KL/Q%;TCTV@KNPDL;/V[^_ M)8[IP%F*%4DIEJO4N S*"8-X05F>O! M8XUD3M@>>ZY/= IYBM8'$^\]I:Z7(1Z['"Z'-6XF$3&YVW.Y3GE2+R+B)4XX MTT\0S_?7?#3]WE%Z>!GZ473ZL=F:]-)$/C7+%A[V4QS#ZH3&>"TGR[Q%KWGYHE?*%@98>-C?<4E,:8WN%B/6R M\\5SBLR]IP:*MJ<(0,LJL$4]C@T,TL"CPA^X9J^C@*5?T;QP6 EI4*JLSI&] M#,]0;!?O?(8#5X%J-D/^KYA_!EO(CVP_:T:!^>[;&>B-V],ZLIJ8V(L"^0Q^ M88;)9A_:]"_2T0]AOY%I50?,Q-2F-I*F/O=HN;FM/+34HK5JXA!;_WDN1B!1H;D#F*EO"KDY[-A8[AQ9HW5 MAQ/H]_68BQ$H1Z=Y*>W.'X2V.A\WK4>ZE;"@G!K',>N??W!@#\XD!9_GKYYH M6\,':_!>P(3S/022(T6DI:3J6#/ ,1=)F:F&:CN0WJ;E>8GA>6C]Y!TV=ES; M[@A21D5.#S@K!3C @@\#^$"59-F%S\"'\?9P'>KJV'- 1^$#+-^AZ$0DVP8H M)N!XB]W56P[G$:S1BQYB/^#VO#[0"N8HK@@U .3VV-$-+A7XW=%CX !UJ2HN MY$RD@J%PA:_:^"YY8XPEQ@O:H.BWHWL!;C]:%H%'"HZ/(B\&4NV\D EVE5M M@I1 40'LZ?!-C2@*Q:-C #*OIP]YD1MO1Z2Q!;PX8-0/ 7V O_-0_!37.A"_ M'=5XQ^_I]7XI&CVTQ3X)B\\4A*=EUJ=0Q\PANGC.G89/E5VTJO3'0K:3'66E M:D,<;'1^4APVOWV$<_?ZB^5G67>45I5)9=DG34%-UMJU*95*<%FDIR>#+ID_X244 M_AV#@\0>+W,(Y8( !<P0Y7FM]"2S,_$G"=^0_4PMR/R(8\O5MJ?"XJAI:"H"!,%L;@XJS%$<3 M&E+! <9I/D?L:GOO>G-^YF=AL9P*?_XBFPV;PP9A.-.>ME$3Y4*6<00@01QA M3P5,[H_-V.2;V$Q[5)+37N_I25-E;94I)0M)>P.I,/(H^E-6\]+B+(!#B1N, M;TB%\\@5!+SWT!AB_H]_X8]MHP8=O@*5_$S^"2HWL)+M:ZM!A1?%QNDDTF'A M1Q,O2HMU6K_6C2#^0-'?N/2PF UU_M8M<\(2S%X>A/0!6H'M3B>?",-^A MR'(>H3!A=G[^SW]VEW/<(L*O<]NAGT\7"E=$C4%L"-5O+88WX[NDKZ2-[2^6 MY>-T4$+W?5LJ1V-/)P'I_$=DY]^X0.9PUZ!"']LAG%^ %=/!R/GN?RWX#%?' M;3_TLW^^8VT?6@\'N^9ONF/.OU-DG-G?\ 099Y-'>_XA*0+T3DL2*3*QD(S_ MMV/*WTY40UVJKP@B+IQ/!YN@4 21O8^4HVVEE?1CAY-.B]CAOIW:CH,4E=?S M._R\C0MD:MP>^!YB[@[0YA <'J'MLI-M4]E'@1'40B9II![DA1M#47KBIT"+ M]55Z--^=E3*4.O+N-$S;>;;NCHEO5_S%JL"NF8:O MCY_T=Y6J$ZM2 G,1+M"V,MU^P=4KXV\_$B>*DRY9L77V.K:/(^%J-,F*?;,S M$J3T T6K#W;%6:P0"8\;%.['F9%M92$FE=X6DCH.[1WGRET@[VVF>DG D)9I M_.XQ,&1(IXQJR[II0X7Y./.M5U%F&?II#EE@5JUD>F;1YOLG,M].C[M$YEN MHV]/?:/CD1UJX'W:H\>9,^#V%0CNP'L9PY^<7$M0PGM]R$OR&MW^M\[.6*X=GY9]821)"M-O.\NZA,9%WI9YA"K-E#,;+^X*/ )>R08(4?ZX0NW5()P-MZK58)/A]:19&P0 M,>1=]\SS&G!:.V9Q.-F)JJ.@8T26#!1"F%L 53+A9YFN@XL8S"!I!LY6!@ 1 M'F\"I*,!286>Y"?20=2;JT9PHFRO^+3 '%JRMI>"YQHVT*,XO_[Y" ^V+R@[ ML=$F.5"'MW=\]=#6PI5-_DK'8\@:*+2P@NB[D[C_G(X/_.1DX\"U[Z?@1Y'K M=!(9Z>8*9_Z=J"&)^F;=&$X!?M%_(+ZBQJ]C0PD0T.10-EOPOUXN/Y(E2!TI M@NQ %U/&09$(V;6AT0=0[<$8'N%!VS7Q/4#P1^AYH!6\SS&KR;8 M?AG*XA[N/VQJ$DJ+1ZZ'X./-P2,Q&1"$Y%T)0HD#@/]4.F4V2XM9@2'RA5HI MFZ>;N46)&YKU MU"*[<-):U4T_M>H=J"$ZJQ-EO& -9-=#(T\<(;.H^&U>$WAW:(.%B].L/;;Q M@V"KY\H2Q)5(.H$!OR$#!'?QB%<)%O"E:GOHB7CLN@EYJ,8DC>)UP$(Q2KCQ M,Z_X!%)?3/OS/>27VV&V8:U>;R9F4B^[2)5YDDY2W5KG_3KV ;MEI!DZ&MNF M"W6*KJ2[IW/D$@V9C"U2AD&44]/V1&06R9R) U^OEKXHWM/W+@)[7FD0F3 M M%0(@"KH&,(4J2.$!(*$:6!D>\7"_;!2?T/0Q*'FM*>S5MZ(]'S T9U,?3 M&^'+&^2UGP/;F],Q7^ SI*I+LM"(#MNG[9E M,W3*F5@K0:TWYI*J!)G _H'E/!>H!J4;TCZ3>=SE*2+ S[= M-SB'LK"0&4& M'@_Y.@F$0@/?=CX! >=&\4-P_:NGZV 8].Q25" J3X#BZGX5K60-5JOFX3IV M*)H;6\6/]*?@JQD'30O@$%]+^219*?;V M!.N!"EBBSSQ-$J>C^&JX[9-;!+#;\T%FX_6,]QU3)2,Q4X'7O[.DR* MF;2)H"$6VF\X _\F>ZPM!AR!_FX@/?ZH3\LYE<)?L!N)LYB-;;@09W-52[&* M[(5 7X":NY= ! U#2\?1:"@*!O"0& N 2>!S!_'\JH@D:]EX:HHZ]([&E I MV.[Q@FTT+_(>&4*YLH,."D/(#CNF 305'=7QBKDTPUSY87(;DR@>*8X0KXPD M5=\]@)ZQ!:5DV8'&[8,+DB>40KW9U:)1\A=N-0$Q'?T;98UN;'^KE@VP5+,2\"I@%$N#A!YXR_),&GC.83&M;DG;P;)R5#0GC6=#P MP9"BZFR(#>R=QV&P,C;/H@!_AV*D2QL;BS?RO*%D5Q-EOWF2%2B(T@K]RZ]4 M]PUB5$R.,\Z1;\\3K,.M]G9K.P4TRLL_-W%F(9A(^LC#7,7T%%(L\/!; M\F3G=4/@3=)ZSM*":X(6*?"2]+!87RL/WT_$@",TX#R;J?Z-3,&&HC]ZW(-H M@ST!TER2/4,;01<4!6EK'LHRF/LI?I@Y<:GE]LGQ2$&%3&2A&"+*7MY7@RX= MX +]Y^E3MHQLUW(Y[,@R9)"HK@C]NS< H G6R5M8UK=1#LI]1QG=5*?_N,: M-:,_J](_YZ:,TC5U#I7JKK8@6C)5YIZ:VNQ=21>_N2G\=#87D_UFD^@962,S M(89C4(;*)_5"[2G&(/\U$)_LX#SR9'3/$[=5 3&,P2/,A!+L"[<7LX1R.5'G M&*YL=XZ<:][S?6DW $"=X7P-Y!@L4*WQ!&V8O=4E?>0,"F)1 K!M!XF$^]ZS M_78KV"'J]2:0)7?W+% ]/(6DUW$2LNF=J#Y>C_"Y8&&[#!^;OOILX9&XS8&? MTZA#6#)PH-;V/;\ (KBGPL+16Z+B!R@F\'*A@^,>ORV*#P/<_P@G4R,&\=V1 M.M))+5^M#6S*7<4 'P]POW9L1!DY2?&YC1R(WID"SP<-O> (<3U%%+\V( L^ M0KW^";Z.C/ULD/L]SP/:*QG@!COHRSMJ#]IM:$KXNH&?&>[M[S:EVO#:?ODG MIS=72&74,<)S@ >,%CAHT#"_(OW%;8;\@M@9'F"0CK+MSQX8^-SP5*I 2<<- M7% ]OO+<$@)^!D=(AM="S'+G>SYK+P-^&\P])&'4WX.#;^\1T.,]K[L55)E< M$#C=<0KB#AMNVV9(%C[O[ELQ!_HH5@R"%S<2RK'A 8/:Q2$;%LT/!U=\,Q9) M.^3> &;DG9X;T:!PP-H&$[;Q@2AJ\6/N_A[PZTX(P7@N[(^@K*%Y9 (@>$QV MPD81U-! M$K@<% @&%ERM'Z:*1[+;Q_HZK&H$CC ?NI_7$C1YPP<+5KG]V,40Y;TA=TC4 M#R)@F%6"/-_ ] _B":;E2[@734$E$<\5+/OD^?_LO6>/XLK6*/S]2O<_H'GN M>76.-/1Q#K/O'8E@<@8WX8OEC#'8X$#Z]6^5;6C ]$P'8C?2UNQNNK"KUEJU M&S4J23/CF9R^ M+C),K?6QEA90%]RJ@MDMW**6%JI3C&!Z-)2RQB=MDWU.3I'RN(/DIK(\62.P M]SV)_ 1,.6;2OB@VD@U4B0?@-X /P5W7X$:#?-ABJ/VF()Q>L)*)THS"Y4=1 M8E0+=$IBGTU$]->9?*NMY638+N@UE 3JS+;F-U!H@IJN('/*\:$B"_-RPNR? MI+1*AMTM@?YIN <5#9L^6=)JHTG^\>)MSGYQI^B;. ]W:%5L$D%7.XPG9SM_ M-#^\/S"F&V8\F[-ODU]7$?DWNU2Z8[D>@X@+K-Z4ET2EA[Z_<>:G^* B5['6)>0D?"&OHQL:/->R+-?!ZR?<39<<._'VP86V0 MCPGL@L2_=V+TQ[T#!U8AL'^#<@*@-/WG-EE7/CK&:QSKB$U[AXQJ\Y7HM(=D M/!THU7XW0PZX+NJX0]>H9=3)"L&W?W@@^0M1\+6V(N5'.9]?>6VT->UG^)GRL52PDXB:3G9>%N1Z 4?\D=\S M^T)MT!_K9Q$UKVN-D8 )+:2[E#\IN.'7A,^A1_X.)0]4G^ 9#\E9[^3IR73P M/$8FG6HN.TC52D3_"E;YH+LPVWE\.>'*E5D:;8QD(=O4OY[(N30>3B=K^-54 M5ALCP^56'2M9*2G2NE)O/F3-9XV:8]207&(#"VGWTGQ=7G*3.39$R?0);-:/ M"IE16C++-:4E<$E!8UJ,*?;KZGGLF3\(F:.QK5W1!8.<2+B#_]Q@L$$#\NG549RE M%D9WT:OG,#/I9%:++L)[BS3 &?Z:!VP:='^$#_X9_AP\._%O^&@([?]L)QXE M]D)[D-J2QC(9SBS^50C^)W P)ZLQG23-V8">+_)UHY0N-P^34?8CM-<($D)1 MN8T+!O][R^E8E6&P:1LQS966:4[]1:.@4XO;.QV\@?NG@P/;-E(^T L"X>X& MJ=%A[L5F"'4XV22ZRB\S_5Y20+S]>QW6NUQ+*, @Y[TTZSBCWE@R?1]KBBF+ M,U:\UJLV.OED\8VZ0]#+;Z,[[.J%F]KUC/X@]J@ MZ7& >^#I##<;=_+4?)56,3?U9HP>Q6,@@J&- !8<\?7^12O<-]"OU5Z$$QT+ M-@P 4K ]%(]U$JGY2J\Q[.FZF7&$HEH:8K+2:L8[B1Q?=Y,SM(BG1-L#9QR" MWW?"IMS,-V =U;6ZB)PFZ11#4"PZ"A!2,!T,-D1N[(JP:R2@%JU$581S35$L MG#CK[F#@98HM_,OK)TC\&TI+B"\,^2=8!C\-?D?_^<\F?3*JD'J95J'#PM@@ MO1P6$&\>"/X(NZ?.? #)H.ESL*.$/8TZ;H>_PIVI,!,R:" $ >T&C8$\\KNYFN.8ZREN%XL*91UXEJ#P&*LI+ MB=@6:- ^>*,0"-\DZ,BH-D>3[!Q)=C)ENRDK4EL[*@?(J*D4]E*G#$ MO2R)^ONF('(VIEWP5S>U!?5Q=V .,?55WB41O\1HI&YE4\]9_<=O\J]]J4( M_WE22N#!?>< BG2GR]UL_*Q:5==U:O,-#$GX5?XN;DWE\0Q@V+0X(KM#VDFRYEV:%!UOO^ M]566-PD^O:9R)CD6"&0R'V+"H%>>USP8R/QKE.Q=@F\K?^@_R1\:D,)6N 4# MN:)X@^U[L'8M*&HZSJE"=A*4>P8?A#-B7BI7]T1CR(P"YWH8WP-25?.=X-. M7[I!6P9)#><(; A)*-!P;''IR41$)_8T0[6 + M(55A++SS2"0@TS9 9\ 3-L+A14R*$8:=EQ-,PQ,$KC YZB7RGAG-[V8:N("Q M MSNZSPC\#*\0#D",OQ.Q#54UYF76J6^Q[>;8GN>SI-#??P)-G_T?:_Q\(Z= M5E\6'V?ILQ*!&GG,FB!YE>&L17^=FZ6@)_2MK&%3G[YS>65[,H$+X&:?$NUM MC[IQE*82(AX6X8?])N'D;]B4"/X?* ^.&M1D>L>4@>"N1]LIT@&KU+6FTVO6G1&%=< M(-?<(67IS9T[/B+IF+\(NK\2;4'QM&H>19:<*D['@X$B5DGQ@Y'^H^]ZX?^? M(=UZ#O6XNL>3;'ZM.J[,'D=>8H/@8QI(VTC"NT$ZNJ>:1;G.8=DNZ6+ M;X#%\[$>,8V5A'953"/EM5:N3UHH90EAHNC?IIEON$'0+N@%7\KK+I9'\?"; MBH<9Y%$\_"@>OJ'B83'@%P+)2!J&R++ $@0M$!2&"1(.U#-6PRF45$19(J0? MX5O#;W1DP;ARV':[V8DC=?@50TC2)-\< MTWGX3/IPY4J>D,A0+]-(U^Q/>Y62GY%+ND (R.%*W\B/RQ)2+9A)JI!>55:# M#%Y8"&1\I5UTI7%YG**X5;_?$XJ5Z7B670A4?&4FV>\N# [SD%FQC53*2IEO MKE,"'5]IB2EE0.0D%IG5RFL,E:3<8-($@BJV,CD5\[7!L+Y$RJ[4$GW<QVY2LEX7\,,9X_J+AMNQF8HSMB)>CA'4QOA5XMS_9@IQ[M#-)_&_-]L3V. M]Z%]OSJPEMEYK85:13Z?[3NM=FH]Q6?O3^;=J ,=J/#ZSBIX;R3](WW\J+"O M9I65-Q+_)=$A&W@J@S2' M" VLUC/DN4G99N99,)&)NAI7-/V&T/"6!FI'L;"!?RJ$4<9VO4W4_VCJ6UY> M*F6Q6"IS7=J1:''=M'D1)D^S3U0<*4&R6P##'7LKKBI?J3-C9V-V[6SI)602 M.'CBMJ88MFT#RID,&X.]=,2RIZJUZ>L5M"4SYF%C+4O5;2_LFN,YHN6&L EZ M0TQAX;?G197?JNP[P:R;8$3&3K>P<*I$U!TMFC@<.+1>.F+'&\:]?%T+6Y.& MGK;0(('6\,16#"UHU.6"K2L_0VLU\-V'!>DP)VC/0/:"5#8(AJ<$(/>-Z>HM MU#%@<6%SXH0:3'QZK37Q"WL\(R/\2S_N]U_ --Y-3V2-2YMUKVH5<[B;+*P_ M;A:]EP\6V/5,Y\2>P.69<;%(K G0'@A&-6TK"#PE%8S^>CM5K.&A3?)@JM7,47 MVEH5P!I'CD3L7X9Q74/07(',+R9G9MDZIE&U;-W,-&C7+G3:MH?!D6CX$WLD M;K25,_<=I]XDWB4 ;!(!<*X:GH:W1$ZHFTV]"/-_1\%FKM'>A)F#1OCV9.I' MTBP(]X:-38,.TK #//@X&.L0G!EJR-%]B7EL@RZ?+_[@/4>Q\B)X8-(\D$3& M.'@IV,S>)F"4&%RO[6H%KH.Z^&;$D'88,=H)8$=!Z\-/HNA1T*=RM]_HR]]" M*3M7W4UHW;>B8;/RIN@!MHD-PF%1FN^QQ\"3;)OTAT.BAK#QYZ:]ZV::U!'D M>+ C7[3)T.P(/@^S"N! >M\)HV[NB]<9#LV(P/7J3G=D"6 A<"1#B"AQ+ =6 M#L1-A(KXKHZ\$*8@[S8MW.+HZ , $[+L0"D![_?!_L:;ZM4M^&2@/<$A4L'3 M)RJ<&:!%XPE$<(B)NM-(/5!TMJY;.+,9;#_L^Q\,&SE8LX6(O(I674EGY3?4 M= I:C?6-?!W\/U]N[>YE?$'$!K&6$CT;[O,IP<,FF=%M"#WBY]R_]!K#.KKY MS>"R[6V%W>VO9XML\AG&46-DZ_PJ,LKLZ@[@M[>6AJ8 WC?\M+VU6[AEB(H< M &PF8,/!R^K:84)Y>G7\ ;%BL)2EU&QKD_T3:!+UZ4Y+L/5@# #/#!L\YC?4 M5ND9X2SCXXKY)X_UIP87M8YLB\.TR&.#;H.:$*I R8OMM. SHIC=0S%[=RB> M.;J4)0L+@O=9@]$&1*%'E3]N#IP/Q?TU,:=K0[EOJKIKS&E!70Q7^@50_.'F M_K>"XBIM*QS:KPXY<=!EQ+Q)M[KXQ]V,YT,Q.>Y2E. A/J?*CC55QL5.1EQ M0SQN&_[]@YU1SIZ1W*JG>THI+#(*Q=M66FT5KC#ZK.RHOYO4SF!(]^N>&,@' M-A.-F8.)QJ']=.X*HW8T**NN=2/)'!F&^['A(%(4KSY:)?LNV7$:'#^9,3B[ MHA2S9R_.5$_T3H?B2_9V.)\%3N.R9&.LNL>34W85DFU3[=@JWPT5G-"X"686 M!*I.,!GG=9UYMQ@MTI;A8*M$5$ (OO3O0/&V?1<\R?U/V(2*Q?^UFFT7OBS+/3AXM.NX%"!:"/\)IM&&E MWZ^P!AHLA_8T@O^S:_?_UU/><, A,'Z2X$LR#,8N''&Z@=P31GZS(V-/"/K- MCDP]L<0W._(#R]_AR-\3R_0W.S(04NQ]'OF_G@.UDCO40)COIX%<[,BWP[4N M=N3;D4T/+#^P_,#RU]! +BFD;D0#>>^1[UL#B65!?$.5Y#HPN"V^]ED8R/88 M?OC_?I _/@H/XHG=U)1LBG;0Z3+AVF-#26RJ5^)>91]8/[#%MU]8YZY%T7F\Y+LB((2KY^69575M#\6A5]#<\E$ MF=NQ_(:?FXS:, WA&";?>\A;M>\^II&=ZO17L.PV1'R^0UW&\[C#HH(4E-UL M'QR6\^_T/;A$Y[$WM,S&WY$:%][-G;JS^LOUW&:\X3\V-=G=%.)VLZ(T-\M. M<>KWL=I2Z38% M:XX]1/E&&.9+D]Z/I!UW^F:YB3/#.)@=S/EOA)320F5ID0 M:NN+T?6XYPB9&L?7N/S*S]F>GI\L6RE UV1 UQ3YH.M3T/4%8@BW1=>,D.R+ MO:%?D1QN@LL<@8Z\MHLW+T77DTG/5K2DC_!83\X\VW4;*:&P*P@=T#7#$A>E MZVM[#+^82Y#;UBWZ0=NX6!VE_)KF?0_NO[-HU/?,B._-MW,+_/BCU0GO9,^P M2V%X&^L:#^_B015#Q+;?P+%SJ71?R354C._6T85AMOSZD$W!7M%PG-C;V/6# MR+\UD<N95"JF;UR3R13W?*:6\2M&L)T7GV>\GRXM$?EBI/!JGTY3>K[:Y3'O9UBO9SC,S?[\!>3HBI]1E MN>ET9WUPV:K)T5IL=^QB$Q YU+V1MQF4WTN_OAN/=ONU(KQXR5TT$C>HSGLX MN!\.DX./#0['[0-FX=T'SK(F3=:I@^Z_^X. M\@NI\:>B>[&*M^=\/B>;W5R_6U'SO6QUU@1T#Y5X^B<040\'^E=PH$TWX//B_J:!DMG*C>\'@:R[=0YN^9AS]4E*NKYD4X_PBVLQ3' MNTZ6E.FO)4>+ 0:ZNLH M%F]0_J#K;T?7YU:]ST+7ZQ4S3H[+8I]O9Y+6S,V2"[H/Z9J$F;&/,-%#M3Z[ M:GT6NI[TIZR(H 9MEDM&2>R['%OJ0;H&^C;&G(5?W[E.?3=.\Q=E>Z>Q+^Q7 M]Z?NT@^7^<.%\D@'N'^]/;-SQXO1%0_7'1$"OL(+=;N>=A%LEJXUG%)_IN=3 M @.5=OIM,N!Q2QZWY/ZL@'?=DN3($3AVJ1:053-KS-V^3C,XG*1'/F[)Z=SQ MCUMRKQG,M9TV>:SH@ M=#)(+$#Q8P-$OCNAQ_3Q!Z%?)W_F'81>57(90A1:,H?9W4PW.S)DO]8$A!YF MT)#LVS)HOKJJ_=_ N/F]@44T:>=6&YV#389>>U\,,7;J;1Y.TOG\GL\]P2AK MN/+8=GU'K6MPG)1JN<%36^H8COJ& V[=6#3,C<\RRCF*[DZ]2.*DOC@*GI_6"? 9>B9)A_] 3U_ZF>$DD^)H&(]&1P]L0N=;9>CB\]F MRCLB@/\;AKX&,:KCLRA_QH=11K/MX3#*H3A7$Y*J6C]WAMT#)HTEX"3F:#+F MSN=T\/E/P*K#<>M1>$Q4P,^&ZP636*.)N?(."(,J;S@T7MU,=0I'NH-?LH:C M1J/>BU8PY>OG*PO":>!S^,J$/(01VF# /9SC"4A(]@!9P_5CV]*3<'=PRB8 M,AQ/IH> !,L==6(?SBO[&6Q/M>2]>595T9&'X=@Q.,3>6X5/>4ITPOFT ;6$ MJ79[1U67\&PZFWS%ZSIPT-'59.0,K;J MV8'.^X:''&#P*9&)YI^+<-]PH*$]-Y1PX*$HR^H8X!8*[\W7%D,U3.%V_0D4 M;."%&S3\?_^#L_\ @0A$(*2+D(2AFJ ZRT_D$=XG$<*&TVZ/D #]ZV>F>2&_L*C; !-QIX =4=< F7-4C7#V^4H MD(!>54?$G62VKZ"3;/A2A.[C!-01E^D03IO)N6^1)1R[HIOHHHQP*Q*G_$*Y M@V97@!S0)_*+ZRQG!&IIXCJE]J3@F+.!/\QU:\GB8K" 0(W'_[^23G-&D#*X M4RRV>%TSNV6BUFBK_,+I+]Y I['9NN_6?9X2N_Z*BQO$;^&M@+.^Z$DP57.W M!BH,QVX9YG9B]3'[&9K$8]5U8U^'YK-E>PEQ+AICZ!)[2B3X:51OM9'>^SFD MX3=_)A9J:'*+<. R^!Q^8VB/ PO;3@"I)7OP!_ V1PWL;FB$![.]=RK P(*) MJGKPRP8\B.CYP#Y>!>(!FJ_P@7 +#K1;0Z$'K.O.4'75W2, G0,^.!(@HGM8 M*A8*$W][,''L;\WW"'KA7Q0@:>$?HJ,_';KA=H7C?Q5C_OO_@G\V6)2!EN) M7^GP'\5PIV-Q]2MP,T94L/&B8_033D+: !]%4Y0#6MF?M+SSW+V')8%",/YC MMO'F"2=WP.\W#<>(%^=[1-,,&@(J ,S.O__[?^T>)Y[?$<42=N 7P04+7,FZ MFI0 /LVDJ('W_Q+'"W'E;C(AV"=\$Z;XM0U'X,%E0P"<_Y78^1E")88U.#)[ M!W![([&CK^U/Q=Y\:+L&O'&_'.AR! ;4 =8BI'OV]!>&/E'[""?0)YJ,X?PL M?D/\!3__5TP :P (D/_IV/(Q+^]'7QG^"A\$;@B0*N.](2G11SN4!($+]A/, MEX?7#>88P:N]O6[B[QU*.G[%#O%V#!UB(&D$2F,U"D45 2=E6B H%!$DEB8% M59,QEJ597".D'^%;Q4T@96IGDYFB6!2X]AQWK#1F-=G. LK;PY6I>OLY5WB> MEKERNL<63'WLJ?.4@,57+OHS.]5HU%Q$'*EYQTQB:4Q<"'A\96XYE]"Q::%< M?DK1=;>8'-LEV"&7.%SI&^.480F4R@$.:5?XD4LC==C<*[;2DU-YFU!F500; M='2DG\:*N?Y"H 3D<.7(J?&+Y'B&\WFRNS9K]7[3<>#*V#[K)"[AO*AB/-7G MN*G16"9[,]BH(/9V6C&6/#KDYMRDM.Z/D3Q69]HI@8Z_7V:KT./ZM8:LF**)]HR^V!M4BS#;+/9,5#1$W&XD?023&EHM MP\IITU^ E;$3];!4DJU-M:;9-7(LT:D,Z3R )Q-_>]9.\],U.UB9^2)>K584 MM8,L%F%&Z,$SA2Q+]+-R%5GIP-94TY6^J,"@7&R?2[_>5O5.IFT:*KNN/S=Z MO5D>)F3$WKX>+#JE56XM\"MO(.:R:7Y8,'0!D';LHT9H\:-7,E;9J++-Z@U!'X"ZA\;U:E?2@/-HVH6*Y$=AQF94R"I;&]MI_'[+!63,MF'7].^_GY4!6* M3;@TME>[W5PUBD-MQ'=E;-*?)0>DD1_/N M2H=+8QM@\^N2DV.((4+-5L_6$$5&W@# %3]XJD#0N,2B"B&P**L(!$++@D2B MJD!AC"A2.$I2M'SX<&>:*2[ECB)QZJB2H8:RJPW=YC%6E>G+J-1J.05.')%B M \/7]H &VQ#8PY6%9F]F8.(2X_)8<^&74JSN-G7AR-&T9X6QQC?UHME>&EG)+A)TQ+ZM3]+H&M8,MEZG EP:E+)[V:YB>E37 M(-;P[;&SESI]MVMI7 Y)6KB9+I3:G<(:,YRJPF>I"@# MKHP=:<37U%+1);)\V\-X-MM=ZITE[%X:.])TH;DF29;K?"9?(XOE1K^,KN$S MXT>:ZF,:5^N,Q^5SOE151U:& Z+GB)C@/3+)NQF]A:@"4T8\7V*ZS%$Q,9!, MSR$6A2J27P]I?Y9+XB1R5$P0O332DAW$13"B;]:)_L@03?CVV.'=D>]JY4K' M0+ FQJ7\ <.S4]@K)';X%3KLNRMYW4?RO7J'1P9KM:' ?<8/7P96;(LVTF.N MCN>?QQ:NI8S442E59C2F7=.:1;Y< Q10Z7K/5AJ63L8VZM&9#"&OUUVD7.'M MLKW$T&9:!ROCKP<\ZAG1C K%4]DU-52SI4D9UX\)M'*6G2YS_4S&5!=JVLS0 MK51O!,L1XJ]'.VUUW2VW$,P9]I\]$YG;2RBFXJ^W #_2&LPZA:A>14_WDWR' MF!R54X)CVGFJ[K:X>JV9E]K&J+TH0SD5>SU.3=*M6MU@D!F>'<[,U+QJIU-@ M9?SU;=1$:5H9ZV;=6>3S*R8_*P$B/2;2DN*\-JNN:AESM?9<42F0>@8@'RR- M;4"2>IC$C9<5A#*S^4)3P=/T*E@:WT%N1J^7CJTED:0\S,JT+.NB=525$TN^ MNM0G:9J?M9II3Q6L":M!KA?;:LOI,W.NYJS:ED>UKM:LL:5/IBSR2&PWQJ5IG@O"&D2Z)+E%ME$K*=V$JVH=77F?DJ M9XJR1N2=);EN-)K';C->:2#J0F.:"%5N]RK8,[+*=XZ2?C'7,[F*T%P@;20U M1KGGU(CRCE)I/X_,^&E*6G-EMZ*Q:]HHI^M1:5FP\B"SY<]9&9MLBW?D9F G MLZKV[4+FP-F31)E7O#V!:7\THR8PEPP/6$1R?*;DC]]!?"H1!JC<2Z;6M.6A MJOAC->K;%//T[03.W!0,'1K>*K#DXMDU4Y=LM]*,;O)=2"-P,GK/96O1*-"31M]6>4,@3I M_$;\9@;07NS(*/)$W:SWED[ *M6F[JR"CSA.+?[,S($T/=YY'?61EY M0]+I>K/";X>/G0(&0%^"'_Z_'\2/C\*#?"*9LX^<_ MSHW_- T\6,"#!7Q]%K!)6DG ?)4'$W@P@0<3.!,3N&*3F<\R">C&>_"&C_.& M5ZN=+\,N_H;ZU^'S-?@%$Z.(/Q%[F+X9__=$%^!"'JX'SL^"\ZTTP#XJ#3#T MZ;S=MS_+[#?= )(/CO_0!N_@IM\!#&Z>YS](XX2&PM<5#5&#F(=@.(U@N+)% M^':\'R2%G 3[]ZH!?DH"W+$/H!VUZO_6R#\5C[]C.N"6JB,;KIIH.(9\-Z+@ M(_2P?[933>6XAE&PT[P-MC605/ G*ZJQ#'LTG*\?\A64O/.W#;^\0G^--H0I M5ZAKNT7SGV]VPG#&4$M7\P8_F=E%B'.A1_N?A'I,CL7(^QZ>*2W M(5^OMQ&J7?.K._&>-Z(\*-\_(X5^^]@ M)<,;]^_+3UPY7U/0C]K)\ 5PC):J@+UONWV&/MW=RLHML1\QA.?/:;/CJ/_SQ2[,PQ)^6,*?M(1O@7&%_/4H[\[9]1U9R%/#>=C''[6/[VKZ]!]NYQWC^F':?2O3[@)$ M?.>RY]9$S$$&DVHI?\I=NGV&AJ)773J4K%@TOE.A_ 5D M[_D3C"YT^^\CP6C0-H2\I59],V-6]$65ILQ%+N@6#F>0(T]D?(C0P_*^&\L[ M(H^$&E)!T/_S[^K1'1MJWR%H_="73L$RN9M MU !.6PFZ9&,$^LCM_LINCQLZ_=6;@U[W^'>G+OPW:+7].S:<[;KS_'8>,WUS M'Y>K=$'WHJ&LGF-8KB&_C,:S]Q4:54DH0;[2QX8M7F5&X3O*^0?HO+:T2::D*DQ7-MKCIN M]O,HJ]*I5'=0KM+<;$V6RB)MC4M2\_Y0AF.603VK;@;)S*IUOZ>DT*H [AGU M1/_MG@%[8:K"N1/J>/64:.^-=-TS*H/IZ,>9;C20-;'8-(X20]<$>/A$-((Z M8XA7N ,?<'U/=8)I[)^8*'(^%ON7B>M[J);^CFKI[\;)@3^GM8%9Y@5D'0 Q M= ??17<)US-9W,X'34,;^S4>/7GVMR=)"E6RGN D_RZO#!<&Z51VB M^2]7_RF1^L.5?IFS_%5<#Y=DY( 5PPMM*7 &.9Q>W;'A1Z]'<'8Q.AH/5ZW, M%"T@5(JKUF;=#DY. 4:1(^/>]V>3;_BV-Q2]8#[U/-A' HXLCS8")U_#3_^! M^K2K;K]RP,$3&PZ^4<,34^A>?L.-?OCO/T@1[W'K!W12F8O#3G)@-$UCF6,G M!&^4[%7J-9]^8JHZX>CRGQ\5UY'4^,92^]U8?(LPQ[%14\FH%9'+CT:Z9LQG M=H5XLS G'L+\K@5!:@/P-ZCY:U,@QVI]5317U+2,E*E&N9M/02I@_R+K;VJ. M7R 64KXWM.'8.X6'P^YV,-F 4^[2JST&V(+PCL_Y&S79^7)423&FGVL4BG1# M+U*2?O-S_@PK),# <)9LWTNX>W:7O9_K](K1=6=S %$$^=P4P%<#!_03\]TF MQF%/-](W]9)S <\\2.7VSHP]H3?2'_5B1V:?V&]V8G"5T6]V9/1FVCY?[,C, M$_O=KC+Z1)VWF?7M'1EPK^]V9""COMM=_I;LZ[MIV,C=&A7O+.:Y(?/I>H,H M;L:>.ND<"NH3 ^OP^VY2'OG?0I?)CKOM5-W\;T:WN8T)AQCVA-SWA,,]@MF) MP9ZNO_UYF>Q9^MO?IB?NQB?;G5N6W-I8DTNXY6X>Y6=VU-T4SL_MH[NU^85G M]]#=%'9OQ[J]V/6]C'/NWH;SW9:.^\W\=Y<47=_MNG]+#O?0R[^4"?9PW7U) MU]W#"+MA(^P.*.'63;/3S@^^G=2):VKIWU"9>9AKMVZN78W]70 &MR\';X@C M/+CBP\1[F'@/$^]AXMVXB?=9U3ZL:#V99O^PY6[=EMO6-CZLN3_EU& ?S:D! M5YZX[2M_ZD#KPX2Y@ ES:WS^"XGVD]SY,[>0O;4[_U#9;YRH'RK[EU79]V=J M/%3W;Z.Z[W0C>2COWU1Y/VTH[J&ZWX'JSNT-"7BH\-]4A3_MS?^R"OR5BYG> MX8B#S9'"<]O:7@%3]&G00LD]G:2_.72?N[SECNO:4.R_./I?V##J7O3[FR* M0)._8_17#$U-_-NPPM;Y_[D7;?],-' RO?Z.*>*(:+@7&^#6.,-]E\B?0S+< MI6IP,IW_CHGA?%SA/NV##PT O(;G_RSMN-_:R/G$#5Y?NOW&_I1S[$D6-BYU M7!0%VD?'1LDG!(FZ_CK-?H'5BAC'8YP^[F1]E3>YQ6E[?;_I5/&-5^R%ZH0_ M&1/#.]K)&\/%=:&:F66YO#]85OI3M\JP"\"AX4GCG;R3Y^G!_D#ZR9#.3Z=_ M17IM)&9' HFR7&:>6CO/JUS*,YH Z?"(%YT[>/E8W46&>%ZX).JO0SSO8I#& MK5UROT8^R^WN@.&H1==ANR6EWV86)YXI^L%;'F;"U+6=,&K41>C(I-&^ER7; MDBU,3!7+RPW766I9,R70<- H2ESXOE\\0GO^"W^1QL$?N.Y7FI-Q8]=X8-C+ MKCVR3$[UR2DUZ347=#7UR;D='[RV\>OZQJ$=V/8RN\+@VB][HU MEO=WS>7=YLG%..#>5](J( W(#M,B>)R\,X<.>6&(4MTMI:AQ <%6(KU8]VHE MN=X$#)$&V@W^1%,757"ND(QR$07GLK6M#X/FNQHT.WE"KQLTJV0G158 F#E_ M,/9*?JDHS"<+<.79:Q@T5TU!>JA IU6!+EO(_-" OI\&%.=P?]* CFD\H^HX MC6IZS3%FXSF.75H J+8-52>:X\K^&(#"KYA@ 5<7'!_\9W[.Q\4R7GN MN;SFU9YLI$3=7]#6B2?HGC&J5JGP#*:S6-4TI&YW!A30GN6DP@#+(ZIVATA_ M2U2-[;9SO65_,$-\OXQ265LFY9MB9#2>6J06F-KDZVX&J2]RZB3CZ (3Q,CP,UW? M&XJ%/4)>7^A63EO,H#T>%GR$0MSG.=^R1UIR<;3U+2);=^J]><2IOH67YB/:PQ>*4V'/!756IR B]$_?F/X$_DVO_4]AZ,>4:>'B7";)L*;HDZ^F1M1O6>BRW7U MLBA2>&91&,(+S)[31+C#Z-)W44,>L:)OPJ#N.%;4TD>]LHUIBJF:?#*;J<]+ M*IL"3 O&BLZF=MQY2.A1@76S80,\O+\$]D1N[N^*R0VK.HO/.4J5I@0G:_KP M6;^)L,%;8D7I@J"F5"1K('[1<:;"/)EU9GH8-GC$BNX0Z6^)%:VRY5JO:'(S M,]-WB@T7YR6=3_WX'1SQ48%UF@JL*]9$/TS+2S !UTU:Q66:%DU5(7H:5>>+ M)I^Z+=/R3=$G=6GJ[0Q&X%R=T9U.:S"IMK24P ;1)^Q1HO4HT?K2][@V<\M& MW:EDN/S ,H2U0\]$0K_;>)7(2LUYH50?(+X[[!:*BT&]9C?!;8;Q*NJ)>91H M/?*3'R5:W\CI]"'5Y0N%OL0^;8HBNEARJ^PR)5;P%:F9"\ 0:6#FLD\T\RC1 M.DV)UL/B^?9LX_H6SYN":;J4-YHZL>@@;7^>-JICNY,++![VQV^6?I1P/52D M1PG70T.Z40WI\V&Y.3]AR].<+G"SUCA79.S9@N_I@/W!L!Q0B1#L4<+U*.&Z MGPA-5(*Y>W]YS280?F;<1H7E+6$Z@.N,:G^DXO-I>Y!5J MW%A.NJE'8\2[1?I;PG(+N247)TEKQN77IK!N7U[=*K'Z&NK\&H_JX_ M?*%0EU,>9X5UL0$LB(FFUU+KBH_@ 1N#L2Z@,N./,J^_1ZX>9L1W9 /7-R/> M%+I2< SS&JY.(;XZZ9>\QKI?L@,S@@5F!!%W#CT*P;ZXIO*(.'T3#G7'$2<# M6?:[=%[5D-7*G]9=-SWUD 7D6D$E&/N$GL7_<7>1I?]Z$,B_8];F":^Q 7!N M>;]P:F_GP05&L15AP@XH M-B%"1I$PW(3J>N#" -K]F0CN1P+\T54A'8\3HNOZDY#"?\+//?!(!:R%#],= MT?(2O@O()_@\/19E,]F6A_88G"AZ"WQU<-,2$UM1QT^)+GB H20LVXL>(%JK M:+&;,*P$AJ!LPG82D*D])?:/X(+%2O"NG7V!'8 ] SX0_ %\G=D\V%$3[M!> M6/"Q\&\!*24D=6PO?@48^;C_JC&OC3(IH^;RF6RI3QLV2K*\'N,Y\E!5?, C MM!>>VA!7$X"[@$WO,!KW>0.HU,O1.G##';"G]!@LC'B')!0FA5D3;3P_7#2LY#.?F(4]_OMPOWT3>?BM"I&P"Z*'9 M(4.9,'757YL?=C<%:3[:T$1<)@.L69MM)<>JYOT2?<_>?!"(Y_"3B->%:W:8 M7[0&?A)R21H8ANB_X/$\9[.UZ)5H>.RW!;L9X@G%K\EN/\2G/NW$N[2'_=I' M!JK+!9HGWM:1D:>KNFJO0]AW>N1WINC<$->" UV#WW8GMWXS-G8]&(1\[8:2 MV(_.,KXYJ 6L\0&U&^.N9YD-_6"CUV:CMSL('GW"K\L]/SL('IK2)YK\?I^W M^T-]AZYQ[3?.QZ08>A]WO3Y3%9BPT/L 738;/TO@(%&5,UG7<\1CY'/.0#;A%JP&P82L'(8S@CUG14W. F4#OI'HDC"&1 MK6HF2>.B:;#J=#5;I+H]+R7@ AZ,/D(N._KHVB;Z%S/*U,+; MB)]?URWX+1R!7\,XO<'^F1=G.!O9'D0PP0NXY525@3A**($LMY3$RE#'#YWU M*^FLMW3Z.]-PMVF-4]]1A9Y#EU=-=I W\SA)/2,K 6LWFK>GW1*7T&ZW"NM. M*'W#3;(1,VD!Q7:KSR9?ZA[DI,EFRJTYP769]C0G<^FZUED()%1HD2>:C>FS M_WHHM/>AT+XJ7UQ(QXDIS-1*S.TQH#)XX(>6^Y6EQD,XW*!P^'R^^2>%P_/V M]K\F'LSU5._BZWK*K&,%3'KVW!F]U 4*B@<IZ"7!#U(?Y\3 _'N;'O4J8JYD?D)OD #,I1KSD-?E"FYTF6L#0 MBEFOS)UN46,-DFP*-)0OV!,5=Z<_S(][-S\ 04P>QL;-RHA3-NBY30[_AOJ' M&+,>C=-I2N]7VURFO6SKE6SGF9E_MMM%G+=*[]'>80,+=*=[5&T]QO$2/TAS M;2(C+9IS(=[79P@*\<:RZ+G@(@.5?.N!M-3B8),&*DT9U M::YHKEP$5UXGR+Q0.7]1/$+VVS.%*38X;"$RJ)OJT=7*?O]D\ATJV^:U;=69 M&[)Z7(,#&YH##4Q5@FV['=L3Q[M_SP 0UVROKX)3;Y"P5=6H'?Z2'WG6HCIA MI_RLVIQX\UQ9YL<+Z":.UYR'6 84.0:__4P _B$/@]J[K19@)R0UL8-V&W"> MA)A8'*9V38-<#4A!UVV_U#%ZSIPN-$$ M..ZF'!)^,:$"1J*\#ZWKJ2WH]S'_PSGY8%=C430: W^0P;?4#].B5;8RR M7;G92R8154,R([92U-=*@/VXYV[ORCZ%8A,L@< VK+!4$WRB&//?_Q?\LY$] M\AB@':H)PW\4PYV.Q=6O0,)NRA&C1&",?L+)Z5YU92!L-JHB$E0?[CQW[V%) M61V/_^@^VSSAS,4$&+%CV(1"D<%"4 6 V?GW?_^OW>/$+=0H'WH'?A%TW^*['S,X1*#&NP MD'0'<'N%HM'7]FM%-Q_:;L!A?@4BV9BK!UB+D.[9TU\8^D3M(YQ GV@RAO.S MV)WXCM(O)H8.Y!3_T['E8VK71U\9_@H?!*X1N/SCO9*#Z*,=2H+ !?L):IPA M)X6MZ*""M%7IQ-\[E'3\BAWB[1@ZQ.#Z"Z3"(@@FL0*!D(A L#0M2 HM"1A% M,2RF:#0JPZ)I^%9QXXW)##558-:I(F(LC$[53 ^5GM4$C)4X7%EL^"-Y.?81 MOBPULGI?KBF38DK XBN5*2UQ2W)DG@N>S"_XY@*LC+T]JWE2QLH-5GSW M63 +Q5%>-$=-@8B_?:P"8VEIK 1DHN"#Y-C0J&X7KHP]4\M3VMI6IA8W>:[6 M<]F5V\SRND#&G^F6!RM!2XIUKCWKHQ25DT8+!JZ,G0@=3YJ2;:8E7FU5==NM M+(;S EP9>[M?[^*3$N%2YLSJR,1@,58+\R982<9.-"P\$^6!C9O)^P,IV\ZVL"#U[L;-3W%1"^O*S8U+5L=S7I_,2W=+! MRMC;9W)#':>RHS)?]IEJKTGDG55] 5;&SX[-? !M6C'SZW)3T:9:,\\V!2:^ M3U;7)A:_-F=(O9)M&ZS@.<\M.*%Z_^T"3N**K"&(P*H$('.5I 46D0F!TAB< MPC%$4K#8R8JY5!49Y@R:$]>S&EV N]3;"6/\2N%=.@9,AF-4:.5R@IY M1P?W*;9R9LSR:XI8=>6DE:?=HV&67:%:=9Q:4;0%L>HCT"+GETS^PYGY!KSD8QFB+\ LD7.,8WJ<4( MM1!J0 V(Q3%*Z3<['B%7%HQI=/,4GW)S:;;4C%$*6(GIR8%@*"+%KQ#,U^;9 MQ8)SX729^#X[;7^6)RP#K"STB52J9JB#:%;?_DH\-V_,VF7?X\3QV<+$V 1[+0OV5IBD=*= BKRW/!6 MKS0HF0QSY'@@X'73*.@6DIH2C>E*/U.#DO0B/&W3:G^;M)^.^P6B7L M6&/[+GB*^Y]?-]LHA6*?*.H$C5+ <]@+-+>^L7X2U^TA>(4C,T_8I?NB7OO( MWQ#+Z/>[RRCQQ-+?[,S($WFGE_F=J0(7$DYCPU(WKB'VC2=GI]=K['!FOL;\ M%20G:?1PRX+L\/@?Z^GRH)'/TL@)FH%0YY8/QT#QF>8?VY82437XB2[.983& M1UGI0XA\,09QAS!YB)8'Y7Q'@1.T&PD%<#:HLWC(FQ/(FRNW'SL$S)YCD7[" M#MRWR?"CMQ--D)T2$DWDF3Y9P[*OH;I^1@;=&.U\AKF$8QX>M'$>*?.%" 7F MCX7@"K+([D4*G8)BSM,.\4)VSP<$RS:FF1"];3@N$4;B4/:\9547CPF\7L5R MJD-=QFXYX=RES\^%0]D3I-,RG#'4TM6\P4]F=E'B,CUYM6I^;@[;)])IM[=B M,X,M%)U'YJY5*PCI3AMRQ\2\J==%%[Q6X6 Z#?;C-_.VJ6MW?*%NJ73X\O&V M\_8:O4PP[=K-1J_"2SX_,>T#K.0CC44;2:Z2'PW0#I+$!X/VS/%3A3'D+N2/ MWRCVUKFMIR+)&XIU?HU@YP?TM?SK/:MO7URSU,,2OR]F0'P#BQQ>T7^?W@B_B1+7M]CD00[])UOT[Y>W M'C'#T\N)/I%$?(EDVD8+6V?SA5XA%=:5D$1,2_[/%[M&#SO\88>?=.C'5=C) M6\SRTW.3C]CEWK)*$/-Y6^?;;*_$8IT,W^!@&5MHEV.7'?CQM=2V^]3."[ K.T+(=DVRKLU@"L?RS>T^J+W;B'\?\P M_D\9A+\0+[F;('Q/Q#)EN>4 J"+E3ITT:G;.@=R%O,9TSWO7]!ZM=O^D4*+, MP2&2*//**8+C'3T&_/F7X0%ZDN-%.#]^M\!- ""'^FC8NQ)^=X$[_IV._6,P1[0JXZ_.4*1V:N.SCW@>3+N RI;]<+ M!WLBOQN:@6IZIY?YG6&H&Y)-4#N,Z7C?C(^= @;;,D#BHV6 &/%$G'?VT-8V M^&!97Q\V7N2"QHNG*^F[D1O_:1IXL( '"_CZ+& O^O1@ @\F\& "9V("5VX' M\!DF$4:E'[SAP1L>O.%./%P?ZUSV((P3"XV/]Y AGK#S=RH[12O,AV!X"(;' M_7\(A@=A/ 1#(!BB5)HP[S-(J'F(B-.(B"N;D&\G@9?DD9 *=AI2BE;TV1_6 M1*DF)R&:L_./]T'F["TJT:N3R0UUI+Q/U)],2-PQ(< 5Y9\A': M.$^OR6O8%_Q.@8ND@L\MF/1F:\&LM_.FVU]<7;Q$@OF5FTET^QPW>XG6TE^I-BT/5Z0Q%ZWA]RY&ZENE 4!#+)!UDA;M^G:FE!(E:A--RV4LWE[RN M77;MNI:+)["=MZ[E,MEI)RR1.WMWR=.SF7<7N)R7RWRD]*6CD6E$D:0\MU*R M_56];K&8'HW6)FA 0Y MY7'UE:=..&+=[SJ+&]2] MIW_]!0+&]-ZL\SO^R:F>E\ENQX.H:/FV%),8J^ MC>_=_BVZ1O>0V]"D'@K3B=N G9Y5W(;^M,\I/J)$<7;%P_3E6D4,6VNWL2&# M8'@JK!_&V2?D;4V\OY>N=#>>KTMT9;TAY>JKN+C^N;6FK%]6T_IKZU8]/7!] M2>+&YDS+M5S?'V5*9%-@@PDJY*5;M]ZC"O;PAM'V^PVMU,$B9 M%610-R="6RPX24^=(@O E4*E#;WXY)5[UN9N36D[;;/6&U+/[BQ]Y*&EW8J6 MMKT1?U#4NK.FD^S?_N5ZN,0>VM7-M-,T0#X]H[D-I>Y3>6*C M:MT8H6M^8<[.<8GO+@^V[ M'=L3Q[M_S]BN5[.]O@I.+]NZ!1#RX@JBPOM>$QU'Z(\+];27I%L(9F;->6Y!= WGN)7/526 2&,(4* 02#OO#&A+N'/:L)1QR*T&SP[W@D9=JB.?0@Q MZR86X+$)"7Y]L]^$#=A%0DPL(D:6%$-.EI@&GBVX@4\TLSZ_N;^#\:2KRK\4 MWX$6U,7P'3H @9$??037H3NH%[!ANTK,;(HSZDK5M9M956CJ$/7,(0,+,0]W M[SXE8$=L#VX@H0%1DIA#60*1$?6WCLQ&<-J@8398#+\';4CPZ:9O6?C S>B< MQ$)T3W[CKT\ 'V0 EPJG!404UP9VN8/3(W/H>%XT>2Q=FK3RLI&GLX!$\*=X MW&R/.X14$KNY.P0#+G%(,9!T8CPAHB7(+T+V(,(#OI 5Q""D'90-UH ?F+<0 MT<-S>!/)= %M#8QA"2PR>]AE3HA=IINO)Z?3:8I/MI85=S[("-KS%[VXRG.FTM&A&3!<<5 M"O>/&L4'9,,W4S ^,H7IK^25VB"VN,%K0$:AWG%4PQC:4TEKMRW;S)V+CC")2+OXJ"SZ+RJN*@;M%Y8!O*5@GWQN892/;+(IEHLVI3:@L MQK,_]TW)-PB 3Z/TFKS_;E&*DEB63.>J&-)6_&0[RXFY4?D5_?_E=NXQ_'N> ML 6D9( V2U9?FZ9U<3<9'\R9@E(0D#&6:(Q% /&%FM##*M"$ L=%.4GP*'MB M6($G9KIS#"A,H1A]Q0OS;^@)Q)!_&FW>#7Y$__D/>/S0D(<)>6QH6O &!.& M.XCBPN+I_3";3W5\;XF6^[7C/I>%[2BN:IU, MQPK^>0[!&*I1NTZ55'VBE%?C^HA;I8=B>8589:P%5%]OZ*AJ,HR@[_M6]M 3 MNK9"+0GB( $-9->71N ^08_:&YFD ;0$(;6J:>*H:UD<-:E7GS.\KFJ%YBET MF(]BYX4C%FNY.+( 6SQ %F#'O^!;W;JV^ZXM$SZJGR;+F)ZEG9"5@[<:- M@/DM1@>$,7@#;/4$;("Z%@"V&H)"J5L!L!N 4-46=.P"IMZQ\X[M3R%*=N+8 M26P'!>N,.9C69XT>,G&6K$CA XV"7F4R'L3^%^0@WBZY!X(M85O!IZ)E^>)X M#TU@/1RS%\W6@SL+?IINEDW!)@%?"QV6@>TX!,Q=A6/Z/-^Q M_A,H'P]\;_'= /^JGNH X:$J7*-]',%E9V&,&[C"FD9'16O.NE7.-5-O1'!T MSY073$]4-9!*MI-0E[*J0C$/$#EUU.3+9C:T '@H;$OE[K@0/2 N52"6W(0+ M_B>M LRG;0!<^/*LX0#V:4,R ?ZSQ.P&0'##]X141D4 :*U@A(/I?]Q]\C- ML"+R@FOM4.ZY,,YGN,,#X;IA(#]#T@U<]8F)N-H*S4O3F>MX0@L*M("^X&]5 MPS(F_B2BJ(_1(8VS=J&?7O;,S%02'=]MZ$QVSX9!WLK<=UY1]<>>,1T;JI.S MG6R@Q61?E)A@AU&GBZ-<_SF/UM,.4<('>#"_/$34VN$];/1>JH,&M?TKP4VA#RD-# MG0>:VX;A6*JLNJ[HK XN*51\=^_H-O:XPVO K0^W$ 8AX"4&"P!W\<;A7V71 M'4)^%8JA/9D%E'<3L*%0-$5[.>0PLCV9V-8F++JG3L,?XSKA3[@*LC7%<&4@ MNV"0Y3(6"# Z,L<"O6"#?[,V=D*[D(JBV#X I#J#G#QBIQKXYCAZ5.0'W(1[ MHA4ATL'S(*8C$^;G%ANJ 0W=&%*>$@5[ 4C"@:@&*H$^M'WO%>A""VKB R8- MP\^.$N!$N"F1&??(2D@ MEH#XV7WYGIR H;T_^K.(,Y@1D(X9=G; FZC!6[TPGED/]^1 MT1JQY#"/OE_*W@^$4W$YY=Z8+K %7S0$L'ZP,%+[O%;GH%J'!GBSN\ M>I(I=1%S;&=,JFA1V1I:&HBSU#N-5XCLJ6,K/O@D4.&4T,T ^!9@O)+O1-QI M$GMQL+_,%JHPG%0-8/IZI@&3+-4GXX5L<$F'R706H_R(K0+2HYZ.! RW209U MB&9()Q/;M[RSQP5N%"$Q9_$[$9+Q'0=U0@[T?WMO- M*K O,\(M3!_*D.=1$^$.9I@DQ"S!C AH[Q5Q9C__K_@GXW^)(\!@X,YJ<-_ M *^:CL75KR"=,U*%-M4;&/V$DU!! A\-0W=QH#!%F=8(\B_H:]YY[M[#DK(Z M'O^QV&?SA#//#<&(EW3LR+7,X"&H L#L_/N__]?N<>+)O5$-RP[\(KA@@=-> M5Y.2HXIF4M3 ^W^)XX6X53>P3OBF/^;4M@\$#GS<"X/ROQ,[/$"HQK $C M+KD#N/T80?BUS6=!3OKV0]L-,N)^;>30 =8BI'OV]!>&/E'[""?0)YJ,X?S4 MZ<@!:O"=PAPQ 00Q8$O_T['E8_&,C[YR)QABP6LXW@N&1!_M4!($+MA/!Q(T ME(X9R#*MG<"(^'N'DHY?L4.\'4/'P9T-L]0E(>I\=B6(5R/ M:R-<"/SC8LRFE7:9;\@\QJ0DE"IIW4DZ$&/TS6<;_ W*F9DZ\)F>KB#M;'XY M]\OI-2%\/+/@$U"N+G"N6!VF^V:RL&I[3'I"*&*06/QZ3L<-Y0#\#=!6KZ9U M]<%PP$_$H3AIUY=:O7450'/I05Y'V'2>H\1FKE)LJNRB4VPA/(N6<6>\4 MO+E0$G3;"BINB#^67;QBQHC!DP49 6H40ZL"(RFR0# J(T@82@D4C4H(S2HH M23 _0LTL^@:!(B1.JI+ R"@J$"2"@5M)$X**20I-4)A(XLC^-Q *87%10@5) M97#P#DH6&%:F!%9B55)B5%2DT/UO8!A%L2A M8B #1&X G9%LHB 8"RKD!*B ML;2\_PT1E61$83%!80"#)@A,$5A69@49U0B:H#5"U0[.@:@:24HB+= :I0K@ M"P &*HT*%(/)$H:).$UJ!^]01%06&560: T!YQ 1@:$13< I4J5H1<1133PX MARQ3E$K( JX ,!$B20K@](I $1A-8RRA(B*U_PV4031%H4D!QR@ 71%GP=LD M # ,41414_#8-V0%@!]7%$%D"$4@(,!8D02O9 \)(9D6>D NJ2*4YJ*XX($ M7B40*OP&R9("(J(JJQ-$HB#-@S*NU_0U)%559$1F 0&5 B L D M49(HB+2(@O-I!'&($L$F)95$@)PF5.J $@E,DV55 M4@1& 1LB$!'@DJ1P@5( $6 T*V&LNO>-CBR0B,;\Y6*E>JSY+(NJ4+ M077]_LK*DFE9)I ;?!=-]76;+36Z_900%,'NKV06*WZ28_,UOCOGF%S3QRQS MV@0KF<.5B_1D)#6X*<7EGY==ONX[0JT&GXD>(!4[#F>,S9S2+2"]*N;[>43DRIAF MJ;3 Z"FP,@8$8IAN)@%_1WFL;C%+O\9EURA\YB$0$$4A9904 1 80!$BI"$% M\ .*TF@5PW&1U&)'RU.3BHH\N\](NUMO(?G,Q%77NH#'@5"I]4V^Y%A9A"JQ MCE^@R15*-<'*&! *Y2)G*92[YHS44DWC#-K6RO"9,2"8?EX9I7)VB<.D8JDV M0=%2-ID"*V- L!RRVC6S4IJC4M7EM)\JF@H.GWD(!))D,9J414&5X44"=U=@ M<)D0*%*45(QB&9%B][^A@=LM,A3@EA*-0#8%6+K,RH"C8!BJH2Q@Q;%K4>M; MG>Q"')J -<.19%*(422!35 )42J@ X"2LPA(0K.(LK M)*X=0HLKTW7>E-/- MW-"%$U5BU*;.IY3LR/>[^>'T' !VODRI16^<-]N<)_<62X=(Z4VP,@X$@9-KA=9@QOLH7\;4FOLL M8_"9[.%*CIM/.]AS+8FL9'8^D1L3C)[!9QZ"2P8L%B7K5&:BTULSA=8.+@6AGK57J@TW5D5B4& M-M-+#E0J%0YLV%\I*'1_6:[9(R3C9X?KU;2(6ET][,>^O_*Y."-KJWS:Y;&E M"T0_.T([@P58&0-7WZX)3'*1K"!8OL@5!X../3;@VV/@:M.:X,^98II+%FNS MRCJI5(0V7'D(+A&C"9Q29:N,CYQ6)+S)3G3; 9L#(&+HFKLHLIO^[P MY2FA3]+Y$4>K<&7LBI$B(HFR!'5%&@!!)05680E!(115(5@284GBX!L,4#MP M MQ"1(+J*0WO!U $<1I\H(E ,U!BP*#K9K.Q(I@AM5"$HA56!4H3C$-H:4(EI%= $ M2HNXAFF(0L=@-RB)>$D0;.2(_$12XQXG93H=1&47H^6Z MKF2D>; T!HDTI] 9M%V=FT!7Q=/K]LJM%9IP:0P29&F8R;NYI<.UZQ-VA$OH MF*TNX-(8)-RTA!4F5GW)M2DGR39;B]DS&FP@=DW++5GJ%:3AB.^NC.?.Q&Q8 ME>'_S]Z[-J?*+/W#[^^J^SM0V<^^:^]_J6$XD[7WJE)C$A-S5'-Z0PTP*!'! M $;-IW]F (V'Q!PUH'-575F*,,ST=/>ONZ>G)VIUGF@*MCY-S ^:H2)L<\B( MV*V6J)F'AN/7'!P]DY'IZP2#0H2\&Y?=>J M-6W-.5"*116<=0;DU@6B=7BY *AU0OT*HC.A16Y=()K*UUG3N*YJ M;/[9;5>O@^/V)1MU8(%H?/]&"?3VT7[G)&B)W6;-OZW=%,FM"T0[,H!B=!HW M4N7F2;^]JUR2+J*_S1%.QBP)4[-?P$+MUV!O"UBJ+_21%%'F$5%X1!&N^ M=;_K#XK\S56Y@PZ0>LH+S;Z#+0X@+A*M76H/3J6G1[\IW=S=/E_EGX9W'K(=AWT4AL)UX['N7CX,R*WSE."Q#L/0AR<:NS^:H&)O1&5YS"*0 M-U3>T@U3FG>4=$XV=*SRH-F MF;5O_ ?HG@V;N.OSUH0F8D>!%0T,<3K 7G$4&1!9[+ICQE;QW @8C1800JKV M\J,[[H1%S:K25;ES>WB.2?@:]@X.:@/YX.:&E81JV*SIM6*W,B"W+E#[QCO? MU]'HYI%]U*Y+0?GVJG=[%=VZ0&U..3S2+NYD@>T?-(RK@[X@=,I1!Q:H+0D* M$"U=@Y: -9S)04VU!.Q-B0K$3C''*]:"R7;5DJX.N8,3KW)>K1S5:C44WA': MO8:JI;I5>WRL]3O];OGXF:O3^NMD^XE MN76!$D'8S\O'U?IE\^9XWV)1,=^HPQ:Y=8$2CE0.BT=7A[5._K$4-J5AIZ?M M1ZTN"&OMJJF<8RL^J/0U5N\@[=P^0L7B0;G2O;C!O6A?&HJ G3MVD6@N&%AG@5M_;O8ORNVK MAJAUNZT6N76!:)7*8_%AX%>>._U'#]6DYL'!M1S=ND TY['_O%^[N+YFN?YM M*P375\)-]9+-\[9?ML7CVZK/-LO>M=1GU=(-J%>?4@^@":S;KN MJ4.!.[;=4G3K/-$LA544'F(30B#!(D$4L#N%B:9SV =E!0M;PPM^SVGQJ"97 MS?))T[:-\ZMJOF>-L"!Q8)%H^Y7N_EGMW']L/@[9TZ,F5[KFP"6Y=9'3CH/1 M]4T1#)N'I=*#+E:+;O,YNG51YKH/]1-L3$B=F[/GHQ.G(PQ/RU$'%HA6W5?$ MHI%OGC7[-X&M-GEHWZM%\]EL6VL4[_QB=-A]OK\\?C+/3 MP/6*.PP*#-C#;89^'ZUA#7CIJ>! *C#)F)BJ&\>C,9$FQX2OO'/3B0'C[!/; M=6P7Y75"S9EL7W:2QS#>)QFOXM\@I@V?T$=3XX-XP-H #:OHR:]W.G!4[8Q8 M:^ \!<7/+3._Q3:?WC\VYK"XYN:Y%;,825M(YN?U'63!J65I\"HH=R1WV..< MTO7I_G/QC1UD_J1-)J%!L,?\"_X[RCOM(J,-79+J,_YQO)O2=@VG;^(9/[HN MEG-,S\%=C+*:>W8O^C=.9W5#WW."'$E#'"#'B=,1+=,_[RMECY_"([0S*UN4U6WZ+=8A$1NFE M>C\@'Z-4N2B;K0=]DBL]9BA\T8#](,KM'F&.PT8'GEW3MBQ$,O>8H$.6[ (4 M!C'?D,7<29M1$G6<:8+YXY/M(88;928Y4+H+K(*TT(N\C%OC1C3PTVY7CB3JC_?]:CG,^R( M*>9B/9EP'DF^\1&6$\L.HPQR-+3C5/+Q#3:I2N:/2"*Y3?88Z"@<(.1.9X%O M$X_>!T78[?MJK=E_LL61?M^]R N7;_#HF 5_B$&TXPB_<0D82KNUGLW//VDU) M$@+KOG6E7A<_@9,19KP4 R)4]'J(C#G24(GNPPKFPQO?-XFZ;N/AV;BX] \K MY9,\')RT-5DY&'R8[C#:+23]'P$IDC?#$QK1FHDVU$<=<6",'\ M*WJMUP]P#X-_[T6:;.5.C=%&9M]!Y]:\>S/E$I1&R8^+CDZI=M:J/:JC _;D M5KV^-+%.+ T&"XY.,M(D-3L^9L @.^EZ =H;?YC6OT11)EG,) 77B%-WQSGN M4=HT[(?>^$*<,QU=F4FMGJ['$M_#+N1#A_ZX8\D+0:RD/W:@&,\5^'4?>O'] MLLG?/4)(WKH1*^NNM/_K0V8+$K]E8Q8*\J]61LT&!SZC-^$N6Q6+-S,L_ITLBXU'AKU6,MRHFME'1LD51.Y7CS^>5")];9_U!RAS M^A*03':C! M$^0 A5FYCIV2^0;1_.\/S77F)+7]GOE=N>J9DOH4"RV=ZOLN> MW_-(C/1K4KUB,RPEL\P7LC[);M17$N>>)<9/G0+\&P9,M..1*2:1_'!QA_!J M3^'\5OYHA?P&ZHD'6%F=_/Y>&UN MO!0X5P T6B*+RI$G.1'C^R;'%;Q8CV-C(FFB\B7/XSHGAF]=G-5/2WVK M]>6CD6,E\,JYQ7WUD94>*EJ%?035D*EA,NS\!3D.B#E563P!8I6\ M]MO1YM_6'&L//*]4&Y N6C3K/>.^I=>V3CL$0.DU)SHJ*L56W\=BS_U]7&NJW+59]Y MOHZ8?=;T1I7X-4EF3,6QHZK-^,9$]+FP>'12]4[5YN.CKN@G:@G9]=]K:G+[.#G!;>9E\\[ZFU'[)P]W3VY#Y5+L=.U!V3YRFY#S5N!CU.IB]>'Z MJ00Z-V ?W57THZ.+1R+MTLY?7N9RG"BL0M:S&47(J,M 8P(_(>S+8P+JW8"[ M[H#B,2N52VY]_[#1&1RL0%Z/*@I_U;EV[BN/K-MO:'?R;=\9:%%1'UG* 6%% MT)Q%UW]+Q'7;''E2"OZQ(]P;=_O'S>X9%+KNB:"=/:_ %N;NCH7K4^/TM-,_ MZ9QR9O7L]*Q)I"UVY$56S+%@610N X[\;P@:=>LW8Y"_'@3XE6%31W53!OGK M;NVOC)HZ7QLSR%]WU7Y) 5-W9$,&^>O.RW>&G37K?IV;JU)J_/\L"2;Y^P"\ ME\#_%CTDL:!F>Z?.'3GJK_+Z2:3O)OE3>:&;$;/'\G0S(MV,2#-UJ-SN<_")[7#:?L^>W9-#B_C=_YR.0'P.19(= \B MW8-(]R"F69.\F3/8]@S_60J5$=OOW"%A-'P.+NV5:)*CXOD=J)C7K2:G&D;G MWI9,[;Z(-4FT*9'/20)/-R72K4D;M"F1S";@_M#]=92)L[*R]>MH^/[9 #^% M1\&A?USSKD_53K]T #1H>0)W1PX:)GEZ7$XAFU;$99FQ&5B9./2](& NHA-< MLK\.MZE)>'1O778,Z76YY)'DQH+[FNZZ;(OW7)T+*\ALV.+Q"-X%+7)&-O;* M15;-R0)+=]ME)XF1[K;+C/RORY%>+O]UBU?\ZKYP7^F&++IHN+VSTRZ1_V@' M7H[[H"N]%1YS1GV*S?9_M\+-W1+.HT[K#SNMRW5_6;SOGE6O&V;SI')CC+PZ MO-8>B>XG?JLH2#E56:;]L[Q.788]FU20J0Q[R#7ML.^3G!JZ:$T7K:F'G!H+ M>5T>\@4<12]N>$4C.CL9:TS<^7!TX4 W++IF!5_MD5M>J[8EVF[E[N"VW2D/ M[DI&RQD\W#VT-#5:UN9RHO@Q_YFN:=,U;>J*;[@K_BU%(RF#Y\[SL7C8?+Q[ MJH;7U?!)[UUB18,]=75I/3^ZXDT7"[/F\:=/S;Q3@8>MG+ZE*=IFW?893'>0C4% MC="L)T+S+4%7'LN7?=$[/V/MKMSN>EKUZ.* ^!Y1XH&0 SS(=M8!K0ZT(8D) MM#H0K0Z4Z85U6AV(5@?*\OH1T$2]%I_[=/^?O6IQUSSX*]2+'V=>C>_CUK(8E>Z@O[?M&<%/6 M_,Z-?WW9;3G:_85\J0$^+@_$B2 G2C25DJ92TE3*5*N2-U,I#Y_,XE&K76*; MDA,V1?>V'YQV5Z)*>DV? U?G]\W.8=T6R_W+/)3$ 5$E9$^CQ.=D(--L29H# MM4'9DK0^$&7BC*UM_3H<2J%5%/3#PY.*7>NYUTTDL>>=E=0'Z@DG87$T.#OK M< ?]\H-[$F@/@R(!I+A D 3$'"EN M">=1O_6'_=;ERK_ZV%,>S]IH5!F!^N6!Z3;:@A I_ZA&$ MRZM(*<5E>K:8U M@NC2-5VZ3KF-O"XG^5O[="_Y!WA]T&KUFW"H/1QK1W=/0Z^E 3%:W)9S*K_> M RNRZ5O3E6WJC6^!-_XM37-M7HUN4#E_4#DYTV\JY]))H&.^L@)[(? MB]71E6^Z:)@-MS]]FF9YG: \4,[KSUS)9Z$.RFHP>%3NPU]2%H?"J'0&*_P9 MRUD'C_K3@WNIBT6B+%2R+,F#=5LE68R[4&5!(S7KB=1\2];OO-MAHW;,B95# MY+"8E(?692^2=1+(X4%.7EJH- ,)"+16T(;D*-!:0;164*:7V&FM(%HK*,L+ M=;16$*T51!DX8][.=X:=->M^=I_UPO;I;3#^?Y8$M%;0GZ6U@A1:*XC6"J*U M@FBM(%HKB-8*RM!\TUI!'YAE6BLHC=F7M%803;C,5@Q_[>N-RLQZH_++"9?2 MQ?W]Q;5X(U2D$VY?5R_Y.NBMI,!'Z>'*=>']59MOW&M/'W]%. E<'3@W5RBR\N.T)0>ZE[C_.+NC#V, MX"BN% 04+J?(R_;;9V!I@E8*RD(6'JT4E!U#>ET^^?*]XN5[S6,UJ]'OY-T: M5V']\UZS4\1DB"H%"4)._6 !WZWPO3/J8E-/.HT*8%V>]'(%H-]7#_O;AYJICT,7##=IU3M]:F9YE:"[IWO) M&XG*H')>I29JCOU;)<5N/0.P-CJL2)?2Q;'1*!;OFY=$4Z@DJL=)ZTV1 MR6;0A2H+&J993YCF6[)NBZIYUST0&AV;'>B:X[;/!F[D?T3Y!S*6=N6](,YN M"'4'_1W?=M;OXBDQ?IXU&7YFVF:$U+2#G@-'>[;K8!LMKSN>T8F9P':QR(81 M=XWA2BZ(<0N)^+[;4/R@\I6'I(+ZI9<)XM"1"#&8"$C&XQ"0 MHBD&LC11A;J(6U*1.3]R6>%E$]^GRBI^3#0L307X;3+D#!9#DBF9TOP[H&ZI MLD$Z!/$,BKP&)1;S%<=#TV!%/(_Z[!.\R?&*B&DJFC*>0?Q*139%R8"2@?ERY@D,<+?[W9O*D'+0IK SS]K"AI4-6! M)JO(8%E#Y0US86CH[JYW)3D2;,)AN_;8=\P&[H?&:^S\G0?=!N \)!\W3P[U MEADTK..F,,!W+A#A\;"K"Y9R9S?[@G7%Z47=*!VU\)T+1#@I-WO5$;(=UJX= M%XV^?_3([Y,[%XC@7-WXY]YMO]YYO+KD&V?'MGG/!&@C Q54"%6C3J6 M>1W)F-M45C-D_(\BZ3H/%HC0K+6#WD-UZ%>X4[E^UKAZ%.R;HB;,$0'+$3*Q M]L#ZQ, ,)%A83T!9,C5\2>$AEB-)X!=XIU,NEIX\:%?.47!Z?#,([F[X%G;[ MYMI6LZ!FT?/S]QY MIW_:&5KUUIK4T>9$QX'W1TG@+J[_#PU.Q8=6NV&M8Q';3C/C5#K M=/*U0_=NY&@M<$?N7&",8_7I7+H-!:&":J<=^^CB3CLJDKJ-M(J MK0XT?/1\7_/]QUMRYSQCR)R.E0A6P"H4\.2Q6)_H*IY!0P8Z4@094PC.-QYX MXL-ITU<.*Z/A=;/[T+RNVUQ+4Q:)4-<>I=JAY#YW;@[O#KM(50?U_"6^JMB"\6*5ALZ-^"R@7[;.@6=X_ MOI-M#XAJLS7OG%SVH1\BWQD=V"YT#1LZ53?V;'#3#?RN$C&;$G=$U]CK\FVM M=UPOLW;X@*PC2^$?AY>Q>V6[?606PR7W:>0VL,,@[.;T<"="OX]6X")'/@C@ M7AR197NUL0G)U!$)$".3F5"#F9"#V863PQQZ!9G MIUN2+YO.9>>F(_G/QV5+08W+H^+B[+Q^WTIG9]K5XZ6ET_4R"=9D$NR7L1/' MFPG;B!DAZ <,FBD/%!<@B&L$<2P#79,4"U(9.V""?A>_$W?(9&" &W$<;Q P M_[)=W)C7#_"M08Y!0P/ACF#WG G:T$>,B6?_WWO1W$=>]"3<$E@ MO?&'Z7&38;9C9NO"83[B%G<23\D[R JG RQ33L=X(9K])V'?T!^_-6DM\S_A[GL2*]G0?P4Y^@(GPI^<%-IF7/1\Y M>(*>T%R;20&'Z,7C6Z$>>$X_1',#75_5)? )SPZ/9?)WE?LBZ#RL;1Y8*A!I MF BY("^-G=.)H)IIR^:!:J943 353"F9"*J9TC(/5#.E8B*H9DK)1%#-E)9Y MH)HI%1-!-5-*)H(M"'0B?G B/EG!Y=V ZR85ET_ICKB?)<$/',8@L!FO:4S6 M4SY9L_JK^NE7REA_ZSP)*O+;<,3$6P-7"K*::=F^!#\DV90%,LL"'&6!;6/XECUIK[E,<6L;>I[+S2W_CU]J]W2%V=?\I/D MR_O#RZ!R>%>Z[.3/C]S'=LF!K-1:1;U@S0LZ_$D8".SCK?_X="BHW>()R7?G M=_[*+)L#/%CKYEPJQE2,,RC&PI082QK/QE_4LYL;L5MOERMH"*Y$Y_*FP84K M$>,[ZX8]MU$/5J!Y7VZ=5,^,A]M++,82%F.!SPE+=]U2,:9B3,48B[$\)<;J M1(Q[1;DDZ\"OL5Q?:]\_H*?AT>%*JO>WK@?[5^KP0&S>M+O*U>%C7KX(R#XU M%8LQ$'*L^K$"N%2,J1AOL1@#]O4]3:?,+=5:#>(WA,MK9+JI)3I?7:U2L/&;(?=OT>.SKJVOON\SY_UR%22#QYP$LY]8,Q MN>URV#.3FG"&0L9V#:^+&!I)W9Q(ZMOJEH934QD3P')8C<2PAK7Q*WKXN7H+ MB\/R(&C:]U?W@=<]ES2/U+.Q7Y MI-UM]NM^]]&7I,JY0>19VOG+JSGA@P$&*L]4GK==GM<2JWA/GJ_ 4U7K*ON# M)F>:!S?%6T]^$(@\JSM_13;'*C0!B<4Q3W>DVB[<7]:;.XK"EL^J^T_ M-^WBL\Z2@X2B\UBYG"*P-(4ANRD,U;/R^6F%N:A<,?6CXE5EC\:.TZI\X,B$_X*\' M-F@,:'-B0'3WRE3X9]]^LDT4!7^BDUD"3;5N;>.I(WF=\K768;MHY-2LU@^O MN7*?" !5H.]B"@87R*^3+D8".0D$L9- T.E9UP];G''&VHUCWPK/53TLDN.T M^)V_6'/2P"X5:BK4'Q'JKRZ\KD*HK^NEHJOF+VI-+LP_F.ZS>,^VR'EV),.[ MP%*AID)-A?HC0OW5U==5"/5YZ_ "E)\/7;9[\7C?&[)W0H4E2$U2Q@N\3(6: M"C45ZH^8WU]>@EV%6(M/MU6(:GZ%13TA;P='M\5C."":A^2@%\!ZP3KCP9)4 MQT3V;5)UWJ0!V$PI6:I+TQ;*2.3H%5UJM2N54JN\;W5NFIW3DVYP-+2:Y CK MSP0SJ"Q26>LTCT4.^7G^\[H]KC$NH/^CFEQUN_B-QJO M?(_.1ILZ\LUP$/0)/=I_3#OH.7"T%S65=&Y\%@(G%WB1=!E?2DZ>XS%3SAT* M-]7N3&-Y SG.TA2,GSU6[LV#%#AA*M 0TUT1%H^.(W__]W]F3L9;B!@E1T), MT2^A"Q>Q2POEXX/WH(7?OP>= 1P%8XVBOIPHMC2Q\;7_/B8P.3B.P< )I,>>KT]#A"M,SWA @8I<6'. M5Q('XJ>4'63:/M%0_VAXQIR8?.N5\5?2$)80K+:!93)MK3#8.)0,*_4YSTNHC-S]O"=$R1&X"".*8 T86: 5199Q5#0Z;,:P)G M"9H"14MC3=5"HJ3SLLKMQ/U(GI!974&R+&A(4E1- +JAZ2PP-94U 3(-_*MH MS3X!(*_SEJ1J.J*'- $E06\CILRX1RM$%0Y4\04XF1.U@2> MY37=, $FMLFK0&(1K\JS3W"B"DV=-34%J!SN%7Y6,?!@3%:15$4P)$,5YGJE MJ,@035;#?<;SPS+F$YT/ 5C6> M.P!9 %05S=$*FBPK2XJFZP*F%>!%39#C1NKFU\9_5:5$Z&=_=7S1M4>QBUSJ[0P;"%[Q3G[P2=RG7O*@Q& M%=BIU;KW Q,+&6ESX>W]V@'0U="HLX\WAR$87NN'6[P$?^!>-YDW;L?NG_.MCMVK[9=!U>X;P@#?N?#V M6WLTS NGS_ML^<"1S+Y@^0G \.5>?BH5(_DNXUY^B$=1I1*>%Y M(ABZS&'YTRP@XOF53![H6 Z)GL \JF'-RVJZQ%NZBEA.-A>(@+LMG?(YIU6 M^]0J7FN'F'?$^;9-A:--\VPJ3@@*AC;:7R1+\I&L1"BZ47.H9C@&R:%9 MH,7QQ4-OI)0\K8-8[ZA4;NI&[^D2W[G &%[Y>'^D-DXOFERG;)W))R8Z&I$E M_ 7&:)^S<="3_^;AL*:AQ>52^[3)%_LC$JH_/>\,6O0-[ =H;?YCN!GEK8I$1Z\V(K;Y9DWO* M0TSL;7;!3@[]\5NG3N[>^;'E6'HR^)J.:'\G4D?G86WSL#R:2"=B31/Q7GR4 M3@353%LV#U0SI6(BJ&9*R410S926>:":*14303532B:":J:TS /53*F8"*J9 M4C(1[Z6@T(GXW$2D??_+VZ-6QLD*26J"[CGFA\F0Y:S$GR6!X3GDXG]W -CY M(CT$]B5Q9YP9!7I#!HN%;3+CE* 5$DQ9EMR4O$2?>\5&.:[5SMG] MSD&/)!KS.W]%7LD),D_K1U$QIF+\D=/U8C%.2BS@+WI=K]:;C?OS2OVIWVSY MW4$CW[Q528]2X ML[F1>K$2L]JK<17]Z$@T.X<5;? ,KT#[2B#[#$DI!QFH.9%LQJ?U&S-9OQ&W M>>A[0<#T?,^R0^9?X-\9B$)N:5VKS-V,2D01=1 +TVD'AHCPH@N9U MKV/K>;TBY\O0KQ>QF\7O_ 78$)*DCYT43F60RF F97 M 87E,@BZGB4+IP>@ MV<^'=P?')\_EVHC(("G4R+$Y%M#Z<%0&-U@&UQ(-6"Z#U1/NY+3,2;#SZ&L/ M/>W@&+(N*=5!"C0*7$[^8%R/RB"5P4S*X)I<^>52.+RZ')U=R(-;]B8X:(^4 M8Q990X*$46%&GLN)$DMK,V8W/>$,A8SM&EZ79BAL4##U;6U+(ZJI# E@,:Q& M4EC#RO@5-=P^/@U:%XIVV7D,2\X^=UU]4@Z+FA@%!=2<(GW,'Z'R3.5YV^5Y M+>&%]^19OA![)R?7#PX[4DL7K/FD%;ZQ;%#I)[SVJ]?\,W#P@^JSM_>2G'\52>J3Q3>4Y1V.,]B0Z[HB=Z M1>$ ]_GBZ48=L*=>F53S)8$/7LBQXGK3"C,>$$E;W*-Z5CX_K3 7E2NF?E2\ MJNS1T'%:E>OZ![D>9?OK,TFY=2,&2;EU8\9(N74S!DFY=4,&N1731@+YRM&D_>[AP9UY:@*6 M.S]W6L?P;M_0R+%#_,Y?MB"N=R\+%6HJU%D5ZJ\NO*Y"J.^O>F?!U>FSP4KJ MR>VQM%_TC_;)2682$>H/[K"@0DV%>MN%^JNKKZL0ZBI[4*RX9Z-6IUYN2.&^ M?M;S*D2H52+4*MT_3H6:"O6'S.\O+\&N0JQ54?:4LMJK5@[WW?W^-2<[Q5LB MUF0E%LOU>E,K,AXL275,9-\FA>=-&H#-E)*ENC1MH8Q$CE[1I8IX->AI>?N6 M+3=;9_ Q_[0O7)##B^-@QL=4*95%*HN9E,7?B$"\+8NUQJU9;+8AVY2:Q\U* MZ^+ZE!V2H[P_$X.@LDAE,9.R^!N!@[=EL7ZNNFUX<3EDRQX2[PW!OE::+2R+ MGPD=4%FDLIA)6?P=?_]M:;S8UUU9NI!N64DTSX^XAG!8ZQ$K-?'X5U+X(7.. M_6X(=0?]*#/:+GYON,=+/]'3J7/FOMZSP@O1QLGX]7 "KJ MOG+RW>QQ=M.'X"U$AI+3'R8G[@U?:2YZ=4%"X^ ))Q;8\8$2A#71A( ,[(<> MPS(L>>_TB771_$UZ$1]%@7O@P%Z ]L8?_OP NRVA7-2'O -'7C_42'"V3[,R>\T!\_. M\[(^8DWHS!SIE5R:TO0.LJ+]!RX3MA%6GGT_;#./?>B'R&<\BR&* M-\<,$.,C@U#?9"#S_Z5PKXWXF1(CT';/W5(_L%T4!%5RTHG?[Y$>5-T ]\4U MT!4>+>:#T00-I!@-SJ#O:\_JX5#QY;/G9OG0T=GRTRGL]HH[?X7"HF'&X&ET M"(U:^*6,V4<,%CY[_!I2M]) R P2"B,LRB;^^;7)B$0=_XJ?)[_BYP.O.\# M10IFV$11XNLP9#S#Z/M^W$RQY]M.-(>%L2I,$]]-2U3/1]%YH9@9F8G:7@"7 M*3TYI3D ETA]K,WP%!#VLMT^C-%XY9 41XVYB7G4P!,4]+L!D2 R6?@I8A+U MH3.>3F?$H,0 87IX=B,[B8%=K/?#@#$]QO5"QL4<$000S^&(@2T?(69@8XX8 MX2?QN/,FYH=76PGP56/".00+@?PGP#+7[?7#B":,'3 Z##"7>#&SQ1-%Q!NS M/6PA!DN0'JN V(1CL$8.B&3CEV$^]LD_Y,'D);G76PE"S^A@+K_!'#\] M\$)LH:R('=Z>_<7S%;]PHB*,](W&\RS/*[*@B:; :H*HR)K.0ED33-Z4$"LB M W"^7#\1+51.57+;8BIA?4;)MZ^'42\T\74"PC_% T#L3/C,'7\E MK$D>."!$,VPLJ?A1P_&PID;3\[(.\_8,VVN%M;WM*\9TPIVB@ 13DA7-$'1> M$RP+8[4$#4V7D<[I K[ *XO<62SC[OF>$V!Z7Q Q)H!^X@"RTN*F'*^+'Z= M,9-!1USV,NR?YZTO#7KG;^4).K&&)-KWA?F9-SNNKTDBYH=QWO<9-$1&#!FX M<8PT1+X)J.&.]3!JV 0?L$'((&)JC6$G1A?\$+'[QMAL8CW9BI6%AS%T0@%L M?6% :";?7FA2QX/PL2.+ MFZD,C4AQ8W4;]W],VIQ-1G!C2,?V(\4"8P!X/PI@9A#49A#\> M!%84+J-'GIT;<4,U1-V8&91XRJ;XF/@05=S#'HJZB4G1LH,PFL>+OHY!9MIR M.;#][J1[Q3#$EG$LR%>3KKZJ +[0?^QO>Q\=Q.]SV)0Y.,]L*>0U/.=8J"-M M0_P_'2&BF$>,\3**UV;L[0DCVB?H8Y<(/] E^+A4%5DSJLCZE*J>\N["-G%5 MN[AO[8!H(_RZ?>S)$G\R?AT/<@S'IJ@0UD3<@ MJZBBK%CJH@E;.L<#]:MN''.*%A!9(+!LRJW7TI>MUVB\S-2 L^X3.5@,7H+T MG#Q/;>5U=_Z3WKLILIBY!,W26<).]J(@V%P0G9,+O#B[YA 1[\WUA9G&\@9RG*4[4\D@?&=S)B27S EV W;=]C)>>'TQ\H,3-(?&8LN?WO'2C&):8KZ+8 M9.BY10E[B)-XD&#!SPXM]-+DA"@7,W 1?/(V7N\BB ME>.0?Y.W>I&-@+H]QQLA$AII$%=@KKL&B"IAX*-!U^Q.CD+1P MX/GCF]C\28&I6F11K@L[)':CDZ6/V,_&GJ 91Y.CE;C%?F&SM>7CNR/+?0#Q M0_YT$(=W"D$06R!(,,>$G;R9OB!^<&SGY M@<2]7QV5DC^)@D[X!K*RR.C)^B=C8OQ;]I(U1:)?6T.+.%)) M:&\\,10YSN)!(YF>[PU6&$D0L]GFUSXFB-AY,L M 0..C3L7S9'E.8XW((V^X4X1P8UF.,?,'EF M'"*@H0TWE>5'C!$XT!0FRBL#/2%=D;EYK@@!8A4^SM7G] MFK$I5H9M3)V0F):32%M]S&9UHXW,E!N;XI>-S?'0YY:5)Z-GHN&3(-PTGWPL M"V_BHB[DP7TZ>RU23"M,+AT'*J(DG;ET/Y)(_#9-=_[^"_[[/[OVJ^FT*>UQ M(TK<&FL[TS/ZL:U( IE$%9O$."5+?A\U1/=F"3"3#;7VC,W7*)+)E,U7F#YK M*9O880H\QS8C3'Q%O01[DR6DX3AI\-UG".;:XV7.&-HO"+-6J[G(BV*4C_)M MI/7BUEZ@F\ Y-A#F$/RM9#^:D/R#W,UEB[N7XN7>]Q)$5V=JR-S<6@5%\VDT MU[.&YF,3;@D&KXZ9$M5Q-=:41)O&P;!8F<>:W2.Y+(FA:7>[R+2QN#BC*2,D MRC["W!-'D\@""+GD(\_*,9B/B-/U(35-V7F.G8WLL7."["]!W^#%7%@WD[,O M//[3B[MOOVD&YA+R18MS$=!^QI6/_%N)&#V /:GWN[BQT6Q<#!,62"EW;Z4O MN[=DY$QDZ26#7V4FZ_S,C1>Q;3>*VNB.9W1FPFWL9#ET8H%%O5L=IWTO+F1 MQ5 20U@#443 %(U54*2!G3.!, 25%4>)Y?03(&%3 &)9@K03($490JD+$!; M/=NOW#+G!TSE]JA:JC;JDU#M)USLN%^$GQ)>(H0P8@+^F492LK]X?"'FW.C* M#(.S+V9=<@^[P)6A/^[89.=S[&9_J'J<6A#X9?OGIR9WJGFRYF]ANWFLLL?? M(]#0MG M%0B;.N;H<:4 MG!2-UQ4@?I. 9,4C_"3A4K?@YJ?7YY6I^ S,1A?M1>F/:+\ M._[*R^O4C[O"JQ6"U1!NF5FU1J)\#- VF@1?1;RT$67!Y/XDE;"A32Y&Y_U^ M@&DXM2!Q8^=S$@_L#9EH;8\9N[4KI)_R!?(MWP?X$GV.EQ#U4?SO)/K]']UG M=O^&7GPY;*/X0Q+[CK]471/3;-)&"6'@B)^#;G)MH8$#/$UN*_Y,TJ0F/\O@QUB'(,H6LT[L8[W'._>-PZBY?!?[.Q@, M"OBV0LM[VBWZ1MM^0L$N,EO0WS5A"' MT3#/:SP!W0QB[G'?24!7)7OT69YB[@9@+D\Q-]N82R1QZS%7H/R[[9B+05<2 M52 !CN,%<1<""7.*++(:AX:\"3(*NB^.+DM %T@4=#< =&DL.>.@NRB646+! M3&V][4-AD3(T1>$$A5E92E!8!K*B@52#\*MKO*61 P=!O"FP:Y&2-O51$%6T M:]:+N7'RIU&@B$P1>8L46&H1&6LFAA-C.&96607RG9Y$91"V$/\%FN.U]?B? MM1RO2%8QPAM37C@B1]6[1E3:?. B/VC;O<0*Z'HN4X\.%J4Y7IMG!0C4"LBZ M%;"U.5X"S?':0/ -/NE]BZ+"RRQ'/@HJV$7#O&!R:76ZIW9Z$3A]@=+)L84O M1\Q1=-T =*7I71E'5^Q9J\RDRM^V0>S_ RSU<#<09+_AX;(B+Z7NR:Y MTS)3\[!D-,AYL/@:BD^UNG"@2U$W\ZA+=!:%W6S#[M8ZM01QJ5M+$7?S$/?, M<_.5Y%A,9G(&:>+X)B%FBL";@L#4\:4(G%T$ION9MAZ!59$%G$H"RP(0P6Y; M5529A6CX!-@!7PB'81IQ^"65.CD>YU/(NY!_S4>;GCB*R)N R'374\81.2G. M<]F'/OXMELRY%&S YB]WB]N(V'0WU+8C=I*'S4JLC'UG?A>R4AXH4IR(+9AB M6M>$W_&=L9A+3.6QCYF AJHW#9:%@DA1.=NH3/QDP"N\+&\C[-+M3Q1V8]B5 M62"R*H%=.2\*,B"H"UA32BOLCM.@S^-LK.( ^N/#ON-#PBDJ;RLJ8[TF45C. M-BQ' KK=)4((/DN4@RD^+\-G>8/Q.8YLQPT$N_7B51SEQL^]$1*GV+T)V"U3 M[*;8O0'8+5,.WG+L'B]"\RS+JT#9;;,R_A*O08.TKD''L!HM0A=;/D+1)QV% M X3<,73C/H]R3 5B[/9=Y@C!<'*$S/_!;N\/OL^*N5PJ8#X 30D1O$)T%1%WO3<;I(%5E6X?G"]X8C MIDY$F)CE,307>[[MC+$YROA4MA&?5P3NZ'O.2\A<(J[F<==NJTY^P!\8/M!.!V?5FA\.H%? M6NB+PN]2^$WM*8X3^%V>%%89(J,?)6K7$9[AV"7V'-L847#>!'"F.YPI.&\J M.-.:8%L/SDDBM\KRO"0*NY!5\X 3)9F<]@C8])XT-4;GR1IPM))\;EFV@?"7 M*F;\KAN?1!%E>E./>9- F:9T91R4)^6 0'P&NDK/?8SXFM8(HX@LCUWPQ5$@/R8WD0&MH MN\R![4(7C\G!1DT0VF$_VGE&'JT12M/L-VK2;)?^3ZE)<]QWQB4.N>CP3/85 MFV;[ZJ@1UJ9UU*A5,[9J!%:1Y,2J4>3T6S5Q(=,^'AX,T(L%DTOJFDY)O9)( M/85C"L=;I+A2#\<\^R8@:D;\8\?G(]4=FK7M)_^_@?_ M&;=B. CZ1";:?TP[Z#EPM!<1-7EQ/I:6/4XN\"+I#KZ43"HOX>\)2['L/TGW MIMJ=:2QO8 _NSQMR.-/"SQ#M35;CA%[(L"__XU'1J?E M>WW7S!N>X_E[_V"C__Y,T2^A"Q=)5 OE=1_!3AY:^/U[T!G 49 ,5E8+6(?J MGH^]P3UVW#>>](DL8(K_9*8^$ZHLS%H7#O-3A)LS^Z+'QM?\6 *3BUY@$W=T MST=.Y&'/S5HRZ5A9['&@(,U.N *LK@PYS_-YM'4\"_S@TV)<(@@.[ 5H;_QAN@^$ M=Q*^(8,V8F*-M4K$J+ ?>N,+,9=&5V:8>0J>DGO8!0X,_7''QG 3#_I="^!# MGMK41$XU[^$F+<<;C(DV_IXGAL1>+/D#3*9W)2[1K]&+Q[="/?"\X=\CRP/<&M%]5UW),4C?#\B^"FH^7G'2YV" MSV_$!-^P']1/^!T9<\G595[$>HGR6]'&%)$@/<&V[Q%EVL'0/'W_D(TW!J0>+&CN;8DP>](8.UFVTR8Q=VA?13OD ^?>:ET]3:^5MU#<_O M>3X)Y<9!(3T)&ETA"_G(-5 <-0J]^'+81O&'2AP2'R]31^NWXS9*" -'_!QT MDVL+#1S8SJ0\V< .VY.?XP?+7K=K!P%&CR6OV-7_?F8YZ17PV*"Y3&8D)M]9 MOZLC?Y9 WX2+MT@5^M#%#_DO[FAJ5$=2_&[A[Q?18H.891\%AF]'17QCDGC6 MC%P'/\8Z!%&VF'5B'^L]SDE^)W'"3+/5FG30VNGTFQR4.'3;PD+3=H'G3VR% MQ&IXC:>V(X\DVK!"3P;:^D22>#&X9#=I>O-(^EU,H!%9 MZ.%8 *;.]UDH=$@32&@"R38IK)0FD,SO&P6 [AM-8)@> +3U,)SDWIG.-MH],%#,DN%=\V2#9GG.T9'POTLEEE?((])DF2ZBGD8H5 MD9HB]1;IM)0B];1D*KE7H7H+MY-&2$V/^]EZI'YQF"5%C!UFD05"VAWFV/R. M=I-&(!QZ[U5BHD<*4&BGT+Y9T+YP] _UPL>L38_^H= ^@785"$($[1(0I+1# M^PNHGWF%1(@)OG^F@D1NZ=U)58?1]/U1^88ESUPXF,J(5HJB%L!VZLJ46@"- MMNU3 ^!5YYX>+D0M@-@"P%ZNR(EJ9 &HK)JQU7".KH93&*8**]4PO+ :SE$8 MCF&8HR<,;3T,)ZOA',MQBHP=<<#E%8%7L[(:'F'PPC)XTYUVN"D.4QS>)HV5 M4AR>6NM.ZAHM /&6KG5S]*@ABL-+<3CU)_U%.+Q/JM_X>3S57M=VX]#T5+;: M-89I/%\4KK%#6P_7+]%K@179*'JM2 )X-I$%!)A6M(Y0 M.DDI>PEI@11?CL(GP=N;;G,Z?0A:UX'UC1=?O0F?'&*>IO!.J7J*:BJ$]1_T=0GQ[V M0U$_1GT^RDH3">H#0693O^5L-BN-IUEI&XWY=#4\^^"_D)7&TZRT!(9IJ;2M MA^%D-9QG.5[BR9E[?%Y652Y#66D\7>:F.$PU5NIQ>&J9.SG\=@&(MW69F]9* MHSB\%(>SD)7&TZPT"M<3N*99:12N-Q"N"6?3>FE;C]8OP6M9Y:-Z:4 "K)SV MX/4K156XSQ95B7Z=*;EV'K:1S]0\/-A]S^AW7SV@EH)X!D&<^MP9!_'%TF@T M^#UVNFEM- KC,8P+^*,(^ C&%4$XA>&U*_>"$CF%(K)V<;D*%0V@[];YT5'^$LKDU'\78Z_:EKQ M=QSU+K>AVT*,[6+0=4/?EH$M!=P- EZ=UR"CH3D!7 M$ 0E ETUM-!EP:?,XZY"XG7 HT])S!,RY!M/0PG"5\"BWU>$>Q" M(.05250RE'@MT$PNBL-48Z4>AZPDRN"(=I?3&*PTMQ. N)UP)- MO*9P_1*KIG!-X7I#X9H6"]MZN$ZBUR+^R*G1<98*!TSS=&_7[TI)6R*9A\8PC]L*AT71Y.@%Q6A9LZT'\)2HNR8(<1<4! MR_%LVI>G9Z&8.,C$Z3Y%?@O+^%N[I/9'+F0:B&1Q^SW/CQ+)%[VW2="F%[U<$DT;)HR@YK29&X3N&;Y'E1"#S&+[%O"(H63IK6J2KU12& MJ<;*$@S'B]7B^S"\&T+=03_5X[=G8.I&_.,'YR.5G=HU[:>__\%_QJT8#H(^ MD8GV'],.>@X<[45$35Z9#5.Z(4,^_(_?J6B3!%FZN___L_T<'1H=%J^UW?-O.$Y MGK_W#S;Z[\\4_1*Z<)%$M5!>]Q'LY*&%W[\'G0$8!.G=,]'#B1+OW.S MEDPZ5A9['"A(LQ,N@((L+LSY3[-Y-#7\R_Q@VR:V7O[1\(RUVQJ+ID6#,'2T M9QO?_6H4?HF(S<_;:].12KT1B?%$&"+.)8+@P%Z ]L8?IOM >"?A&S)H(R;6 M6*M$C K[H3>^$'-I=&6&F:?@*;F'7># R!EKSPQO^20N4T3ON6R[8?MGWO95 M\^/'.O Q]V4-XUUN,/_L>-\S7S=L>M^U]:+7O80TUB5%*X;YI5I/_82U]-O< ML&UT6F=(Y3-420^_K".Z\'5^F1ZQ[CGF9QD(6Q+DXG]W^)T?8B9.+4C M>S.@-V0"S[%-9FS&KY"DR@H%_K0Q0_Y M+X;[K^F19,PHA6">#$<"B#+;H@[S'7\GO M)!23*>9+CSY;.^E2QF>)\[>IC#9MG'C^Q&!)3)?7."]]2_?OC#]:A<_.*2&; MMNB>BC7VW]DX_LZ2^O;N$U\'C[\UPO6LO6__41M,O. M"1<4[;Z)=@H0U CM))[_W6,@WW8!QUN8EYQ:0=&.HMTFJ9MTH-W"3N--0SO, M@D)V3I:@8/<=L)/P)SX^\YB3>64,=@*;$K1[I8Z'0.MX4+"DFBKU.!G%8B)K M->WELS[@_0G9.>.! N)W%@ EP,J2(.Y"(.5E(/_N"0Y+%P ENK*WD8A&-4U* M >V4E')F.#%:SY-^<'OI>^%5(O/97RX4LG,\ X70%4!H"G-HI/=R:"C";B+" M4D5$$78C$38[)RI0A%T!PO[.<0GO(&R,F\E!"6<>GB5$83.3L$FU"X7-C83- M[!QS0&'S.[ IXX^J2.H?RWF@ )"RV"YV-O&W.%F5+%D>(A?YT,%.J(-@@*86 M--\J?7P,24=/\8O#<%SR& 8$BH^AVR#86;WHX[',(.X83 ^0[D=R MGISE*><8/89>V/7G6,+*)Y_#\\Y5E5![%.S"ON[9PJ]'8N^\#U2)LW#,GWFA6CF0"!F M N;XCCZ^BC%]VK7&R&S!)\\G[2!HM"D0;Q804\.Q3RRS+B1*_:]G#/)$45N3XH8DL(,"4 #'I%7/>=6V]'VS J??;CIE% MJEC2#)@OZSSK0DQL8 ]'3)ULP8M3([,-G+2V$07.% %G';DV=D!/H0M;\1IP MT77[T)G)5J98FDTL+5%=0[%T@[&45D[:'BQ5>?""I3P?!8,YI JR:J8$3\<1 MX7?V]C!]UT3^=!R83#>0_P1$&7!,Y;%/5FFI)YMU]*4;@M(+P N5!=<= LYX M*2<"OR*MD++=\,OK!E!5(V7P^\J^( JYVP.Y=#,1A=S-A5R:3K#=D"M(G()_ M2!GD?J_8!47G[4%GNB.2HO/FHC,-]VP'.BLLQF->&J.S,D9G8"@0J&G+4/X6 M_-+4JHW"7^H_9 5_%8J_G\9?&OO9;OSE#,0;EI R_/UT0)IB[D9A+O4**.9N M+N;2B,YV8R[/\0HOZ"G#W%5&I"D\;Q0\4Z>!PO-&PC-!9UK]:FO0691E\(+. M$L]&$6E6%W162@DZSQRZQXCTO#T*PS0RG7883B24XO!W<)A6K7[(U$=! MB+H!TZP76O%B7MP M ?W0)?YOM9IC:H4+\G,0+S G'NW5C,]+(39[$$L=V]0";"SA@(]%G'JUG[%- M &7K3"%ZO,Y+()D'0XS'(#4AYIH=A 1O@[X>V*8-?1M%^/L:UO[?/X#$_B% M2J'PTX-<#QK^\B W3*.D R@/; >;Q4?(1P,[;&<9MG@*6YF&+3XUL%7V7.*7 M$:2J^&X0QM#T?[#;^\/<>7VW%5^HU2XH5%&HV@(M0J'J1P?"4P\KTU#%I\?# M*A-J6IB>46"2N%9M&V'8&B*C'Z72G%OX5^0SO;X?]&&\Q%='!KD]1C&>Y2;Y M-M#7H8N"_/G002.F:$00R+$L1W&.XMP6J* ,X-QN"'4'X7]-^^GO?_"?<8\, M!T&?3%C[CVD'/0>.]J);D[;S\53N<7*!%PE-\:5VK%QX"7]/","R_R3CG&IW MIK&\@1SGSQM,,M/"BBG%";V085_^QZ]4DA, (L),_?W?_YD>C@Z-3LO'1KR9 M-SS'\_?^P4;__9FB7T(7+IK_%LKK/H*=/+3P^_>@,X"C(!FLK!:PC.N>;^)? MV''?>-(GLIE,_"D0+H;!"& MCJ.1F+->RW)9(F+S\_;:=$02,^&[B$D(SSFP%Z"]\8?IP9!I2J:(M&_$_1H+ M<,03L!]ZXPLQ0T179OAF2F\E][ +DQV9R^T9\B^GUS*9?\^HW@W;/_.VK\+0 MCW7@8X;J&L:[W(#ZV?&^9\ELV/2^:P1$KWMQ.M8B5,+$C>V M:\>. ^@-F'[/\TG.5QSFT$?QOU?( MPHZ5:Z#_Z#ZS^S?TXLMA&\4?*G'H9[P:;9+0RKB-$G*\0?P<=)-K"PU@[\T> MKQ 0_VWR<_Q@V>MV[2"8A%]>?<6N/C7%JT*:#$]O,DDQ1<_Z71WYLS1;/?Z\ M1;W0ARY^R'\QW']-YR3+5@M_5P<_&6:I?108OMU[B8MZUHQ""-;)8 2P*(,M M^B#O\5?R.XEZ9(KYTJ//UDZZE/%9XOQM*J--&R>>/S%8$M/E-<[+XN(J+;*9 M[<55+MV+JP>V"UW#A@Y=7*6+JW1Q=8,65S.%C6$>QCJJ@3&'=.&EVU=2=NK'W\400 MFLD[E\FKLC23EV;RIB63=XK< !3$]>CI+VF2U"<::_0XYN3S50T57;%= M3.]P+__A"?M4#F#Z;8DU)$)^A B9SW),O_W_&RF,,55>26&D^8F9R$_\4#1I MFY(/OZ_0LY_X]5E]GF%F^$S:X/<18(M88YL3_GY,AV0QF^_#'$)3]?S/ O&Z MEW5^P,D"+"A4S^J9<9O6GZF*>1,QMZ:K&5-T@C,[/'9\2D!D_AZYS;$IL MXI<'F9+5C\QDM/T0'-3+1Y1#TP8'#3CT7*\[8BK#$+DD?L#4C3;J0HH/%!\V M6?HH.*0*',K%&F7/#(!#&3I&WXFSL&JVV]')2:04*BA4;+ L4JA(%53L5PXH M>V8 *O:19;LV10J*%%LCBA0I4H44M6*)LF<&D*(&=>10D* @L1522$$B52!Q M<56A[)D!D+B8G+I+'0J*%5LBC!0K4H05 F7--.!$V;&Y_'+1*:+S07O;H@H$X;/Y^'.W MA]T:&'K^B.DYT"W\4N4#6NO@J[4. *UU0&L=I*76P8K\I,E>F(E7I/R$-H&, M;?YW1S--&;&&+&@2DJ$F ,'05%&2- 4((F?PD@!9;BPK8=X-][GA]U0<<&!B8L_L%S&1MW04=MZ%B,/HH:PAH0^?$-4*CDRI0"PP:S\ D$^OEFX?'YZ<'[58.IW]4;EM,XTZ\5<4K_C MK%SX^C;AK6"%[^K_MY_&?7WFB(P!W9AR':8PZ0[O>A/V(X,<=P+/>9,Y/2P?[;R?(_ MMJJ?ROC,:J/\X^C^9\+\'PSEO\3J21Q?1\@=A^N3 +WE.8XWP+S#]) ?>&Y MXOA)##]YS=1B -%02?H4MF6A$;^<7/7BJR86X@#?DA0AW<# _HPD\GR!_\U8 M\R?BGI^/[+Z=%B5NZI#C256CQ>_-'.%7<]VR/.9X@%R!_\UEN%^95?:=W+X4 MC_F39:H33?S+I8D_;3(MS3; 3\&P[Z,?*S4K_GI)XE>)]'&2O%V+]E,4FE;S MF\0Q#3MT?HY;4E#TPSIO,,H-)*6&67V>$=>S"2=VH9^"&R_.M8XQ3E:_6B^#(% MDH],Z;M!KM]9&?K.HAX%@VSY$)]!@C?2/ZC/D&Z=O6_[R @]G_G7A6^[AMV# MSJ+:_IE2"E1C9VPMG^KS;X6)TJ+%:20H'9&@;1OV9FK\#P9[MFW8&Z[R:3QG M(9YS8SN.#;O,(?+\%@WH;*)S\.((7&,W@'DMN_G =B%V&[#70!$CPSX"C>K0 MJ,YK>#"OY*D#D W-G01NIJ,Z+YJ:1G4V0&-3$Y]&=6A4AT9U:%2'1G6HRJ=1 MG1^*ZASW'1LQ]0)3;T-D632LLX'.01VYMN>_'=,I&H;7=T.RD90"1H9=!!K4 MH4&=U^!@0<=3!R ;BON5J,Z4KJ9AG0W0V=3&IV$=&M:A81T:UJ%A':KR:5CG MA\(Z!SYT.[@/S.D(^0&-ZFR@^,6(."TPQ M.HS3/QME0853"S\;>IF:\]NCOJDU3P,X M-(!# SA4X], #E7Y-(#S0P&<(Q3E:%0*3*GO.#039Q/=!!J^V0#[GX9O:/CF M-5V_H,"I=9\-K4Q-^>U1WM22I\$;&KRAP1NJ\6GPAJI\&KSYH>!-T<%W7128 M$[\?V#1TLX%. @W=;(#U3T,W-'3SFJ:?4]_4LL^&3J9F_/:H;FK%T\ -#=S0 MP W5^#1P0U4^#=S\5%5C2+I[5&#J1KOOA,\T=K.!?@*-W6R T!C-S1V\VK- MX@4-3NW[;*AE:LQOC_:FMCP-W]#P#0W?4(U/PS=4Y7_/G']'Y6]Y1.<"ZHY' MJBB<(M^ ID(^?BE6!^9Z%G4^X;4.=/_\/E2E70K M)(-.%&#F@"@40$J N03],.1>R[ .%C],+ 9K'X\$ Y6CQ8@B#9H 0+BHP4( MD \AQY.0\W9B_^_3R2NI"P@X 18)$' "8/\0<"#@G$/Z7_ -9C\,3 :-'P]T M@\7W!_990S+.?'G:9X&<1]6'5SKNQTW/3LUH>5@_J<%:R3DC4F^>S8J6^QTG MQ_049C.QY>G)4@&D=D?=L@U0#^JZW5OW<7RGW7/L=HQ%.>-\=6'#=BS\\]HF MBUTSB7\.->5CX@3&&6]OW*^3D;PJI/BL:90++F1J^8$3/Q.7Y'O5; YWCDDAP0,!@D/PH,'=0O 07 M) L$+"^Z!X X! M@A/]WKSWNKQ[K?FW/7]<\]9M>YWSSY[ M?WO?77?S=ZO (S4E524 XP$ 8-Q?P-T"H \Q,;&P<9ZB(.#@XO[$(^ C) M'Y^ BO0Q,1D=-0,]'34M+2,++SLC$ST3P7^J\?==X#DX8/4!^T@#";@ 0D&B 3CKA=@ MN'].+(S_.(#_-# >@#"QL'$>XN+AWR^ /P(>8(! #S!!6%B8F/>S ??S "8) M%NE3?GGLQ]IO<9A< M0L(BHF+B$@HO%9645535=/7T#0R-C$TLK=Y;V]C:V7]P]_#T\O;Q#?T4%AX1 M&16=G/(Y-2W]2T9F06%1<4EI67E%;5T]O*&QJ;FENZ>WKW]@\,?/R:GIF=FY M^5\(Y-KZQN;6]N^=7=3QR>G9^07Z[^4_>&$ ((Q_&O]%7B3WO!Y@8H(P7')I77QGGK^IA)X.-#LA=)7VNZ<)D%=8[(W[E-X%&P""%9 M4?^@]A^9_>N(A?PW,?O/Q/YO7@B (1QOWD@$D 6N+CD* C&^_\!I(;6*.JJ M+="5:D>&$8?Q.<+'0G.BT3+NL9ZZ\S?/_$575VB\P7UIO=X5$)L7:0)._?E_ MS(SHSAT-*>%ZY11,",O4O54+ ([O"OTK$0\I%$6:FDO(/+O%)9$^<( M*;/U,3)T[8(,1?J+\7R%\[%]LC?'CZ?>OBG*E20@R#XGPXBL7'..#GPVJS/4 MF^Y+$5.T2&/;E\%Y+#;(DBC/'#I]J9]'O+O,?-09#=<$[65696;;O$X^T>QP M\U\D.!J 64YGD\R1&\%B9"C0I499&DPD5@E)BI%XBR/OD;2YA;2 MB5?*T$[X:ZQ9D-EWB*&PTR[?2/@A["[]0%MAS)5$A9U:N#SC!%HXDD#JR+E(*66O=0T/81Y+K50&Q;1CCJ)F MMZ3TXR6US[ G0W35 MFOS $:DQDF^.5*4R43#"I2#'G3DOD[&^ $/E%O4,9G6#EM3:X _FQE?N\M:75?[:@W9\[;GT36TZA0KXU> MC!$+OB'5#U/P+CGL;[S41 P)%^=D"?0GA3-:<6',=;+3 MV4EA(0F5#>>DY /8(VR.^B/*C(7S:U(X^P;[5XM Z:K>$*RC] 7R-'/4CRN MJS$C;R%>^))#C&-4+T;B^O0CS ?L0%1D&.1SL?Z*[-V=Y//VAK7*U;8I+-C' MOX8=5UN0M4U=??HUJ-ORH".P<4UK6TL#BBB5S"=KY'VFRI>0A%;QT8>8%ZL7 ME5XR>"A:!CQ_?9]RXQ\B[=!7*?"<"BHJ[+-NY(>4>.]13EAO K#;2/]H_ Q* MT;\/)RF5?U]FHH OE,S6UZ]%D%STYI;^,\8^/44F. '/3E"#^0<70FGTH+>. MM#!9T^0XB_):&^5@.G/(TZ;ID__;-V#(!#%@I=86RY\\SRSUYMA[\/NNPTP; M#T'#+=GDVUS1:#UXG!F=6FUB(6/H^-SG7W= M]E1%GAFO\J?[\,:(8Y6LT.6 M==VB552"-:)*F9(VEI: OB!8R)^_RCOBQ9SP&.9>9LHN'Z2T?2;UY/$6V<"' MZ5QE]CS?DS$\"8=,(5&)QKXE0_7.9"4%VSF!&@81',D!DU-9?-M YEDX]$/_ M,N-4EF;N0=>^8Y6*S+L2V2C?T.^KP0'E,N3^$I,,W\]3O"-Z2'C+V!)KVAN> M<6",+H8#I_T4=RNG QV-<,M6X#QORP[A Q^KPP[[Q(IVO=M02" M1;3(7M<3$=^J='N9&0?G&'(Y!9\0'=?LH&R4''U/F=VZSH3--W!KY,OQOPZN MF,56K\7>]&1?P$@2!CJ>3DA)!ZV"&YN:4.Z&%I;U3:P9Q7&C+[,2I(ANU]J' M-. ./+R3,RM^"GA*X.E@;(#F$^P@5O/L6\/D1QY)?!1D3" @M/2B/WZS^)@M]'[-%/-+_)<#7X M:4;/7?Y)"K=\RU(]Q#@@CC6XOJ/C;S<%<_* X2_+(X=&/&=GC>G79I>Q$P6N M.[G(=6.OHBN1=$Y<%H^^GZ_@>!!2_?PF6NG,./_\PQW '6&>8_N@LT_:H="UK"+=7 ((/0)Y45*9I5W/VA1*3(<@ MW.=1'-XL'!.-&,',2:'W7N*1#!%Y M[RHIFQI^^VV2G=D?91?$D]KWN4Z)6MWA2Z9H7&LY <9>KE^\+>B'(Q(EVA=G M:=#:@%+<"BOEAUFWRAO2B/A],Y.*9_@(H0;A2_ M)#=F.=M"*$-,A9[Z+G%-SUP;H9E\8^S(D^$Y&*TD%_0ZP& M/ZS:W%T>:?_6YJ]AN6*CV%[/*4'B>W)4%B37#A7VYEA'V^?2-S,YT[/0,K,? MSH)*NTG5BZ0/Q;@'$K0-'.$CQG#-L$A$\0YX,'L)Y(+.@ZUL;UT[T&@>R;22 M-R;HK+_N](#7)H^I$X("_YKH/B5!G;CAO#J#!BCW++-^.XKXZ'$CJ)*[=:7P M:NS-1!(O[O9&_Y\K2YEIC&GO*]W.>G3>JB388>$+I-HF49/ K;8H'_+]#1$- MJM0;7Z>S%1VW#G;(6LC(;VR2)]!1&ZZ)===ZC8,THA#P+EQC[VT'&70<0;?" M2GYG%7FV$53]^;[*NVFV6'%*^R%ED%QM!8QB#^E@\J[87?E^.0IU#G(A<.O" MC&X"W!XJ80=+>_7Y+@;2'I645OZ8G,7V8%AVBI8EE;MV^-E![B##.'FM39&R M9J:TNW=EW><,T1BNNB)2Y12E%QMXD$"Y&\B.3D'N,RO$=%\V1#O#:D@M"38J5DGOG6RP05!D(!UZK$?03H8IP;P=Q8*P^LT,CYZ)C6$(R!>DM8S_ M#!Q&+].A<,*9$\!P5'^#KM8,!89]W6 47I/G7Y>;AG5*(ISF?+Q;@AE8O7.T M#.=1 S3H@RL^1L ;)VN;7PPZ%4:G/7P,?S(WMF;/1G2[.J10[^SG4')3#X7. MXC=G+/5=\!EQ0#*%LXTR0K;4J]/U":1HZ]&M=2V5S6]?P"\FGRL;('HY1K$M M7J(L7BJ"E-^E;=EX&753:2ZS4RZ='5I(V1FZS.^< MNV@>B6HU-8<+&3:)U#[X@\-S6]F\U1%1FW-0!3E@".4.!5\YDRTX-,@2 MUG>2KZASE\VE9U;]67;K5_FKE\9B.1\/G[Q6G#S#/XRT(*Z&<#LY\>P[LSI$ MO0O+>8O9%[)!P+%Z=BJ,D^!N06)[*UR+&@N_]ZS[[.'$=QS&>@C#PF2.^S(/N@:Z8S#7\:3EZ#:BU+1XIL<\ MG)@K]M[P=;P'5UUS-=5V;P7MYA"E/5F59C*C:P?(XMA(Z)H=;7 P!8L'G-% M!T:N!,/I#"PH[#/AR\68GN=1'Y@9V)0/BFJV\YQ2"X^R]&:Y/33 W8%,'4VM MG0VX'\C2207KF#D&ATB]A94'+K';U^G\NI=I:N*/^T=G5_9U=]E^#6L/->(U MKSK1:%+=\AL?>XOVW>*C#B+6Q.&2AX]QBZYX%A3M-]K'0)3$* M@Y2IY9HFRC-5DWD0D'S<,R]?/21906>I)Q]J'=UL17&J:(&7P@EZKA8K4&@M MG#AT[K'Z2DP'\]090R1U0@0W9)8M6-F5\<4KNU0\2HSIS/$C@]9*;GJ1*484 MW6QSB;'=I#JD7&6DW6I^B3(YR)S?)!%-0?SH^BWJ4^9!%'>+^RP*WR$C_TU8 M@Q)NW& 7;]D1=&^CQ6+B)D;&]_MN6#N M-$:O]_O],V=BQ(K]"B7<3.#2[!92:/JS7TH04FU%SM**XP5^P<;DN>5+03V(A- MX#C%)&JO_$U(NJNAW#5[TI BDG8,?L1MI4-/_Q _!..& ]37!BKPCC YN_7(8,K_R&N#(S_Z'[$;1C=MASHW1YLMJX4.WLQ-YZQ;V_/<0EE('QS>MQ M+B?Q)U_RF\YNGWJHTNA:_Y8=NP7O%EM<\-M@EQZQ:E&U6?\/JW< [A*: _U$ MJ_TS+F/():9GC,/& [5R'-A%1#N@VX'"K@T$H3U/]UIB175W>6CG0G:N1[(6 MW7[] #S'[*%>Y8MHMRO5MJ.5WM8[@-1"U8<64JK*W-*2VXP5.>"4L'8( M3JDZ[68X7A2D5O=]!XRYH?#?1=-3E#G1E> M-]0FTSC,1K65: SJ*ZQ3#3B>YQ/E(6%1'DLVIC/,TR+%]P;YBPY\Q[YH%B17MBZP7.03ZQ:T MI:U)^@T5-4RQ^DA)LL$=$[]8L8G*@/]&QTI\%<.A]2BOII D!.M.L5H21_# MFQ2[T][2:DL7R.#^"=?!':/]ATXO-_+JX/I6U]04J>CEQA//R](0/)B8;4.@ M[/_!J),X=V1K[@ZH>R]@A+_*L^!JM? MH#LH0B9;SX2^N<1;]]6TT(C3EB3X M-\RIA&38Y<*.98Q)R+(JPP#_>!N3!!$LZ><7Z;2_WM289!6N2!1?^O3C;WNU M$_!>NT" MA4J%J3^+4!,.J?MF%S/,0>I,G#(WYC0/O6@EJFV;9KGH'@N&0G; MO^:'\/XR"E?U&@EGKO\"8H>9 &=95WL!@IK-'2T!:><30K4B@F':R4%/54N7 MJPLMR2<5A+@8!U6G+#$.N'X*+SQ\-PY;,_H"70G+W7(9ULQX3D44A/BQ9\A7 M.%'EY,SC44)1,U#2[6[%_1.7,?VX9E;CR@U'U@L.^(;UHDP6U%TE/X6S\![\ M8U.#.*.<]^,S6SY^YBF/U-@2!9Y2C6V:OZ5(8H,21[/,0HN:IIDF"_"2K3XG M+FRL!GGGPN=^=_Y*.)H\ST>GPEM5K;EDLMQT['C> MS0="OCLG.(D@$R1K9O,G=7;7CD]>MC0WAS,0@D=PF^+,?K4-_^4&KGH5=W)M M09,>A"_FU*:J^0[?DX#!_5:I8XK:TS.9*#HYL.;J"MD\F#>OK&!'0W9!Z!?+ ML]2=K7Y57#[=BZCO&W@3,W%%+3-'*>#)*NY>_B KJ?$?S_@A#,+-JGJ"3F/ MXRE$L+1G]#&ATV!'UCK-WY)<\!Y9@X-#:(=(7*]KSL_.;M6]E=EZ>"67M*S> M;/U&^^WP5"9BUL9+.9GGUC*T[8&,[L>F#;],X!0Q!I]U/.1V@CVU>8[XP:V3 MW/2TD$5$VI=Z^Y;!K.KR_09_EVV-O(N^S;><3?B71%Q^"EI %?.!'..Q@\2< MX92[-%>OA-)7'[J._ M#'46'I[TI4:I6_#!#'+%UJ1!)+1R56ZZI;I,O]WXP M>0O#)7&AVZS7IW]-D@!E\+C7U^&WKL,# XIOX2=N11("V>1<-W]0T6O6=5/< MAB\U-.]5\'(IQ))BX0X09HIVQTS!X/O\CC)$+W85E909!CN+<_HYH/BR89HU M[59U>/\VCFZIRHKD*2HX9Z;!3+VT#GA0NAG_3V MRI-AHDV>% M%"O4EJI*O@DX$H?R,83X\[H(WJ8ZWP&%!L$2T5P_S[B$S$3[,@<."6]*JDH0 M9MO\P(1+1_!)GFGF)#Q+\0[X%'YU%;C:!R-4H$B*"!+K^[CYU[[ML]3&QX3V MW,\8O_4-]K3@=;G+N)OX/%UJB]X"K8J/R(M/Z&2YZX< M8\%R_#B%,]DL2[5@E/<8;;Z+8L)@R\!,I@74_ MEBD[SB2K5IZ'P. '"%Q,9 M_Q=3U]/*U(U,PI =$]$0Y_I3]XZV7!5KM]X,\OR,D,9O[TU]W^A>T^/O2B@, M5?_BA39W+-D1%I7L+."X#?OWXV'\[I/;B2\(EJ;1F]UW+^=!IK)E;JV[1B\O M2Q^+F3HQ^A+$YKEJL4<+]4\Z"5/X6,;_NFXN2!9@41[$4+O,C@UPH.FOL2.U MV!DIMW_2PKV;')!E%"Y/YGI<7& CKF4$R+T-K5_=,)0NVWWB=4O?5M+H%I)I<$E>'#8CW&IA>/2\6PJ/M2O\ENN&'<,M->9A%3),!GO ML@#+:[OK'=(?GF?IFJ;KHOAS)%O4;2T=1Y%>E?V;*G8A'.) M%S=.)YDVE"U\.\%F=H#\)?^F*2W6YZM8&EZ4!I$YU)[EX^LK80VGTF%1#&A: M.F9D!W+K,0HK]](0DB;*W**"(QY/XRFA:[S#+]*D? %">8\U!W4Q"$(=O"[= M75=<(?>JR["<:]Y ,Q8[OF4V0::N;,6N1BDELKH@;S#"!_^X+3@$&NP9C]'C ML6/4\KH*X519ND=]@XSO!XN_:6QK_0OB2.$PROW3Q"QM"ZK.Z\NT,IC5?6'3 M>F5E;6O9$-GZY3O-E_CO5J #1=NN1/6F(D2%K:8;1-]L.3 M"&>A$743YQICLWG3*@%3)#E5M8E^;,J%47\/<#:OK&W&$/$FDR'"S6>BS=JH MFE7/-:1B,T-)TD41<&]X\FW7Q -^5L.&_R7-:(B M$I [)(ZS9B"TMSPJJPX M7AK+QS.I1+Y\I%C1-X&%W_LUCM'0HZ_'@8Z^T5"ZI=3^'!ITR4:%2'+GKRW# M-^9R#R%YRRF2WE32'* 9H3VTL)G E!:<&W+P5;6 ^[G:-TPKS]5[_Z>N9:$Y MOC8#YY'I[O7V'9YO*,:O??+K:HP[ZI%/Z,9Z2JQE.WC67%LZJ:&]HZ4N'L&' M5K&)%XFLIPF?U.YX,[\989:13_RFH*#Q.;Q>:2DUGX/@/9&\J6OH3G3:_]SO M'845=H6ZC2JWL$Y\(NIA?'0RR35&R9 MU@3'_ );G),C'^;X?'VR -W'5.O/V4+9C^/RXWUGX]IS^C,*O=]!Z%C-7EPI M.DOW\/M\D:O"]\V.YP!-O9_A^3JS7S_ SL8&P KL0CU+C% (+9-AF7X8HW".[(\I'M]TFG M-,NH&[&T=/FM$+Q6D]Q>5RV)=1A!4(G?2/"'THJO'"^($SC]PJ:>Y5V:(,DB MMY?W0H!3[3CKBJ:=@H&]QW6,?&0LPESIT8&-#WG*%DB<#YY'N2W69^_-Q$4^ MJ[#C>Y#EX01Q96W(LN'\N@&QHRIR@^Z+FI<8?,Z46-Y'3].HYXHS2F MSW*Y2JV^L\_K#A'8LJN_XB<9:(^.YMTYVHPL#W\_7#[P-"&'LS M<5YK 2(_;\'/XR9EJ.*/K3J,PJDZ?I4)(6;VXQ,<9TF$8WVK!'[J M0?Y>-Y*R61'.A:QX(=(.N,)FU,:D&G5"BW%R54S8$D/^OHO[F3(=.IA/K(@B MO$F%5HG,.;ARF:E0B/&DNR?O_XT$30';B(+[&-/XRN'A0>'5RP26?:>&(1)! MG\J+=.>R/2WOSCZ*7"IX ]\&S5XCOPGN!DD_#17W@;<^"/;A.Y!B.E(^Y9X5 M]]CP=JZAL_Z)(6%0VDN'AB> +>E/E$]>C&5[>C#:VQIFIS O7\ M8&420:HGDNG.[YK$3_N>H:RSSO']RL)Z1UR9E>G:7!\_\[CZ#GO'/^+J::AM MO-<@P]K\@2A&^N9\* .;69M1D_=%4)A1_[SEP*BT(F_6!_+P1NE]>)R,Y-Z+?EQ\SC13VDIRJ0#Y*DUL[ #JRS]?W-#,1VX[NZWDZSYVS)"S\[;**B$ -CCE9>^<3Z[$!F:?&N)Z(O>MF$ MXGE=RX.AT-1WI6?8;0.O,X<'BMBCMO +BN'#GOMN&XK;57URUE).QP-#>>PJC^G'PB[/IYYTZW926U=#0R_DEDYI#W+)W8I:/,S>A+T=C)% MJ;.C2+5.X : M6"QH_G7MFK\0:7SPGG\(;VR+M2TVJ9 6VQ.$.U;-.3(7=;I@IB\T=EI^@&#- M>@^O2L%28L%^EQ\L0&P"_"JH>8,R3_A0U9!*/D23FE0PEM9%-?U@D(%&'? ! MMAK^^RL _RL $T>WOK7Q*+:[$+@#;!5\G$4OA3>+%'M9,Q1P0.R81&*[7!-E MC"0A@G+T7%7VMZPHHI2OWL[&]6VUZEGN>89MZL^L" 1[+=]E\P,V4\*PM1L1 M\M:6%/FZF:G>Z@8'&Q=2>0Q]UT7_?*RE)A&NZ=_YQ"R3ISDOO6->3RU/;K+6 MSAT<;GWN[1;$#]&+Z"?RPHC=CCZ+TD>(&*U8DO18BET_.]7"DI8QSMOG'V-, M^OHE'](TB"@M73?DC,^[[=2Z V!Y-TF<9P"9MN*_&VA/W0%SNPQG)W= +:MY MA430Y8W";4?0^S?"S"4->\ B[*@N;';P53?LIT[8.^,^/+O'?"+ M%/:?Q-^_99!OW0%/UF:#:NOW8LA;TE^%^Z]TV?''*__0^O1(GI$6E=LD70:: MY( ]11&UVRY33<#J-;Q,VV8\*"TCU$/W7S6_F;=C>8F@C7W45RNVHQSM,?)N M=KU7(KBC)7[[)43X30A5QCM+YM(O5!B(J\:D$U LP;M@:=_HXP ^T^FL7@F/ M*PNSP;F6L^4\;D))RC0R3 Z2;5MF)S=L'W&8?IH\F>.F\3?!,"KVWQP/2OZY MH=O8Z>!F7LI5YR_FTKDH#^94*OUO[X;Z%^#$KQQRX&#)W?5&1@LO'^P'%T[/ MB7JM+TE>\?.Y.SA 750%7U26EMP!7PBR4X*Q /=&+Q6L*U&-*1-*F#/IL>F@G.SN MX"!=8#M74/=%0UI+SD7$_L';3 YEA.-U.0@#G]XPX:!!>1P&!3ST_MGA(X]: MDR4P1JM=92?)_;/SCW[&K!ZPZ ]G7:Y]8S:M-?JP0L*2ZJ?3\QCY79[&E4].%'#<.>*SSEKXI]/OHDWS)>P^G?W*$W:)YV=,S1V3U>QGZ;R)JJ MEX3.!.H4#1JFJYQ-BZ'[;0?8:GV<-:"Y4 -;H"!SM*PX)Z3LX#67R&%O)FLD MVYY!;0S#$O8-S)2G84T>[VV]HL@66DX. P'/KIO!\.!+F=Y62[?OGN]BU+6BJ4E9[SAW*1A/E#%L-@Q2<%&,=#V;TKQ5F M6\7/;*<'4J'+*U>ZO&2CA?8EQ+X%CM@F?$O:ZW\=@-NG6.3/-'/:.A0S%$0. MS>D;?3D&*2V4#'%3NF -'K,'=A+B;6;J;0^OGWU=VBU0C55[?PSH:)OVR/)A:\6R MOAV?)D^W$T>09P&Z"VN&/?OT) 2^MUFTZA,\'UW_,@H[32%+0ZIJ-KUM7HO= MJ^5O4;*GW+.;U3'%1I9_?-^G-DCX/.>T/";#V&B\%3B"15ZK^[EN.K3$XF-R M.;5X9'_:WEY*E)-=VC/K#*^O-&/O\_U$$>+\K'[/^+/FT%>O+\_'M!-CDO:- M3>+.VN=Z2^IJ4>"=9 UGTB%:^E?AR*Z BM:DAD1\FZ,U^#7?>Q_+M78G.G6] M/)W61^ _N?IQ_$16G*W:2@_?_97NHN, P?Y?%,6#?Q&9_Z7=YS^(YOA? $[Q M@Z<-L3^D)GI#*U6ZE+=L'ZAQ)4[+L*%-^@U")$\"W&0WXSY;6X]=8Y<%=9NM M[5O&X7>3RE/MN)8/,U&>X0EH %XS6#/[T$_8?D-?(&MT5IERT;*/336OF6Y% M9_[.2KWA+G3Z9B>"E"7G%](M _> 6F(U)Y704RNEUH@ M6" W6F#2F8G'U,+4,[J;+;MQO(SYK-K>@MQ>8CNF*._5$?D9\NH!4W5%.:3> M)]X+>=(U*G:O@/!Y1 8T8GY^JVV$)UPEOBR39>1B[DO+9)RRFO:0INC1;HIZ M:;#WP2E9L)66\\'W=6Y%P.6'S7JSOX4]8\/1083DO&;CH%+ZQ@G34M.;![\6 M$OH;.Y%X*,6+ZS IKZ#0&4=&%9RI=KVCZG;D$+^7@TWASLZ:NE":9)-0I:+" M4X5K%J*X8#GV!;A]%HP2':/$\Q[R),+&SK7ER*?6QVB7S(5&IA[#.)#,5N=Y MP(L3@\X@XT,+G"-,O.&&>K0-UN9^;D(18A=1G*W!G7;^+:-(C/$1Y77SCYWL M.57VC]P>^/NR6K,'!V=<0V))2G_57DSR7=?!"6Y4Q0NP[M^H/ MEAO[,W*3"^W:J;>"YDL]SI142UQA#%# N*#YAJ:_Y4FD\#-N]\H>S]]9")5U M-JF@]ECK.H^WZWLW.GX0OBL^]:EI).\6FQT+_5=EO,#F?**?S69>:^P10O@G MI1H>/+/%B)\_*3)-+]\JX^PJ4N.$'M2/*'I(:_9FEE1Z/ZIF3;%BEG:E1IEQ M@N5I#R7DJ4?80(./L!U]6](TC5^A&6$!._G9#A '[*C4!A MMO;5KVO2NF,=LW#A&CR<><:LH=@\'659J(>>%LY3G)XX_-?)^''4HE.\2$S\ M2)?1[W> GXOXM8.7RL3720.OQQJN'URZ2IHR:H\?/9<))@HV2/U?J>O(4\OW MCNS2QW]E@8>RH@KM]'G>+K\H!U)VAO" F8(:QVMUB%@6$:K/ M@BY9I/U!*]/M"G":+O8*ECT%$^+87U'F(V__57?1>T:G/- M 8(6-,^W^2#OT[^9O7.AP@<"S?'_.*@E%NKF8YD2F%J72W6HY(Q&L MW[]+Y8F>5F5(N=ZD5IHL.'AETAJ<5'T:8V>BU4C0,R<(" MME#W[X'GM Y=AQG> 9^NC*?%)J2HRD=+BQI?RN7!9(L!KWI2')/5-EA49NER MEN*$I?2+\*;$ .(''X\FSABR>LTY9CU>W?Q.J\PX]]E%' M:/U."]UGWG86_@C7.^"!8]YL"QZP&MB%8C:Y Q+:==7'WSC_M;&ARC7UI7 $ M OI4<;I'Z(TQ$4L'A="QQ>5%TM);X#E7R_UYV[GD32_JK;&[#(#7\LF3O;T_ M:>D5Z-#7DSP'5IG. F#OZ]G&B.W/U7)('&F5^S<-]2K[-1]ZGA6Y#JE"XOL/ MDUDA?7,Q=DRKT@.?H5ZG.H@D=AXE%/Y9P]9RZ'>#\'9TP"TJY83]-30*M!4? MFL<)4A+\/:J6;+HZ&&?@9O076FD+>A2N3FD@[_,D(61M%;FE?[#TWD1%R=?R M7W9:N+!J'4QV^S2IFE-0>3Z1E]JDL%\0^1U@UY!2; 0>PU?VY(%1&R35-8.Q M63=(%[<+J??L<_,JYG>_"S9,_!5&Q-['3(FTHY!6)M_(OXZK6W;)A!"G(L@A=N#.=Y,:M^%<40R+MI1R*= MJOJ]NCH:"$&,(GX^)8>V:>53XE-C,11K_G^(3,.GZWG4JDB%$A/$KX$/ 64_ M=4B$.DS?\(I:K68? Z"]A=R.ILXH";K^SJ^*-D11SA5*[^_UJ&.R[!>WB)U$ M'UIJ(!"ZOCEQ(!0C&4?_QV)%2%W(&(O'*]M_DEZOG)KALSV##;1;Y,*:FL0';=4#;. %)9XOFZJ$VGO="ZCS\K6'L--*,X&?E,Z9BSG:IKB&0RX#+OVJ&"Y-TK\?S.3% M3^Z9Q8_/.];DGH,?\K;]J1NA''K/WWT&'$A+X.WMC;K? 5CVB0[G40**-WGO M*TWM71=Q96Q.,+HANP^Y?/ M$'\2PL]1:%S@E0]?]-LX#L(##O=RY_P_(&%$[SVDS9?%6^4BAC_?D+@%J771 MXZ'H.Z_&R+QSD4Q.#1(6!UI^3Z[Z6^B(N\QIC[:(THL6>OAT^.KWI1#9AB*K,K\; M@.%(\;]H^MP9!/A:Z A2@^D=.*I$1ZVW'"1H9D:&$??D4YLT\64[15=@(A]: M?_ T0.#IIRGHDQV\>SEN5A#,27'-^[B3RIQ'E0[:+RA0 A.ZG6C@T[-V=V)T:=,QW M0+6;0!"S_@+RR:>3+\C.R#N@)NCY??BKO'=P8K)H?6J)H/+IL[*@I5K MKH7GSP?R+K_1) MD-HA1SXQ[W0'B9%BA?&2W;F"=M3;5/88K1F;V#0>*B4=G&&4RQ()@Q_.?L/ 96/3_&U#N, MZPK??Y*_7/<[_;;T=\,@:D"D4"B9LC"DSW^65Y+6I3,..@WD7OCZZ^=1H M2,C3H_0SSZ9>4\3 ^BJ?X^SB>P4V YF][Q_!FY+EGA^\,$MF"!O%O2SD<=&3XV8N-"6[&J M'YQ='_H5+"3\]*T(R6<3UO3']E8KP4TVJU326- X<8 MO*Y;@SSIF?#)K"YV=B16]/J;,.XAA &59R1(^6B4:=W6P3S.UCE1F$IYH!+X MZ[$25?#JZDEC+GSD#NC&A>X-!,5(J;L*:(FY,ML6B@SDDI21G8@K8@&;KT9PB+XHY8<4WD0^L<218L[^;'.9 M^>)NH4%#VF*?\(;G\DN!YK=AL<1M9-A_PP/O +B'B>8G*=D"JYU+C2K>U^I_ ML*(NV#,7_ML**AS_0G[IT\G>!-[;M(7L%9/^[K_"2R0F5AA' FZJ^W+XBJZ7 MG;UQ%-T;\SNWGC5EIQ0-^%N/ N9=N'*F8?[*%5^#'NV=RSR>2F!#4*56&P?, MWZQT!TOR/?)>Z+FEU&I)O<0/OTK[%LHRZ@?$C)U6N]MW2*)<^E-+V\ MRN(N7DL;/.V^ [['*:SZ)0 *E0$)/9$7Z0?XJH$HH=A>C^$J,>%VF(,,9^-T MYIC"T8:7ZSZFF:EIY/H/.OZY: !6?"T\ >%5/"^;VC.)=W."XYP\E/T#4[RN M_/9299R3LR+^HQ)0K:#>@#J]3&WOKPPJ6C"NM%9W\,[X%5&R9KVZ*?GKJM- MT/#Q4/U3GU5&O7D +;1DB3K>U__.8N/"<@F:3)*27HNJMR45%Y+F1*N\"E\> MEOCT!^>UXCOO=;G,;=VC:Q-8I##)0SEVD=D!YT$9ZY_EC UR VH M. :?'26 M5O).(AEF>#[G02G-X0 M:PO^;LDM+%W@7SQW5?\2M1"[>NN.L3!A[IM+@"K):-L)%$_S$.>B_^I878BB MG8ED0Z=#K-?\S(C.D58T:H,3V*]\/]QK[X,R&&H@WS@^KH1%IIC9.5RF% MOEF$9),2B6O/-IX&1>?2S)YQM7(I-ULW&'I^?O'J_1/T1_KV,E!#0?,",1W: M4JE,"ND>#[[ ZPUVS!Z11N+_X]1X(.J%_R M1.\>PAH 0#&.)[)?U]=">^?%6UG_D62_%]PW476>CK#+\IV5;^3 ?7Z/ J& M4Z=0 0VU\UVQJD*:S'=N^>[[IC'7>I,'N!H,ZC-GRG\@^Y3WT?0C/0>H,7>- MQHC>+TJ'(_%]SCR TRQLWF,P!=>SF3J$'J2^INQA] ]P-;=<3R#7X,D-9;T< M*)!*>;7O'$CQ7J="JHXI]$)5N&<1G64QXZ]@=6E=<[[P"[3P@RWL[68XC3H6 M[S7_WP]C#ATE'-LP M91^JT9C3*)7.=YX5_^7[+?GE!_#]E#B2!Z/WV/@.L#4[$U@*[I$9&M?"5$7) M! 3D$F-[.VO-F-(&5&S@.[R_6%S,*\&HMM0],NRSH%QLV7,DHJ.T7S+QMVGV$HJ^DM;FQON$3H/Y<7W[^W3<^*3^[U0+36;ERF4(N[^ EM;R'L$.ZCB$=)J9DD^:3 \QF38U(=* MX9*E&:8A;J%^T.*M%6%>FG<$M'$537V >CEZJ(>>.H1@&+J]^3:Z'\2E(M\% M>L-\4MK1N"9^K7!.PT>X/P5031\XZ2H$^%E^R(4$M_]O3U M*#*816U;N58#8R;-%MJ@&6 4$X.T-C98?B< M25S?(L(KJAJJLZ7)_^< NM[2@/.+AI(A1VNJ@W[WR1//61G6R5/\'-X92GF9 MW/>-2;CB7?+'JWEJIY<>_2(SU'VG A:_F7?'9!B+/C/Y6 6E1SI1SU+D MO#90H.0FKMF3HXT;B. MF,R?W$0MEQ..?Q[FI5;IK2ZRM%M/)!:66B;W:ZW$ MS>J70-QD:)N(.251N)6*NSS)OH#2>75UT*&$?HC4%77Y<++U>0V^:1X5>'B@ M8=5U5-DUVT@RYEQ,F2M"E,6>",C_XQ^;8W%MXE@)D4+;X2OZLVS36QF;<,A+ M)C+%I4WD/):.RH]MP+(2K[!0O=BV@ZFNOO6H2H+:E#F@6OQP?SLLT0W6&:@. M6G!R<6A"C86LHE2F;/QLJXN^V2PX"\7&<(IAA",'Q?49KPQD8HX:%/P!NQI1YKRUMYY7^(!?SS,_%2.EF-;PC;VL,+UM0MBF\1_ UJ^<[R! M;.J!I;4M&3../>^X).M*$7+7\?GB*M?4T^AA8!@".')1/,KWF^ M!44&BMB:]$Y<++CS+,@&.\GF?"@_ZA@]UY:-$L[1-4V_JANVC&2P>O7&C]2A M[3XUVD% TI+>DL?G0JF1C"B%*K"^K M;BX<&*?_FF_<^@]!?J/FH3JC_.6<1" +6O)*E1LGDCOV,#?A.);@ M> E'TP38+8-QH93[;]B5IQ7#4YR$5?&P'RMS''>=KCXV';:@O-:6'G[RP0Z% ML-M[3LH1O"8_798T"*P%2_].Q%;MLS'?NY3)_-G84IS3;!E&.ER9@LY$!3WQ M;CCI;U@2;7 /N'% MX/P?-%EQBPQ0P"\HLDT=)X('F:Q.]^)L&U+39^GTWEIV,)"MV[".9BN0A7!49RRK-/6+':* DSK0D?"RD;>SSA1\P6/J M6ARY)\V!)2!F-N6^ 8KOK^<1RJ,<;-PI0X>,4!A%@VDD-:#X-N%#CW,Y0'@C M;4$B610Y16CPRW%W])P][U=W)SS859G$C;T%^@5\89$OLLW+/:GQNM7.E37S M1M3-R*#\2'%D.;Y!HC3JS"^=]&^X=]&CFG6:0.W)JK%58J)E34OILZSED?>D MB@3ICP43R38>C['GUF-T[P;2'+'%^&W;(4J2A7EDQ*V:8[0-.GW$Z Q'="A) M!N:*=8_&8LXT#'^T>QOJ!/"NFBJ^+['3($C!?>>.S/G^BRKI\W414F][2_BW MR>&GV=TUQ+9:_20RPTGJ*E2(4I#D0O[]=C7QZC,+-13Y;%V)A29;ZI/Y#&>I8-"ED)M!5K./T1*_)AI_V"$BH5FX'WP&? MO(SR>HF#O-;\2FJVAZ;RPY@4L5P41+F71KV%)^^3^^6D55DBVQI39>>W6S=% MH8*F@U-/&#=L?(3'^\A<^FMZHR,+,?3>X 7\[^W.,,ST?SL)Q]\7?=56K^*T M_V>;1R:'NU5FHJFBG*X65SJHW3S=6.(PO!Y&*D]FDM.8M2F"7C*J_'K^=G!4 M/)]8>.:]!KCGEG!.:.$*+53:W!A/**$\:,J/V4I;EQ1+D.V:>\80=V!CIMOG M&Y+L0<@)X7=?3_G2J)(5<@>T-W\\N^::WAAW;^:&9"S[#XQ M9VJO;_:_[L?"Y&0XE]/_OF^&T[?US8Q84>)KXOR]?"S/8+J:Q,#L9;QX]V"[ M;%19>*X/N<]&:'RF4F4)GF.-#I-M R1BOQ;4]S=&TO'U9^J9>%;7T7AO M/X:EL/6T88/R"JF!OW_;9-?B MX_2KN:N5D\=\1^(JBFQD34XK )3?6'#R'ILDU*;OXD)T/Z]>S7*189Q7DY+! MHKL!*H/I+3%E$J&MU^H>8T>1+%'/+3? 6,XN[9IYNLL!BIGJ($=K:L2?BU65 M)$OV'F^I.M%]--T&;!*ZZR'76$CP_8N?&:^Z/VDGO;K*6X3H_L,LJ?7HW[_S M\9X5VB7]E12ZTC\F8S&*"I23)!(C=U&FKGD337G&^.'UOX%&D?^Y=8]_.R@L MO0-@T[)[VW> E5J[GOL=<'89<>-_!_R),OSWT2!8T'8']-^*=8[[:Q;];GCP MD[WUZ7!CE3[#%NB-=()T8*I0KEC6[6-C=P6>U*)'/S!YN,=_KAF;.O%7A3Z$ MSCOM:JK=)^[5E.C=[5M2T)-?^;=#9NI7SQLTL[;V<;Q*%K,M&>*\A/Z=]Y*1 M:>'@HQBZ,QMCH!!'B.645=T)1LH^Y\LDAL/R#9+X>9SEHFG_9]!=SW,3X;[- MI(G] YZ2DW[4A\AO"ZX_DXV51Y*"?:GWR_*)"-"D)[>DC]D1D'O=%%]Z4R;/ M/G(BLF[-']=,-1J$=_ ^6GS-=C/.*BZ(OG:4=52I0]JE\,RUZ\IK[/DQQU5 M4SX;E0N'F_.L&QLJH LAY;;I3-MZS?S%HZFN&$QO3(2P!>3^?$@=%6%0D*.' M$746F]K7VB6NO+RHV1"2.WZXD?!"29F\V%S\*PMT#<+UFHHZKJ0YP-6' 56E MD4S7^>O-4.AR>XCVT[A/KRK99'1Z& .4% &]?V$#58..9QSTUN#*%^]3AL4; MG8B VSL KKZYVWER8G,'!._? 7WC6+N<">D5]U)\).\6U/@?VGFKL#BCI5VP M&P@0'()[H)'@[DZPX"X-1'!IW"6X>Q,@.,'=&Y<0/ 3W;ER#!G>9['-N]CZS MY^J?,_]^YCD7=5'?3:UOU7K>>JM6U7H&D"C\BR9%4EHN85KQ#) 4"+C!67TP MH?YG!6":7WKK4_/PL/@,6!,-.'7S_F<%Z!-=\"_&)O]?-9V'YT,Y2\.I^PS( MS91\0'-\XLAO;IPYVC0'M\N_6#Z#("JXS1X^7P!+Y#3/+M_?WC8\ [Y[/ ,V M?O^KAG1)I# R&["[,_X, "*> 3$%_Z+E8<[H_HN1A']6 CDU=?PZ]9\^VS\# M3JBZ;]K$_ED!=/YO-8V$/B1,J&\('U1A9"\H_K_D8?EI4?_ M=0?W6>U4U>#X!,MPKJ71U&;[,Z6_9[H38#/YW^>&_ZTGX'LP$(WV@D_/HJJX MQ,X&NVT9SM-/GL?NL$B+Y7H^T_4?XZK_DND-)QX?3<-I\+ZK+$C5W9IHIHQN MN9Y'!1#Y7^/&UXF^L\(J+@^RSSTDL-<76J%_J.Y'OO/TT>?U2N2#ARLVJ()E56W"=Q%CH*,O2X$WW_NXNA MK:O6LZ6M-7LMVEKMD,[;.45[7%2)NK7:V2V&] %WO6^N0[C2V!;/!I<0^T4E M%!W$PE,9TZ0C+4,3HFS(3E:4NCGD&D/[.,"?/NF[^1-JXIT>V/(@J$_2CYCJ> MU(DUNBU3\U2P[S>)3L/,8:,JXP<(_=-X=NJQ0XZ9D$QY09-BU>M\)?^39X!A MSA\UJ*K,F>_(T#?HJQUZ@2V5-ULTG-:7.X&"QWXVA0BPX:\7O_XFN2%';RCQ MTIQ):+@U)US!IVW#Y$/=[H'T])3Z\?OD C SQ^+WB)Z*0=?'T-0)3.95%^-J M=$.9V/+S!P/3UAKCVGOU*_=FA$Q,S1N_HT[!S:S/PGF8_VX>Q5*@_TF M'\L$5HYT>[>]4V1FEQ%U3T:EU=71UG>0WI>7XU'/O" M.C3]-YH5-^/JDY!/;6VP;H%Z%IYQJJXMT:??8S[W^NQE-SZ^-:%&N=G%PP(U MXIV_AO%#&RM H5"DR_%W$]W3-?S85CVI!(MC]NSY@OH<9J+$;V-1],6!PV(T M?S,1,V>0]1H>*1*0E)YO_]\0M[H:,=V"A8,K'\KF#_N"YI'KTBVQ6-N=+^SG M7VU J#('GDBZ&Z<7FY85K[7[\4454J4XI#:G,P +]:>?TWW+>TM"V\(-?^4O M5]-R5^[P1J"K&[O?Z8A$Q#=B+W[<_VYA:V,3I;.'F@7']/9X!U) M4='HRBHUH&]+9J7T8H_,R!4S?L[Y>SY!#2U0R-!KFT+%&!"2'CQSW#YCCW7( M3[_0MN$ 'B)7M*SDS&?D-:TB<#BAHGG.!$>G^*P]=,X=-+33Z69EO1Q[W0]@ M_S?S0W"<*6I/:=@W)@ M8[_U,YHJ-E3!_48#V>4]WG80/B.]##CD.T:@%4,TA*,/"^ J156UF] A_K%8 M.L#52XLU)J(IS./AK*U51MA.M+,Z! M,(JVJWHWM[/)A5O7(D-61+"V%MB":"%0W @45_MWK+YVOA_.>A-O@BK:P_@- M"]N915X0?59Q".1Y&T'4:DPUEP&WZA>"*9MP.-85QSA-#3L"7V_S5$"&*%M[ MON];(P>\.[7,K#"&M;&/=OR@$=?:?T7F]0SH ![I,IP>)Q U>LJ+;MI.1*TX MVR/H8K-0S18\[_0QOS7!_H:L'[(;)GHCVA'@5IBO+[O8WG0Y0D8-L#1$]'67 M">T94"492S_+L:IXHN.1D5T3,86.T.X._F'S*\_L^LUV@8MO\B.7E&C/)A7M M@9FRH;F-2C GG[Q?#5?U6F:;PR!_MZEB!G5>V]K4QO3Q+ 58548TX76?S)*\ M2"LIBAF%TO*1:?-_P"#G_Y'_?-%C'X]F8Z\Y9NO(EO&N^EG9;5F;8:&EPT61 MHCA&2C,0*%!:GF%9!*E84/"U-OZQ_<4[J9Z+I=^ Z ,Z;;#P184;0%/Q5VGL ML4QY+-0':$SSP)Y-AU]? M,4K>X#_Q"RCYCGI_18 5=,J*!,1:H_;10&G4Q58WK)MR&QFY3Y\?;HP=9M;" M!(B:S95Y>?83=[V>V)@-@XV&$M09S-VPV7_W) 5]>+1&=HF..OX0B0PZS?N8 M:/A]J#S5:">]='7%8'%%CG\T75/D]=@/>:EG@#@SLDST5H?R*5)OKU'B-$)M MYA(S"3>7Q4 *=&;V=&X>B_'[$$9A(C-&4>&M6Y#!D.[:L]!+FS2C\:*B_1=J[-.*T.$U'(B27::D&E/A7(QUPZY66>E,0@ M[W[_L_(EC9%U>Y-9D#.^$!-P4%KJE:8F184SWI=QO-@LM!7NVXEK_*H&8U:T M.)TFC5W:?_R\_ANFA,:AAQ>SER@OC)D M$$CXAGYG>._(R(>CRJ[&NLFG*OD5Q)/@9V9;H(+LL0B-\U\Z71F ?Q,]W2O M9;(BQY-%5)(ZK?>\^28F8/"?\.7,/->L^((\/N#BI'% MM 2]30[QC%E=QJ!6YQ=XYN+G071G%,"F+U0>U75:7/A(^R9A4$^"JG&J6J*W MU%82'M*LLY-E%6)5U&')'%"Q>HRK2PHU:DBWV$/:D M>BI%%4?4W]TW M2BZ)_PPPIS"1_4D2\-%?=N@9(*\<:S7"F75\-$UXI+"A%U=\$]48!:E9-DMG MW^V,IT3TT#_.>HQ)B[FA50$\=#1PY!7>_;L:FEW;0.QQCZ8T6]\:\$ *)[_^ MXAF __NN:@2\^+Z?+\^<);=#7'_&-WKF'ZVBJ:>2\>P/W&6&-KM*L_RL[7U6 MT>P21$FUG2Z8&/_C7WLE^&M/.1$%Q,T9[K,QY<9&^_B1A:J]+(K#I))&OU4F M45G,I62.Z9W6?!Z9@1 )3D MS ZZ&.HFW)1@-C'&X!^Z!N 4RV&A8ZD_!ZJ3'>I65?L^*6$=VH5MWM*LB@"] ME?;PI5=W&W]1HUJPKYO +1=K?[1DW*IT68R;;5X++D,MJL,$+ 3%XA;;LLMN MI(:5V*Z:67-N-\E'),FJ!N!B$ECR'A?)_E\7URA..SV M;3;$O-L@8!)JN4?FMRLNJF6[^HH/0F.:K)*#T/#*@PI5UVR$"%R-/0/<31H2 MO:G^[B-5]K^#/)>[Z[!+?["6H( IQTQCR[NP>_$.YQ04S]MP[^J_:%&C: M+ ?PSHDZN>XGOC-B&(QW5U:*&3K"8GU5GNKA4.3-)"RQ-1?Q0)M#]Q<)HZH" M5K]V_VC_R8R<67^R4V"WOJRLUCY?#5.JSG=3.D[1&6Q5W+2F=#76"]DP49<[ M64E;%SSY7.!>8=2H=TB]^DA:SB5AE7GM&M3BN]%I&0TX&2>SX7AB.GTY^R!9 MON_9_"YWP5,@\E?J,X"9= D'[WB7L=RV"[NK.[-_^H#]MF5&_G&1B[JR[_E$ MT'!*G>[.'QF]W5'63,-"MQ@'^CBQ6<<_Z?5*MG[BB?FF_'6^,5B)'JVQ[0P\ M?*:H]9.F6!G/^="?=:8T#Q=TDXL1X, P8V39#2F3187PJS+R,B>>WS=K3EA1 MV;'V1_09J>7FV34@4N;B '\'L\&92:AXA!K/B7]%/GN:)>W/.'Y.4*WT\3]YX'HQ,1QZU!X/IA'%93 MG%IGFX89%#L(NMHFMF< :X [[OK,W?S$C 9:X'LO<[EUS K1&&Q#B/UE5%QV MHX"ZF(7BK6>Q])MY%/U"/Z'X,_6(,HAK$397"$BC'Y;LX^$?JZ0"55N914Q* M46.+M17F8C/=>'51S0[4@%:DOB!H&H[.91W/1+X7&B8K6,=O_1%P9[237](A=S6G'5/AFBEJ>I3,*6TA/O'#Q&@?, ME^JX(GI=:=+$E%C,J:KS8N.SK9&C;[(ASJ5>=BK$J>=JJ_#4>J(X3+QO]4K( MM=7*?2NX">!3JWB./WSM4;\\N/AC#OW(WOIK4_+B9!\L_CT$*%W3)C5TN?V? MJ>?$B.C?[;Z[6Q2N]?+5G8%Z<[&*J_B4]I"9SM0-AH)[A87JQB^KP:,#. MMY.5"NI.B;PGEAE04Z(0F)XRQ@GZ_JBAN7TIRGXINWL6FKJ0?KC!MX07<84I\#4 MC7/(Z]]=6>?]OA!"X%HN'ALL6[DO+:',QJX;" B0V]6PW7^DU=!/[$$-O@ O,RJ%:&=PIBZLO!I48:JT)W".2BYWU>7$/CK!MRS MMSY2)7/G_^Y >Z;FI_>UIQ"6+BJ1%"6 Q^Y7!_A;YV"L.RBB5W#7M*TS6%52 M)\+W;21W2X.;RH?3E[/OTZ/A6X?!)7O;/N0CR M68[(3-M.;GE_J=T3N2K=DXU[G!Y%IF_+!B-1[(<&W@LM+B_^HQD-9#.3I/*< M/*#:_U(A8LFIL!)_2A>O@ETT\2JV@+\&LM.(2XGI_H73D&= Z*N^]Q>:_#7W MYR0W>G4GH[3Y03[E0DX_QM18FD^'V\TT>5$+C>O9#1]QG_-#R[U'#5U"OY5[Q2C0 OP^$[ M^5ZR 1Z2N(*,I(X_1'9ML+X,M4ZS#T_4Q,72MEJ6K^>=Y(2&UTYSY'S="8'G MSX (OHBTWB[Z:;6P4O@>A("[O:G6BRDQ?!U+9562$BJN6$&.DULS?++9W^80 ME3]B]EIQM'%C^5B"SHY=,/(94*L648[-(J<_4\/&=Y5R++7UEA0GIT1B-JS:YBZR\50RG.U" M7%[A%'N[LS]V1?K,+,'E56=W8*EL3XW7W] C<*X\^ZEUQH^Q3>\;V[7/G2WW MRNW;GJUC+*7/@;'XT>]?V< K(1M_,.4*WR\9V]W%"A*G*;VT)A)\_>G/I'/M M98US?B!Y3!V1BQHJC^]TZ7_ -=S_D?]XX76'>(S("?PX'QOM"P:=K5MMW:T% M7#Z^T&P^=2]::8,;$QN%9E(.S"NC<[-B!>.*AJ.S0EO&?1;:ZAHZT3F./K0L MN'39?[QZY)UJP:77CMC $_'(]+9@_=5M8_'I*EFZ(_7S9]U/+?=Y5(-9L5O( M54VGEG'>I?L">M#+0%TJC/T?JM]$:K9E=::0CS2]?8IO\A"9 QSAGI)WO&Y.AKY M67X(KT$K&/,KB-P]NU)#I9W<\+5'4EW.X&OI/Z, SPSY.IPZPG[:'+@UZ&PG M> UPV@31TX&PG_ =E4.A(J:[YY5TR%ZIE=(_O+2\REQGD.9ACXR/8^L+[34@D>@ MD!DDY[E <=OH\R$^;-4_?",V55F+JV"P:FG#>9.UCKE@.V7 *G]:D9>K7D1? MEWO?JZ*%C+UJCJK#*[%3+DCY_(LG]VUTD^XWFM.$P+WYN[#J=%L'1X:S;UAE M[2AG?0"A:[K*2Z+-BG6[B).=;Y^Z: S9YP^G_*ZH5:!M0X*H*BE)3;L<@'$) MF \N[G[!@.5ZU5:T6?G+;VWQO6Q-[?+TO&E ;6L6,\1\'1,?\/=\1E5GW&-< M5KXL^P'/6QTDH&9RCNVE=WAH^!G@;_?TZIL0 ME9.5K'EXT<]>8H]2IIVD[K:"UJMJ8D=,$RJU RU_P5\S:;I-7L-ABS=-8\I_,&P3I=&RG:[JV=ZA&M1I<3$#VW*C::>.^D?V[D+G\O'% MIGL)OH3S+D=]S,)1-!F$%W>>ON@L','RN-:'=B"Y*QM<0XN"2_>YH3Y96$A* MI-6>[W/.['S%,51%-9_&?,WO[:_FCEX[!V+)4O$NW3FQRM"(S/F_U_7G.9K] M)9#8C]>7:R4WML:#NPI50Q-""F23C+WP]4?R_W1EV1".9ET4[?>26&[_*TKP M2N K_?AFZ]J]J>QUQV? S!8PJ+:5?1S DC7/66)#(MO3];H9_&;JS=S:@K23 MH/JYO,(O-8,ZX>THL;GBE(\NUW"-UF:W\%YEW=M!;+:O6A+EI:Y/CP EW#@W MNTYZS5FV;=\*953XF0R0@.8*QVG9.2>EJN2]LK_]M'*)R2+> O[2K>]7,V$* MLG!)RE/C+QFLG6E1>6WUG0+-)'5#498RBK_;<33N_#I;-Z.G3KZ03&+K#''. MJWD'U25H).58F 1**$,7V+-0)8N9D7U^G+R'LW]O;@DD4$ASIAXD%=KZ3&39 M$21&X>IMX=06'FUI/GD,!?))-XU9)!8O73A(HY6.$RW>A*CG:IPP=%;UZ?.H M;G^WT(E\MTC*Y&?^=.HB;+K)!YQ4+87W!#B:L7US<-#- ,$_?VA9'E?C89GU M-JF)<#3:E6LU(:"P89\ZP_0V@[%N$2/__$OK(ZT\R?[R!('Q7OC7Z5U5>I66 M:8NG(;SWQ]2&[6U+A4T!<;6@V[OL1VOD*4YWL"_FD<24YFOHG7PT71X>NM:@ MV.EW?I^.&IV3K;98$3=JDLGC1I!RA*4K?I3TF0'-%_S:5V>I &H7X9VVS JR M8PDJ"G$:=0B/MB/,/N6MI<1G<]++W9S;<1_ _CYL>:T1NHS=V=?EER_63[V6 M_L1X\=[GW&R]N2VPU^+;B%W^2!E<:'HKXE.H*8,9C51)RV_OR^J2?A'C^MY\ MZ1+XYYVYO0!/#$!=G@PJX#<:4J!(1GY;5?N!BPVMTE7D&CC8^>R(3<O^_)UK?J[&M?UD:@T#4=<+Q]_ MEBEE5C2J'(Z[V#AB*'?-,'8W%0;HS^QVSD%V>YZ6V?@-\[6V/>C M1Q20A8R@+P+X,*16.0;X!]B@)RJ9L?2_^0 E7Z,]UZ+;J6/S/>F$-(PV(1W M#-ZS:C:JJAER& 9]_,1%QLAG(E^[^_QFAT&6W)J?,.CS ?6[;4*=)&FIXQ? M)*HPY;=85]6]&%$&9S,&O(F/APXA]F,Y&62&88 MDMQF0HF\?BDW%OICA ]_WQO.P]7*[[B7A:7^65N^K*KJ"%K!CT>A7VUR"Z6&@%]ZD]L MP EU_"[>H"6W?F0ZHA1R*,!)6;RSWU^ ;!,_IP0VPY73''I@1I[>%]Z)AZ\H M;4/JY(N6Z[( /*K>#A7K$'G)5[_JP%W?(21JK>&#H[Y>T]862IZEH0Y8!F8[ M6#Z[1)P/],W8-?LQQ/$6)'8N#:KN-K"3D;.G&X'%-*$?M3^?_L8ACV:-%;B< MN\/]>@IRP8?8D(ES;?TXI;6]W4G8*^K@/3$C]BP/V2'XL%,"QT9(0VQ(TOCH M'R.?P;":/)-/\\K3J>S,*XAWD-357_'6/[*? >THCK=-4-XQX5& 3XKNTR2, M_.MTQ^I% TGV]I&DJ]"8CWN-4/U)5K.53'/WM-&N:OS.E7QS2R-^/P'/YR._ M_%&8)U9Y3I83%\M\Z(.X>'AWH:FIC9R%B8"RJZ@,IOS;$MO4?0D5,WB@.'5# MXZ,EU;NGNSET)DPKIB_GM1JQ-RCEYSD\(H<:>H4;ZN&^+OWA_N57/N9,PV M5ERJQ"C.<%RN/M!PN2BWC2,5?A(W>#U-42GN6:88,:F8] M-0)KR@^:[E1'81VUQJ/\/]]-@O#_L&]7;W#GM.P9X8_L@ L15)[,D%BNWMBU M!*/3W9/1]>C)3R>//VWKC$P'RTS1ZZ[*LDE9B9\!J>G"M.=Q"YO\4T8W'K?\ MOKY,C?3OS..?9.-1]C,]\ ]R,T\(@0L!]C_:@'.,S6W!1*&_)D:I%W6 641, M(4?Z[ X$QU,47WM>\MG1'1\$\_":2OGQ^_%A"O&KHF[<#D10=4:C-U.()HYV M/ .F!>P'SYVON>&5-1'\N3>*[$49*YI*A+C+S).=U<-1+U)[#EJOZXQZZO'V<0QETV MU<% IL75\<74@UIH!!6/J^&$EZ5E*I$)ZAU\S<:3RY:$2YZH)#WZ[.6&C).: MNN8@#.#[@FC B^[E107X]WMEXKEZ$Z:D+4-8K7U^."-5'RV*BSQP:U.8J>&_ MU,:(\WZ FB&M=VI/LV@GTX)JZXAB:1\EUQ=EI"NG/APBQZSQ,Y8U1TH41#P?&M_&: MF'(,E64"YT.:^!I;.0NFML(/%M_ B[UNURZ-+@5#*![U0[]+G0Y_EQLB)0<; M8%%C?T1X2>H'$Z8X;! @C ?%BPK3>,8)7F@5>D.1-H7OL+1ASP#,FXCW\0RM MW4T85U.];/CJ?)KTPJ3V;Z@=2.AQ _V%^8#M179QI0=&L#R#TW[6T/.<8R_:Z+$5&\-0@R6!,% M&A,RE>(:^6#F=WBC MD7D3L;Z'J]K4-P['C24-%M;FKXSG9FC4,(2="-5QT3J8@D(OC*-JJ^FK=U\8HX >;>++70<1#:2>&A.; MMI3^A$A0@US\PG+5#,;D8"TEUX>^M80:?EM.8NOZO6O]_+TI5JU\B]05Q2VM M5<]K^V]CAP\M:)[V<_(%ZZJR?=S[!+;SQ"?JXB6+'Y3U+ T&CA!1KY5 0=,P M[9#OS<'P?2M?ZTMD]L9:[M:<-<'$_B^B/Y5Z0"=H9'^D*,Z\1F2B)SG(]S]1 MI;]5MN%5P3A;C.2X'/0K';#A%+-;/WCYUG6?ZD/\II_3,!UZ5F*UH4ZIELZ9 MFHA/]."<&'N5'8E 6^PYW+^>",I)1Y&^%DMO1M,1&P["_PT4,Y'@1=UG5 M<359>*<*"[5%7B=G3(K:2@[I,(-ZY6'>E23PW=LI@S.9> ;@H1YIF P=Y;^I M#(-T6$B3@V*1LTXSI@-(K*-*Y/ROFJV+4O(,IE;DOPZU+N5H:*VGH=%6RPM7 MJBKWW&7!L^:O] 6"9?T=/6*X[/$I[+['I%^_0E_FW^;:: M*:?GQ=Z6DUA[G6P"]?==!_F T_T;_G2^(V!%C@R;ZOQ7;^NDZ8-#DUH2"YF' M:'=)Q6TCHB^/9*7PC7^X/0,:"$IK?XWN&@^IW[5\IT4.RMT8%\-R)8GH8.*( M*I=U[P*2&\2X4LJ-CW=F9=6!XGV2,YHW5'D-9O-RU9N@WVVN-6ZU;O=7S/W. M],FPDQ8V2?==I; [3XF6FV/@8BB8(#62H@HN\!&Q2CVHN M#-26&N9,.;*]U][K.+;[ BGVLV[=RZR*VP-2483# -/V.-G07Z !*/WS ((2 MS-,!+FA&-BA4]$^EB:(R&P'R#DR<;W94?;:(+Y)F^RQ'A$ B6".QQR0"\;9. MEOSHK71@?M'_%Y,PQ:I\>B>-TS^3WH:P'?=(46]-0XX_M(>J0L1J\&1*CL)0H:4]O1X?WQR\M=)8OAG?_\89?4KHFV7)P>2Q4#4!DRB[_T]>J M-?QL1=GKO$LGY5VUL##MFL:+#):&?0%N.#MB!5'5X+\86X[W2"%4]GD2O?G5 M[>0MR.%<$+OE2YM:-S&_<6/LEX^'C3 MG;/4J\E_7 RH\ S45\K+$7 Q:.0H4CF]N?C[*=5@/7:8+88<"VG,25B(\M&& M,8?"VLAF6S'?U' YN/0N68I 4S7^;2H_5%!?GDQ/.U&AKKQV_P[2/[BX/L,. MR@5YV_"D#AU\%\[#_/*/3CUM8@.X?)R).I;.39"8GLDI>\T M6C87__-&0U/!W9%M2I;R5*S.[)>:?K][XW9G] M9:3&^9F@*"QUMNHRC:;1$'N[\-"R*<@#'\ H8Z= MF#HHJ;+4/(%BAHO!=6CH2(EHMF,7;YPP@J(V'I>Z0P.E41N4*M1T"V5Q^%#1 ML@FZ0%Y)V5(LL &YO]5,M?SKP&0IG/PD YYP+8RD1.FUJ8E_G>+A$39+\TRC MDYAC0:@Y*6CX[UW\EY[''O%J&(%H]YZNK.V->_SX\ QPZIK>#A\G7;Z;%=?7 MK)^2F$0-HD,L&=L*S,V[Y%N*FC&BKJ$OMI.27EH,[>9D&F:J1*A\.4!"-E_0 M5YH0:W_'"]U*;5(NADYWUX+ $\5YYJ;LST0DT6C&Y*M72 M11M)Q$N 2%Q_P:HW]W&Z)C(2D$(6R?G[(-6;ORSBEY%[A3*?I;_6$F)!*!(B M:,<<*T@ERQHQJ"(_T%;Q#$#?TS^W"3J"I/[\WH60;"B+"L$R_O7*V]40Q)B&PKH MOCZ/T/95!1,+3P7=C<^ ?>/RPKBJ;$L4/ZDL#5\'O&;Q^(V6')#CDS "6 MJ<$T-V\94B_3[E^KQ%&H*:$"O,9\$M0U8_4Y2PV[K_2^56*ZU]?.U#1>W+^F M>(5S^3L?-3%&9B9'"! MT,A+^U21&'B"ZIH\X:HKIK#>5'=CE+B\U*YLB14N!/J([Y%(:783O(O,/V7< M'<(P4;G5TCC-,*T;#9:?^S@+S@I3;46K]JJH$ P_\N.!YN^=6H>BZAK,?MS: M#1L09BH6F4#R:A,U[.#TQM[>JP_7*+N*"PLFZ'58DXP00A,B%9=S,J4ET4L5 M>?Q29P3>1U.T*>B:BM*!$B5BB:DFQD&=7%P$/\3J%^^GI0J0FU^3)P^DVK9\ M&6HU?A6+ORH\('Y _S;M1QK=KNKD4:69X2N_JTDX>FBTU[!6@=/12J!PG'J_ M44YVA5$/Q-N5#V_)R.B7$3,Q(X\9+=1OX+.+0"FE]I&80C5#?]'A_(H?"?GH M3NZ5.@-2:,(8LRRPW?/X^T&"PR4\&UF>MW!7L98GGX4M?%&0I886.3X$&1E> MR9%KGBFPB*A)>Y/.31!73[D]2,D]/'PP?)F'RYE@W$K>E%;SWG:$52#.VWT; M7>O+=TR<(%/RT3!P5R:+\R */++ (#V M55*.W:39Q,57JU2OQG90*N2'$O$RLL2?SN1XUU5Q.Y%),5:J\2O_HNH,Z&WQ MZG#\LOYNPG61$]K)\?*E\($4I6.,HSMF#)7IU*8>*U'8:)8,6C37O&B1;$<6 M$HX/Y/O:J0EN@L2DJUF)39,R"<*! R41UAL6PQVW)8CF(36P\E1 U"Y>'5%J MNR.:JL.\CDPV LE4<39>#STPD1!]^0XN7Y0M:DI M_/$8^VQL8#U8;1?H5XOJG-#E]5 Q5758Q7;MGS%'*@C 32$U#N02\<%YI0J@P*9<=?Q-QBI..?%M8AH*] M>"LE#/+K+=(((+9+A3/!Y[7BCY67\?;?Z1$B3:F4_.02UNY(R&3:.ICKQ(&/ MJ-R;MX555>7""V]!K='\*PN'!BXV=)-NI<1['Z?9"DBL!(&TFKO4WGZXF64' M?S=VI8*ZH-CFJEF 1-[DW9U!?V]X$%,ZTJO(T*^QM6MK5VB=$*_WVB+-$1". MPI3M3&S**I", $>L9GU>4O9/:;CBN!JKS!_U^AEVU:JC0A*!7;)HZ]X2*B%Z M(A.W1X&QLRG%S>#EC;_KV90J1S],B'=XM$.@DV5/Z-3@;Q-T2?R!IS"?9B=<"KBZ*$;JE< M(RW4LJPXZ!=T@6(-,NTS&[Y)Q:K8_0].^[QR7%$O4Z!NHM*'%"B4/KLPAR6O M:'^C7=79H^(F$4C_'ABM)8&$'IK F ^IR MRY1+,8&P<+8P7/:NE"BYB[+;!H&,#/C,^+FZI)ME>P=2U%:"D?S";/2P69.B M=L$,OY_)O2A)1[XI6I,=;X-;:3C62-VK2#LT*\FT3JLGJD9GMYNOO*-<[5^O M$#7$]3T$9D$E'+A-"LF)$VSC4^]T8UG.V*KK$/GA[L)83L*T9]C"%T<<*QN[ MFG:LBKM0'J;6,QW1/"JR.BB7Z)T&&NNZJIE^RZS]AQG'I[DT^'L$QE=-%#5* M#A)K-!3JVSV5.3^Y(>JI%I2NWA=+ _ZOC2JJ(JYER*QIG%?# MDUTIYV)?^6&FABR%T8!0^-%^>CA[RG@&'Z0(X7F.L*:>JRQV" M(G,9&9#LQE$4GG1VCI%P:9&P5>I^C,'3N_G2<11]+B644U#M4!&U,"%/?5(P MNAB>/TM15U0AW$B\J"G- KNAUBIN!R^_7'>#6NY9;*;JR#M S&L.*ZF;F=,3N[5O+7&,V+?O5] M7 .DYSTHC]RFJ6VF.1DA^Y@?;9NK,\FW9/+E38788Y.^;\(+FB;Y,H49H?/* M]4$[)M!&O=_%?T.@7)M#25KQ"M&<:C_359T Y;\--&#?H76K90GZU&0>_ M9I"ZE09DG8_Z+%WC@\'*SJQAT0P/].DK\= M<"B@!$'4%M]*&(Y50F/ MN3Z>9WV<449RCM)YB! X:'N=T>?#?AQ_5UF=M-AKS/ PM=\]H->;*61B;EO3]).-+8YAAT:0#).P!28#0D628D$SH:L\+"JP MSLSF:<1"5;4A^X!0"'A!W"5@@5J+MD,C09$^S"Y0=J^ MH:^8AE^'ZDF6@#LD)Z)X'U9\(/%ZCK,1@39#W+_5G+WEI?^J)$"B^K&6\_!\9+K;'1H M^T)/E'&V[F>]+L3IV(4O?E]4$-8E;A^E+J/8N^;HDXJ_ +BNXBK[AQCANC1S M\&?F60)PN<(IUYQSBSR(M%:5IX]0/L$'YO#Q&24YB$Q"8RD_."<"_M&__U_* MEV!3XQH3EZQ=? ?@5$&.WNT8E\3JE4#JQPI>P_DJCDH.C@L]K\J\6VDE*'U3PF(!Y50'$\<7 M%7:C\C_O3)[]).0&PL:91==C-/S%QN11E$0#;%VDXX=5?;6 MR'CEX6 \V:V[5XY>'4QOV1%?G0Q8?HHA,Q@&^K@S9110-S@S-A=*<]1YN%-D M5FS-\)V_88ZN5=$@_!V(U^[C,. ]8#=G1X#H%:BU/=WG]/1W.B'#[M >[7S- M>1U]FK5):YZ%Y"Q%;,UU;O'U>-8JR"]:J;I MQM;AF;5[@U2>J_IAK\0(-NEXW:0%QQ\0&6W?ZM7V\]A[;$+@K[UKCSNF4 =W M['>,C75QA5FR+!\+8IND6'P(O'OV6I"CMQPX(.XF3%JG2+;$VJKLVZ'SJ7/) ME?ES8\7&'8*?_?D_Y^'Q6L1YY:QGEE-\Y2J")0 MRF%\\HKV3&0S'H;3FF^CL/Y)R=$9M10B*Z;OC#=D[BV=E.9(XTN/*/*Q^+L> M/UE#BN_7&W0H8=_@[[:0=YDT5UKOQX^\Q-2=X+ ^QAOK<\8DAEAL@I'L*F;1 M[(2O[7B!. )0GRW.@DDI:BTQ)>.#;W8%Z%*+S6_J9-G@K_>)K_D2QH_.KH ME(GF8I?*)XX0N+/"GG,\;S1?W)!CY]TU:![#IH#5V@)8>WR9#UY6D&N99X@^ MOMN8EN]N3AM)M4S*( D2ZP=MU;Z( ?B07V0P(__D?Y0%3\^K*UVIU#6Z=+C7^]6&;;-PB@"\ W\&W1XC96(OMJQ^J9#BEY$_,&0 MVHM*A*I]UC/&[S'&5H.%TC3L N-W@M!U2IRD1XZR'T& MF(A,ZYYBD?,7S59M;R\?/0,BL \JQPQ>!B6DF,8$CD[XKF5S::O..\#):H+^:.9Y!I0'?Y(> MH8YIP4)RGB8;)AK%-KK73)G"C)2#C=4XXL\TEIHW@VM[[1+[,ST$PI9*8#XI M?S?X9%]P\B:'->"(HJ"LNFR+2NRGH6KJ]/V/T(OO: $U9+M$V211-3ES/Z;O MM5Q+9=H2.Q*\5\+\IJF? 2J 0JO:C4[+;QVP^+N?ODH-VZ,4\@@U'/2>/!RT MGHRIQM/1QV;^HX0K6V5__IG[5(I@'_.3T-AMKZ/!OUQ\S#>Y<+#8H%Q\IX Y MF-\; [O3.!6C#SOOBK_5PH8H+)8X\?@L3YK<05@(&9E?'. M-]PYO1,AT]D0 M/%/<_-$30M0QRH*>\P$=2].'2\PL-GINVK*U\89O&JP$$GQ)6$0E9"%AY\(Z M89V'R]'=UCWMX(ZN]70)0;+IMFFQ,O:*3N3#K5DZNG$=@,!CMTD!O$;U3GFH)L\WQ.TU=VZC MW&='VD_ZB5">"JO8%.$!!;%YJ[^HJSK[5(<63C?SXG(8G/TQKS/#=SY5>-Y?T[J+6'_JN#DT-LIT\ZW3FXPM*W L9\4N\V$X'& MDL8YL(,O&FC)!^17+2NT7]CA"Y)IUG W?4]HWY0#LN%=1@(@R^-9L;(ZR-W"X6T/T^T(#+<4N[6X9NH?I&W!E M9U=AX2^O_/95JE;=;72\VBP[C O8/9T(L$-8P348PK"TR,#(P,3(S,7AE>#(Q9#$N:'1M[=U[4]LZ&@?@KZ*ETW.9.?$MD"O;F32$ MDK,$NB0]W?ZIV()H4*RLK$"SGWXEVX$DI*TIM#UU?ITYP'$NMI4W?BSIE73X MCTJE%T]H'+*(G(P&IR22X7S*8DU"Q:@V6V^YGI"1G,UH3 9,*2X$>:UX=,4( M:3I-QW?J]4KEU:%YIV[^$AFW2. &!V[@!3[QFBW_H+5_0-X.R&_O1MW?TVQ77?5_MNN[1Z"A[8-_Q?#)2-$ZXYC*FPG5[9WMD M;Z+UK.6ZM[>WSFW5D>K*'5VX$ST5^ZZ0,F%.I*.]5X=VB_G):/3J<,HT)>&$ MJH3I?^Z]&QU7&N89FFO!7AVZR]_9<\M+R/>]E>T:CB,=7%<$NM=GB5 _NMRE^-;G?*+.3 M:RDFJ.8WS+[[RON&@E'5&DL]:6_N8MLK9\O776F,U_9ZF[UP+$5D'NS]YZ3_NC\B@7FC0W=LBF[VHP[3OGQMQ^E; MUM_>=$(O&K[T+7/_E[G$9IO(U./*._AN]?# M_E&_<]'O#F>#X[/+T9D^&$XZ@V&Y-VP\\+O'_+CMY2$TCYC#S0\VN_K0N9;+#=FE)]VR=H6J.O:-UB]0V;:5"\X> M20O$7)/2$K'73V7^FVS["&.IIE2L%J/=3_N&*>[B_[PJ-\=]<_/ODT,^ON(P4?%8. YI0]!<\LQ MZ*0Q9V+PJ#/Z)M<_WVDTRQ%[ZZ7CIJ[:_Z+E*S]9!KF:W[40F@\*(:AOU'A\ M\Y2T6'AL[GATJY)N*7(/U70.TH<[W;ZI<9HJ6VS/^P_2CT-G]7[)U5&A OH! M2#[]EK+@/>/GRV ;?'_;.%DKF*=%SI&I#]]2Q;XN6KX[9T^NRCY+L-P70<;3 MCRX"$RE?^,)X-3>HN7ZSV7C4Z?T -+[K)PP\+!ZA5+$A(YHG6G'+Q^EI%WI MCR^'SIE4YNZT2Y6Y&X\I#"FW(;[K5:TA=1@"0S8,X8H,%XEFTX3T8O,R9@XC MOD)-!)84#:'W-)F8/6@9PY%R.W+@^@WC2+T*1^#( T=&;#J#&W"C:,@,J-DG MR"@U&;[G^@=HO@(9V\@06M&/9"2E(#2.2.^_$G$AAWS-! ME0-T%(V;8R$5CY!\57HY@H:1P]N'')#CH1RGC"9IPA6J'' #;L"-^Y[S(.TY M]^ &W'CHQNJHP5/GU.FBU@$]H ?T6.KA-VVJ;@UZ0(]-/0:D:[8J*1+SAYI) M1>T46_ #?A3)VDT2&D[F"=,Z@2)E5R0=.-A VQ44V52$"R%C1MXS=)=##W27 M PYTEP..(G"(.2/=M+^#1&-*3O[J="]8-'=BIH$($"E0!3%;*&8M*;DA=M82 MWW:<8]82&+)Q!>B:,[V4*N84XSY@R?-$$C@I-R?YY"4-3%X"3C8O E)(#P )(-F$Y$%E MA/S64='1@4AR3?AQQ&M/?,5X$E!2,HSQD M($FY):FYGAUGZ!] $DA22!(30U,YCS7E,>HF *5P.+W3= )-RJW)@>O99:=J M36@"30IH\B_S7O/P>@%( $GA2%H I-R:!FXY';/C !)@4P&3 (S*4)>)H&,Z13M7R3%I9#43])@ DZ*8=+2@L2D+])I $V1S@9,MHTQ\3+,% M3HIPDJZ8 MKZ-J DP*8;)0-)PG#); DL*1A%GG=P(34S/Q[!2/-0R!!R9%,$D;OVU2L/,6 MDD 2=)> D78ZPL1' Q<8*1OS]]$(\?XYMK)44Q/P.V4PG9,#""8UM(0 4 M@()^<("R%12_CGYP@%( %. !/( '\%C-N/73I0EKP -X;. Q3&<<\3VL00@V MD$<%/;8M^A&D*Q%BE73H\6#*B,28L@IV% T<3"^R$W1@[5K0\7DZT'@% M,V &S%@U(VAB2BJ8L?R>B?/5:+EUNB)Q02P MOD7 E=BT9RNEGX:]1C;ZW:L]=PF46L8)ZE3IPSV:F)"*R0DSU:GXBOQ"I[.V MJ6#)K'4.73JH8A7,+<.:B+M0RTJ7(+&U++3/H7UNTY+XABL93\VKJ2 =KI;K MD:"7!XP@11F8;$E1SF;N0HHR,-F*B1T@"3V@!_2 'ML&N#2@!_38-EV30]X[ M!$EF 1)9I!C2R.6EPZL;T*.33E<3<>"F=\1OUG_.5'+-QW3\/I*R7D<54([ M"JSUPDO_M4/!J+(7CTE[_8'\Z(.-L_'R(Z]DUYM6U;O[ON9?=ZLOV6*J(J4JVR;-E9593^C%_Q/>\EQL7FVR?RVUK!S*3";>I:"W%!-7\AFV\[TJA;.[B$Z\TT6@_ MA+OBSH[:E*B@LX2UEG^LQDG-E$!>J'8GH;0Y#.ME2>=:KI=DNF7M/*M.[3ZN M\V=EVU8.>X^DL6?.+/UN[3T]OV2-F_RF)#_K/#+\V4>2F+OZB"Q#ZKM^#QO; MOH;KW[KQMM,?2Q'9RNS9J#_Z0,XZ@]ZA.RY#"LG6 OG2;V>YN\?9$\ITZ/S06\XZG CVF7\#DK9A/Q_?C ?+1 >A(A2B/& YP8F(GF7"P4G)63!VF M:F>:]9"( U8VK@,G+%E=*0F"0)""D3.@:B%H_)6S$0./GP0//\CP\%$G 1X/ ML_$J73DE/<%"K7AXW[0%1:!(L7H(1@3LE"6>'1'@(:\3EFS>3MZO=3$R?VZN MVXJ^$HCRU=W[@*1DD-A%P/GX_%?\L[4O'%( MX[5^E0TYUA+H">"@00%VZ, =&^HG-M$6O=LF5 M\/)6):1'[982BDTY4\3\OJ1CV[1D)YTC0RGF]@\LSP OD/P$)NX:EGS7KZ'S M8>>8^/>NSPXJ?Q8JF:VH56'2[#%8\=X[3 MA2DEP<9,79FZQVLE]80IY,G"$.3)PI"-/-G YLD>H+X!0S8-D0LJ*%?WTQNB ML0I^% R>8R$5C\!'N?FP,QH&JY/H@@_P\8"/+4/V2+\/3( ), $FJ^U90;HB M-=JS@,EC,($DD 220)*UGA%42R#)MBO T.D[Y(T4D*I:-^0 A(.21B;QQS)*$891XN1'QJG9*7(-(%8@ D0U$ M&$UD3+D"'("C<&(OEN78!3=,Y2.P;M10^8 ;FVY,Y.5ES-2_J-#V3S+H#4$( M"$'= X:LU3T.7+^!Y68?;\@T'3E1>D8T56K+VDX&$JEF4E'-OO(N1B,%DZ[OAQKY;]3 N!&Y\VHTW;S$& M!&; #)AQWU;E-[&(+,SXM!D#&2(:DI.^92CRP. ?#ET^HHA!:OT?MA% M/3Q,UXX4K*TI--,9N;#OOQR!C@0L)&"A @) UH>@!P=8@!R ?"X':>G:*WYD,22+)Q#5#SZ5C>,8+\73""B=ZAR.<4P9A"*+*IR%R- MS3[2Q:>&BT2SJ9U2$C\#UJK8Y"^N$@(^-[_][*J[9_6!" M*DC7/$?14$NL.85^=2@"19:*5-V@BDQ>*/(916+S"F:. $O>@@[0 3J6=/AN MD";T8O @Z-A.1S^.[$AB3@4&@P .P $XTDS>(%L+Q-\''(!C*QRG\HHGYM2Q MD!3<@!MP8UGA\-,1()B\'6YL=R,?_4'>*#F?P0[8 3M@1][/X>_##MCQ:3M& M_R$G4MAWOA_[ 4 " !(-GL[54 LA405].Q8.9WQ&^^V0D\_7C3H\M^3M3R MQ6,:7E^9VD(<54(II&J]\-)_[5 PJFP&Z:2]_D!^4,'&07KY$>;7&<^IWF%9 M4=EIK&TS,=*J9A%QQ2ICQ>AUA5Z:N&O1&\FC/'[J3:?ZLCV6*F*JDFWR[/F[ M8QDMS*^)GHI7_P=02P,$% @ 1()94GJYBS8G!0 NQT !< !F:7@M M,C R,#$R,S%X97@R,V0Q+FAT;>U9;6_;-A#^*YR+M0U@O3NQ+;D!4L=!BZ5I MD#@H^I&2:(LH16HD'Z!?'F? " M\XSDZ-WTPRG*1;8H"=$4,3-==XY')D6>!*<'XY*HC'*"BP5T6\Z5],39P 2FFI& M#D=>^VME4Y&O#D1F886-QQ^;9-T7GQM%'9QL20,:WI-C/8UO1DC6,:IT$6R/<6N MD54[;B:X=F:XI&P5OYK2DBAT1I;H0I28O^K:%OA51-+9JZ265O0/ JIA@8QR MXA3$XG2#8:+)C78PHW.8S;0FUB1Q8XUT8]:E'9@*ED/GY*:@*=4O7P0'?A)& M;C#R4K!?]5!8S?!VXFNJ !NC>A47-,\)!X&7+P:A'R4CSPC>%] ,.$?D/[#J M6'!E>"IFZ#W/247@ :\79$X5: (:GB]21C-TE&5BP37X'3JALKQ'X^]MQ=%#] "_7.&4$I4+F1+[I^!V4$<::F'7[KBJ^->CO" MR< ??F=R^&K6 49:8)>N!IVFZB_$FV0&^W71 MKT] @TT#E\X G0G7OD11Y$0#/PCV4 7FPY0;3C4T#(;#/CH5D#6G1)80ZTQ4 M@5R'SAGF7=M])K@S*2LF5H2@8RI)IH4T#A[T$P4 1/:E$<<\-T,&Z%:\Z5U( M.!LHJ]7$U+$H9T)J=+F":%HJ='5YU+5H 8%[RQJS2Y[Q):]VOGN(5:C]]L._ M^D)#B/K,47OC,_'_4\0/GQ[Q>[UHO[>+^"&L:HONS\1\)N;#$#-Z>L0,HD'4 M[W^#F0=H\OL"O'>;H":_UMTVK7ZLS(3*NSRZL/U W=W96CUS^YG;#\/MWA/D M]F 0^>$N;M]-0>!V$.ZF_J.@9^M3S_3\_]!S_^G1,PR#H/>WZ8E:9O;1QY+3 M=*$>(S5_8.:\']!!:/\ !CB:B(5$DE1@>X7RNLIQ0E*YP'+5W&OO=Y$I=W1M MP4025<&YIMTV<[4H&+4#9Y1CGE',8!GM3>'W3S_UT6@#F;14C D@'=KLUC8QHF^.TG7W'JR10XHZSM.JM 1YPM0:[][BO^[?;ZBD/321736GB M)2ZK!'T6"SYO3')Z>OX@P':19"W2/Q::P+3OQ$)IP;MH2FZP>AAV[B9BC<46 MZ>RSD+V-\+6B;H/M#MQ>T*;JI]_EU*K9UR;K0>?@G4$L#!!0 ( $2" M65(+V5GT'PD ] 7 9FEX+3(P,C Q,C,Q>&5X,S%D,2YH=&WM6_]3 MVS@6_U=T='8+,W&DYS$ M"="%[I46+LR0Q/KZ)+WWT><]6V#L(>YU> MEW6.HNY!=-!AGSZPWM3M=-M*\,,(*57 9AL./.VPGL[:,PG VF[5G^VVE)^'H(LQL+E^%4BD# M[<0F.R?'E(*?P).3XQPL9W'&M0'[>N=R=!K\BB6LL!).CL/%MR\[5LG\Y#@1 M4V;L7,+KG9SKB2@"J\IHOU/:/M8,,7NCS'4P$XG-HFZG\U._Y$DBBDD@(;68 MTNX=K=*TF&2K1.4'%VF0W(HI4.N-=F,)7$=C9;/^9A>WU2P7]5)5V"#EN9#S MZ.5(YQYBQ"Y7SXF7+I^"W 2W2EWU7VH@_ 9O& 4I10)"!E[/=/>I;N+8! MEV*"O5%JWT])5,_&>*W7F:\X5C+!S.%U)L;"_ORB^TNGOX^M'8=CG+_R>\E* MU>\4=RH,"BN%G4>92!(HL,;/+W[M=?;[QR&5?BS)8S1"T ^8YL'P8G1V>C9X M,SH[_\C.3]G@M[/A*1O^>SBX')W]/L0DS!U>/.+LWS:&3Y4V%<<5L(I]AICT MM]:,3H^IE-D,V&>NQ[P $YQ?2YBS-[&EG%ZGT_N>D]_4F^^K)FMRG;4(CQ&= MAVWV'F>MQ6+05J1SG$INHT>3XVOFQ_*Q!#96.@']>J>S@Z)+6:/D\MF4/%X\ MU\W[&D&LI.2E@6CQH_\MQA<@]EJ5NV$V-@)Z=/('DL]59:-47$/2;^"SEW(Q M/5;C?W*OA=@4;$H+&G-9:Z=35!2A/\N$A8#F!Z)"S30OZ^[W?\%:]3S6_7?; MN,LE31'6\]>6#^=3Z>A%Q_W]O4GUC]0LBJAS+OM-[*J3OF2+M(&2FK.,3X%I MF J8(N$&]Y<9Q M=9;/V14.5@)R^I:WJ]J@$H62%0J= >R!BP+M;2QK @!K'0 MZ)Y@,718#$J"VL!PS>*,F8H^5O5GH*%NA :0"X,TFE;'.S0:3(GD@WJG=DL4 M324X3%0,G)3QO#D-6XS88L178L3^<\4(8*DHT K)H%=6UT* P.*8K1OYHDBI M0V+Z^#N658)MHF4W3*R%J""TG+,2#9,PA;!&RA5HU/9J-KI&7$J<"]RB$I7$ M H@4"LW9=6>2&<$KW<*&6K@09F( L 6$ MKP2$5T\<$$9KUD.ZU#WLF]KD:[^3-EF5I@(?=\V>,ZTSQC4X(T:C%*1M:&P, M#*V<,!G5H&(Y<@SB&?2<"!-+92JL1^Q#*^FMN=0JA@23#=M%XTT TEAO MZ5IO*?9&(]X$'RQ!7DVT!91G B@-P]\YV33U1T<;OO>TT28!@T]H;X[=_S4B MM,CQB'EE[E^%/( QL&5/WJ=0E<8&D >0PA.[P%)0N'8HJ+;B)4UNXZ/PB!2U M4[$R]%;->RA3($=!68R2(G&G):8:&Y$(K@4-0'C7Q[&M@EJJ#+DC#F"-\UT< M%U$&4""+W(2FKX=_AH#%426@_51Q7\$$#KL M;4'HF8'0^%F!T+WYP@TLNC_3N#,71M^MZ0&6E2P0DX[RV.$;-= *X0,L$ M"G3&).(2YD!)@$=%JL)Z[$%@%"62IRWZ;-'G6Z!/_,31!Z9<5HXGD&E"FM*1 MZ12-RMP2S5CZ8_?@/?[Q]@"' QNLB)S%^##*&-7@;@GNP\SXLC10C"C]Z[@K M&R^B3PX_ZYE >?K4^!8OMGCQ#? B>>)X49OB39.FHYLZ8N%R;L6-!W 4:#+?A<]S2:JZ,Q71ZJ0+;,KA"[(\*719L>O>.*BDB$+*'C=*UX#'B@CMU M*M8/@/>\5!DW2P>->(=#+$@<(7/S49.E.9/B"F1]!+51OO6WIVB+4L\)I1X= MB [^7R/%[C6/)8RU5BR 2$D32E:$@,#@ 8[9C?C,4CI>)<(J;9:^D$O )O-< M6 OP!4;*>6D6[DT$JC#O6;,O#*JD6"O^WC4M8N!756)EB7H90&=NPPI^!H;>XZ MP@W\V+1ZM;#N ZS<>#=_PXZ_T4IM7'@B9"0;%07.OHV"[@HZ:T'>H5E&[!3& M&MW[N7][HG?08G1KS*W.!AQ]<;CUNM4PW2VOF3MA90N(>O3I6!MJ:,(U=?4 M3??::&N/JA*Y"44UL.CZ98ZFLJZ XEFIP=?<&WF(9GS?E=]8S>TR/LUE/!9K MG7BZ(BP*&M.=-HU>!DV,(_"#3$#*AM<05W10PLY]A.,X%)MVO-CP_5W2'_62 MEI?.?V9ZN5'R^&JB554DP3H9;-Q77<^HA>IM"-E9VSCK2[%K6^=ZVO(2;HGD M+1BC5W85\!3WQXA/E5B0[\.C]JON&5X,S%D,BYH=&WM M6VUOVS@2_BO<%+M- 1H<'[.(#V_\R&KYPI4\^#4?_OCCUG5Y\>??^?,CV@C#\_6 8 MAB>C$Y_QLMWILI'FA1%6J(++,#S]N,?V,FO+* QGLUE[=M!6>A*.+L/,YO)E M*)4RT$YLLG<\H!3\"3PY'N1@.8LSK@W8-WM?1F?!$9:PPDHX7HSK9#'X2ZPR MYO'5(/0%!J%O9*R2^?$@$5-F[%S"F[V=Z6-^ ]@ MTS@\*0H(,G!F=MO=UWT+US;@4DRP-TKM^PF)ZKD8K_4Z\Q7'2B:8>7J=B;&P MOSSK_MKI'W3;O4$XQMDKOY6M5/U.H!\PSC\TT?VZ8P-?SL_/6-GYQ_??AR>OWV/29A[ M>OF$LW_;&"XJ;2J.*V 5^PPQ^6_M&9T>4RFS&;#/7(]Y 2;X="UASM[&EG)Z MG4[O6TY^TV^^K9NLV77>8K\CIPF>LW\ ,B2T6 S:BG2.<\EM]&2&/&:"+!]+ M8&.E$]!O]CI[:+J4-4LNGTW)X\5SW;RO$<1*2EX:B!9_]/^.\05(OE;E;IB- M?8 >G?V!Y'-5V2@5UY#T&P3MK5Q,C]7X/[G70FP:-J4%C;FLW=-Y*IK0GV7" M0D#S U&A9IJ7=?<'OV*M>A[K_KMMW.22I@GK^6O+A_.I=/2LX_[]M4GUC]0L MFJAS+OM-\JJ3O@9&VC_)SUG&I\ T3 7,4'S83!C&BZ+B$A-+I9$D"G:&[7D^ MZ7:"?Q)M#%6>4N;GN;&0&_;E\]N6+W%>Q.V5-]+&,M_I9,01 M9SD^:8%P2SGMR)JI7+A]W)6[4:" &(SA>DY%0 +([9NI$O MBI0Z),&.?\>R2K!-!&\#12T$OM!RSDK$'M$&T0F&VTM>J"%I-KI&ZDE<)-NB M$I7$ D@&"A'KNC/.GIB;C*52SHZ0*2M4J6IP,=]\\*AYYQQ#0ZGB#M!WH9X M8F!HY83)J 85RU$ID%J@YT286"I383W2$%I)#]A2JQ@23#9L'_&9 +>@_#T M.LYX,0$7V5]6$DPMV0]XT#W>+:@3AAMY T2\: F@Q[6 M6[K66XJ]T8@W^05+4/@1[3AC>SBC@>V]XTTT/SFA\"TGE 0,/B&DG S_<]"W M*$*(>67N7X6D^AC8LB ./2908-0D MD7HP!TKB-"I2%=;3"W*?*%$"[0AF1S"/))AXRPD&IEQ6;K+& MW'*RL R<[J%>_./MAPV.3[ B*@_CCS3&Z 9W6W ??<67I8'.:](_/^9DX\5) MD*/(>B;0GCXUOJ.$'24\CA*2+:>$&FTW44LO0^K3 Y=S*S4\0&E0O*+BN-*$ MS49P<$NKN3(6T^E3!&S+X JQ/RJ,+;#I_3NJI$@RJ $V2M>&QPA]]QZG6']K M^L);E7&SC*1(/3A2@L3)*C29,RFN0-8O=3;*M_[R%.V(:,N(Z,FYYG#+ MN>;1![/N\XSE)BR9;K+9UPOL#(J@;9R5+ZWB5"*NT608M+@&;S'-A M+9AYL3MU MW2)"^+Z4R;:?NM+K4SJ7$$@&]"*"WFO$ A"Z=<"Q//V< ;^B",*?"[@8PIUH MN \U%J]2'T0(]4&E?R%TR_;/$ZQH8+G[WTD>]3D(5D$&0-=I^3#&8 QCJAP] M#Z?-#:967;>^=-XI@QT1_!\?BU(DDFK<=EL(2W!B 8'MOGNJ&:#EA;PHIDI. M@=1\P2?UYUNZUA>0EU+- 7-GF?**@J_Q"_+!_R34:6\?4K]7N]PU$T\C]^(& M;PLAH#:#KHW0>J$G+-#M[J3PRJI%@K^1XE+6[JUT5D"JRU!*@P'VF'-3Q(S[ M9OX&"VQB5RTP>HB5&W.S@<:_:3'6QN:*.*2) F??1D%W18"U(2<(KHB=P5AC M-#WW'P[T#EN,;CRYU=D@E:\.MUZWFFR[Y35S;Q[9@FB>?#K6AAJ:D*WYI^=9 MNI1%FW!4E:@BZ!0!RZ[?.&AZZPKO/Y0?/ :X#W&-;[OTF\NY6\?M7,>!6.O$ MRPYAT=#87<2#N*(7#>Q?(@9VH3$^H'ERTGN8"4C9V7(G_^2/'P:AV,3U8A_W M]Q^_UUW36^=_9GJY<_+X:J)5523!NL9KW+)6VT1$46C#&:N@IXBMMEQ*=*+!3U4:]]<+C<)7Q:QVEG?QW577P]_B]02P,$ M% @ 1()94G/9H@>-!@ :AP !< !F:7@M,C R,#$R,S%X97@S,F0Q M+FAT;>U9:U/;.!3]*]ITVM)._$H(-'9@)@UARBPE##&SVX^*+<>:VI)7E@G9 M7[]7LIW8@:70W3ZG#(18S_LZ]Q[)H]\,8\IBS (2HG?^^W,4\J!("9,H$ 1+ M:%U1&2.?9QEFZ#T1@B8)>BMHN"0(#?WV_&R".H9E_=&?6-:)?U)V M[)NV@WR!64XEY0PGEC6]Z*!.+&7F6M9JM3)7?9.+I>5?6;%,DWTKX3PG9BC# MSO%(M< GP>'Q*"42HR#&(B?RJ'/MGQIO8(2D,B''(ZO^7XY=\'!]/ KI#SM;G'?S*R>%W$FC0BG-%F[+WV: MDAQ=D!6ZXBEF+[ME"_S/B:#12T^/SNG?!)8&!1/*B!&34D[3&7J2W$H#)W0) MNZE6KS2)6UECT=IU54Y<\"2$SNEM3!=4OGCF'-A>OVT-S$#:A^6>G9Y.Q?S:[ M $A=S:_'%S[R9U_1W$\6VGF#KLVY.3'1?#I1@I=1XO0']OS2W]Z M\J,8NF7>H7V 9J?(?S=%\_'5V_'%=&[,_CR??D#CB0\]Y:B>;?=>?VN=OG>P M4@;;2K=_D.VDF3.& LX8"52&+JNHC D:,U;@!%V1C N)>(0F/(W4U_DZER3- MT?5\W"WM?\8"$^VI24JGGNW!4*C":_WD>*^@SJ)3+M(*,K;Q.X*5]"X1S0/8 M90V5 Q&0,$0G)"#I@H@J"SM=!,79[B*WF,241+ 1;*RJ&)I%$0V(4-91JU9J=Q&T21K!EZP0>8%AMN1HFT&4:HE.[8HJ+:88[$ P7)C=IN0-1H'VC4* %WHQ]+]=G'40L C M U[B14+0@HN0B*..W0'+)4E%/C;/>8:#^KE:OIQA!#Q)<)83M_[B_;\*5VP* M*(WDJ5:SP:_4HY;?2/":%]*-Z"T)O0;M*:6LS2,%_(6U!N4P;47%T638['Q0 MBUVI;U2P 8BJY*2=!/)YJYA*8BCC$9?QE<"9U]BT,G(EG&/NBM#N;_D6C,V% M^\S6/__-XN6C6A9$%"E.O&;JK)H>2L6*M()\/D"CRE11D21KR&AIEJC,L,D6 M@OQ54$'4D2%7F&DAS.GO84A3 CF#O?!5B#JC[FEWA]% A+056H53*J0[OR"QC> M:\J "\GKAO)"0+>T[@WL;<168U1+ VH=I.,!@E.3YSMPVP4)K\$P@,D-GK$3 M]E_(4SMW(BJ1-+B/X6PS327("<2GBT[)0A18K*MCR4!S5T=[9P>]#ZI;^:W* M:DYVBW*>T!#5B/[JYFBI:N46:L5KF=#4W9?"MUMD@+@ Y^J2I\6FF\&ZQ=Q/ M%0:?PX&?$AG?UO,[WOSEQA_3C2/:VJ2L[E2"H 'T/NK$.[+H+H[KVGGGNOGS M-3$;A*Y)\>"QH1Q)[[E?;E:>XU$L$.-YC$.5K41!@+8JBG34J3(JT%;8\:CC M=)">>-3I#4S[^9;-XN#C4O""A4:;6[6?:J&46^](I!FI>0#25JR3<49:CJDK MI K3S;W]4PGXIY#X.>3SRT;EIL[U[M+WSO'K^\#U_8@WALA9*AK+@?4 &4U* MDDGAX DG1:!2(!I0 _VBJCJ!AFBQOGN_$\.1$F,A2#XHX$CH)DNON&T/O(=#LU] M9\.NRC9;'^[*UVCZO=SQ/U!+ P04 " !$@EE2=/DC 9@& ")' %P M &9I>"TR,#(P,3(S,7AE>#,R9#(N:'1M[5EM4]LX$/XK>^FTI9WX+>&EL4-F MTA"NS+7 $'.]?E1L.=:<;?EDA9#[];>2;6('CI;>M;2=,A!B:27MKO;9?20/ M?S&,:1:3+* AO/'?O860!\N49A("08G$UA63,?@\STD&[Z@0+$G@M6#A@@(, MS('IF <'AC$:XDR3:@C/7.A9O3VK9_<NL^_:-IR_@YU+?_)"2Q^=3?P/ MY]-RT?/+UV]/)M Q+.M]?V)91_Y1V;%KV@[X@F0%DXQG)+&LZ6D'.K&4N6M9 MJ]7*7/5-+A:6?V'%,DUVK83S@IJA##NCH6K!3TK"T3"EDD 0$U%0>=BY](^- M5R@AF4SH:&C5_TO9.0_7HV'(KJ"0ZX0>=E(B%BPS),_=OIU+#T=:V+TE-O#3.%30ADEU1-7MCWB"A1+AS M+F-O>XF[1N;UN(AGTHA(RI*U^]QG*2W@E*[@@J]XM6_!_006+GGM:NF!_ M4YP:#4Q81HV8EGJ:SL"3]%H:)&$+7$VU>J5+W,H;\]:JJW+@G"QR?.J#?_85W?U@I9U7<&G.S(D) ML^E$*5Y&B=/?L[]EM<"^PSL(Q%VD%&=OX#7 FO4K$B@!766/E (H:AG!$ YK.J:BRL-,%+,YV%TB! MPDE=Y]78&0V6 NL*.H=D(4ROL6AF6.UQ]905A;(&?Y5DB-4>8BHHFM'4LS2N M5K,+)UUXC[2!D11^I5BL:1=GQ554R8+?64#A7-""*4?J)2*@6(+O83Z3Y>7+40\8D D&2>4)AS$5)QV+$[ MZ+DDJ@P:56M;ND0+_PMJ"4DQ[47$V&38[[[5B6^LK%6P(JBI9Z4U" M_;Q5S"0UE/.HF_&5(+G76+1RPJH'95-\&#/0Y#_;#D8D>.R"VZ%9VH2S%.&.HSIR[4*+5,2ISS MG J]9K%5ILT?#*KZV%_B]9- 6"JJ0JW241WBU;Z@X[VF#F0I>=U07A#HEM8] M@KV)V$I&M32@U@$=#QB"T3FKH+4_AVESDB+B"%NO1IL^MFM&Y ]T/%P>>0X(>$QN-N_?9V M_MS'[W,?AZRU2%G?F41% WTM^O C\-!BV[BNB^FM^^C/-\QL,+PFY\/'AJTT MO>,"NEF*1L-80,:+F(0J?8DE11ZK.--AITJQR&-QQ<..TP$]\+#3VS/MIQMZ M2X(_%X(OL]!HDZWV4ZV4VN5;&FF*:NZCMA4-S7A&6_M4ETP5M3<7^P]EY!\# MYN>PT2\;I/?0^<[HY5U0^V:T&V/<+!2KY4B"$"-)R3D9GD/QX(C,"C5#IJ#? M8U4'TA#FZ]O7/3&>0.<4Y7/!KYBZ)Y.\25XU%E?JE==<'6TK+HTS;4_&F0"%FG2ZXXJT^ !P-SU[DA6V6;K<]ZY5LV_=IN M] ]02P$"% ,4 " !$@EE2R@'$\BP@ D?0$ $ @ $ M 9FEX+3(P,C Q,C,Q+GAS9%!+ 0(4 Q0 ( $2"65);'0BS;QD &>D M 0 4 " 5H@ !F:7@M,C R,#$R,S%?8V%L+GAM;%!+ 0(4 M Q0 ( $2"65+@2F^^)4T ^6!0 4 " ?LY !F:7@M M,C R,#$R,S%?9&5F+GAM;%!+ 0(4 Q0 ( $2"65+3,G7(S=\ /.K#@ 4 M " 5*' !F:7@M,C R,#$R,S%?;&%B+GAM;%!+ 0(4 Q0 M ( $2"65*'E. T5H8 "HZ"@ 4 " 5%G 0!F:7@M,C R M,#$R,S%?<')E+GAM;%!+ 0(4 Q0 ( $2"65+%AD@G->L$ !%O- 4 M " =GM 0!F:7@M,C R,#$R,S%X,3!K+FAT;5!+ 0(4 Q0 ( M $2"65*T9 2@2GP #F6 7 " 4#9!@!F:7@M,C R,#$R M,S%X,3!K,# R+FIP9U!+ 0(4 Q0 ( $2"65(,X=D93Q (0G @ 7 M " ;]5!P!F:7@M,C R,#$R,S%X97@R,60Q+FAT;5!+ 0(4 Q0 M ( $2"65)ZN8LV)P4 +L= 7 " 4-F!P!F:7@M,C R M,#$R,S%X97@R,V0Q+FAT;5!+ 0(4 Q0 ( $2"65(+V5GT'PD ] 7 M " 9]K!P!F:7@M,C R,#$R,S%X97@S,60Q+FAT;5!+ 0(4 M Q0 ( $2"65+$,.[F(0D ,L[ 7 " ?-T!P!F:7@M M,C R,#$R,S%X97@S,60R+FAT;5!+ 0(4 Q0 ( $2"65)SV:('C08 &H< M 7 " 4E^!P!F:7@M,C R,#$R,S%X97@S,F0Q+FAT;5!+ M 0(4 Q0 ( $2"65)T^2,!F 8 (D< 7 " 0N%!P!F L:7@M,C R,#$R,S%X97@S,F0R+FAT;5!+!08 #0 - &L# #8BP< ! end

  • PP"O"1!L=98^ 5:P*MMBV; M,#MONVV?O:/JA8<64:PBU4-!?&J-CU&:Y>GX24>X#,6U+WG77OC X$E0[H4J M/=*=WL]/I+&I03OB( I,-_7X?B2V:%>E[FGP@>(Y_6HE/A%GY'*'!7$8R'T4 MIAY_="\5V56>US?,M?F5@>_C>"C#$W*&VKP$HY]Q?P,;5HM%3P_J9-2RE.X( M3/IE"V5PK"C2N[JR*#I; MX/F?;44W:J>,N+[P,2Q<,U4X;#0IH^->BN7<1UQFY) *C^%'[#]&X8I5@FQ: M5%?LC/?47,"R*]69(DM(SKJH0=?1SE<<3LHEH$'740ELT]=HA;,+Y[*Z"CMMO=R=H.)7E!X\UY2Q57>-3GFEW=[T-IAW\8T2<=7%P>G M1Z9?*%N+U\#$OP5]TJ;NCIKP[;-'[58V9 M/8>YQHF?0GMD-@P2*_B2>8MPXU(ZX9U5?KUF:$E?*&G,S;_3-/4N:9(MWDIN MK[A=1N/9FB&\^# 5>NN)@(/^8'!T.IAZ@_.CDY.\ZW/3;!WMB6I&@4-@]*RI M?,JR_8CR.1.,OCL].F\BG])L/Z)\HH[25#ZEV3HJG]1K\6)/D-UTYJ]K5Y-U MVF90M-356?*ZCGOE@GTR)[6+>D'3^25\J?L*.C3!_P;O+ZQKR7&-QTM%EO\< M^:#+SPPH8YN_:2=!#[903L4]AM6H):PRP&>V&H]#ML4^R+G6W M33?2D78\N[71[9S?W_.%SSEN(?..^0JZCJM'%8?IF)OI8[,ZR2CR=5Q24^+? MN)3-\_')"I\[.BG+Q85\I[/45[^8VE%NT]=U(YX*#I,U-!WE'&;"3"S3\6SH M.-XK=A:\9<9[2S9R4*,_IL0>/!8LKPCP'1KJJ(^8Z\HXJRV?W MF3O$8I3E,+ZAQL\22U5 "J9%OFZ?*O+)+XF.(N.EU'6MYMFZ+:;<0]CB@"8Z M%(W]U-4TG;!+IVWM\2/?Z>@Y>"\!D.;?;_'ZWPK#A+ES?)^B[#9UFT)^/$E- M7[T,DWXK4965T@E9Q6M-V-96K$+3*1V=<[Z!.\O5-W>@N?I!O&>NH:X7<0^$ M\DEI[":?$H.MFJCC.\&$ER10]X,G3@BSA[!:E-]*(38>?-[XVW.G)X.?IQ[\ M^Z?\$%29WM&!*#8-HITP'Z6]+*FC?.X@=*"@K%C=[F+8U:RWTP=%TYNKY-9[ MQCCA6JD0&KENV3#3CZ/#5:Z8*>49":]62\9::.'8J2ZMVY,]&O[_%1(G>CHN MLOF.W53<[-3HKT':;7&,,+H9]8/H,&3LR@_\%9-7LDH=.VE0=MM25AZCX$>) M3,!C!\0'@>L[&@3H]X4PNL%G%\:!:]M?A4%T&UJRWSQ;1RX5IR>.Q-3)0P"Z ML.F&[HY20=';W]\K>/F6N\(4P< MW_N^-_ARN&<@S_)MQWOYOA>2?9-8CK/WM[_^^[_]\A_[^_^\?+PS;-\*9\@+ M# LC,T"V\>X$K\:3/Y^;GO$#8>RXKG&)'?L%&<;%E],O9V>#XR\GAR=?CXW] M_5C2I4D@I^\93.31E\'REU$LU?>^&4<'1U\/C@Z/!L;%M\'IM^,SX^'',N$/ MJ.74J4SI.M[OW^A_GJ%( ^!ZY-L'<;[OO0;!_-O!P?O[^Y?WXR\^?H'\AX.# M?_ZXFUBO:&;N.QX)3,]">P:D_T;8QSO?,@.FJU3VCV?L)@*.#Y9E<5/0?^TG MR?;II_W!T?[QX,L'L??B*M*?!0I)DM-?G9+T*2Q1^IS\6 >#BXN+ _;K'FC/ M,'[!OHL>T=1@W[X%BSGZOD>FS@= .3H<'$5 _C0)P(Z4 M*"/?([[KV-2LEZ9+JS%Y12@@>P85_O/Q-E,1RY]-?1R0!8'L)"0F_7) 4QZ( MB&3XA#1WL V RX]D/!W/$69L:0@I3[9"D$;UQ_?FX9&2ZUI&T M(IHHL@T%/:(WY(7H!OLS,&& 32L@O\'0, I)X,]@B(D3/"++!SB4NW&E-U#1 M)H6VH:2A]7^A0U@]R.;H"Z6U >M7W[??8=P?>O:M#^KX88)]6&7B>FY!$4)EM*&"6YASSM"3^8$(]%%O M#FG$.2B5VC),ZI!X%NC>;,81JA;=,N K-$70_=KPCZ@%-LIOV8):F4$$OO7[ MJ^_:X);2X3=8W(>S9X3!OW\U<1-:$"Y!&KX%\XK0982Z@]]BR+3X1N?N*>6B MCP!Y-K*77YV %G9X.#@\-/:-I3CX>S2^GXSO;J^&3]=7QN7P;G@_NC8F?[^^ M?II(0&5 :KK6YF*N#3DX^.LF6-Q3-34),],7DCV7TQS3N-0AP?(#4CRA3%B M_W 0QWC^%'_^5\3/1+)K/B.71=TR/QZT5K'87RJM7YSF7Z?'9R<7Y^;]YOI4E]N M&(Q,C!>.]_(/TPT1QUQ">54U8YFQ\@:N#U7$\'/L^.!$+5ICP27,;I&=A#M@ MM$< $6:NO(Z$F[X;UI:#%UOX2,S"1^U8^*?WG %%5J@X-B[)T0TKRP*,[7RL MM)WO&1@;I4A;/N;R,W3#RI+X8B.?J#9.WWIO4&4?+^X1SY+I)-VP726BV%I? M5;-6TJ6DUPV8 @!(>7,4R-D-V]8%&IO\5.E>^ &CN>G8UQ]SY!$$CB,+%HM, M@01R=L/^=8'&]C]3K%1U=Y/UD>62R1(7QZ+\##K941*%%IYKR@N# MF;-5ZJL6IM7)@.( 5/4Z4PN1X'CE%^LXEJO.UC*8ZGJKQS-16Z096 5(U66C M5+W+Y[/YA$H;KK!RI68K0Z7%VL^=[[T\(3RCF[LJ;)E/J;0QR^I88%-!=')& M;6D8C_=TDP=S04/>%D0NW>4B MW/]6YNN0F>MA%8EBJ+*&D$!:R"\BK&?MD-UKPQ6)E;3>E4^0.[WU2(CIMK9' M1!!^J^C/2W)TR.JR*%4-GK!)J'!_SDG=(;O*(!0)J;3M4U>&48H3*VW1&BYU M!3)5_:[LJLAR5*F.C57EZX)]ZX'48MDH%]M-:4_)2L.;=N)ZO)@.N#.CJ3'=3UD M7YO8@WD;&5I6. M9N!P<>\=R>,YN=<8.&;TF6'$?^)>#M=//6ST2S;WD*V4$ M[MGHH_*ST9,G^-^/Z_NGB3&^,<8/UX_#IUM(L*?T*6EZ50^;O][YA+?79"U- M.WLFD_*3VZ@<+P1"KHQXB8 )Z:L*?C@>\]%OO0!A1.AV[*R4J"'\0,&K;]/S M-21@S.!NO=Q9#;)-Z@B:U*#E_J.0)=F-G.UJ1VXKPFG+$=3*%E>04CU2M&WS MDBALA=I4G0W^BJ'&#]B?,TY^5L]450HO M\@1+L&BQ$VSDDV \C7%P RVI-%TP6S6@RMC*O@K&FR#7I8="D =]#+U_UQWE!\>)*_#40@LWKFKM^A;H!8B ^MC(XP$Z4J&'M7#IG[T=6LXVGI M/4^E>;ID<'F@6BP^W_N>G]5)>4OGIE?/UNJYSW+*4S4FO\(=84B4Q9W7%R?/ M8CX^.ST^;'L2+F6>HCFZ!%)5/>ZDTN7=P%JJ+MJR&J"R _EE2!P/$3+R9\^. MQU05=7\O<;C6L>,N<(BQ"5]9)S9ZI7_>>L,9/<$PGG*R+/=>#3C-< MFXI3=NV0;0Z2]5+*,W6/.37P:K%1;NF:Q4@N8;K%C]UQ4BMH;K%HOQ@2R?#" M6?L+@^FW<$36!4]DU@5'P\G?C9N[\6^*KPM2):S=\?H(_@9V+-!6? =L]D,J MY0,">]*I"=T8@JY0]'_X=W2SQ_6'Q0:%1]#8]72*+.[IK1U7HI49+@IHQ=D= M^L"NR\5/0K<4+R,!0RMPWLIN A 7H%Y/TP[+,G/>S;2GQ;GV*&! M138T4-[B%6"U6,H 9QH'SA]F%.1;OT6)MUNM-%,/+%]# :H&N:[0'",K>H2$ M8^YTDAX8MQ)N\Z?;<\^1P(=_)?/=M6L#UQME6=)L]4]@5G7>%6M)P]9B'KA\ M .G&QU=^^!Q,0S>Y:8,_Y'*S=-C^M>&K>JHJ=PA0*!10D:L'!*BC 57/N&?] MBAO',ST+=$*W7HCY8MDL/;"^-'Q5;QU<+;M/8%(ZGF8N@%[>_ERY.:$L7IJ$OA@TH\-VV3RT.'$/F",! M/ DZ':IFZ7QTM?2*,?[*EXR4'G"C"8TDI%$[^)Q'FLSS*M]=$\G:2ZX(JB$A MB'H[@/*0D@>N^.M9>W6='J6BPU7- MHPY]N!)ZR1DY;21$X4>+6R(*1U/1B9T--@$6"%"/)LIN A35GAXW1IH+%IE^ M\H<6J \C[ENEO!T+P@+4H]B&!B[8O["9,BHW&;;E^P ,"R&;'28M6(L3H8FX MA#[P9$-MJ+K_,(WKRF':"4(,\)+E,G8%=G26(OI]=7"BA#"BHK*Z.E7@AKVM M,FJ#=0'OA;N6LS*<>H38T9_E8):X#5:^8>$3SN",= M3R?( U[25WLXYB].W .;2P#7XX:Q-""9#J R7\_((-T!E"]/M\Z+AR4RH9W= MO.0]8($4="%?LW7CIXG-8LV"0\$R;1;[&6 _[IK9Q7%7'N)1PN8K&L.\&E3D MV:3Z*8CR3%EMG,,$[JQK+*BA@,KS/*U%06,L-SX&>XZ+\82>$*WW-W1Y?'$.?Y[J17 MNN*^%R&>7:$GVSE8.*FSK>0"6F+;O8BLS00>:B\$J<558*7*^.G9T)II4Z6' M/2Q(&AU(KL-FGJQN\:,Y%X3 2OP:3/#M SW:0].$.$B=X1)8/?3XM M,^[2!0>2X\/!^D 2BS2HI8QEJ<8[%&LLRTVE2Y6]&E"V-9047^055W)UR)(L MZTU/4OG4_N#0K'[G=; ;2VNC7_GI0>DNG6?'M:P\KEN20YT^HB'+IKL,6=QR MP\IQ(U/3I([YD\-#U_7?P3-&U(=F:W4%%X76$=%)FS>FB&VOB1>RX#+#4ZXJ M7C J9(!,]LY:?V,E2*YZ-]/^E^Y2S"E&=/44OE2=^OHR!(>_Z5,D0W<*C[YA$V/1.%PN;O<>"*:_0M":TB%!)H$X=X+WUK!#SCWYL)K0[M-JB/N0"6 W- M4,1A_.;CW^D.0W/N!*8[M/\WC!XWW*P'XDGM#F.VJ1 MWI0M.2;%WM>NV+?# MR]8=AFR$6(L+^PLT$P><_T#VK0V@G:EC+I\&20[-_>K[]CO,_V%.E^I$(4TX M0_8]]X*IK96VG0Y7I&Z%=1K1L<0+4C_08 ET'C#.1,LE=!<@">B<^)H$SHQN M\J+N#4TBUFVW4S.]';IFH+[.]\C^) MWYJ6VUD@V!KLM<=^=DKLM;(_2=V*AK68&S0ZX$5'\U.'\9OU#P4+[27=6U1M MER= 98Y=E)(= -P%SW.%9HTQ &.T?)Y:K=LUVU-%?W*^ M#06+O$/71>:G?\C>U;N[)L"OPV=;:%730L=W.]XJ=NS\K)?\V0):T*_0,6.5 MXS29H8\%8%?QV"1"NYO@?&D5>DEN910MQ=Z5B MV5/E'?!8V"BV6G-FZ^7VDO?M:E?RQ<@.,/[6"TSOQ=E1F"95VB>[=Z33 MZDK)+_R3\>VH6.R5STZU -DW2792=M8X1]$;5I_\W[:&JU\F M58']B4XY!$U^[C6'2I50_:QH:V?<4EC3"EDY+I%J '7%SW('Y$X/C]8/R"4U M,4S/-M*%&:O2C*BX_S*@0,@BDDJ3HW8WC@<\OG/>TD[C4KF5J8W.HJ1. MPQG0T?F#$3=YO7D:(/P_R,0WD$$>995$];HD,3NG>Y:FX6MQ[$X.]#WT,T_O MR'U#/WPO>.7-EC<3VC\N"6E@RP?MVJ!3H_U1?[LBD5Y([0VU-?#Z(2^044]8 M3VG#0Z[%_E1YO$]0?'/=#9/63^+PH6NQX[,&X'>_.=Z\^UG5'2L0!]T):SC M:^Z5W,&T/0DSI2-,H;A&I8?[ M2S.IUZ1%++7V;H(L/BTFN4/+"FRWD"LTQLARF.?C;17%>9NJ4QPPZMX#<38^#K LB.0],=N28ASM19[IOD#QXBN=7K!"HLMC: MU,:XY0N/FZ% \BA-? %YN<6+$VMM8 E(;5P,ENYS0_3DW_AXAO#XW4.8T]$( MYM+2:)M@TR)LR'0P"3T;+^1&%%X>+<\!^-GUWEAXLA-&- 06?)6CM0LYR*_,85*-U+BX5-4@I$4HLH:/7&XJI@UMN"MR=43UDS(< MW'*S/UT(4[+5J):L7E*&"UQN,MD29VZ] &%$@GA-FL.&7*I6%JU2"R7CZ?)A MXN3RVZOXC4F>-RF:73T28(M=A5NZ:)&/&#B;FO-)?DT-+0LGBV'+XNC&.M MU7'L)1\>H:Z3=W->%-FJSJ25O3: M.5@=/%Z$0J@:N-I] PGZSB*7KXN2YK% M\E5]\T@!4??-..;[,-^C#C[E]^*J453>N8=]]1Y_70APB+-?C0FZT2SA[ M*W$]P=I5A?0DQ:C7)\A:.1/7:P*]%H.$*%*1$_"U9/63.-4JT"*T(@I7\.1[ M77']Y)"0%K38B2C5W99LD9 4TT_:E*+78D^C#-+2W1&R'4/*M]Z\)%N^47D ?MO#F'G[F3FS8/\N;-(J,&D M1N>6(\&ZS).72HECX9?(0U.'%S;BIFZCP#S6U;R9?M>18MGU7/**L>741$ M](LTM34BU\<Q9,C./K6^2FD;DM-&O3R*STS[GD[JJ>U3RGCL,@ MU6!"J-)BE1](7P6XB3*R+>?L[/3H0A\_9/N:T&).PU'#Z-7T7J"O23I22!#M MH_N'Z8:135W7?Z>[MN68)B&XB_3:%+X6OB\'^[U/1Z+0"N@%E%5'>X0E=)$E MPCC;V4!?7&<4K(+V/B$C$^,%N#/O)K;7K%Q3BI:6;A*KW*+I0*G&SV[>6'[R M7FZIBRO7^@M%:$F*QH!JL2C*00D?HL,-,(\A"#3\*D>'?/XN6*IQ+O MQG$P%L_2N:]\2DKI(BNDL,;<.-.UD_ ].D(B^"A+B?7<7:2"$,:8 N=*4^!Z M.D7@\KZAS-1ZC?BO)D:7)F$GB:G&V-?HV7O(D,S6BXX';JL8K4FU$V7$[+M0 M8)8RH6A];W!V85]%,RS?$Y^=%.76TOQ-8$S"6X<*WO2=&A)SD9;:)Y8&AR<5 M(?.D+/HA.7?ZYU1Y?]$EBEZF-/[[$96YVEQ?6U9*HOZ0-$O]\[/3XR-%ULLJ M;%.T'%8)3(N0=0Y-V6,@Q8DUL"K/1 +6Y4/4XF;"'![X(_FVO%F$(/S&+I") M;Z\GR[CYC8^O_/ YF(8N_%9V^5+S!6G *SXY!)BU'05IM4^C1!=I]QCT$?M= MI-A_II<=U>>E=%']8V8S*JJY$40Y;A:TTT9[Q?[Q2U0)3HB$WK(M5B(2ZO$=^WWQW7A2YL_6E0X>D47T1' M*-$8])JG$ML>".ABM'"?3Q-WW>Y\D%JLM-7?TB>]:>U"H>WE3016!/%*/H'Y MM5T>+&/EJ3AB!0&*LFA@>?% J3! 25.W'U%+ 9)]0%=2BKJ$$+9N:9=06P>Z MA;M20*DG#/.:(7TX] 6QJQBDR%*0OTI*?I+H$ 7F=HLYVM*'%?5K2D.6#$O7D?A),6"MR@2ZE MG!?!2,9ZCAZ1@X]7+G:UR_/0D\"W?G_U7:@?H7YWL+@/9\_TZ02VTB>YQ^LD M?RMUNH#_-*(BX'-4"KV?.BI'EZU=OS&#(7OXAK#Y@A)E73EN"%\C+.,P(- 7 MV."LY$O],M!9*38'_CK_P-02P,$% M @ 1()94N!*;[XE30 #Y8% !0 !F:7@M,C R,#$R,S%?9&5F+GAM;.U] MVW+CN)+@^T;L/VA['V8F8JK+M[*K.LZ9"?G6K5F[Y+%=77.>.F@2DMA%D6J M].5\_0*D*)$B (D2"9E1G1T61(N>4-F(I%(_.T_7Y?>Z!EAX@;^WW\Z_/G@ MIQ'R[N,T>CT9>?3W\^.SL\_OGDX.33\>C#A_5( MYQ:A/0-_% ]Y]//AYI>+]:B!_\OHZ./1IX]'!T>'HR^_')[^Z__XA?WOB4XYHNCZY)=7XO[]IT48KG[Y^/'EY>7GE^.? SRG_0\. M/_[/[.L#QQ\UTV0?VU8?#HP_'AS^_$N>G-8CL9X5)TN;L5R?<=,@V_O0Q^3';U)4,G4$[ M:5\ 94VNPR]?OGR,?_V)$GHT^AL./'2/9J/XNU_"MQ7Z^T_$7:X\-E;\W0*C M61[(F46>XM&HL,TM:\68>/ 1>2%AW[ 1R0?VU8>#PS6%_B]"SO*G$?OIV_UD M,UIA(-;@(VO[\>HU1#YQGSQTY5/1Q3$';UP2DC6.2H3^J(?DS'V- 3\\6H/] M$%*Y9@OG(O!)X+D.$_/-EV0Z>P@#^\#2);87D BCL4TG)RYC!'FT*&>(-J[RP;I ZCPBKH\( M&?O.%,\MW_UG+&F7*+1Q#M%Q:^(V*E#OWJ2*V+3\U[PPI3R=8"I@73<\"8@!+5& MP-+YX9+NWB4_6I.S[%Q=D.0>/2,_0M-:3ZY' M&6U"09F9'B3A[NF&PO69_D"8$F+)%.STR7,3[K=!.U4(^DF^F15Y(00JY@'I M@IC7EHM_M[P(W2*+?3;D?LF'[7IC41\_[FA=HQ7_39VPB4_WZ7.VK4U4GUET M2V?IF@QL+=(U1R7NRL+^- JW2\XL)50FZIH8TW"!<'.R+QZ^"\1_#0+GQ?4\ M:NLG#F4+]4,=6A/;UYUQND!EXE.XT*/UB@A=*L\N.^M;VZ*K5VOI^H9\ M)LUY.B8%"V#&AI@B]F)A)PZNFQ%FK5FZ(,-%L%RZ8;Q9H_!L_%L6PDP\/=\Y M#WS'@/AKSP2,' _(FTU\VHCMZ1LE!W^F3N+JA3-"*M#,J7A&YM:(SB0PB#"F MP%VZ7L1 C'^=K@R9]PIS=4:2.'&#BO$*^236YQGPQC:%ET)OB"):4X$DR)UG MM4D4[G1P"+,)%M+-2+0TNGCTYNJ$)&C.U/[$CP/$9APNR9C:*,986-A.45W_ MF85K,X+KAQ\==_EQW>:CY7D_E=)& $J:G<32H#[%-(M',P 5_9ME_03^!R=@ M\7F#(!:'-@%O/-2')5H^(6P2V/RX!B!=4*"P'3VA#QM"&(27.[I9>4@.9)H1 MB'3L-<3TLYN<>=_0<=>C,WAJ)ZYE8$>LG8.'+O1T^/6:KZC* DSE[N\_ M'::CS7"P%)-W#4*@@TU$*&S)%Y8'AT.7.4.IP:/+G!DTSJ6BO>6S2%<*59F6 MHK>?;/OC]/CLY,OGSR>?OAP='1ZT/"DW2OJTRI?CFGPIP04 A^Y9I-Q'#DOI=/TYD;)&U+A5 MGIS4Y(D("0#,V)C#&PK@A(4+R_SB3,.&F! ?0RA:\0+87 =X[2+OT#L))?]B M!WZ(7L,K+VY*MSO)V<[V=R\@R/G[3R&.S(3TM)DT\=F%?X(N4?+OQ"]&:>\# MS[M.,ET$'-0>!8(]4F.T-FHKNGO%],M8P$ L0U'4O; ,BPTA>&X5132_6HNH M0>-3QN]\6%@8D0DA$1*M.&%K""O+ ,>$^$%C6\Y934!5<(RK1KA\@9^T[FVGW<9\R4 MWZ^X:+V-C0K!=:ZM XQ1HQLY2$33N"!H#MNE C"\2$ID0I,PT,S$-C> XN"Q MA,/'X-%Z984\F/]$T:1>4XQC(9E<&+"O,6*K!PBV]X[U%2- ,](/SLVBC1I9E2:+&F M+M[-_V@. 1 MZ AL2:1_BU@YW_[V,7_/R-#=HY*RT1G""BX9'1]\.C@>?1AM!Z(?LF.-_C49 M[=]^@GV7R%X@)_+0=+8I+YU!XOPM\TEZVTA[F"Z6)0A1'FR)\D#27&"%?D"2M4M$LHQ1.TCM,\OR>6' 6=X.Q30Q6Q,/+:80MNM;[%(=Z;7C 'HQGTN5KX^?[NU_@SP MA6<1HBX(U0>&D/!772RJXPT@-%#ZX%)YF.#DX/#@<#=,D(X[LGQGE!UY]*_K ML1L+&O"/UHNK.(\Q;^>OT[&M2_1W.'"H+S'%ZS"^H-8(OUGWNWI]7J17XOD8 M=53*8 T, WP-#A'6II"T!5!%1"9/.Z3G8=!G^NI9>OQ1T]M!I80V6&4+0%U^W<_F:\ M&GJ;9:/H(;2_$>?ST?)0^O9?*G%?$2O:PPH]6W.N7UG>I\MU5)-_Y<@!V/N8 M?5)59:-$)6=WH[0&8A3,1ADP1MOY1BD@M'$"2^[''#3-;Z[,1".H"101=(J3 MEQ0F?K:%Z]ONRD.RX]F:8[;EN;*TXO4=:\'6K="B^UV;4;ZE'FP!SX[V$ADX MA'L(3AL >S>!+'$(W/%VK1*)P6[/=,EN?D=F1OV4EUN4MNYZ$R84*IZ"::%> MXKLL'2PX9#%J*(9*PQW;F7=8:7BH1=OO6K29>Q+7 9:H(TERI.88'6A?P5FF M,>U;D1( ^/]()]B*J+PX)+]_?AMQ1XZ.3HX/#T\EI<"5>L+(1U3)J\Y7:F&$@#&5343 MHE,)@^-VESUHC"A9F:AID/N:;SCVO."%G:Y1)7@91$_A+/+66,9A=?>9X9?X MD[OWZ$0*H]:0$/(/&Q&P>F2!EJS(KMXEQ5Q2M"[1#&&,G$?K-0^$>N5;>PP:*$<5KE, Q2@#I2\I#]KY XI=]#4)$;@++9VDUURY+ M0Z-H;[TUM;OHFJ,-:>H5+Y]7XMJ0N][HN527N>O\1,#U#.G;].*T9T'#KD^( MU!.;!0@T7"$S=YI6?50Q"YR8!+K M,9D1J# >B#5O1!:JTP":>% 'YMEE&S ./<3NFZ0+A$,5(TR6H]GPSD<- RIU M>$[=E1F[;L79$%4:!<+I22T&5L8W M5G%2A9X"+CO8$#7NYO71'5C.W\Z1;R\HFWY(TL;+N\$YWY#S)O_X:!E6 'S7 M(I IB-*ZK.7=@&2#JTJDG'&[R.TOXW(ITT='9Z\"Y.UK+)FT1@L@B!IV>0LOV@&N$ M=@5/RJ0L2OO&I+X9G(J,,V]F#/$R(F&P1+@ NO3TN;072*M5%-,<\\IPZJK^ M!(N*BPK?;'^#VW!KM@-XE8<6%/+*_ LC<*HA!CI 09%2%E'DU> SC#JHJ M>;G =T3Q6TJH9;04TGSG]ZZSY#@"DA)X!U((-G%7@=V4)/7(.G27QE..AMQW MZ7=>3GJ5>)U=]MW"V/+#M\P3;SO/GA0:/@M*ITY+I-Q8 M3P$>ST*TSE!V_3DG4*+4"X(/JBV%:0A%"4-HB1 %(=R6+SU459VY+A 2(6JJ MT1P^ ,[GUF&Y:XHCA366/<(>WDZW/VG<+O/,L=Y!W7'Q:8OUD"-&V-%FUM$+ MG7:TF3?3+C-W7X[L'M*Z>=([2#N-ABVD6&URJ#EL'?=PZSAL9 S3TWJ5TS/_ M>]F3TS$,*P+_9J*6R#2&O87<;03'8.WN"G,[MZ\:OZ+^4[/1D'2!L[=38 M)\,"VCYAF_=&;@)__HCPUA>=8KI7FF-K24K9IC<(A.U@N6SF6:J'83_97(N] M4-A:19[U6=W\9>'U9FSL/+/\4G:A*YX;$7)GO:75&7=-X/K!L>)GP+,X;!>=P@1G7KLU,,7FD[^YC_EX"^_I2CM M >&B2WWM*T6QX=67SLVYC\%-\^>L0/TA(-QJJ;<*]7%NOLZ&7"%0S<^N2&7O M1O.+?]4>#<*UEYHFLP[ZT%1N"GDVRAY7IZ,(7$08(V$Y3J6>K7+[K"D5K(1J MXTN8,/&Z>F72-9TQ0^_Z9];F:I:J+ M?VES@19Q;?SF:$BGH>-M+I:3;*6G#4J_!9[#;AO&A^><=5IQ'!A[49404@TD M :[/ LP!SER=9>?#?O')V K]86Q.=4*$&LBU6&HK(=I\F86U%KB,$)N2:P@+;6#L'M6-7 &!ALF:QFR3F9$CH"R_&8S-FBIQ M^3CT(8F--K7F>+7RUL53$B=W]WW&1VSY)%D)XKO 50>#DU6GPM.L6:N*,0 W1A]T MZ?W5ZL,!N8%<;R74$PI -Y>!B$7N(MG)P=GIR6GWM^#@B J7/ "DY\+R; 8X M>OD>LPEW_B)]B<(^J_H,=@Y=JG!Z?R:]0U!H20]U)W.>4B&35H MT>VS$+UYL4,0451U"X9G.1HQT2"?Y;A%]L+RZ:+VTKF$18O$3;O.U5=^+4*, M0L.QA"N/ZC2L1&9QTZY3^)7)+$:AX2BHXL6)/P.\V<,+=#FO$9S*&SJ:G(=) M1Y3_:BW1=)8#2*C')6T!Z'&Q#*5DE\#?9^KG7?;#L]-3('4]:G"$BY-Y&S#Q M'3HMIGXT5:1TR;/3] 0,H2TH[]*UZ2T5JM0FE*/2M FFMBM6EV++N]NB:X.K M3-P"Y W3$?78\5DIR<=,NC[JUB"U&H?F,+\OU[A$)K8@5 M1&&[C"L_I(:"0LG@$5)=N6>7!]Y:3%#&J&&>W%*?R[VVEJ[W1B&@\+@.2S2S M/'&,H*Q'E^?B6CPHQ01:0D_\F*)414E;=IF@K,P8*0;0&+*YSGT>$=='A#PD M5^AY(0?%/AU$( 0):N"DVZH!V$8TFNU*0&7 !WTU$&RF'V(M%FEZA" M8I5.$*XD2.FM@D3#Q%^?-MSAX$^Z4Q0?L0C:0;@5("6Q .YVJ'IA>1ZYI5"% MB#WMC*A7?!M0*M&I_7D9J94Z0TC\5Z&_$C+0O%&!PW934N"JO%MWY:Y44]Q9#^-$J@ M&%F^,\K T9>[#&MT];,59;<=Z@[:C_3GO;X/848NAAL39J0#6/2L^S1X$&(Q MY+R_FYSW]NQJV>[2Q,#=[3_-D86S*:ELK/JZA[U8L KA$Y_GRL=N:4F98(W^ M$/:KS0B/!A&@!:CVJ7J:Z*$N71'OL'!:PTR=^#9&=)MXB9)_6?6P="=L_Q6Y M&#D3/ST^NPB63ZX?KPY=$:@^#P0ET8S 5*=)'\1K6RAD6X[NZG5%]P1Q, :3 MV"JJ"I'2:! ":<9%10GSEFJM*HEP3 !6'":@W1PW >-W"FA$OOGV]BM.V+2A M>2 <:%62BP9I DZ%2.BS*7M8P_7DC %!7;3O?G(( 4X6]JI": 4G5"CP718( M;8&W+7BC!N:"[I'6EY[]]DRWBV1-Q$=WB6;86O(+"C[0_Y.9BYQ\';=_HMU" MMRW-"<%L-:R\:M.H5V)H1*ZZ%A1Y 5?3_HTF)?J0@'"/&%F3NM!%8=?.03BI M_B;P&HY1!I!1!I*>92'(Z=J(03(9M>4]3R-1PK^.?,&(PP$0(GC1#B6PMS<(ZDA! M=A0(@3$ \I E22\E0T:>)&QTV)1AV@P/*'8&U4!M:-5X12(?O3!CN+[VF;WQ M.<-;Z(\&ZIFF)C6" M/FGV(KP>5Q0!%&5?0S1$VV%%VX<(Z! !'2*@0P1TB( .$= A CI$0(<(:/=" M!';/.D1 APCH$ $=(J!#!'2(@ X1T"$"VF0$]-IR\>^6%]%-FL4^Q_*L%\\\ M.3CR44?QL*/LN'V)2FZ(PBOKMD;(F?KWR(XPJQI*&WP-?)Q^/+>(2V2! M28/C=U*,E!JPYSC]?A(7"6:\O7?)#TE>K[P+G"Q=XYS/52^5$@& Q=@"F)Y! M/-(II07$Y%V % E3$5@^HWA([1^C\C7KOYR=?CJ&4X[?)/.XB +@YX0]#X1( M>&^%Z.'%6DE+LXD:0[B>K"*8^:)[?%P \&1C"L[?,C[,-49_1$BT@<9L'I52Q*O4$8@@U9)K+1!F*^\Y$T$:R.<9"-9GM&1TD- MJ%I7".940Z#+V%I$$"H3L\9%GX^\WA .O$RRDHOVW^_,U%F-)K\7:# MGI&GYC1).W?@-PF.K-KRFZ3D@,3VK(@6@=:VOY(QX+E3"@)?NJS%^+Y'+N<< MCT\'U/$ ]$9@2YSGT@"2,$S\5122&.%#-5O-ZP'5U2J5;RYC>1@"Y=F1-L^. MH/M4M7EV!)QGQ]H\.^Z$9V5>DTF>'4/DV?G;MC299Q'9P]$E?> \'-V6S\NC M B3>RK&.T?SF!T\$X;@&\>G_+HYJCE-S\\)SJ<6KARLTS9%F M$+SFYLU[N$>?C[^<@/3R@0@CEUS-5&ZG<%+3S-Z!=BF-8I@R%PV%3P:K=P7E M]3>]KK)UV=7( TGKY$X58F)H'W]F>G7@S@CR1CLX^LS0 0"'[P(D*]>ZL"TF"H1ZHJU,G1L+:X<6?,Q8PP$[]- MS?*O$:/2=':U7'G!&T+D(GA&N/ X;94!6F7OYP[6ORY!.F'PM64CX0ZLO$NK M3/P"AHE9$D#3ST7G8SK+8:'LP!7ZM1NC/ #CO14(T?!2_8[<^8(=W%#-8,VI MV)%P.KNP5FX8!W%VEZF\>;M,:SMF5HX_M/5I,$?UPO+L^.7TP+\//.\ZP"\6 M%CTB2/'[G?(>O:FXW'*I-3LW-!.,%O M;>F7W5 V0,]]$5$!EA-"(E1ZE&5V+E"'&7T0T1)Z[KF(/J P3$[P6I+3W(2@ MCG%Z+*PYHNZYQ/Y*6V6!%@V/ZBSJ1[+LXS&T,3[ MUR!P7ES/FRQ7E @,<0:Y0!9%C=MU+-L^T"[#'D#-^\SYBF:I^T_%4O?9P?I2 MW_[!7B G\M!TQCER(N=OF4^R,O;ZPW2Q9CFP26[)"%O#J5%?E7O9U2E$$X"2 MY<'&_L1(7N%3'RURY2,\?Z,V67C1G]<(0LQ$67S2 M:# /D09H>G4Q\9V(A-BU/':8'^(H?EJ&6M;,HT)B$'HX-G*-8 MW@^$'U]_"SR'>:!4(GZF*WZ8N/G(?HB;B.:^'84Q*PJ_)($+;) MVHRKC"U,:XT$5!M+A:,2HM V['?66_)"7[!68"E6B/R*Q5OW\FZ0 M/)T*0IVK=E&*;$MYIPIX? _P#VI@UF?U8^=/ZBRL5Z@X*R7VKJ1?JD@*.UMAF4;/0\C2JJ2XXPT$X#&A7 M3W"(T&,%(7H86V\("'=5VE_\1E^R;HSS["QJ[KO_1,[$H4+KSERVHUF??B1^ MCY.>6>1/0VB;:(F5*@ MVYTF%K4!X54FZU[+;IP1'R8MZ2C(C3,#6I%@X=1 ]W.]DF,A<=MW^,T@P?+_ MZ;[EZM6FHT]GYY3(G!2C;D" 9/);$-ANB/QNU/ T7 C+W#4]*= M^3! LHN\]"?(>#%<+AVYUG4823#<"* MT7-UDZ-GC_;:TU5\9N#/;Y!%T#V[>C^=?2-)UX8WV25S0ZA&TN/==0EU]UF5 MKK=BV1]LF]5W(7?6F^3.1,LP@"C TG.]JT#F'FGC(C9I'&P;&8L#9>]<$./1_ZYT[C88W(W:S<[?KJAV?T;5 8GW6?EN\>Q _\HF;U>N M]_/D2D;?/1'J,E*WF_;:MMCV_HRJG*# :J^D@&\#VPE"NC59CJ0U6=8?Z3RC M[42C9*:^%&RY9N2G!O6Y2*R-TB)W%@ZW-WDSPB.KX6)D9"#7MOM=UL4@CX=* M+T.EEZ'2RU#I9:CTTHH)/G^[M?X,\(5G40J(;9#6"!W8)5&!WV;LDA8U8/-_ M"^U7:RFW7-JC +%C%:1?D=E\M-\KP_\X/3X[^?+Y\\FG+T='IV=GIZ>?VI ! M-+,B+X0E!%Q2 )"+*:/1%-_AP$E,UKEE__"".=>>JW:"X$Y5%/@LB\O0!,"^ M1VPYB&'!K]TF;@;!SS+ HB)B )AR03W!8(GP/4HJ4).%NY+S1]H#PJ4Y ZR2 MX@B :ZG[)T'UIJ22GMX0W576JX*JHNU3=Z+[6GQ/@7@[+W)](V@6>>P-M>IR M(QD2@BJO*U'U*+ G)U;O^I:#P/#4%:P.KRRT>OI4*& U??+<>8RO[@'4<^8'?6\9OT6$W0%L(.K4P(LRP2H & &0^A M%2(6*Z53>/\589$C9L.@TH1 L JCH4M.\Z4=QD>!H-W-GF/ MGI$?"4^*MC]#6&&Z;-Q"#^V\;WM3-"#DPL+X;98\."YBA*P#A%,W7=;(\.GD MX9SU 57ND8\QQFRO%[\.MCXDNT,4N-W'DXR-"JE&CA 8- M6Q_V#,JU%[RP? FV.[NG&P&..>$W@U2=5L4^\+$ E@@3%S'(?J&;_G)2DOX2 M3Y#_S 7+AY27(>6EDY27RN_>%^Q=Y9$@A&:U4S8J8PMSU0UAP7T+ M"WZ-F+QM\42;/&;<^1B?+L8+&/@T%EQ'(25+54636ZPZZ M/P%%=9P[.;Y2!6_L/+-D<,67#"H-W+<@I2F\FPXO579'GN/V, UJ9DZF<0X3!(J1>D!YM4^**$%!R%^3W /Z@8 M75@K-[2\L?-G1$+.4Y7&1@7U/)%A72G&&L#Y3\8[S[KPNQ?%J9]^L6 GA53= MQTDJ%*'QDIUD36?I$'JG1:<'A[NG1>E (\MW1EEHBO5Z_WU$(6(7JA.@1JX_ M2L$:)7"-@MEVP-Z=,J60JQTF[;3N+)V5276Z,!Z24)ZL#F))'XCG1UR^%/)9 MQ3@!V!ZM 9(>#.VT 7((I"1C.6;DT3!O46^13160:UO> \+/KLW48WP!E9]< MK]8%PD$.5TA2VU>.@GE*7WG(#K$6IT/L$B7_EK!*T ?" M.:TFKP280&769+FRXNIOMATM(X\]")M\Q2S@C?C03*,_A#-3328J8-6K&%#) MS[H1H,)[314B0"JM>A?^D91L5(L(E0\ K)+^GCR=41I 4N7L\$+&\$)&;U[( MZ'/5]N;>0(!>M;W_[U<(=D7#^Q5PWJ]H[E$$P^]7\%-->$OX*SOJ7:Y0B,9S MC));E-1UCN'QA?RH/QR$_4\-OM4GP%"PLU;!3AW7E>JL\8S0M"?#ZKZ%H>.%N_KX:08L])7@-2Z M^;2 5 #4-HIP,2;&4W:VB(6!T M62<(-^$J/[A6@ALT!DKPO(Y"5@,H@]#5ZXIN>-#XB838LD7W8NL-">$N7 ,K M6@'S'HD&!X^OU']\?$'>,[JESN2B@O56&A1X^%]YS:@: A6:]%MP_H$L_/@2 M&)&7S5C O?D6Q&1#BCV0#CJ]_N:N9#3@FX2V)"0A1O]EY#J(1(=<50<#OK=H M24(26NR!@-"VY@0D'@SX/J4M 8EIT6\!&<]"A(U*R>\-;.2>Y+MG%ZFU::4;S32'_=DA12@NR? MY\$SE0PW 9+^L0L;_>J/&S2WO"M*9>X+?=P6@!)]N41EBXL+>&VMJ$W=9'9N MXFWQYXZ3*B32D%(T#R]H?K)!-71;D<-5425L >752 M\=D07XQ"GQD TFC49TI+=F3L^Y'E;6]%]ETG199*5&H@2O!H MN,Q<"N;41^JD5^G4)?V5Q2GE@0I"+3'B\2709X2L4Y=';Y49(4,(6JAJHUUO M2O)=>0V[RVX5@\TMD=;S?-4XYK,5J8N%A>>(E&3.E'6"<*JMQL8R3!I6;M^1 M.U^$UIQ%^MPYW? \!NGC:LA)GUL;T]G>B$NN UQ8^[S=8OTQ(22OJ GF9C=9 M'^GV67T7/7GL57<*B_\V7JUP8-F+ZES6& [" JW-8 U\H9G&?&D5K>HR'962 M$62&J#.Q#)N&E]\=PM2%8@(TG5W3B>,G0LG$OWJU$2'365IX-_Z>>EGW:,6. MF_SY-TI97@7VN@-"R-K06X)U,8;$8:HF#QF?6FV%[R8 MXG'G67Z8I9!:%:RR[IT\+B6"Z?SMDM+] 4[SC.6B#8#7-]0@2LLE M91M B.5H"&>615DT ) ]?@V'N;Q)"F**0UGA*ED?"'&8BLPIP0P OVXM>^'Z M".>\4BFWI#T@A%LJ\DJ*5Q-OVRU748@PJW^%/+1:!#Z2,T"Y%X2HB283E'%K MXJTT-TZN8J_6LLK;B\!CI9MQ\)P4*!/R0K4CA"!'!7:HH@= B5U'F-*5I;_[ MSK7[ROZ2ETJ4=8 0Z:BHPF1H 6 3>S8OQ$F5S8E/<9Q3^$JJQTJ[0+B249%5 MZ)0_5(P]#P<.AX&&7N7U#P<-W7/!0J*9N2M*_5#IVEPZFCA:_U&&9 M]NYKXI@0K](ZATH]04=&I*Q70@_:8:D0:%F%P[).H",FU7@(M+9AI@[?)5IA M9+MQ5([^[:&8['ZN/I\0/5&^I['A0<=OI")AC@;0A$<(JKB@@+P+Z*A0M76O M6#*@5K0N*U8[TD2WU*'K1ZX_GU+XDE<'.&$[[1% !X2XG*J$)K05)T% L."D M/4#'BJ3K38H6@+RF2_043I\\=YY(DEY*TY=B2A,;;Y09L"_)3 SN21S5*\M; MXK;L9HUE 9%D)/$:PDE DE ^OY"*2(!0=%FP2E_+$S<'DD0D%BHQ,X ]( M);G?#N&D!-5C$Q\MFS7H^91>LA4T@=" M9_\$>'E36#YPI/RW080XE8J%.7!WL#E[>B)@NKZ=-?,@*(N M'O43ERXA 7[[&H3\4R*=CA!"3*KD5L4)@*IA4D'NK#?F;L@S#3D-NZYPH"=T MN81##C8 N)$7L++C%&'K[LY02A 0&^6>GY$P:6.O0&;E2L U?E-XUD3*/#X2 M\*(O3^%-X,]#:OXHL ^+ (?L[XM@^42Q8U&(2!@*5^T,SS"5+CL5M"#RRC2&< M,U1D3!8->.<*TW"!L.[A0J'&=^%PX<,H'G@X9!@.&89#AN&080A5[W6H>KR, M+<4#\EU6FT6= ;J=X04EQ#%7';P:3N^!?910,[:]"WO316'WZEQ!:0-?_UP! MWIYD.&2 <\AP@UC ;SI+=*.<']RF\$(H<@/-QP( )WZWE3J72'LX,32M4TN5\4'P&*YBG#@!)YG8:G!+C:#L(>3 M\T(,>YOB_X#LP'G.W9!K1,EB>=>1[Y"*[HAHB*XC"34EOIRS M(L3;Y-]WY'GDVL+SX-SR?WP=WV$J^A4963I6UR\[-<[14@JTR=JICVX#/US< M3,ZG]Q78R>W?9>R[%19RL6[5G+JOM=C&[=]EV+P5MG&Q'DJ:[>PNE XTANIE M0_6RH7K94+VL,;MW$3PCW_+#>Z;I)1$;3KL.=*;2B98P(L/!H06B2O?>W)9 M(B9"T1#2M-F(1RVJYC?GIV>G9\=P(A95*76"9S%IB^370<0_ MG5/K F%+79G@640ZZR>3@TB*QE;9'W![ -I]"$2JE M>3N;42-4S^_C/M-]W &\S6E=3G"1;. &R0('T7QQ:X41EEWF$;2#M#&5R-;F M2@D?"VBW&,XCXOJ(D+%-+1!Q!=EAI:T[, :?*QF#4DR \L2.'01Y2K%"/R ) MWB525\:H':3,JZKOEO<#XV?Q[XS"!Y;],7'SD/T1-Q M'9?Z<8(WS6J-!"'=6%D04Z57&=L&K(U%KGR$YQ([L]L"0E:Q-LD+6#1 RJN+ MB>]$5*>ZEI=]'HVR]I:"%#*;:(OC#'H[FF73E48\$NW8\>X@M MFW;[&N!P<6%1]%W?$K)'N2>$6Z7:C%'&#IIG-I1-[&G91(9I>B]S_1RGIC($]\5@2 3&=W=,=! M/UMS"N04NW.J(KSQ?([1G.[U[K#KV^Z*?L.KLFAB0 C63X&9)E!MF+59.2L( MUMBVV07XP)_&4W(8J=<=@FU49)L>8M#,XD;HJ+@E=5$D51)%C>%=]I=J3!$: MT'ASMX'RVF7N+I,K5F13P!UQ\Y[54!0CTK"*$TV@C%Q'RTL$D\9R$P_1*L.^-++\ MQ,A!6XY92!7V8FV'90^,;K;@D9\ALE^U[ _-!$/Z6,P^J4A%4FF;1B$)+9^= M TC96-ZM708:"'"48@2.=9R0S#UBY*% UPE:R09IEZWU'YG0Q0\:D^\\Y,RI M^B $4?I@AN3;GEW01)G%^WB:@_;KB#4?V^B M/L:-/\6\Y6%F;"2;P0YUP&^L#R;O0G.PCT[@CUV_HP(Q>3J?/)X M.?X:,1I.9_\=69BI-D$B5<-SMBLGU<,V+9&C\#G:!9@-/$I M$(B$C]:KY!7DQX!B//'M8(G&3R0^?>.&S!N:J5V!J1Y':I0(X,P0#F8N=7") M,"R8:=!UTE_#BR!G53)H0^-9 CU%\^IUA7R"SI%/^2'RZ(6MN[[NUB(WA32 MQ]H$ZP3@-;3BX*.X>==7ZUIEKH@(T+@KP54859'TZ/HV7XL\EM(!&IL?%A:. M"[PZ%\&22:.,PZ+&71Z*MLQ<$0D:=JDYR6MW&&4^I2ASG&2-OEV>GK;$2$V* M-,S7*@CR$C$K#=/E<6V+W*Y&G%8#+9M 3[K=)Y)-KWK7=O= ]0[DU;%JE3.I MN,2E"^-I2!)/*66,I&?7>U-=X>/S2()@)U'*&_2,L#5'<14&Y3CC3J^N-YIF M6"- KA.V7+NOU%FB;M,H.N-HUEFB?'LA&\7ULH-+2_>HSIN&-&E M3FWF'0Z>779?CURZSZY#?V+OWC^$@?WC'JTB;"^H;YQF=_ BU2(L*Q\4= YG MUUM;LU+8.3D[$?;XO>![Q"YAQ7>OR!W"2S<,D9.]+A2?P=-?'K%%-WZVP!DW M/D/7VVNS E:#$#!$8WLM(95[^@N:SC+@JVNOBJ-WO5%O6"34B !#'.C^LYKG MJ3!2USOTAME<1+A5EK)<[VI1AVMVCX)EUK%W,&/[-G8<-P'TEMHX5T$#-#Q[ ME]G;YD2G82(U+&YTGA\HWA_+XCG<5NV&"*IGWPL1@';0D MNA/6L-$;HNL@CT3XQ!>HRY!J53]O,2A5IMFF78=P2@@O!Q[VLLF&_#:5K+97 M=P5*KN98[2ZDZO=::J()F_/Q^G^@UM9RIGY6,1PJ,5O6'4*]HEIB+F:^#.VF M[[#G7OF^1HAL$>"H4WGS=E5J];M+Y9A 6V4WG*L!W_R(Y1>LKP-VN5W_:I0F>M XS*[EL?G9#I:S (?DC3"X(V*Q;S[&E-CJKQMD$40N46BYWA:WF,3H-42^LW6; M0C=D,YP<'AP2TEM-Y>#0YHY^&1Y.'1Y.'1Y,AV(*" MN5>R!YE>W57<5D0H7ZM(HJ?;K\#-C>^D1RXQE&E%K+C$(_N"59SCA'=4.H&( M%ZCS3!4M:!N+*?4>K-#UYS&,WY$[7[ \T21EC/F2+$N4;8W7FV+!PM,?!D0 M07]-ZB,*F^/K"_)*;-VTA5!0NS;O-MA 8U""61[8)$LO?25#:OWD'2%4UZYL M"N6H-7R2D0;KUQ?Q'H-[Y*,7CG43-810.%O3HHE0@;9DI%IY4P=P(S6BC!K] M82#4XS9MQ;B(0N-X>A/J.L#W8K>DT I"Q>T*_"K@ 2!$N:FBA,CF[MK%@NTQ MR=6KE2:%ZX4P#P^.=T.8R32C>![Z<3/5:#W7OX\RL_4ETIFI0+6!71;GE+3O M8O%10)*DH L+XS55OC#,L?81:C%.N99"T V(;>(*UPXA=R$'1 M_4R1[F<0#F,KT?T,)-T_*]+]RGKT(&O*1!X+5]3AA)8%DE=(GD7("YI MN>B5,PF0LVJ837G/[PLL-]88]=:P0>$>KZVHNR55?>'\+.J?I: M+,<*J70&J_HG";.!,0DCU*X2CK2J- R,_3TMR5L.R&?P]H M(5?G?#!>W(WHE.]PE:CG3U22"D&!KQP>L0 9HD"*9 ML2UNI(A<4=TT- >$U$=3[D)5&D 3HSZ^W2DHWUA'1>CN\=K,;=UU7E@=F*38 MB&9FZZ>2S%8VT2@WT\CRG5$\5U_R6H4N'Y%EMY;V&F[R"V)CBO0>;O/OXVU^ MP+?/-6_S@[M]7CP4T#H#AI9KJ*$FRI "R1S-8T7P)[_J1X> 3GPI*(B$KGW! M;D#C-^G)H* MS/- \5F@ T S(@+V<45"VW+^Z\(N\1)7H21LJ6T%ZAS)04& ME2($@%5BY5S8/BG[S3<0#FXU$./?3148J_8/<4W5YYPAC.,XQI@0%!(QIJEB M$:G/*B-!6+L51:(2OM!B/1I(Y-16?1G8&0["07+S@K"#-#1I$ .NK>QAG 0; MU_;P>/:[Y47)0VB>%[Q8OHUVY3')6YFL']<4<%)_& B'PA7YJX\L-*X7=,Y7 M)'Y^B=<4PL&O*7T;(P2-0_GSZ>E,<&AT]6I[D<..A&))8X_6A$FAD\<@.;2( MF]^C,,(^N0\\[YJ;V]'>M!".?BM*3O/$@2:% @SU#G=AQ$#:6E *)[V]X?,[ MS0L4;/0 25!GJ84=9)H8$3?-H2%L)P&)FR;U>B)NFZ#K':*@L60:NK5.7TX9 MVS:."N\X&1D10M)210^H%MX]$8LAWTV>%&56=/8EZRW%8^*+U@C%T"(4P"?O MC>I*XHISARJ.U:Z7+7ANM?*FO!+* -+JMJ^%,J672Q:/T]SHE^>![VB^>W-< M?/;BOZ>)-6Q7^+Y^I)>%\M)%A7IVSB"QFWE)\6'X@BO+"RLHB!N M!B?%3D[S-(6)CT57279H%6%[P1XAF&,4FX9=^+@9,YI] 23HR61LDZNGCM$^ M\RM76N#HY.SLH,'RU:H5%(SSD(ME$Z_:DI!Z\5A8KV>W0>?9E[HBMGVL-H\( M-%^RH)[/*3)T^XZ2EP&2KV79FSH#P,GH++=*5? #Q\\UJ-+\3FD/("F>^E(J M9N$.AOO&,Y!VJG$^FK=;AIY90)ANZY;LW/[7R,(6M1C\ZQLJ'2 <;2G(:N[A M!0DZ -CS0($/W]@>5I[76V@&X8Q(DQ5%) PX(:2;IY4\6Y$UDT7.,2F'2X0+R/EU 'IX3?S<7NH_TZ GN0G=!/=V4 MO20NZ=#=E;IR-*2A/UA54'?V?S]I;H3V$RV&5R;^+3,.DOZ/;&JH[ M*<>GL_.(4" )^;YP[<5O%KE'?T4N1DD&$H<-&GV[='65)2SEB 9>L%/('I!' M;2-ME-PRU$LA.])-(6.S?=A,-V20#>?\W62?#>?\D(+V0,_YN<;P>X!_($QG M7++ZF^)0;TE;$(%>M:/$$DS,D_AJN?*"-SK=IO;QK\A'V/(VGZD18V]?;#X+ M.5!]*'B;7BF#JB/:!O\T^ -A@9@00C%C 7X=E&2'EJ)&G>Y4DQQJ@Q'\XM$ M37]UKYJ.FUL:[:HC=(LS$S%$.QBT3A9[SS+G_K\0\+RYD"T M/5]&!*3=0:$5"C^^!#H4SC0'HJ6U*9Q!H1T*T^9:4ISK $0UZU,YBT3#!R(] M3^6H?+=@2.78MU0.P*D'?:\E/Z0>P$L]V#DJB%\QH_ E96'N$)Y0F!U4J."H MUQ5>W$5V,*>.5\-G=#E DNFG,X;'=>1Y;_$OR!D_!<\9*"_H)VS-$;?NIJE! MX6V?E/E9$>-6.3V?8S2W0L1@W'P;0T3A5..KRA#]RE;0QZ]-GB5Y1]-9QOWF MG9PK].E7$H,"0FVR@:.MZ7\D\-D?@>?:NT]55AH!0AE;<^:L@!Z W(:',+!_ M+ */4H!<_1518*C1I2;7?4;5'IT[*5;&R<[Q+Z-DEN0MNF2B_KTY]V O*'L] M-)T]+"R,SBD83O9T;XPQVR[$F1SG;]LV=]8;^V[,"B[)LB ,CM_)=1ZJCP3E M=_A-X"0_&.=L[L9/#FD ^\04(&D2Q&XC('D//"'C$1O0Y<0*Y,[?V/MR=OKY M"YS+B'HLX*+20%0Z;\48#*R%."@M;P\AU80O-YN M!P!\Q2>+GWW*2*[,YX) M25S6 4+40D[C,@R:=KV9![6MIW2'@SFVEM0-$M.\O N$V(*O2O?\4%M1N8!X(2K\A MN31/K+W19>".4X2!RX"P@[78A14&"GM#L'"&^.J%%-H+%Z[*H2ZF5NDV17&Y9*5 M4J/HB.+E"ATA'/778:L*CM 8FA/%^*49UY]3KU1X)"CK "$1P-BZW,$-9!; MV _=2]>+6+ [_G4:PZ3Y3,Y)L<:!(!F S?N7 Z\LS-X#)*ER5LL,,#-)%YJA)N3G;_P!)-D&C' MAUN0PRW(X19D._N,PH&9V4W%#83$'-,DXJ?GF-&"?F&^[N M\+15/#^=119.R[>!& !KX/;.#M8 ')SJ2&YQ\1VE6RG-3 4E*L:3>:U#3L 0>-NWP-OP MDAR\VR%E(;?A%IPLS/9N;\&-O7APY/ IR M,*$J%^%GUV9WX\:VC3R$XR?=$G2F_CT*78R6@J*.74 !(;_=K 1V1DIHVC#= M1ZXQX-/DT7H]1S[E?9@>>J@925.#0TC$;T8#FJ(0-+&J3*UU]O8T"DEHQ2_= MWP>>1Q<6^]&TN2V9#,+U 6"&MX1B>RR&W*>=&YRG%X',6JNX(8&$^L1T')N= M$!(AYS+"&\28EA-LWV2PLS<<@M+R)']*]+W'MWRTO M:LH#49MZ']P/)070P,:PA+0@9?FI'.NG\NWPCH&Y1XS;U JR=W48T2/+>T1X M*3V%;QN2?7 XJDEZVY3>8\'/K_$6Y+LPX3Z$\+H4XP)!04IK#>*RY :Z2GV' M'4';(:ODR;YJZ\!,??I>YZYTY7JHD_?]R74'8;ZZ0/4Z?P;N&NAA *2&==.F M1]O^NDD >YWZTY7_8Y(!(%=/H]ID\V9R*W&;&O#T^D 4KC41TKL/]4/89=6J M-43XQ7X5:HBP2?>ND$B2I+1](>$;I1K>H30Y?\L?_3 AK%-=I.ZD0\D1PR5' MS$C!4(>DT:F&.B1#>8BA/$1#>J"R!I28@T9FZD\)"_-&I1&"]ELDBUA5L$PU M9P)BF!I "GQE9_!9-+U@8\L<+T[.;I9>!Y M%B:'AS\?'3X&AY]^/C@0>V2Z(\#US(RLN(UCIDN7AJL:R.&A@%!XCFMPFC," MW!29%CG-H4N7G#Y.X#DY^OE314[S1H";1=(>IWETZ71-)SJF!J=Y(\#-LFA= M>S?$:8 ^Y4VENFOU)X-6B\T4^73JL]7=R_>U:)M9#@0O"*]YL73U;G&8FG+O MO"&Y6#=*R[W6MM]6J[:%M3#EWCET[0EK@9:=E*NK"'PF32%-H.#??&MUYKUS M.KG2V"I)]UJ#)CG+TUF1 &TH4]GL70:_.E 6C2E9&8U!BG8AV](8S153+8]D MH@\!NB[]8PA+ P(/WO?2R74Y1W/79U0ZM^APMN;EO*Y [-)O?U>+J(P1O7+Z M"[<:6W/Z)3/#OC?M$F8P[\#IY\V^7TY_J;)HW.GGT1BD:)NR M1D6$9=:H%4]%&Z3]* M)QQE9MR7ZT3#N\3[>TEH>)=XN _$$9OA/M!P'ZB;^T!<+MXCZ@*Y[,IS/!V% M8.>;;Y3NY/[AFY";VB/ S:DPRU5MP@#0\G<(4\]PR>)AB:O+97MI:[B9".98 M7$J$X6UG,Q?CAK>=A[>=A[>=C=/3>I73,_][ET:[C)YY2 %8T5(]-KR5;; : M^?!6=F7"KH.1O]*&H>CE@/C'2RM$F]"?:>&L"D4O-A*=5-C7)B7(DY@J!.#% MIZD;?XO"1> $7C!_:^I5")V9>[$_:E=R=A.#,*8/&1)E/W7V<'<9_F KEL<+Y>;]!TEGI67!NDY[L1U20V>!W@]5>LG<@= M:!N(7F_4P FU@,C0)+VR<[0F>/*(0QKTWGA,S3YHPYNNUWNSJM+;'#D[N96G M3JG-BF1/?%_GG_@NO8)7=QJX]^VJ>J3-T6K?]-T&R_2*59)^UI"Z$\X&\Z*< MF?5K4L$)"0A/T]8'B9J MF9KO5[0[%VE T:5.=$DWHM\SCT!7C#N! $Q J3,Y[H3L('5W%0)<_151-"8^ MI6L49Q)/PP7"CPO+5X\"= 5$KU^$;>;4JB(EWZ$X)YO5[B0YG1^,(]*Z]FA9 MX%."OQ]9SR?+MR[JN].#<57V5-)WZ?U^!%T:R6M_^EX?D_5 T'L1(VP$R+JZ@U: OM/:VNCBL*F(?OG>S*X:ZS]UO20'.C!V^QP3ZMZRXR '>Q#0=] M9=M,E@X-;Z7I ?=.(A)PEYD>N][/&FOUZF==:%I=15_V(SK1L^NB;1G:^#87 M%#]M%YC]CC14N^_4 1M KHTJ66WE+)G/,9I3&SCQ0^SZQ+5C$B3D,9T;6Q>: M_8X/M'<;L"X?0"Z/*CR)_\>P^_VU#R7N TG=K.:]60Z MRU:DW[PSP,G"EC??[]VALB"4$ZIAIM)9;8H!W11.9_&,M\ABT#I3/X8B>64, ML4ILS^@Q^!4'T8K!RGVLH\Y@O;YK;%8@ZI"Q.W&YH_]'(<)+NNESKNX>].2C MV+O7]]Q:$X@BW9J7@%1-W49>Z*X\%^'K %\&GF?A2^0'%!0K+2$21YH*_G2- M<7I]W<"X5%2A8//RD92#^;YP[45,AT7@47+>HS#"_H0PFM$OG>]NN& Z*U9? MM'TLV)<;63Y_H]*<09$O0@U-U>N<(.-2UA"1.[F'6'A/*2;9A>79D'T[>61HXL="SX;4 M>V7[]."P\,IV,N0H,V8/W]%.D+A'*[:R_7D&&2I'R8^*+V:KC]36FVP75*@# MSW5B(.)C6<$[CJ*&(%_'UN58^JZ;",F.'LPK@L-]Q%K>%, KCW(A$Q/?R$O2 MG9+_C]/CLY,OGS^??/IR=/SIT]G9X6D;'$$SBV[^FV,)%RT +LZ4*@V+K?CU M(I>_)2QLW?5+GF6"EW4PA$@ 8$?\PL7Z[<(KSXTC3Z[@E7;%/ET_"JK#FA)4 M ##H(:2N:>P01\3U$2&I$'&< ,4^(!]YKN(/*.(+@8L)0%SC)&C3L5.@)7\Y M9N31,!_0N44VW>VYMN6M:Z+S38B\*8B\-9Y0I/$.,>CF*7KE(3O$2A05-P61 MZR2CJ!AT. J"I_]NRIY_5NK:X0//&J@)GG!6-PY]?:PY+?^HV?D1\+BZMN?0:3/563(%@MHY/\5!X31^561.BD.E8YZ_?4S(LCX-^8__#U!+ P04 M" !$@EE2TS)UR,W? #SJPX % &9I>"TR,#(P,3(S,5]L86(N>&UL[+U[ M<^,XEB?Z_XW8[X"MG=C.BI"K*K/Z,54[LQNR+6=1YYH&+F!_Y_? MO/_NAV\(]>W SL[^>WUT3)[ /.^K' MQ ZI%5.'/+OQ(WD(]GO+)Y]H&+J>1\Y#U]E20G[Z[H_?_>E/[W_\[O<__/X/ M/Y*SLX32N16QGH%/.,D/W[U/O[E(J ;^S^3#]Q_^\/V''SZ\)S_]_/Z//__X M)W+[*6WXB4FY<6M;>J[_V\_P_]:,)6'J^M'/+Y'[G]\\QO'^Y^^_?WY^_N[Y MQ^^"<,OZ__#^^[]^NKZW'^G..G/]*+9\FWY#6/N?(_[A=6!;,;>5TOUE'7J2 MP(_?I[Q*6\"_SF2S,_CH[/V'LQ_??_<2.=\D(L+7&DQD<_C6K6BOZ"+:G]!/ M;/#^IY]^^IY_^PVS'B'_$08>O:,;PC_[.7[=T__\)G)W>P]H\<\>0[HI9NV% MX??0_WN?;N%'!5U_ EW?_Q%T_1_)Q]?6FGK?$&CY^6Y9JL5/.5I))ZZ.EJ&^ M'TV?!^9/M)52:D]3FL6G6L5-E8DQ_SI!;'GM?AVE9V/-! Y!YVOV5TY!^A)3 MWZ&.5!%X5I#F(F4>"K0#.T?0 Y0*PE.318P@)Q91^[MM\/2]0UV S1_@CS/X MX^R']PD2_0_VT=\O C8YS-=1'%IV+.EQ+?[SFZ+O&UH%9 =B\S"O@!7:DAG[ ML\8>28OO[8 !W#X^\Y)?B'??A,&N6%3!+BCX\N_>NL4O+'7)*1+2*#B$-FWT MTZKRE]DZE9&U@+F:^F>?[QL(_;\Y-?)%TOO__D/P;3RDY(C:6-&:\V&KAJUE M[<6PHEX*ES9".M*JE8+A5MP"X9BK$;3M MP$O)D2^<((:1QR"9+MF?49T)U(93&8$GRA6.PK35%$;BJ; ]C$8@2CC5DR'9 MBV:QNK@;6[VV3M9XQ7"9; \?&-V"2>SH:Z0^5*:(7"ZHWR'TEU(1VPXC28P MM=&'TMSW#Y9W1_=!6+0&+6DV@:%5I-CQ$%/;(!]JA:)V'G*"*A%D1Q][MS1T M V?A.Y<,2"MT/VXW@=%7J-KQ\,LU0C[^BF7M/ %6<+H$B \_DP:6G[DPJEC M+006-)W 0"Q3\&2V/6J'?#B6BMM]%DXICPV+"S]VX]\FU0C[D243N.NXPJ ;(CC[VE;PWT!?!P8_#UXO *1^*=;W0 MCTPMM?,#M;(+ZG&K)WG'89QC,B.<#0E"DK BP&ODL?U@O2P=MHAP-ZZXRJZ9 MR,O;HQ_/-:KF1W))8]1CN$[FCJ.7D2=Y^F:6 G/'8;:+DO_ X>C[4I,4MT4_ M5"M4S _3@H:HAVB5O!V'9T)S)O\@_ !_Y8^-J*H4#,VLVA6%9(&U?@Q)(PTH4 MB)L9D'PQO IOP^#)]>WR;55I\ZD,S1)%"\?G4=LI#-(RD?L:J>FF27(P,UQO M@RBVO/_7W5>> 90TGLI0+52R<*#F6DYAF!8+W-<@%=0)(S_NGAY@?!Y2JV10 M'GV->!@6*9(&9RK?(1UJA2*V#LWD0XM1&WP#G7MJ'T(VO-]_6#^X\4FT;TD3Q&.L3"$YQHZ_ M1SK&2L5L.\8X%1)LR/L/[];?$DE_M('V$%KPB.W^=;<.BA0^_A[Q$"M418ZO MW)=(!U>QC*U'EJ!&!+G1D6OQ8C\RP6G)K71),\3#JTJQ8Q13VR =;)6BM@ZC M3H@22=7$K?2OU//^RP^>_7MJ16SN=I91=*BXN2MOCW@T:JF:WY&6-$8Z/O5D M[K@O!?)GOP%](AD0P6'D,?M+X!W\V IY:%)X_+RFJAWZ,5JB6GYL'C5"/2;+ M9.TX%E.R1- =>01>',*0^K&(DX152&S%A_*!6-H<_7BL5C0_+(O;HAZ=-2)W M'*0)=9*2)X+^Z(%G,877N.X3O;1B*Y&JU":ES=$/UFI%CV/,BMJB'JPU(G>. M*DNIPXL$2XY> U'@X845TVT0OI::XK@5^J%9J-9I.'C:!/5 +):TAZ#PD$BJ M(X^Z^YWE>>>'R/5I5#Z-'[="/^H*USVEE^.>66MT8_"2C7SH[&P*>I162UQQ]$IB1-!G23DQP;' M1[;QKQN=1XW0#\HBI8Z046F!>@@6"MH5%X&FH?%V>UA[KGWE!5;Y)B7?!OUH M*U I/]B4!JC'6I&<'8>:($DXS;&/<8+=#M[I!/9O]X\6L];J$$-*0[@**C\S MJ.Z$?BSJ*'UTL%/1 _5HU1*\ZR$/YT$XDQD1;(C"9^PAS;;LH>4M?8>^_!\XL\11,Z1#L4[:SGDE!&$"E DG;6@XBHPK>@,RWW8R0[) Q>)! MJ32O@9EDXAEW:":'ZYG3E2>#JFB*>*9B&89>T0SHL:\5M'9Z= MW!6J:#EZYUG%6V CK]'//X*59&#+OAAL!M1^3RXNJ.)+2) M0KS3 )7CLX?LS:O-E>M;ONVRU4<@\J*5I*QOV!7I2&YC@,*KZ^7E_&%Q2<[GU_.;BP6Y__-B\7!O;L3/HXC&4S- @4A\/UK>7%Y[N[Q:>J/7(G MKU55=>S2QHB=N5[FM@-74":2=$0RXH/XZQ,-UT&UQPZNK&7;D!4V(F%*>T8\ M2!QG>5[P#-4[R28(H>RJX\;$"]@J(8(7]O_VT^R'?_\3]_-_^^/LIQ_^-&,D MHCWE#P2\UE?*W7W]L[_.&2W*K%9BY.H>R/U=0UW5XRN:(_9Y':G;.H*D/8+? M%]>2'5OA:^;=9ZG6!0!@9G$RRF_<'N[^].^_%V#W Q:@N^&&S+C[@-JNXD<:*AX>Z;KX'WY"YN)+ M_XD9) A?;VB94Q\U0>[&10JICJM^C]A5"\5L?=$IB3^2.UD!]U?\TNB%VRR;2MQW<"0^2,.$3 MAIAPC@[TS3CRF":@@DG$;1 'X/'^\FNX5Q/I6Q]F)SS(LPOO:Q,N,^'L?,(>UN'WLKIHY;G^"(8XMSR^ M=+9B0L'=-T2(-J#6][$5QHCT7M.MZ_MPAS.L]O7W.*,,_"@6R$ZCV-W!@16A M5@CJ1\3U&?C;L*=BEH"C%?A4=Y>EM\D:ZX0=IRV1!*KHA K@GQQK5[U36=_V MNXP;9;T:Q):G'772/4LOL"-V$E%C<=HFMZ !FR7BUUNF39*$)\13I[/&BD#@R=$PRI]M[I=W#W\CN=O' M>+7Y'%$.T"56JNN#'*ZT5%;QJK(#8L#2D[OU=8ND3CCY&>$,SH+-&6,A-LIF M(&M8M:\7\_L%N5M^_//#V>J*=5Z((%=3&YF!M06B))2_[ %./@TOKSX&@?/, M]DLE]E"^1HY#QXJHD"._0XPN)R*V'6.2T'?F3M)ZTP7C<=D0RN7.Q%ZI=7(% M, [4]S<&5ZO+7Y?7UZ90O'=G,AF\$#/1W;4GIJ"(+9T7+[9W@*17-=BMV14Y MKCE?$A[U).1++ZUE1$Q1A6N&3;Y.756Q7NG\?S_TNZH6%(G:5O!SOZ8+VDAB@Q664'Y+Y>KZSJ MX>6M$?NUAM"M4RXEI(F@31AQU:W->/ 8^L9,T>)]U%@+CB&U7%PM[NX6E^1A M_E=B^@&V$@=SP]RY\GZKK"UR#*I4,7>.5=00,?)4R]LM3#B%F92PH<.J871\ M^//BCMRL;O+OL$U?+U=>!N)WM+P2IS?)B%WI2,!N=\:^P[-=/P:>PWY,N#N+7VMRGC3HCAP75]N;B[_QV_ M1'_X&PHXT$MZ5-EA.BZOD?ZHO/4TW+KO%$$*:3S9D ;45R[%%03AE6=.'1Z8SG:P@T?0 M(C,]'$.LJ4\WKLF3N*(7;=("K\W?0A=T1>[K30Q0]QKZN!]BCV\D?M_OH5-& M WF^?NJT4M"O>>>)Z'=Z_01#&NXZM..KWX0A=8,2B+=3;+/WH M$,)/=4R"? #74S55F*6^.>+K3D;KMV ;:)"5.$NJ&%[5#*BR7 MLQ'C<>9*)H:CM;3WI^6MD3MJC9HG,5N3VH'62=PM;@O/9G-8/>49KIT0'A&LD=>\EKW4WJM:_[*ND_%5S)\P'PH#2^I>]10@%!V#Y]<5<-1@L-_:T1)4=(CE/H')!K]D*.4MNKE"5(* M.B'&+GW9>TN4HAR:&W]^,KCV(E^*$O2&(U'*(*JF<.;QM"DHUE8G#_V4)66# M-[DGO9#CF*;:E:]S\UT08YBNY'V^T\WMD? \UAU*J]XRSH@1ZUZ9:O.AJ>QWJH7NL<38N/KJP&UY6]\LZTB"F]55*T_ MT<+OCP7JE)R3(O:X(BE[.!DU?B#:UR$$AE7Z1;#;N3'D@X7G@Q#(P38JU+?+ M_:BZ!W*_TE W'Z%7VARQW^E(W3X>+Z4M:H^KU(=)I*@1?C2@OJM/GY8/D!U: MO'J]6-T\+&\^+FXNC$YWI^]\V<)1R'[OH0PPN AP"F?PC2"G@, MU=)G-J51W1/9WID@!X=AC)J+?.J5 V((&DC1UO%5BCB_2U[NST@J$DED(JI0 M) Y(7BPBY3+^6AB;>0M2 1A\8GP;)H<5W$R_6-Z!EMBQN"5RF*I0[ZBTXG$S MQ(!1)6W;89G2))SHC'"RS.^CZ$"'"976.$D;5M-(:/IOW_WPGNRM<$;^,/OA MAQ_@?R1ZM$+(77*('X/0_1=U9L0/?$I<;@Y15/$01S'[@X&$V2U)X-?Z;D$S MY(Y;IMCQCD-M@]AE2T7MLK=@DS F9QU*QQ,W??_#A]E/?_QI]M/[#T6.^OOW ML_KLIQ__,'O_[W\4GCK[_1__,/O][_\] M<50L'CIW'!?V"99W:[G.TK^P]FYL>0K>E9A2JR-R#]97/I=%H[878@]O('SK M-STI"P(\X)U>PF5&U*G=4+*-40T ]#+CXQVUJ?NDD?&T(0WD/M_*)+F3G28$$*-!.SU:'W=(;H2Q(Y(? M2=./9AP'?R0.FY,O""*&-:\-]Q\2R& ?_/VSO^;BG*JK&N6""W+-Y#BR8$L22 &C MBT$ +]KT-PP73F ?(#*2)PSMX\N:[RA\ GAT0ZQ8>&B3$M M0E4CYI$,BV!T1N8Y@$979?^@J=X76UDVM=B^#QYI=2. E)0Z& .N5QMV!WY:K6M M-JVWN+H+564-PD:V!_$]_I8P;^)!0<05CV\=L::%'/X>C7DV?Y$X^2BIL2QP ML)8ICY\?7?N1N!%K [%#D!8@(&L@[GGBWY >G=& >-Y7:H6$"0G<_2#<0;;# M-!.,_6K#NL 5M8AH..YR>NS?C_,#VPJ.9+4ADN>L'.?'3NIESC+%>;/S@W&= M&JS"!\8^V3%ALEN/30XQBR3I$NS/2 MR;2=$G13)&'">V:*)VX M9?L-Q1M$?+#!C7C>(ES]:)X^0= R8T&G28%!F=+E('#<8S+.7RIX;TXO.)", M!09''U#MQ,%/'N_@\FCQG*J!K=(.$_3DO+)U7BQ:3\R#CX3NVWL'?'W7RG-[ M5S?OM6ZANF8]=I6]R6U@J'RO"?IN@=IU#JQTF9@7%TG>MRNORM]VF_/G813/ M.S6V1^T-]]UZ/9%[> /U2U[#3W"[W43Z?M[,(]QHCV@$]%MLQ1::^^OJ'M-Q M>IV==47S:3AY[YO+O',CV5"/H#"^K?2)TI7[Z/+64_/8\AUT2=,I>6I/F\DB M+QTT;XUF%>9AM$U>J/&Y53CH,"]]M6LN3UO-YG#;[ZC%=?Z1R],BU"TQ2W%+ MY/!:H5YIZB#1##&L5DG;5_(@0=8IZ>3E_6%R2^P?V'Y'1?'5% M5K>+N_G#DC4PF:3HB?J'TKE>^1KYX#Q6))]62'R'>/B=B-@^18X@9"H'4%]J M+'Y9W'P>)AN'QK/5OG\.D\J%*^0,2I0%BIR^6LTM< M,42_E@RYL?;,O:JTNG^ F?)^N,F/*/\F<%'ZE/0\N;^\[< MV;F^"QL%R"F\>-E3/RJ;8[4[(T>.9D;(I0O4ZHD8;QHJT#JMH& S(PDC_N0E MSXHDO PEJQO)#HOKZ^7-1V:'Q0W;*%_S(F#SRT_+F^7] VR5?^E&^R#B:8A7FWD4T;AL5UW7!SD$:*F<6TY4=4#L\'IRMY[4 M&'7R#NA_"X]3%1:PBF>3W9Z&\2NY9>1CGOQM#P=3,WA0F=3.6KD"'#Y:4=8> M/GAP=VL:II^9ROT_L/WFRQNRNB'W\^L%;!+F]_>+!Y-5J^5+7W&46)#2J;HE M["?P@KV"R^*BY M@M'IA]P=M557G;.V$V)7U9>][;A6.:2^FS#YUGCAR>'U%]7EES<7JT\+IKA8 M6G]KL)KDTG^B$:\N+!26U3-+K_!*FR-WYCI%\U>KQ6T1NVZMR*USG*>$$W^= MI85BS3CI@)HF]6]-3[E2D.K3KM-6Z#VP4*V\X^6:H/:W8DD[)>?N.5V1_BZR M;VU25Z)#'J+5+DBL\^_OB\QYGC4S+YV9E](>'86')C9UYZ[Y5(8"O7Z&BT[XF$RI(,MW?*7'?;5=4(^ M>^DIG3MMKNR!>*[0%+Q;-N'* RTSJ#&&W@C/HYN>Z>'WU49N.D4/'6Z0&G#+ MNMWHT$CD)EK2$BW'?JL#]V!7;#R+Y<>!:9U<:K%)_YQN@I"*=@_6"XT^N7X0 MLK6(W++/?2=/1=1 ^T3CQ\#)3@#+;G_'E0 YC!CX.4[?*8W"'C'4F;!"^],[ MY4Z=P& BF< DDYBLN:+X@$>\#7RY4']D.*&?2=PBGB^N5G<+>:?X,/^KR5"]U"[)W'9.?5H>SU_> M>A*06JKF*?R=-$4/5>42=X051EC&UI)W"6U#.Z6A-+T-@R1 RFZ=WJE^7]&01ZW08ZKA2KE=KEJ \08 M6BQGZ]TLC?.!CF0>QZ&[/L2\)D\<0&K$H2K0UD=-]:YK<0#&2-OT?K59/"1H M80XG%DD!%YF0LB9PLZ(Y,3_:C,Z XMC:W#T.IA2M5\K.NEZQWBTH2OY:TG!C]':E8!4-)T0A!T M+'$7$'($+0E&UH:!PQG;V*/&H[X,D-#!B$E#J(@)EWZE[O:1"39GMK&V].8 M;VQ7FY-J&C5;F!9DD"-96\.H$->4!F+L:ZU*6X>1#$G"D0B6$-]V6H!F1J1_ MF=Y&C6XGOJ>Z)Y_O%Y=D>4/87NOV\\/RYB-!M._2-4K5?JPIC3<"+Z7[MT8$ MW@"P]+,Y:(@JG"EN('EC>\)QU4Y^\T/$5]Z$+;WW!Q[ EI;@3M=H9^NBL6 < M0Y-Y3[>T7W,JT\31.K-H(&D9B>EA::TFXZ[14.'I8+89:T];>[TVMN)-,-4I M'A%&ZC!=ND^N0WTGV_I3FVW3=8HR575%CI]-#%!2KJFT'V*D;"1^^]S%:B&G ME,\LN_5CGR;,C!<#&LX,E\M?EI>+F\O[;"^*[A@L+9' EII@C M/OP-@2L( S"(V <^A$_/7]RRH+>Z/E,9^E4J%P[YH@Y3&.J5.:A&O$C*J MY O0/3F)'?'6-:_F9;"S7+_LYJ>D+?*Q6ZEB[KZUJ"'BL5HM;U]CE'P1A$U% M79E5TLA&ZQ.%'6C]BC1MA]P#2U4KV2^)1H@]KUS6/G9"Y(L@:LCCAE4.2:G3 M2AJ)$O2ASIF'7,L-8VF,8!Y M'6X=^'^7_NE9[%W@>5=!^&R%97=RS:D@=]V69CE*A]"$!&)G;ZM)A_0)G ]Y M)SE^"S?:*M/?R50L7X Q23@;0@G$]C$'+**^8L6#_5P#Y'!PJHSJZ=FWB)VX M0,C>'NGS[$=)&;';(!2)?H_>[8^:_*C.8WLVQH"O^#5"-T=19LQ[4 9CRR@Z M4.?R$+*Q]36Q!"#'+=]&D= M><=/_ 1;$H3D8VCY$((H1"!"AIF(/#KC8A!5#N-O9\Q8#1A:;*CSJ%60P.!# MF1(+_ *9O?EWJSU/B;=XH:'M1J6QB6WH3!-KZDVC@3/E1*:',1JZ]((O1Z#" MV$,TE9H\*3 2VD8HD(^N9YVH+$'K3,'L811@1M]P QU82FB3$:QM%= MS!13F1[*Z"C3.GI%4AKN[81^J96WJ7\?*[*!M->%T"KCZ,#IQGWA&/G^0X*0 M[(/*&>..L@6G:\-+&M]AGS.I=B H[S.' [6/X>DI4W]4D6)GSV8#(.V)I&%4 M=0+[ *&V?+BZQ6#%G8;%J^3I9+)-5D\[+34JX-.,"/Q83JK- F%E+ M#,[_:>WV_PM&5VJUJ&TH4)-90,QZO4\#32J)5NF;:C+!)T1*R(6^.W!XZ44-:<0%#/%N%:O M.E(1DLRF.5N,:\8VTT77#41?4:3_."3E2>[$FNLA>+!>?G7C1[A"9_:\"M+L MF/D3\)(]6S>*2&>7'LV5CT]M30[QF4T?6K4/\DQYD[ML$P$E2!3^?$M?=@]E MZJC'I-F2I!DAM:G[)!)G>"X] )Y!$M!GQ71[ZQ5D)(%/H+(1:WR,> 9/E[D: M$-W+3-4-QEJ20HY?70R4.V-N00X=M8.MSZGP4Y+Z"68HMLCA M;RS#EZSQ!N&)&%9'4[V/U2);)1X_C'+3%T+E44NP/TYD)8FP\K!5$=?4>RKD M]N?[\,2H=L7T-AXTIVFHE'?:%U;T6&+ABN;(H;!.417"RMHBAIY:D=OG54S3 MJ.7SJP%U4UO'X;5%DEB P\[<9N 4 F!%L2BR6V(6S:[(/;6) 4IS$93T0^S! MC<3OYS%_&D8H.8&/1W%2Y]J4*?#(/D'B[V+S)_75,=!)CREY M=[&ZI4Z=;SX57RZ1NB\7EM=6DH&IYTA#ZGSLK3B.-91$EK#XN/*"YT@_=VE1 M%^2^JZ-P2:;2D_:(O5=+[ 'RDE[,[_],KJY7OYHMN0TZ\[KG#G7.7S^SO>K2 M7^UI:$%6\;D=LR5R[-*ZD=Z*$/+QW]XX1Q6^&U)!["L=E.GR6!5X$LF4K%_) MN\\B__VW)&5-,M[&G]H9,%.&)N3J;O6)K&X7=W->J6I^\;#\9?FP7-P;?'J7 M.ZN#@S;?=CV:JTW^$/0#10.Q0@Y60QJX]+R_)SZ( 6]0=7LZUT_%(BIB;WLQ+7['/XEPWVWBOV#E(K6ZE@9P:A> >Y._[%;R)6FZ4?,XNX M:X_.HXC&96E<:CMAAT,%']PR;W*K0KZ,FR!VW2*'ZH"^\+71Q2,3BB[].RC3MMJPE4+A/%?3%*F3Z"@H7_J4M4/^ M>J=6[ Z(?O#Y^QF;LX!PF!"8G 6;LT,DH7S<5S.#:7N1ZLA)@]J,N)$9>R0] M"WY+HVD2G]R(C?"K(+P,#NMX<_#FM@TCL")Q8E47I(C41.&CY(JE[1%/ZUIB MMQW+*7$>*RW)$TG?6$[%X30^MQSBT'52E:X"ZWHA1RE-M?/[C+2Q3X$;@6OG#T:N7-_R;=??0G"5WF'?21?D3JVCI&K;16J/Y\0?+=>'BX^5?V]Y=+5A M"Y0]#>/76Z8MKS:ZASUTB=VT.R-W[&9&4%UT_U.;?^@^W)/ MZ#7QX$D?&CVH'D!)=,_J3DO#I+$(R3O$FIBE1@20>VUS8U374RKKC=B[6RC1 M2L3+U@G@4,V2DQ)H!D['28WDG/?6<6/-*P,QV]- M;'*.WL1(U0B@0VE2T-!(H9XQ(^&=7O##-IFS'22DL N0C&(E:8XDI$<<&P3< M'O:!L?5CXS<&IY:Y@$*];$,$>2XO#E$<[!)[:-NVBL+DD*;6'-7P4MI]4IA2 MKT5G(+G,]LQ$LN-Y3HEDB Y#AK,*#U[@: $GC#N>T)M:H>_Z6WY^25]L&O%3 MR;7+2VJ+Q@X\.6"I,D+-N61!STG! M2:4"?9](\NGV^%P2#X@,8@NAM,^&)=IE1JKR=7;MTOZFHIC(]#!!PRB:=Q8% M%*:%$3J*#'9[H3#%?(4QK&TS1^%2XAMCD ML*2)D?1N/ZHH30I;&BDTU U)PIPOW!/V*NQ@P9I1;)4:9:\8Q4J,XI4;!=LY MB;3):Z<]I$IE?/+XAY/(N];4804 M*NZ)B*045!3@(=B&Q$ 3M&-C?'46) W>Z84;*%%AW2!G)>!'X'+4Y/T2N3R,&]&Q-*BI5B>]+ZP:V)#4A.&EJ MH#)[F(<>0G60*H77"$=%>KL ( M-<5)&Y+ #BXM#%*YHZOHCQE,VJC1YZZN##N&*7K:85\WI&&XQOQ5$:1_5I.2 MI$E+^*&T56(4C(?/G8_9\&-(MF12&$GQ""A+WL_ MF_CK-&",<^$[%,['_+'&&.J']"GPGGAB=$Z>;"R[,.AX/&^_H_MD=[;:-/%V MG7[(O5U;==7;:SLA]G9]V=NG^Y(RP0^=F^_I[X;A)=T MK>/BN<83\NM3)J&(J.94Z#C M^)>6FK7,*IHC]\8Z18LN'B=4OZQ6Y.X#=N"Z9NOA-=!+M=X//Z-+5F*NDT&5"J4KH8FHIZ M3 *@*@7O Z96H<-&>?A*4DXS(G@1SLP\;@UN D\@U\% M(5M:)7'VJXV^DU=VG(BCURM?Y.SEO2;@\!K"=Q[Q$-*3,>$'BHC\?4 +\)IP M)$RIFUVM&%1T?!R[HQXOJ1D\6"^0C 4 EJVKF T:59/L0&XBF-?64$5(V)36 M!/"QM4J=43/A#$L$J"ZO,.> .D[UR^9P.KK!.%F9$UK$@'DN/< T _7IGS,9 M<$1G<,1=[7EPZ^*%AK8;:3UK*>N''6=T52]]"%?4"3-R:,O>TZ,WX$$2)B3E M8CXV8PSE:4(7O#T0K-IX^<9]X:[[_D/BN.R#O\LJ&O,L&EV"W)'V]:V1.JFF MFN":-4T-.Z03V >0HV@MIRMY^W-)05M]MD#D[<1W@_AA$?Z,IJ9"G$CJ8Z\Z MC/ZFQGOK7)^).< %FZUUEA6+KAK8]9RXEC-CLSG9TSG16&4"?<,'[I MQ^V7F+H1 >3(U-P8[9Z](,:<%DJ,^,P%U>.YH6QRDNOQW4':)+MKQ_"4#HP" M_X,T*4^6)\Z:HCAT;0;/_#&R[^0_4%K>TM -G--?Y3H( MT4E!ON\9214@4@,"*A"A@QE\G]CO=+-X(,N;B[O%_'[!;+L0?WW+/B/\2>3\ MYE+\L?C+Y^4O\^O%S)(7ZP-P[AO2/R6P58+'@Y".;M.2HM_,I=LF'S ME6'5C% H7[TA0HD![7,?6V$\20NMZ=;UH9Y,N9W&@_A5N+5\]U_\6 -.60+/ M=?@_F'5NV:\C;P'2X%S+8Y:/Q=%'39:-OF@CA_Q>3:A"?R^$$4\!_>K7UE-E M(BZ.]:I(!@_V+)%9,*E(P4Q3=KI1U!"YNY0KESN0.VF%>"!7"-MZHV#);)@9 M4?+E@;[$Y)R-O-],I8KI7U.$_I>4FF13]"W#)+L^GU1E!^3^6*^LZI?EK1'[ MIX;0K>/E#KL=/+^ -^/NUG2R%VB#X.I3M.%'F*WZD6MUM,&,!?IZ3/V? ZI\4,$LZA1PTT! ML>[H$_4/%.(>BVK ULS&^KV1XU!#,^3S+&AU18PN335HGXN!\Q$1L,65D?%Z M0MT\W:#[M'VAI#N<)5SAU]SA<('GT&U4@>-;) "X[AR%JOL,+&1W!\\*T-9H8]@DS>:VC@\6![C7@2[M>N+ ML^&:>:BF"W+_U5$X=PA4T1ZQ]VJ)W784*X^-< W=S&=K3T)U.T]O.%<8H69@ M%_2\L_9AIXJX].H\B&D>9 MTC4S6%,:R#&@E4E4*&A$ #$BM-.CK3](;OSV8NFP=9R[<2W&D63,B>#.B]HA M]YFZ&;,QD;?@-94S:#,*4_>;_B:2O.,<^PJNN=6H:3!C2FGA[IJY5ZW.R &BF1'R878Z/1�D,% MVJ=CBBW7RRJ/7!S"$(! )E8Q&OIU?]CO/7Z987FJ/1I<##8D@=P?VAA$]8HF M_1'[1BLUVL=(9LQ(PHUP=N->,FK$P8QJ%]3( 15-M$]N2QLC1X-J)56_+VZ) MV,-K!.Y4Z&:U]MRM9?C&(:]@W2Q6WGI20[1R;BII.IE!VA^R9G5B^7@UOQ$; M2E$\[G@-R5[J=E4GC9 [7[%2JL_E6R!VM1)!6WL8)V=RN$41IM'> M7%3W0.ZR&NJJ_EK1'+&SZDC==KP*VE!F9JBDIW4.:4H[HSY9-Y76=)F>5U9. MHU7MI^67_4TDV=#%=>W,+<^1R0NIW M1^SK;;1HZP6+W=X+7BDEY]2G&S?F%^%X_$&*ETC'A:N;SQJ2F)9':!FDPB4J M^T_')_34:)VC4F$F0B *O03!##FJ61!BQY/@A=Q"-Z;09D;?@(G53:@,*4W>27J?5+1.E%$ MC"0]*=;)V<[.@391V4_ X;#)^1U)1"!Z36IY<^1 M4Z=H;F-:TA8Q--2*W'K("L)DZ6^"<(=LM.J?QNKUG-@8UCQWU>@VH9$]Q#FB M'.0I$UR;UC%-@,3//0I%%/]RL$)F'>\UK=>FB%<[536C@=[W6Y@DCP(-"*#& M@S9ZM'<+P8VD[$C*CUQ:L67.22H-4###\K;(W9R+;';7Y\KQ&>B M3-W>HY$XRU)8F?/BSQ%=;191[#+DHF4U>D\:(??4 M8J54W\RW0.R-)8*V'8.,' R^E" ^%QQ888/SI14]0H02^P]/J)!KKS@&<<9TPU]5JJB MAH'/_K1%T1NAN1X8M""#'!?:&D:%B*8T$*-%:U7:^@ECF"N>FV.)#SQ&M\\= MM>E1?>$<5[2U5?4 I3$1Y'#2SB@-JJU.!TI:*M+>46H+$>.!$4.V86 2;'W7 M[%($$(VMNM8>U=R!5'9 CP=URN9]OZPU:C^O%;K+Y)>0'GTIH%5$>3#-D_D^ M(AD/OKV:>VQ+P?/ILDT%N0BIX\;D.H@,IWAB\,)H:VXB*IHC]^8Z1?,I9(K; M(O;D6I';9U%)".-;T ^NL]&W>:7U(/0\M4%WY)[;U!!:-5.FX]F-51BD5@H^ M[Q_=+EAJI5344].#AD8$D(-#1DOW:?J"/$6_JV=W!M)$U4VN@6/0,:8&ZS[4_D&BY?W43Z#E'S&Y(R44N[X7'N ML>QP5F@'DYG*V"[*"IW;,' .=ORK%3+AXM?*B;JN#W8_UU$YGZ:LH@-FW]:2 MNWTJ T&=).2)I(_ON&)80TAR(O4%@@H6NE>.I*W+UP M SX7'4%ILPF%?8A9#$6R&3?Z380IP%\E!JGN@=Q#-=0]>II7UARQG^I(W>%A M7D:; ,F9C&P1_\#FOZ,90[S6RTQASJ>O+#?\Q?(.=+517AU'<7A08I]+S*7; M%[F?-S*!ZO%:'1'[?C/YVPY\X$(X&QCTZNO[E!,^)!C)-$7&:(,%&_>%._C[ M#XE[LP_^KIP$\-O'5YT+N48=D3IV<^7!J_5[&79I)[#Y2.$S2>N?K^!#-J!E,EY46-7+UCA*J>R"% MN@;JGE:3+FR.>+VB(W7K.^>DCK2L'FW:;?J3.P8,LME;T"&^J M[P_[O-K]$#Q 857M]UYH:7P_.RI\.H@$=0]92,<>R8_<)8J]=GU@Y@]G" M8%[KMY:%AR\*SB;OP*.E?QL&6V;@:E1IWALIC+0T@SR+:= 5^8%,&TW:CGE& M[N!9(7%RIS.VY O#?Y]P'O?$ M)J'@:32\Y"1A#G__,?<=&6;ZJ@4+[2@A!XD.YCD*4VE*!C& =-&F0R1'00ZJ MF7BKQ-]SIIS1 (P).Q6M.8@EWK^!E3P4H>/I(BR]\A=OSA3#, $_40O6TL[* M9WO80QBZ_O;/ M8J14A)=53.0B7# TJ(C,P(?=S@IY=H -V/<)Y$F@DJW-O(A/.&S/%C]2I05Y M=&G(W/.1GVT]/[KVXW&+G5! U*_<6)['#[Z*H5@VYC^9.Q3X[@.%D/,R$A S2U0O\L8*8. MUIZ[3<+#XT(DLC=^N[&M2'GUD']>5Q0)R+OKF%J(#]^BV$)+1^7JR_! MSU^5?_'14SL9:Y-!CJUM#5.\UM6C@1@=6ZO2AU.FV1E4GC.R?E4_2.#M!-/& MSS>B"'7-/EC&=%=62*FF"W(?T5&X*.M(47O$8U]+[,Z91W)#&>@3SL!PJI%! M=$:2;*0!I&D?$C4BA=R]NQBH[30X@8U")W7&G@[-K_:-F\M2C.)8<<%J/G(= MFCQTC4/+CS8TA%T6'*[ ZK^& #1QU220\FP&NDDZZB$-^_ZPH\Z,;0.2U&RL M";%V$&;%#W>V27Y)#-@X3[2XL#,J001$B1Y#,\2>X*D,M%(5P6A)"+PIHI$+J9 2W# MN2$S$\EDOOK(5=1C,I!4JFXQUIPTGP2(E$O=QWA.TS_C\_=A%;TYO_!I0F P2-S5-RBZ]+9A+ T5R;7F[DJU<9 M^&#&C)GL8+E=C(YLHOO/9JU31JOFJ:>MIEAP>J1G\VW.AI$$".'&#))$#_2D$!,'^ JLB&BH2A_.D[&$?_$">CZMKNW/+*W7G<2 M;;S48( [ R3Y6?J,.HUBG2/89CV1@D0+]4\3^U1VFTQ2'STM^DWHPX8Y?RM( M/9H.10Q[.&4OP,ZQ!4J=?03VV1.61#W.?:+@.=#+[C&2*@E]_ )#+/YY: M;43BMBO+YMD#YLX_#E%,G<7:C1WK(;BAL:R'HPV&?7&8!&CV:LY3<.V%_&1 MN%]M^P5K>'"MON-+'PCZ6^+":P@9#7/ZO!%G[B*SI)@AIZNXS$D-1 MJ!E;V.Q9]Z0G'*OF[FO>+.75&>9HS>PJ[1TCQ2*2*F(,#-Y" @3C"1ENTROSU';M_#!;)U] MMH/\C:$HC*!DP("MV(A)]Q+!7J0C./@.#?D214+R * [=QS^ M0,KR/EGAUO6;@&U]WTF K*8)3L&UIN-D0%57CW[!E+_02SF#7P!K^$@@J%B; M;YA/\%)6@"'L4U@J'^!/]FT>C@.QG.? ZZ:5W4PA[] VS=U@9U9,F"'#V<&- MD27Q.AU1 X FK^%3E+2L 7CJTY@$B#8TR2F8:A*8#*@VU:=?TFR.5.0 M.)9%5&CD/,NR)>("21/FJ1HFILL(KO;\;;^_Y89)\^4FMYQZ.:G;44(*N#V8 MY[0<82,RB ,%NFC3OI2?*%^8I-0F#)7?_ZI!%0* .J). MS6I-K;6V]#=!N!.EYL5AS4,@*C(V6+JU)(@45OHSUNFBK@VUR:SP.BG7[W(O M4BL@NIDLZHDD=S5CBS\CQE)Q)U]2"-> M(1!$7**]))$@Y]2G&[=I:&D;BDBQOD=SE52X;4H.\9*R#ZWZ*::FQG GU]M, M@#3^ZETBP[?&D0N;Z?9A\.1&@%40=)'$7_#8C=S5BT@,?8!_!?LDHQP*,%ML M-A1J:-+4='!%=91/NQF:M2(Y&3AK;[!B/&M.;Q* UD&M/MPR9:^B&;\E1IKY M'HWE''B=+%#(1#?]=G7ZU=BL04=3P#%<^13 M2*+ID8AM>0X,T5Z!7GK?EK!( ^!R"!H=/ P96^ 5E4C]R7Z.QMP&/P+BJU +&UY?&:Y=$CI4,\83H7].^!_"W[P>3!4S=(&XH'4J ; MU*2GAYH],9C,.6??^O9[]&E#_EN.!C*.N*J%+I3FMB5ON"YND8 M1BNGXSE;?9<-:Y&8/AO4D",_\%R'']/FYC(4R_;/?N:'S*[)>5!T%WC>51 ^ M6Z'3<.7>@B#2.:T_8Q6OWYM2F\02OK52?;BIRIQ#GF1/@#])!$"XD#=JM>*Z M?6NZ=7U?%-APV-3LY+-5'U13 QRN$YEGA+ZDI3F2O$YI7#V0VE/?\K!D,OJ5 MNMM'ALQS-CU96WISV*UIN-K2,$N#%M=7>"9WYJH$@8*#C$;(\A, V*2XM3B^-6AT@LX\2# M!UD+VN8HYKC>(?<^><^Z\GX88(W;%9Y1.7#Y1_V(F^(^9N9=B:=-@DO B'.X'.'J&+,"!>$))+,B)0%(4Z:,Z3R M?D>:)WO]J)S,@"7%\TBR9[Q0K.)*K,91?'Z('X,0EJF?01W%E) !.#I_7;S0 MT'8C>ANZ-KV#*BV=X; /QE.'R]Z,WPA..W.=,MSVI_S <"R65YFD"=*H,,W3 MBXO*G%)@PB4F7.3I0#>"'R6!=C5NU%JS)7 .S7.+8ER@?BLR&L[A'$2="G^Q MO -79PY50<5GK=>SG9A,$*R[&[4.F-MSF!@(]Z!HWX";B$2X3"<+X%0PHDB& M&E*1F#BK7AQE\5V*"?F) 01_P1?;$/+.#!"Q/3#".U[ M^+&LDQT\G"Y0LQ&3.W@0PX8C<#+4,"Q84X/Q::OE :LF$:2PW,THQ0M*'0J3 M6# V4J1?L.$<,9][CF,;O3-.N*EFV_ ,=?"<<](MK #NZ!Y2W$+2O!0PSU^3 M+QOL?1M2FPSFM#)3R6ZV":E)H% [C7K9GPKB)&6MO@'G)WVR!3Y\&MEJ56NB MD,O #10)QBBPZ2\'*V0&]5ZO9+RN8J.&BZ!FM":#2RU,5(Q*#0A- I/:Z-,' M(J5\2:D1AK"PSV+^.EQCL(RC6[!SL>!7>T_#)M>G\Q8V.#%71#*FKURD& MCEW6!N%T7BMJVW&9$!5C,2$3Z\7 M 4\F#T=R21T&ET:?*(1K%TV;[<@@=N"O7B4&N56 MD'L:QLP9TD(BF4S\00&7E%^(^B @?Q6:2$@VJ8@C+R]-F$\P)2I7]@_"^1*% M,'J#X4\6O->#73YE@]UR0S:AL#\\R^9O\A/\+X7? MAMT1PVX;0TBX;=(7.-UE$LW@/!RBLF!I$F92D2A9IHR+J:/:2F%& M!#>^%%7XR<6:00@U99':@3'>F>4U^W )$-[FC$?MC!@KFQM!^_PR[8EPA]E2 M@8&/ZH AX1R-ILT>W!RE)NC/MRV/1G?TB?H'*C>^-S2^I8(:TQD7 Q WN.*WN=$B MQX(5QZ&[/HC@#S9:NBQE>HK_4 H37%C1XY47/"LWTO,UVZA:=EQVKZW=&RE> MMC1#+JI#KRO"M4];#=I'12E%,( 1U#E^S@=L2&:F C5&,D6A]KTM>H#ZK>4Z M)=Y;T@2IBU8I)%6[;D.?3];>W M8>"S/\71>;0*+_ASRZ6OMG!]VV6KWJ+(W+YH(O?>7DRF.GHG@H@QH1^]VOI7 M1ICH^ 'H^ 8[< MTM -'#;EAU"W]9**_Y;\&AU)(G?./@RF^F47>HA=LA>U.LZ=7014L>-R74013,BQ"!2#O).2O+MV%E-4)@OM0.@59G53*[ZLT1:4KKC:BLI MZ/,: "5&;D$&.3BU-8P*2$UI( :AUJJT]1PE5YWD."NH:S13EP.]U%O6#4AB,J$FDFY.IY?E0?N- M^@A[EIQGA/-FD G<^?EMRE_9I)H_MMIH;('>EH M]D7L/(U5Z'I4H^TAU^7/!;"=FMX%GK<1%1$['?/DZ6!WG+:F:7XHJA#![$JM M=6GM4[DS.\F3%)R*DB]W2JU10W&H!@PD$ZJZRN$#-Y8CC64E F#'F$XV?2MH MTAY")H\;(]^5#((0>WZ-L6"K#//FD"7JK1B>*,$:'IXK#:CV?6R%,2[%LVK* M)>J/OQ_)%)4GL9]H_!@X8FC"R%R\0!DK"@^=PLBJ6]>VH8<=*KN:JF@+TY@8 M9D#MK%.O&)M= 0GV,Q5G22(">2>%&.8JNGYQ9LQHR]W>LF/Q_O19KL< E*(D M'*ZW)T1Z",OT#K=TM=E$I]'<[:D@!96.9I%OE5J00/[^NHM&K>SJ")SAN M2)E//(=N3,^"$C.,LT.LK05YO431K^HMSHP_X19T N:\H^?V M,F)3_3VR8$R <_\1_#\)T_AT"SE]BY#8E(4N*:11Y&6?P$0'WV8[<#;Z7+") M.N1@-,84LG]M"H;2R"@]M_]Y8$YR?.#6BL#DL?G8&,U@6?9^$XA\HDP/.;]. ML55U"ROAR ^9E"S=\''DCI^@>V0[-0!8R=-$";F1K9(L\;-1P\L[)0/%#MB2 MUX*3P1J!6T_V*ED"=,T'^)RH>OYZ3GW[<6>%OQ44 M+&G0;6K#MT3QRH%\U&=*0[I,]!X'=\J@[[HG/8QR*5IA*90&W28WRHL5KQ[E M^3Z3&N4EH@\SRHU43\&M>R_):\NKI10U0NJ2U4H5Y:.=1(+]"H'[.%+C*65E M"M&3O1YY?J0^<44Z6CACB^!H+1V4_*3-S@U;.(N&D6M;GGWP3-3%Z]]>^42S M!@N.##$4.#5,*X?7!\:SV=)8Z8$4G!JH6[,@ELTGM4HXE;K'21)HXUL!@U3- M%K^Y'E,;QZ?J5I]0I,VG-(X+I.Y]'.-:XQK4>$3?/41QL*/AB?:%ZV+]7MA] M6$_MG!]7=\'LRYJ2MQ[="7U2= AI9,4XNN:YC0"BF?BZYA%E90?L/ERK;.4T M?#V!IY$:0O=Y87!MJCS2V/KR4,;D1A/8&,P^D 08)Y6$?[7"T/+CUTLWLKT@ M.H2TKE)(@_[(_;FQ*7(Y!70[(_;VYCJT/M5).)&$%9&\2,;,?,V0T818>,TNR(G7>:L.4#<+YABDN:B.Y_K;@I$NO%U)?;JBV/)G6Z(+\J+J) M!CV%@WK @CS+L9N<6EO ,RF E3RKHR]NQ%^S?%K<)D63QSV7'L,XJ0\G"38A MR1 WD#!(RFC\H^LQM+_N,!80;5>RZF[O=5>(^2Y(8;&)PI6;%J4]XH6,EMC] M;5QFQFH>CJ+P/7-7CQ([.6N8'57,#$U?8WVT7'_ERY*SO!Y.>-B#)98^6Z:) M M?\B4Y9;L=F%)#[> MSJ"[?H#MB!&BC15O_ %[PBB$M>JRR(RD_(AF:@8C1 M+>*(PKENJO\^#&Q*G2AY.73Z!J;U1@?X@?"A0YUY="I(YH8HXS %(&JTABUT%78 M>ZI@5JU,#XRID 4)]@UCIQ,TG.?Q$+C"*[2TMGW" M&!%(#FB8QF/%W/8O":,$"VU]5Z.X?64'I)BJKZRZERMOC7CKIB%TQXA;HM V M?LLTKKHFW31-%W$=^-L'&NXN I\K&JW"VS#8AM8NJG7=AD30NW,;H^1=O D% MU&[?2I$.CZPE.\C#[6_/F*?N2,H2ZAA*I@@P8E3;9$9@$_X>J-/3;*C8D*.3 MZ=X*4K1'B,DCPZB(@!D&>G#_B+L^3SOAP,FVW1<@%!Z*QQJG#!CJD[1:1HT*.YY%E+1W+(#U_ZTJZM+SU 9JOT& :B M9H+-)J(QVU1[D 01;DBV<.GB@RP ,3+E2Q+8;26"IYR+)$-D+G8%K_!A$E'T0QBX\%@V3;)J1E#-+[S;N,9#I M7RP-J9<"\/HL4@0B9>#YG$YG"662&/^@R+3I%E'L[OBHIE8(.=6S=*M>ZRJZ MA5/&.1O:U)$:*/-B.A\N?:EZ@:$:=D<\&;0QA$3^)GV1PWPK55I7#^#,,@@. MU85CX5)I7 0U88P4_Q1VRM)YZ:<(:B*E\*@6N69$SH C "#,M+UFLZQ5@N$^ MI$16ZY<5%[;M3@TQ+O9@IG2!W)X48LE]JN(H>9?6H?UV!E=0R9IT MG=1MB1XI:P]^-1-Y-8] %^2&/Y\?7?M1^?;9C1_)6KHF:T!?>%-&WN:;7BOD MHL1*4OFCWG:R.5:Z2H(CKY,-_G@U:.]RM ?^,T@BKZ8_'KB,!3J;)4B"W M(((<^[OIU!/J)\]$DM17 JVE=V0XS0 >&J?K[7WHLCG MGPXW !0?J2>0]:O MZ:%)1*!ZCI<\/Q%]=WN/RB19ST'XFTP[SMC]@]HCA_F9,G["E61LB9\3W:B%?QS54HEM%"S;W/8L[JR?J.T$H[D:BP]I..#";BP>PJ5R)N[EZ+\5C#]93K?$<6+[9W<"@T M8>[L[CA7R_^ ?+52;F\ M70)JTB@6&$\GM0CAZ;'U.O)I?/^**H?FC"3W'2-5KX93*_\SODM^MY/:WZT! M0L:\W"614R484=(,,4Q4*2:1HJ@->( 7&D!%-,U]4KTOJ[) M\ZS1;9KC^D1QC;%]/8',S]JB#S#&KTVG@3:GO/%CJ"LVZ.6YVZ]N_"ACRL49 MK.MOYQ#(';%YVWJI/I1H2 FY^W@X 3.W71[3';JHX/. M1)%";[]&*UB0M:2(?VW65;'.=X2) $210*;(SV0@0@B226'^I*.U >O.0GHA M_%8=M?(\I3O5M^BP_1U+='?:BJ.;$8.='YGZ=.D7K3A@CQ779!EKTA^Y'S8V M12[86;!:%L.[?_>7!#ZBS3G/D7P6[M^D6;XB'Y8 >8H4Q[].JB7R:8 6LP73N[ M<1&2 M.&ZT#R++0X:B63B7J&9Z'40R$34L)D,F<0/[ZU&;("(V,%,=[FF0FABZ-=&H M;PQ3'Z(E]7B!O4SV3MY)"4Y."LVAU"CV$EBD9*FSA74LSPN>(>"[]XPV6D#, MQ8)8U(!U M$,"\X&VEQW!GD"E/U.>0 UA&VD.2=MNEHQUN*YWJ/,*A9!^\L"/0D":NVZ1W M9H09T0;5M^]U6"K9FSJH1&#O"1Y6IE:34\^#NZ.;T-H5/Z"_9_\_VKC4R9?H M^A<]SITX%L\I(VY?)M=&WJX,IXK O>D](!)GR]14RK)D$B25=)9&NV;"FHKH MQ_T+X-PD5YFL%X1]:Y#9'0/?#*@90:F1X*;; K!_RTBUE;L?IE-V=NQAV$"G M:N\LUQ<)8$\A=I&41&) S)JL-@)R+5LSBKX[<>3HTZ\1"PL/=Z*,&*UZ5K!S MP&XJ2&E.+BD,$=+ +9$J#YIX^_8FO=:+N^^'P5MW[1-C]NK>U].)Q^]320QN M?FTZN0(JNU:;$_L"IXN%WPB&M8:GJ2//>*""&"9Z1("]HGLP&03(WC]W,6.. MREM A5.S-,:'C,34D:) DQ$6(AE7Q/C1HVG2A==QMHII TS50DR\"'T_U#HO M(_\6(*F!(7O=:B6TIPYB350TO\V:&2F)K8T6[Q^7Z20U,H$679YS8[(H_.;Z]$E.Q7/-,QG M^H0KB01;LLOX$BME#!>RK]0:.TG5>$9).9&$%5%XD8R9L9SV)D8'7,%KCY!W MO[LB7.#S0[S>6%YW>AXVZ@AO=< 7V,H= 5Y8;_F)Y!RK2A\Q]1XG=_T2M MZ!!29^7?4?L00L%6UN F\$/YSW,K)6;\01(UG_.K9U M49"$<%%(PI>O&?A3=L&,ET=4N9N_VT_-=_ZJ"'T5TG\>J&^_SE_\I.GRY&6I] M_K3KU-R^0H.^/3^_T\/G_ .8@I$D(3H,.']-__RS2T/F/X^OU_2)N:'6]K:Z M\U000,L()9O\ *O_E$$#PW"_J&9AW^8I(W?KNQOFYWY,1):7U1IBR7A066*TQ/,_ M(//\'QM[_H]3]OP?FWG^CY/T_&.I>_;\'Q%Z?E\JJY[\V0_*O/A'#%Y\_IKE MMO*L*-([SRKL,Q5/KE*YY/3JM,,4O+E2[K:#.TLRS&GB.:6J#MKB45JJ,W)? MA-1*OLUZ\1#+8WOIG6P-R'L?.4V MF\M9,$.2O*CD_)6MUJO/#%&;[&_97Y#HTY,HIV58*=P@- MNR*%PS8&4 OLZ/1#_BJOL1KMHT/V3'Z^CX975Z[/'TIPE-C3,$[>?L0!_]9. MI8(_,['4QZFL(=N0/UI/S%$H953"X(DUY'G"+;*6F<+M++WV^)5Q1K%LQHCD M.*DIDPSMV4S9@5JA?Q:P^0A%2H<^GBEU*1]/Y^YGD ^O6'T M[".<(KDR@6M[(%\U-E"@[5#-6+ %G>1!_(0)L3B7<5=T MXVJ=\2"2"1%AAY47![Y9/L8Y.P,X3" M-_+7S?VD!FNQ6-$C6_[!?Q;_/#!QO%P$XJ4;V4Q6)^7AOO8I8 MW -WRCA?$@IQZG>V'T, MX30E_=)4&>#1+++T&8#1*"8AO 6)GJU]6H;S1/G6ZT18DR[EDE06'8UN#A R ML=HL=GLO>*4TN@B894XJ]+8B@-3?VQM#+O&:]4:^EFNI3$_A6S[G PLT*CFQ MU1=GE2S-O-Q>BJWC/-=^3>O5CIQF?61C\7UDRH^D#,E-:K:4)TF8CK_ &MDH M-ZV&3,MZQ@V@],JR:6EL@D:7R<'EJ<+5 )FUGR0D%HC?$PAN+"@0D-X6E@Q? M$EN_41^"N:$/;&;C5_XZG/V3K9U29\" B#W:JA0#@8>Q0(;!U;[@X<8,TOC@ MX*<<%6,#TYW":I,SCO9![&D_I(C86/7J>X2C3HBWB/JR]WE_ ,,^#P)8K@X& MT7ZH>X)?J;M]C*DS9RLE:\LP*XI7FPMK[\96$<#5-$?JFKJ*RH5*55ODBQ0M MT5M7"LE5N7Q.6!%+\&++[8BO5&S!;MP5QZ"*2^(DH4Z /%EM2,)@_)7&..J6 M_+((WKIT?V!Y87GVP>-_W@6>=Q6$SU9X?,(U)E^DX#FZZ0=ZU%W,%/&Z:CS= M^WA/4_^(A@LZJW_6/2.*N.0+"$P2B4V_LD'[2QP]C$\NO3?I53@'[^J[1O'@ M]1!1$BEI:@[JK^7B2U.CO#/ZU8T?3ZP?Y2T3W1T]?4KN4SBMNE^_9UY3P?LA M3%R7^K8SHRG@^B#Z]EUDY9E)5IBLZDBXV2G29]DE?BG:L_9BZ#VO6KWP'2W\ M1F5Q&07#4)?M[),ZV4/5#Q>D[V,KC"=MJ37=NKZ?U!6'X=<%J 7&'A!5%6Y?#[06*8T27Q5!^T78GX3-?;JU8CK( M.G\$TU=89[)0^]%R?7@VO?1M[^!09^DOK!#6YB,A;R7_KPN(ZW^* 7&YG/G7 M ],:-D")VB W>0>2?TND[)#B4$K_)A;+ _XX<^78];[G;,VE --"]Q-*EC9'C9[62*M@5MT2,3#4"MQVIDBS;":>$>1H6,RX^ MD):*;O:C%6Y-[FSE$\.++$=L[F'A0VCYT8:&(77FZXC'BI88JQTEY"[=B?S(_B)[*+5(V.J![W\@'82I%\:#ZWPA^89#73^ M-0A_8ZR3L-5L*W5DE_ZH(L6UGLUVG'.F TGDT>Y]:M@]G^>S8"&CI$F4GODF M+U#-5XW 8+"BY6;%:C.10X;:DTP22 M5:(WHDC1OE^CM=P*%U!$O +N2;&1-LCY8'@I!?J]\A"6NV4CWHVB('R%W/JP MO'Z%LWM3*VO#UKAA)HB("Z$[#K\M",(=Y*QX]MG/:&(!GJ4?@PN1U:'CRKN( M'%(0[LM0+=;:)[3>SB*[7+7NJ^NBYRM)OL8I+J_[-U7#=;62>A D($P$U OJ M_@VVB&)W!S%%&@^E9&;02:RQWW>?_M[CA>XN!FFY6G[_-M;&[\=>"0\#* '; M]O:TRNMND0>0YB@U<#RP!?I=Z?9E@WWN)!T54-ZE!7:6#J3(VKBP"TEJYHDS M=D<&).1KZ+$V;''DW-"X^15]SURG!\=#F+T&P?MD.2W0'T3S?N>)3$2BRBAK M<4HI9R2+53JNSYG(.N-%I! &(J#Z%11[BSR"/!V^JYK>2LJ@)J)Q>WN*O2TA ME<$HAY9&+C1N4N='J?'3[R^KS_1M@GE#H_> Y9HIC MPVLA;]*!$Y0BOP'8'NS'8*O\Q*H'?YW\P[;%4CQ,&0UY]=>/42"_9+3T%R\V MH[[:@%X%[SP-B8 4K4W^(!77DH/RG]Y5YCCFZ./ZDW& R&3*>1_CI2?A27JKA_H8ORL?T&=SFK^)&&8Z]J M)%.D<^6X1A]E3\,Y?HV[F;SBR/%$;?AL&>AO'K+;--G%RI[ O>AH[-^RO"ZMJ?8"B\+F7\E6!VO?[(<%L* MS/X"D6?IQ>Y^_&>:T_I!)&5N,5IFL6E"^-*/F5'S0 M_0;:@PQ4]'<1"8$%O%^'8G'\Z:WW"AE).)8F;W$#*13KQNA,]XIZ6.L.= MBDRXS(0+#=5JF=B"R+3OI(?]283-^!@_"S9G,,:M(IM-VZ M^K$3JGU#P3221K&2I1K;*@(V@4YV4C1HQ9@1@Y&_PE]T->8O6K]R>&,_K+1W M+KY9A//S6[_4WK3$WBC6'/E-=UI:*;'MJ#O^ N9?R:I![T<8_K#UF/-7-.]K M&J+'XU9^@)HFY7A-0W*5D]?LRS=]^MJ[M4 M(67^VX-D;8U1I\B?U".PP4V>;#0MCT.FJ,&W39AR,YX\#..[2YX MU;6H:(/"H*+P2V*JNAH"YJ8Q\422OY#,7LD=3??1K17&JTV!I1\JPN+[H8Q\ M>NK1?.I4U -9Q--.G]JU=<^2I\&G"WH($@_Y"5SA@<\7+LY)D97Q'%A*6F'4 M:R;V,J:[LEP##4D@=\DV!E%]KTE_Q$[62HWV]UN)N]2XU1=@23A/W"[S*X5' M;@R'GFAH;>GGB&X.WK6[*9OL.I*1=V0$YKM0K MJZ)&>6O$F* A=.MCT>RN,(!5J4KO>G+:@B=>>>S581M=*4Y/1B45IKV&L80R;%40%K M50[^"(HP28@0Q7BPR(1MAR+KR.CV4TP%#[S. F:/?:$]C-[K:=CE#OY:;9AI M[&!'(YX5[#IXUC^S[L0#Z;PPJ$EK;N[:,T"\F!Q&SWYOZ;3@;T:X4'"J*L6: MB51Z,[:8?49S-6?0ND78F+V'W;D>^T?@IY&=,_:1[^X.N[> G']FF_W!?Z2$ MR5>#G:I1AP%/X/!5H&=.463P";)-'3][L6]S +5>V@)HX4D"E*>^\H+GRR0V M_XXQ+EB(ES1#BDMUBLG->U$;Y+OQ2I&[/^#8A\&:QROQ:N4;QBA[MD&87XS\ M%'T0;7E%=J!*)%D"=,??W0ZG'?QP^=_-W(KKYK!;TS"+DJ!I_$0)1%=V0(HX M^LJJJYKRUHA7*!I"MSX_YZ35,!::1;F862^,HFU5@&+/=P39^N:!+6^B#0V9 M*DIPX5($R#MSY\EBHUTSVV [PDA]N7_C55\6-*6*?(72LY*==RZV _^PSN?O;P:5;R.3>8Y6^K7X(DLE*VJ)H$=JL.V+,;F.(="?8H"]R_&VE M2NL'!(^46.GNT2XXS5!>^C-<]0X.A6<:9,_4?N2/_D/7'GM7.::%BDYX%)LP M6$C>79!UPM+ 1A2/07J#Q0?K9?'/@^6Y_^)T;\4!VLJ?9VOM DOH]4(,@@W4 MEMBGT04YY#71H#7262]0X#%EDAW)LK^5#=RX4#:6YBH3HD;CM:)5U8C4G*YI]_ M24FN:]YX%;5#/DI+55/'YTDCQ".S7-:V8S(;A]?E#ZO&.-Z5 M"#2OT3[?D8LIS2;@9$72=G:72;BGE4*%_EI4?L).&REV%T]=Y:]Z!?T MC<3=CZ*RLD,3>8;SYX'$U\.'47NYVULV MGY8CN@5/)B%ES2P_.4@Q[\H@(<_C8MN'W<&#D$OQ$4@+KT-K[*;3?R(NKFV* M(G>O[3P!U]?7H3L,2%Z\QJOD1C)V_*FT64@8WARJZFZF.EL$A%N3*3.SD[F* M3 ]Z!ZX:!)##0W-C%!_+UO5&#! ME.CC\+8N1Y'I(]T*8YR_?K+^$807D*Y_ M_N*6S:+-*"!WE!;FT$RE=]P=L:NTT6*@U'CK5\(9$LZ1? &>.+TEL\N-M:.7 MP\4#FXA#%P8Z&=]3C&^SHT=U'GR@\,B@Q:G4/Y."AH:X*%!7-$8."CM2M M[U,2VB1'G'P1Y WY^?@*&TRC%SHT7(6W8> <;)#GW+)_\X)MI<_6=D+NMGI* MYU+J5?9 [+R:@K=.K0?DR2HD&0.2<##LQ ,KGE SY[@/H>50F/6KI]>"9LB= MLTPQU1V/VR!VP%)16P># D&^WC,]3PZH6G\ODXKF\AMXAK7;TYC.MR$5Z37F MOL/9^Z4NU0,YI*[7EZ'2ETP=:"$/\^]%M;;^<4?WHK!IQ*./7!]>\R41X32, MV=8/ C;B@-ARE1GFEM4^?W[*!256*BF/?8A364=^!V72GB6[CQO^QE28*1. MER+-1#"$O8AM9I^:S,J9K+?%4A3&RD*)_>MXD<0^^CO/EU1P]G_\'5),+E0! M #;W!<*%3[%\K2&/Y^_J^>QQ2IDKJ'^B56]RB4L?5P$M1,NL<0^J",2+BN>:7Y-BKPM:V\-_&* M>Z-4VNM08,]X-$%_5LC5?RX((2@H[XS!_VO+"&IVG:S_5Y<%U.DW2?_OL5Q= MI?_/S-?R&\4(!37[GL3KU;]1JUW^M\&G_H]A^:L7C6Z3=?F\XIK3/>\S25<_ M$GVH&#G.!9N']Z0[IT+.@^ W4=, I3LK;VSFNR",DY=WS6U63FBZ+E]C'.U* M]X54I@D+=@QE(ET3H,"5JT-\"*DJYN)E M3_V(SM=1'%IVW-RN.B2GBS7:!M-$G5IZT\0??;6&0J(;V)^H I!$@AFY@%T-FM-X4#AV9J#W\)(3>#.H$,U?,]+V9,"'VYE!&-5(WD %*;PIC<@H9@!C@/Q6$Z<56S/-_/RF 86W[ MLZ @]O8 1C%21X!A;=\6P*@*F0 8UFY,B]&= IUFIWBD(>560 E%-[3%';OH-%U 4936 MQ S68YJPH H^X%WW,'X=Q);7TJ_[T/L!^)OS6JY(EBS[0B2TKHF,J>V$W&OU ME%:]MKH'8J_5%+QU(!B05Y/!)PR,AYH,K'=&N;?\0[]2=_L86UO %G?K4^?"BAZOO.!Y[EO>:^1&5T&8B?! (ZA1?&2)OF@B]>5>32;3$74F MB#PG47_Z]928Z)D+Q&9\*Q$(68.,1*Y,&*[.,9KQC4!7^2"$"D!)CA?#R3%2%YV?@:$,-O*;.H#[17FRLF M$']E%RW]Q8M-HVBUN4C*O_+/'YX#YB9P).AO/_MN?!REW0M!Q#C>C[$DDG>C MAAS+>U*NP[DRY M-1(!G$ALF!'GB4L#C<,KE@"_2 L?\2X[E\7- HCVUW0WS MQE!*1@X@VKBH;MB,&7NRVA 00#S#C<@2;C&X"=D74@KQ)82((;YWN[7#*;#9KY;W&STV'8:"HK=A *G"7V^92>*Y[RP8F.[YTEVKG&AM M=Z1@U=80Q:5$J_LBOC=JK$)KSTG(SPAGP!.!IRS,5PXMU?[\]8'QKJ@8JM<3 MN1N>8-JCT?^-%.J^96)5%PW(-D/OSJ3*JVV;?(O;. M B';#D @9;@J6,_:&*VPYT>P?Q,1OM*-Z\KM5?9![DQ:*A\5XBOO@-CE].1N M?=Z2HZYN?$S7ZQM/:2K)FW/@3Y;]Z/HT?%5G^TKWK>Z!W'DUU%5=MZ(Y8L?5 MD;I]082$]M'BU:S7CJ,QK!LZN6QQ],YRQ\;@DRC* M60J[VAT1(V\SY27XZO5"CK\-E6@[CB4;%?@VELU0,WXEC]1S^/TG8^L<[)@A M&> N0SK;.S@\C&]]B!D,Q@SE=F[,(T=G#&@WKLU04/8"8([8:.=!?* M0Y?U!!A.F+E4(+$G=84@TU393#IB.8[+Z]02$8B:M8D#.4EPN0^^ ^XI*+(I M@^UGMO^WO;=MCMQ&TD7_"C[L.6-'5'O'XYWU[)X;)Z):4GNUH99T);5])_QA M@RJB2ARSR#+)DKKFUU\D0)!@%=^)EV3)$1,>M00@,Q\B'[PE$KRD72ZV_1V! MC@M!1)7DD)$M@]#6E1S>O=XG;$( "90C_U/P%7ZJ9^]>%9"R=G]C*_>M&TLC M7KOV4'I\&NR\:>[.LG''*U4,A-#>NWR^T",'TW2G#7M[Y7F&_FG/U\_;7"GM4FZ.G:WRFKR-LP/E; MA38P*)\JW MSPQIS$;AZV_.$G97FZN"-3Q.VUYBC6^MYFJ_#HQV^2FC)\.J0 MO2";.HLM)D0JGS:[S,\(8$^(_1Q2^($!H:9S:P2I 52-S2.G"-U 5M(Q:6H; M,>UH-W%TBB?EK3]5DP4I=.$NK&K#R*Q*:XLJK[EZ*A$-J#%0;CTR[B*,LB/9!M+EC)O)?U5U#']X"4E:: (<\^QE8'?DAT%AK1M/(%I+K MP$FY?'0//@Q9%;)(7 A;B+-XUK%#NLHSB7@A[_?Y:3L_FH]3WE[Y5%_DG[[< M1^)7.&I_D?_^4[EJL'YX;AMS5=X)1Y-2)"EE&L&#?8'GN/D(QRDL>6]T-^%L ML;YA%&NO@92 !YBKSO1:BB.>O/716D?O;9^#W<91>4[N:LIE"PIN?]WCKK89 MS;KASAGL#J+9;@+O.8^VN-@G"9MY="01[JZ%G,EZFJVR64<5Q(S65_.Q/9JW M3Q0!"Y*+<)Y*V([IJ]S:L!3D=$\;AHU?>&A3=F +U63OA1 M..Q9&[F'#X3A:+N[3U7$'C_4@@G[P""'2$$DEU00@+/=;ROF\X:I3]ZD^;"L M=>CZ^3HKVO!H.DE[AW:/[ZR$W-'[&5T9R5MK(';KGHJ/'LQD\R)2=%$,Z0?' M_FS:[KZ#N*WEAV%[Y>1,A$!+>P_:MJYS6OSO^/DF3E-:MS==4P0IS;09)'>7 MC_^.?/NX45U-B:,],=[R*P+Y A="]<5A21:3?\3/).22[6[A:K=;CO^L12*: MM!]#;\RH\BLYS&CGA32%P[NOJR"E3][7>^\ E^KD,B[R;YGGMDYO!C:!E(6F M %+);C>@/N*)T"@SQCH$%R;.P+DXPN217*";^9!5\R4?I 4,<-N;QL+(7;W=R.HY2UU)Q.[;H?#XG771+,G;=;QJ,6UE(MK5 M-FU7MDDO]_0I_A0G6YKY_'S5RW,UBTB4=+]ZJHH,FW=MW#D]K#1N-ZJSVDCYG MUU&:)?NNY/SU)9%[:XMYU?7+23'$GMFF[>@MACQC/TQ*;B#3%7.5+0%)I!25 MNL^H7[6])8%^;<%9]=:F]/BGI6;35[4DOS_JE,X3W5=-O/6V[=GM6XK/JGN> M&MK<2XS>1\M:):)[(]AUG/;)E]4I8+7/O81EG;SH2 M'C671NZV'68V#[(W,\AGU*6QMCGAC>NT148MO7L.@TW]E3M[_G@;9_P,^";V MHC0__VT HZ$H;-NHQ.,6'BWS]*,&0AC M8G[0XW8LA&T:V*5AACZ^Q$D&/U_$VV=&-;ZX+]U"3;TJ(_?/82 <#YS=-1'[ M\$ #I@PV"V4_$/R;R^+_7! IC@AY[D9:"U@\Q1G/L1]$JV#'?O+,F=SK?J@5 MH]&17CFE^A+E]W6I?QFD*S#W/J';8 ]X\*)IN@>%+^!*S"UM8\-IK'FFO MX.8#0($$R/$5.6#M)\;48'H#@$=%D/-+G4&5MS&5OR/V_%HUITT6H"E#3IBU M.: !4WP^$V1RX8!X%K[U\? 9'CT*LD-'*HG.2C/ROV:CFSSRM,9,?+1%\=$# M1R7P84$^L?&*]?V_0PRF%.8\H81A##[M^7,'Y3IGYQU$[$WN(>< YH:D:<,!2@)J;HV\Y,^&.P.;I8I12\ M(*5H<*]".#S9QUF'R7?/,M:08M[^ESF1"I/>=.(QNK&S(Q85I&G4 BV=%;E4 M#')"+Z#!7 A&"UK,]W^8$<5\8L#K C!OZ]P(1H5H$K] 0^=$+Q5[7+ +*# 3 M=>1XS0:)I=B2QH'4>TEVZ(?)48UYN66=N2VNJ1:?CWO6 M:JW+16%B++)8\O91N*D9@^4[3W%$(AY;CB?K"4P;_XGRD/.3 M@*:6J<>0-I [^BA(CJ?.O1M 3 ;C[)@TL9:,4,HC(+ I--!=D+8]7.I8Y#E. MDO@MB#9Y"LEHGS+05B5H:SHN$4MM*KLCCKR+Y"\>& 2/;]ZN+B=UKTI(F6"8 MT3*/77<-Y&GL!A@P.OUI\?9A4-.MB]\ED+4N!8EV\[]90.!DH<+L+GX'8@B7 M8S_[FTW;V[^YOAR<%.Z1W*WS6^7 T'5WR3J*(B:I+@.+%)L-Y9 34J?:NE+L M%ZRTYI.--(WA23EXBR;(7GB1D*L"140. D8, M; BX=D;)A1(N5?S*34Y7)]B<6F^!0'^A89A^\I)-_-&+?KM=WB?!EHYDTNZV M9DFI/2'JYM:.AF9+LGWMFL*V7 ;A0@A(69#;[Y;?$2Y*,,49D:]I0-M9^!AJ M1M!S??U94G(+%-TT7%-YMM3; M9LL4NHTC^F$+#1/>\ME-;TW@ULZJ3"+Y+! EU^0CN2,/*)G4!#)WU=YD8^LW M^#J)*^OKSY(K6Z#HL;E[6GFV7-EFRZ03)]8USYDK3>#6L;,8?)T%5YI YK': MF[1QY9(I[U/_D49!G QY?6EP9<0L.1P$29']:R+GQQ&&C ^5A0M"XDQ@1Y/, M"R*(3F&L* (6N2(DY9K V_7U#QS9I4&+\.2BB)!%L+UKY0B-KNZ@C1 A9P0\ M2-)(>B<%$!-;O3&2O*I_14Y0#SQ= =N&?.%*1IG!S@N:)&5NA=$3%;##->LDB_ M6LC99: 1X]>%04IH2/GB)BDIR(^W;-47K @;XA@9T6 3D;14*4_?#J',NT(M M?M_Z._)X4NS%2XG'W.*-)I ?.N;IL-E:,I&YCR [4QC\O@_\2IP1Q!YEAS_Q M2R(TCYP^$I?FC1>7-)F6NUV<@.SG _O#&Q.6T2BO1X%$F5#6%(F+C"UV6=32 MEU7$B-N\3! I)1$0Y9!X+:%PBRP%@+HJ;WF$OJ884IKN,DR]17)S.ZW1C%/[00T(PQL4I!F*PEAW M\XNK?1+[<1AZ22T-MA1#2GE=AJDSB^,RB.<5C:J.[7ME@XX\S89EVN/H+N)7 M&GD19'\)XI9;R77ED#I,IVGJA."DT Q&_V:==1Q#/A^('ZSY]3D^F@=Q2KS= M+@Q6?%!C4P ^K*]R)2RG;C)C/Q_"9;.$MVOB#FY%\=8[MO4EY^1PS7=D:XK- MS>DTK11_2N+]+BVR4TB7$E['_AMMJ&OWTGE-\MC!G%X6=6VE/B)Y@'X",:EM MR_[V&G,BEGIS&PFF6GQN1-.@O8:3?F^5!:]P&I;DN5BSG'$@L!TH*=W15; . MY$F:)"?'?*09D#J/Y2)X,+K;%;M)NR_B*(U#./1DWU<\^G =P7>F?D13?FQU M'&*U]/^Q3Z'XUDM'LAO:HW9\=N)N>W\ M5A2?);^=:F^4W[*W&#F_Z0.DF=^8#'3\IL]N'?P&K 8%O__NQ[^:9C=X*'0H MOU7JS(_A3DWNX+BRPCQ9KD9_LSP' K$SG4906KB.(X&.[33:KH?O?OPK%/S+ M=W\U/9N#MTL'TEVERNS8[M3@=K(KR\^2ZVK4-TIU:R8/.=-IA*29Z$ (.I[3 M:+D.F@-Z@]CB34)9,R>O/8\^J4Z33#FE9O\Z/J%FO_J?1^9(/.+Y<<502FJ/ MW-K*(26^3M. [1H+(3RE[M9U='!TWICN0,Q^W2\7_B4JF++V&*JK+.9NV&5B MT16;"F+MCIWZ3NZ22M..3F?L&+KH9>GXBU.YF&(HI+_O@X132?.=J1YUD'K= M().+FU)=%9#/>_OK/WJ6QWME?MNR"+\,(A]RR(KHRZ04FL)U3?Y+N*B95B(P M/3;5H?8#,,U#5!!7.1DN9;B\863<\CJ#C:S9K]9K"LLN>EE_;:A/><2\U+]Y(6\OP>IE5AYK)&SKV&=1 M1*FA,7M\+AG1RSY[V3YIRZ/55 XQ,;6:5B28J2N$G(3:==:<;D;24$% VUPL MGTY83C=CQ/"\52*;=9E\QJB!\LNYNP5V$T2T>&!49N'RO@;;_?:CS-=QX>W8 M7[+#$3PCFT#*3U, 46^6#:F/< -UDAECW0&$J6_NYO(6))=("I%$RG1S8\TJ M*J71JP:C1\\Q'F16G^L(TF&E=^M[RK!B ]R&V7>7!)L@\L+E9I/0#1M3[I,@ M6@4[]INFY\(G-XB4%?2!):HKH5'^!KK=V91[^'+,KB/"%2!W:U*J /^22I!""U*HX>R==#2X3>IKVMA= M':5.AJ7E:@5)O>+H;M?@Q .K(V;N,4!(GAY2%SDKCS)E=.Y=V1Z)=R)18'2< M=E>Y.1C/)[,[XAU!IXT0[@4]IIXYL BG-30%$W:\:4A_Q?M4H M,Z8E,LNE"4Y8D*--+%7F@C"I;G:LK.+R)6(KF20+_DE]P1C&9S!-U@Q@SI8F MD+K^%$"Z9CQ-]6,,T3[>%S)1A]H8 M1"9'Q'OU@A "M]U1QGU(_0WUE_P]K=LX>Z0[#]X*")GYXM6LNZBX<5VL7[SP M/DZ#FM6QQF:1TXHNX%2BF=HF8NK19MKX^+;X-_+JA7M.2?G[<3NA%?LG6QR' MD+TD\4)#3\+(D/Y;FEUY"?!*^B6E_JHT!@EXC)^Y#C Q*OFLG'YG@[&#W#\$$]QMXDI2:26!-0D3$^B M**ILX-8D#GH.,M\C0ETH*15V_9 /QF]P:[S7:XP6!XYG,G*<)(8?*3P[>YT_ M:/7D?;T$QUZ)8LO(7XK#0/[/IYB!?QVMXBU=/K/OXJWJP\A-24(\0AJ&MPP\ M-R(&^6AHVNJQ[A_]JV68>5T-BB.;04R@ M4X"17#JF#>2T.LDDW0S[+!98/O7W*[D<"(YF%LR3,N\K_)^O+KT\MO3R%!WM M\J\3%/NO2[VC=:G]Y:<3@#I6DH8.\8IS2;G)F[;L+PZHBIA;AP)0?S+67 _A M\G&4^KJ.1PI1Q4%)ZG1SR1H096:'=0%!\9RU(7^69 4/N(N;UZDX*ND$HJWF M;+RYT_QZ9VZLAGP^--0*[4?.Q7P'0E_R>_<.GI*V@<$QK143&!!%U9>>,O[2$T\*FL75/Q7! 4?+OT7A!_U6>O(M!?[(PC,E$)&;>4?[+#73 M!0PQ.'J_2&,4C10C7AQS3:5FC"]L3.ILU,R:GX*OU+]X\9(-A5\-)]"6!F;' MI5U@M--J4^U9,FRG,4;)5A>C+D@(._Q1''T0O D;V=XN "KGNW!^D.V3?">. M[)+X-4AY-3]X#7SVYU0VN0>%Y0,X"=VQK_#"["%I%J]^DTV*\+%&U":O1M /=ZSFX8= ]9 MC]'6L9*S'-2Q8&;T=L.(\5T,XLJH7@S,77'BZV;^Q3 8S_V#-X[YN6%$M8R? M%I:VDX)'E@2X8DX.$"Z3U-MD'&E@-*N(_(ZL#^\I1X4>JM!E'_% FSF\!, MAK-]ZC&Z^5E.&J9;JVFXE\E'UI4019[PNA0*_Q;:X5\JNT.V<5SE*A%5)U(H M50F,S+-8L3\213$L@Z [9$NT:KMK>MQ?;0\LY4L-GNLC<:OE*RC:/L13YG6LPP?0J)O47ZGTP\=]I&#R>CV?S&,"L?==C_9GT1O JH_[42&&!R>9QF7!>!3 MG%SFG3[?Y5SZ/A]\O/"SEVR"'DLAT])G,U)8^0SUHXM1T;,:D>P@H6D4R^>% M/1)E'$\=O4(ULA6ZN1R@<(-^/*CQ![9B)1?,\] [=_QS5/3F2ZGRF^2JNQX0 M<7^7>XV]7]O(RHS[C?*; 6U7_>I+(1ZI6LR2(TI-$:1W]=HT'=L919O\MHK; M^W<&C4NX<0F%\U[8C8O+.,T)%U3TI&"J$MZZS6M-"MN2^SJE-I2A25^YC8/UZKBPWJ\57C=J:5DK;<@1K'&K]9JNLN"5W@LEO4U3 M_N&I;2%E."T0-<]:>C8TF^G+4'NTS6,JM_$7I)!-2N$MBQY7KL:G+X]L'/#\ MNTB=UWS?"^W6ZK-RJ&X@FGVHN>YLW*:'"9-SG?(11VPF=0P\+F;X!A%0=BTA MWL"+HOVVG%;U0F3T[%\\KU>\C4!I6O)1S:RCHSA2E^YKJ%P)M)5%OAKHI;JF M%<&:M5[<2PJY8.69QG7Q^!S]"M6*P_Z\#\,REOTJCCKS751N)4/>B_9W,18U M<0CRZ0>^8FE7CEY8J&O0.EG'6AL_18V" M9/1>"F(J&F>'F;T3XO$;7Q"W>E1#S$Y#%)_])2$"?D X4<$ MQ"SR:&A%DK.($:LP"+/]LF5M&T$7^RW/0O!*93:%"_G8QC)_?J-FJ=>O%E*_ M'6BVW!WJ407Y)M$0"\;VU"?8=2GD*&ERBC=,]B$G+#HJ6D *16.!Z/?X-N+IS @C3!T2 M"X'.=U4L(I);C'2! X<8](8R395XOR?8YVF:$[;60,X%/C63]E4MP&.91;S?LGUYG=-L4W]U=:Y9]^L3L[GY=5)E=WS[5 MW$3_YD<(7,RH3EZ[1)51%UP>9 Y\B1-^P8K_XB).Z^X)]:J$M-<.,UJN3[MK M(%^>#C!@=,A-D>WC58;6A] X6YFP60?/W A"Q8Y3^1>(95B%>Q\2Z[ OE/\E M9 WD!V0)7<6;*/@G*_#V0B,2/X?!IKRPF&=_A.0'0<0SFHB4)'E>>"XX9A,= M$5S-6[=\J]0"]L5E!MZDR(M:@IV3"4BROR"V:;WH.Y7L_,==3K[1Z6Z:<"<[ M(P= 'D0LQ3D$;'""&\%*(%\#-(Q$(YI!2LE3@5%G%D/;0#S5&&W*Z(WP@B5S MPB@.R7*A1$K-U]*Y8#/]=7FR'G#&!Q5EXTWZFCN>LU?-5'DI[B(H];C^3X5D;ME?^-/%_]M MM1 [[ #EIVX!G'BQS/ B)3DZD[>! /@V3-JU[7/(P[C\8=2G^(%&]*UFN=)8 M$*DO=ALG]S#J2R'?M^A06ON#,_+"-7\,CDFRNU-@R-KRZ8V[TCS>M/WM .,F M'G]!+!/SHQ7* X7'_U0";;K^.:(9I%PU%9C>"_V:-A#/*4:;8FZA7TC--Q2? M:L9B!,M\$^"<+/.3 HMPTKQ$#ZG(MYP^QI[+PD"UQNSR_9\B:#1]1N\B,H MIHU8\W0$W/>JB-P-^QNO>F9W+<3..D#YT2>C7 0_CU*$P"$_B'$>96\!@5W-ML^I" M!(HD1 WF7X@W8'B0*(SN\")H_K[$?2Q>;+GZFM$H#> ,/SB)!S+0_#R=9C20 M/;QK<-OS<\/Q)NKWUP7)M:=E<6"ZV+_==Z\Z!3J*6^G3%F*6F6R2]A@79127\A><>4 %(G0@0@DC#/1*D^=X> ",%= 8 M&7R/GW/^3KWDZ>WX6=7QK9P)PQS!,H98\B;.@$^.+;%'(R"9T8CE1SU=X<-< M^2\S80PFN/W&][!VSHDU5&A&\P8T \!FPAQ:,F&/_, _^^,3@ MU@!;WLP9L8<*S%CR@#;.A#LJIEBF#I"-GSFT(,0\^M]F0AS!JXYY1][,.1&' M LQHXF!MG MQJ*;8)@XF>P;$H0.A>1#'QVV="8740C2&1RH-G0&9 MU-MCCU$\D#\77M$+UM,+32BW'S_%3 3N?(AD"G>< 5W89P@SC "O3NE@A.DD MP-^_$@?=LEVD=/ EDBE&J'_U=<6*BAQ;8R!L:6O.1-$%46_6:&IHKA32:8]) M/E&%$R&="/%ZR>4_!$@1W<#=H='T8A2K#_?BICGYV0OW90HE;9D-'O>[78FYJTV,AHQI RA?CP9 9$H;51IXY8:0QHR_@Q^)] M2!%AZ;UZ00@I^>SF3[!LLRJ.*/)(+A#N-0J1S@+G7*,2**@D)2H\F,YE!%UU M))#SP(;!H[$P4B;L9V1SU*PLB7CNTZ&PMJCRIA6"BW!7;59>>.F+N'@-%\H] M/M?AV7-%&M[\?=\MD[E/BCCZD_A7=\[[ !D:[M9?4LJOKMX]9QX\3'P=L ]#36D1. QK@4KEB0G.("46'5:,3(8#L#_'Z Y-.N'@BY8,S M2@VXMS;%ZA_<,)1+V 0 B01O+Z^5IR16T*,J>HA(++]B>!VMXBU]\K[FB3$_ MTHA-HS/(I1=$>P9:CEX<=3WX.*E!Y!0V'2R5P<:WAIC -!@U>CXA1!,AFS#A M,N,L^2:7_^V"E"J04@?G-XH0P)8QO'9)_!JDK/D/SAGI$_69J>$)%NT MM2: M![=TF5U#($U5\+-$I^93^W0NH)X+G'JZ,=/SAIW[+[_]#-E\F*2A7MQ9=QZ^ MW ^"&H]NKXC?KWOJ/]6[N1B1SPH$(?1RPT"4 -SO:0+9=(/5R9TB+&N)43.? MV?AZA]']Y_WXO;M+<9/S=S=1(88-%[$@*R'$Y7/):PKOENG;"YC6(G+'UP!7 M]87ETX#<0+ _)^E+$(:1<+Z=(.VL+*7&^7W/)F;B_4, J>. M/O5GP 2#S)C,!\=;#GAYP0HNR#8@CCAQU!;DT#9FPA:#(&F9,LQV:W*<';HF M$(MCYEA@VM^PBXW8[O!SF>[8XFJ]IJLL>*4%.SXPN^M65@VP#6H .4\,!T,E MB?ZU$3/$""/&ND A2IU @#3R0.%C!6' )3E^W-H)(K#IP%J%=*<1696;,W$A M#!ME5+_9,E-H=,\4.50*#X)Z:,NS))E1\'6SSZ!F9T=+XZPSSU=>&711Z')< M"26KV0548I06& 4"(\E^Y!LO)1[9":!.YH7V**^TNP)0PXIR'/GIEH&!S?8'[]V0-MVD<;WLI<^&L8+#VF<$U-S(&)!EIBGFZ:#_/@ MQ2&$\R]CF-W2C,^DJ+(,=7DKL<'^"WZ%\CJ2YQ6L@'@U&)+:".(-P_C-BU8# M5YK#&IXG^XP KP:&LE\.G2S5U)XG337!T(.+CJO.CW :+3#/*O"'4O8!)6=H MAP?F/?LH84(V4?#//.(Y#W/&QQ"W<>13?\^^YW-(\[7I, ;6I@G4[3!T8,M MZJK/CS%:K3#/&A7Q,IP))7<8 :IJ/A6MXB,.X$TVQ6*<]D!3RCSO93COGM2? M)VDT0]%S@E&M/#_":+'!TB2#2U\0*=X,6_3/R6L/IX?_[6UW_^>23S)6HFU4 M%.G&Y-$IAYLVR: OQM'W/_Z'?RFXN38Q[;#:2,EN) PRT_" JLC3#(^Q9/IQ M-$FJ!_NI$$>8O$OB2X%VDP\[0(+3?16)QQ()GQ0";5.\;3RJW]TTT;'%:YG3 M,$[3"R])#NLX>?,2OS\0':W,C_CZP-)!@&U-S),(>UDTMMOGQ_;QFD?F^ &; M#B:4?3KR3+,W2B'E]BY.,IX(LZ!.*J^^R%OE_" .?KOJ+,G^M-M#J><#\7:[ M\ !'X5PVJY-FP:HF/.@HOC*%_-^[A,*_\S]]$S)@ON5'ZO5QY\3+LB1XWF>0 M4A[J1S23?V8%H3I9*0C\R0_P+YF[, _EOQ<,DK(*,_6M["LB &*3CD6E@AUYW&"(#\1Z&,5/M M;'749)OAVGZ QGR9U9\LDP3.0N%GMUNGZ.!^S.+5;SE:*T5<.W P]RF)I"3WQA >NRZUM9'3%JCS#!/2%P^410@7 .4AS5FL.*M MNMA^A%GFNB.^0U.32"E")V C=B]KVYOG2GZX>;;V.1=B/;P6F_VJ*FAW0(T" MUWM;5*R6UT/!@EBS>3^7J)1L\=%L-4NDI;[+(9W5U>?:?82^R+H_ZDC%=^@ MBDA]2&J3%8.SRSBN,OX1;E?4&Z0I\7-[@=YF?L3(X[[)(B3>\K^"V7O MXY0_9-XT7]'4-%(*-0&@.OO1T2[B29)6\\:ZIJH$YR2IQH)(1E[XN6B#@,8PP'8]Q."E!?M=]Q _42S Z19%O(ST%^"[(559(BR\>,E3IK?R]8N!#D3F@&U>T4X M5@)B=C1DJ-XUYZ)\5YM\(Y3ZEI1J";XL%2-O3#,B5".%;IC6JL[P%1+)*O2" M;2IN@8MWN95##EIJBFZV>$GK1IL2L_04M.8KY+IE(&=-(Y#VF$B.$X"8,\W8 M:6!J*34ZGEHJ.M5RI8,C-YS8/A3A57PAG1[C!G3IF0)MXL3<)62L)V+<@H!( MO3@"V^_6)_E6.O).]JV+?! 8!$'EM=8^%1&3]C#]1V_!%5(@ *0N+Y'KI(YV M<*@\G>CQMA&\EEC8R7Z0O\OW8.&F;_)*TR6;CZ]6R=X+TR+OTJ+#O>7 L\J\KF#%$N_-7;595BH"-: MIK6/=M.]*M1D6C,@:1W=SH(06T":/JV<-ZFU&>1J>HB6DTR Q1MBD(3Y.5"0 M@S$E;UYMU.&)?3>P(5@$U&Z"C#0QGXD]]@6QO8FYT MT0.05KYHJ3\GPNACAE;&D +YZJ$4F?\="6>81$6QV:NUV>64 K)L]";6O/#< M/+]B9/N< $K.R9NK"NL=Z>L2L+@:TK68.3JEC*DA.F$3B-X,E1>>F_-5C&P? M8*'DG)ROJK#>01.:-N-\<>:%P\9&+68^[I^Y:$3^U_LAPK-X:7#D4X+S?BO0 MQH-UM0Y<\[*?JVCE]_=HWXG%;-W>%QQ1=&Z^K!C8ZKRLW)R\5557JWO>BN1G MQKUT](Q7A^5@Y.EI!Y9IA0X+GT!J'QN=A^_?E"<*XV+XZQM SE/#P>@1S5]3 M&S&GC3#"0%R_(@YK<+\)1"H1_LJA'HXP?\7B^P2.%;+#/3,T6T;^U>_[8 NPM=M:?)6VT0-%-ʓT<5;3;H)XE,Q$8J9H21YLGFFPAC3',D>I2T_>OB=2]1YA? M$S#95FT^@9.]K)@80'D<%BFGRH>3T,B0J?"!3?'%JVM<"6=ACT:1:5P^@2@" MLD@AS$7J=ULXW)Q^<&PSGY;@C>&A3Z/;14JEVJ'KGD$-:'1V,ZLQMNF?<1D. MHYHZW;()$L[HJGY@R#_I E=I[]S8Z!BJ22PD_W1.['-BDW[6D2)F0S;:,&FR MW#6W] S?K*DQ2W[H$\AY7'QV/FX@I+/BQ0;B.J>Z\%F%=Q;)5!4#.]!HJ#(3 M'VTSN,Y)Z\K/P$M;U38PV.J/ *VZZ5/?B TCAM=$;N"\=*D8/2"*[*363'RY MP^S6V+)JE1EX=)?FNB/.D 1>:;:V9Y29\PBL/'EDY$\.Q>IH";FK3X"G?ZK5 MVF804\(4:W33Q()2$T=-L ME1PZJB F@KZ:CUZDMN1/?F)^O]Y^,X/W68=H;Z;7 MW[A^J]4N!*C3AC1#<,:H$:R4B5MLZ# MENI-LLA-7 %^G8"K@)ZB] (FK)\72SU0\- @#/B6S-VZX3VKJZ^K<.]#J#D/ MK$WO:9)Y0<1^\12+QQ5Y\0>:[9,H?8C#\),PK>$;61"+G/5L :^RHVF9B%G4 MFNECR:.J($2NM[PM6*A);5<6?(KJ$MR?1VM2&?X&;(72I[I M)H@XN/RJ7,2A]XH[!GOU2P'M/Q=?BA9?RLL3CP<10XE-C'E3.QIYH=N3X89/ MT/ !FTLCY]L.,WL\I8J8W;HT'NL-C11DA#UV_,GZJVC,&Z633?WHA?Q])R\# M_P:OAL?K#=K)9HM)YMC2DM<:['5.0_4/J=XS )-[#B,K>Q^G 7\G=AB00YN> M)\&- G#TP](-[9IYUGFY^1YJH0H0NO4F@SB]>C32'Y4'TT&B9C.]DX M26@(1L ,>Q0W '@T\;\_9IAWZ!GB_-DN"%P]2"V/LW- MC\\&666 QH1\0512 YDY72R'-N!;7KV@6A7"^Z/, 0Q'T=-:'#*-U+ MX\A[#@^,P=.@.5AH;%O(&6D21-5SBQ$-(6:A:?:,/['(YTI!U+Q[1H*4E+*) M%.[JK,(U3HU[5^Z(IV#=Y3Y[B9,@.RR_!DV+N\;"R*FCW4B5&^I+(G;^#H7' MCY/%%*)HF/P*33N,+#RU]3+>>L%Q[IL>Q6?77ZN&MO=84796??9(9;V]5C3N MZ! &AZWV?+1RRO_?^R1(_8#O$7RFV^?&>^;=M9![;$^S5W/)$7)&!C>D)FT\_>UV"[WRZC:.^%E3_2 MY&J["^,#I1\/^4^P<;@Z32)LH'FD+FX*2"79H+:V\6AL(Y' ?+9I3)H8<>46+"?O(S_,Z^6 ML%8/(N<=6,23'WH0M,;C15:*I;P!ZTD0\7R,7!FB"N3IHDFN#Q$*'15@"$N= MX+-(K4BNEI.GI?& >E_IRFIW2\4O7BG$3LH^GOZ)I%[H); A&B?DC=5S&])= MA^1%G&8/Q29*XTY/O[I(1YQ1$!Q%9G=71#S!'*:_=LY9$)!$2E'.8JLMH* V M;WKB*2(,[[U#S57G =60NNU0PSLF@)4Z\YS8U9N@:<*6AX3N1.LPM<(]L=(+ M1O.$*4_'G0M",P72:_[RY./#=];&7Y\A>*:8F7 M"?T2%3L =:GTI[6&F.TTP"1)<$)3R+E1AV6:*#/B(M5U;4K>7MB:-*%D#W+) M5@CFX1$OWBM;V'I)%JR"'8_E"B*Q5 :+/A1KW)VPB7N@Y43^+K'ELM4EIT"! M<_!M ?35"=!<"9)K89^>74)VV[?_N5MV W\O1>FC&.OHBS(0LBF M^BGX2GVQ2\AFRG7OKYF2@91SC$)ZM #7)P#YC-2+2%DPWWT ALA(: ML5\4*O$Y \V5 N]>@UILWLI/"7:Y8DX6_HAPE;L$N4IB6+@_0C?7BUP?H7NE MH,N5DVPN($#X&1SZ:0,Q^=,&!<.T(59_X;>B;#% :H/^ONO\873?=Q(E*7R!L: M/T.2NVBS7#/XGVCT=[A2>K>&W-(AS:C_2)/78-5RLJA1PJR&*2UP=BV71C8_ MNZ%)C[6ZEDI"#=A3E9>)R*O0A'B@"LEH).Y>BYB?7!V2"GU'F%(*[5YKP MX?JO?\Z#Z4H0V7@-.)X$H9F1,,/A9B*<7R_QA/1K;[:CQ4#SM \/-?Y6<;0U*(%L,+"$60?[UW!^A>6Y*@BYWA)Z]Z.Z MF+L;%7G$]S+R[YB')/=QFB4T"Q(*?GV*9N5I><:5^R0YS3ZCNVVD X(1"-4; M&%H:1GPC0Z]]XSU6W#2 2W5<#U)5A-018KH@BC8+4NKCYB8'#BB_1&L(7?(E MT9$P%W-P1W#\I;LX@IT=&JV8O6TON3<61DY![4:JG%)?$C%)="@\MJN*-QO5 M=MV_S7YBZL?#K9?M$PHK5?GKM@S @QJ86Y?N!*.UFS?6GE/7[S9"DSL$ZH5D/M9M[&M<[ZB-&+?ZZ&TSB4.M$YX\RB&0JWV7L3;;9#QNT]\ M,ZXF789 MI+M]1D6^H)I-^.$M(.6A"7#($[Z!U9$?Z(VU9FP7?X),WG'FA4IRM) +A9\" M+I;0KW2UEX]9TF0=)UN2[I]YGDEOE9&W./DMOU+I"^V@F/)&O$="H,J5LFSP M]PG_8W%H:/<0T#;.IXL((9+%&+Z#,I9)<["+/H6;_@,\Z,L>]K=*1L,P# M#Y?>%A*"/\;[S4OVLQ?N^^UPU]=#RL:#36_9*CFM-)LY8ION^OP_%T*$E 7A M@_91+T M"BV1;[9Q1#,O.>3IM;^5#YQX;U[B\Y]\NJ:1[[&!*LW4K+ AW;!9U-:#TA)^7G0UCUIC:05;4PPAE$ M?YVU';CD>[^_2@F6]YG,6SQ^![C6U^=I&$1-]^(E&-/'"XM_+R%_NL[CX=R,Q36@* M,6]-!4C2VMAVD+/>9+,TD:)\.N%/:1EVOR ;H4OY*WXT[C%UU%_AI$YGR!:" MBTL>!Y*+5GX#3Z"#=.57[MC7.59_4L!:U*#EG:!ED,$',/0\&;@OP\Z40>TQ MY'RXSR"W8:(M@[3D[K3^F(M;XZ$;"R-EJ'Y&JH?Q]241[I_W5'AL)ST=)=U& M2]LR4]O(WV]9-KL55X_%U/S621:60/-8UI@ LTZQ+QQNI<-]#/U@Y47=JT9 M3LHA)I!6TXY6"]5"R$FD76>]ZP1*MD(*5B(Q X9LE>3-NE\=&#;0%*% HHV[ MB/;EE>/B\Z&76D,;6*92=EYD4Z^Z#[3I^B8+H>&;X4UAQMX;;/#Q#-_\+]9?/ MK!^6QE[DO5(4[P)I;*-SX=Q)H-6R\:@6Y\33TPS4SN \%8G(#1\(18@'F@!] M?VCVP9R4:[D\1<;8;A _XO)E@3B_PBB>+;BN(*[0O=0EK^:8ZMT N)S:1PV- M$YM-0C=>1@&-XK?<=H9(OU&A5Q.S&0/Z U+/^-WU9\7O \S1SN:>%$[HUQ5< MI,LS3>5L(KS&V^U"MB@%1VEPH%1L6(00QQ_15,[T77*X!52/&;O DC-V^8=< M*A)NM@!,R<1JKU+WK;@T,WPK$FO=K96=FKJ[Z7WJS(51VTRNI="Z"G/BS%;] M-9%DF=%/;M#"1JS+>:D1JX]([+:P6MU^=7"EW+SEM_4?V-IN*_M?&L/[7_VK%_R7R@;6QT-9 MYMX[P.^6D/*N[2TOG>TCI7UC4%8>LM#5..+[7?IM',UGN2;\J560\P%^[U>3 M?*CJP)BB%LQ5(EPG]V^:=>+9!.=-Q[L66AK&[M?:P*LX].16,7NR/N-&NW / MM^WPVAO7SW1@@#&+5[^]Q*'/4_]<_;ZON?NE!8P>KWA@@>/#QY->-4-JE[L- M_*_IT6L:!)B'G."QTVNILE%@H>XE".U*J-[-1 MPQC*)42I@,@KVN89B6#3)GEE_X#SM2!-]V.?4L)%J:]>$,+$_U.<_,3J'A^ M6Q#W3@BV"6@3/'LLZQW0;:/)J%A7:LE)A.LY;_K5COHI"U<@<\^[ET&Z"N.4 M/ZW]0'?LR[PPQ9>;A(I-EH:G#T941\Z+0X%0>:YO7<2\-=B$23P$><6E#'*? MQ)O$VSI[.,$-!#4(.)Q]P1*[5"C7IVEN^A1_I&7AQL7KQ#:1\X46R"J3I2D- M(F86/79-VCRJ\;76-20<,#^K'NIJ5>D4NI.Y"_LIWF=IQI:/\$3H*MYNV?PQ MY0A[Q^!YJ_RU!'$P[^7EDO)+[,:S7GU43"U:2]\/8#+HA>/H3&_+2$G- 'Q% M=(V>9K%'W6BV/RW,Q9K:$AC=XEP8J2;X*(^'$8>FR4@J@_3AO?(B&'"R])#FS* M_-%+@Z:HGM8*BY.7J^T'K=>$-DZXKYNC <$A[!*V17Z$]AZ&A MTJS+>.L%Q\O)QD(SZ7)5H^HZG2@Q@VYWI*B&CB=:='3 8=VL\7D0>8TB!WED;I.;U.+)(AMA9%OD?737<,UM"!:Q\E6!#>PI0!<0(,I M1A;SBV4@,X^I)84R(B5>O%;NJ%G.?&@4G%IS.1 .TQX:M;CY*VOCJ+MM%#SO MTV,+?FPDJIGLJ/WZ$/4K+E;1%^E"8RG( $DHL^ZK%V MF'#3Z9(,Q_UJ(*8D?H:W'X.699'SDJ]U1_;2:]; M9TV?V5=Y(2"N\1S?\FU[TW@T'>QQ#-Q1E3.[^V3 M( MH>O5U%>Y]ZG]B! $QP'OA27?K*R^!CIS*U6;ID>V'+EUU9N<;&D\PFCHX M@K,:5[8O3)WHY,_0+"/_-H[D"T5\L7&W V[K?.*JNR92[QUA_O&C5QW5D.]= M#+5B?)>N) M\>Z$)S6.:Y2-(QL6HI\>F:9TS,BWOR_MEW9!EF+_%^\P*_3R Q(N7Y#KU<9 3[-V%X M8*VL,\B%*%1< ! 1H!!SL+FM7VFR"E*('50?#/L@DLYPHZ(X^G#\^YUW$%D> MP=+?0'JXYR"MO/1%;A7!G59 )J^F@#B:$0W*IXPXQ(9AO!KQET)?/#\SR(@\"T L#+UL[AYS,QTKR\> M^&*"B"(ICQ(5LA"\;V8:!]5_#VTXWKU'!H(#U%9[9\5_M,C>ZVSYOI3A^VT=KP^7*CA5I!84#B\"O0+#38O67$)JGJ;\JZ\ M4'\)=E._3$/"!XN.!#S:&D?.D7I!5$E23\N(65*S@6-]6ZI1W%8\N16MZ$(> M*'2*(!2[&\YS R'!\ B5/&#Y9*=)S=(!^R#UI?:IV&42;"IO8:WX1HTO[*BA M5G<\>L'SC?!E_@GN#9^MHPIRSNMCL,ID;>41\U,OM<=ZC&A<7JT4[2]4IG'# M)S9L/B6#!:$1S^C!O#F(];V2=[5>TU5VM_Z2,B%'5)E;VN&PXUM!ZL,382D. M@(8W@?TP:()%FMZHHEP%\(-]RH=(.3/Q\IG)JLF!+)\@.(#JJL"&2R4GLS9) MJ*Z9U#U 0SN/NYG3=;1*^!FB%ZJP++,L"9[90OHYI$_Q:8).I<;7JKB&=T&HT;?YVA4*%*6435 LZL+^5V4^G9M3FP%>W&H#'+VJ36IR5),B0*N0N8!'C0^STCY"!V2*/F3GLL@DML>0KW M8_YP3UZP^JBF0@T0(XHE'15*N/.<,?EKI!-N06@:OT/>./7KP;KZ"C\V76?N M71DYW0T#H3(5Z%43,24--&#TY$&*:7YY.Q?E*#K)#@SBI5EA_$HUGM8;CVA* MU4J5/XN;(/?\U._[L70\3 1R3C$!J):G#VO:1\Q/1LR<-%6:]L2A&/=SOIU=J5-RQ9456(B-9Y8 IE>]8RVW8_"4R,#JUG(ULAA^GS\9" M,5K6[BLT?<]'Y7LJ1A3#*I-1VN$@A=HFO'2&8P<'"9C7T2K>4I(QH)Z%I!GNZ>0Y#I2HQH.)E\C8>K.;; M4A5H1.PQ\Y)LUI@]TTT01?FV8!=R\QF"KD1&/@@:-3H$U@IIMQ3 $*=H9'8*,3];UPYPW+--_\@CU_L/0?,A4&3*.;H7FF-)[R!$* M2Z"UK5V3_HJ<.1V/_SB&E@P]M3AC0I\ !@;&KRPZ3BZL2Q,(M\%Y)J$9?BLI MYT,]I&<_3KC]DG^,"$>?P<$P\ ?WSY;PSV+[R>B7Z=B4\ME( M$F10:X<]F? ML@EJ_:Y5-[2(QM+&VUC5Y2I-KR,1=FQB2-6MQ-Q'5B,?1<\5T#$:S'F<-0.$ MR>$V';BE)MZP$^'\ /7ECFPNW*96U:YMS) M7@?D.A=/K0+G3.5:[,:P4"HU)8JJL]\#,_L![OAS;D&TAO?40,Q\6?AD-'N* M,R^\CK(DB-)@]3.\WV;V]*I+])ES\I /8. XNE7N&3/T(/,Q$'7M#+O0EW"% MY\G55CY%B91XDC)>%U>;BJ$S]V! $>KD0<*^6F": ,9[V#PVWOA M$TVVK3D>K&LR!XYW\WE.*-^N&MA' $=H(!H01!33R59+80-1C"!@A<-!8F9? MJSC5EHG;DP+4E0(JLWU;,YZ JF046J##^D@6F?K=:*$?!Q:O5!_']*[=?UGX+]-E_OL)4Z"?U+_ M"SS+S)\U$NC#:VGIQT,U50!\N"&3:,2L0\-M@Q?/0 MD*MW_$A\-0VW4)*46N:OHW,]\Q& O\+(A@$V6APE*.'JDE^YPN@><1V-?\O[ MPV8D8><4<_!VSS\GB<','@:MG7K%L^K=*%]H[@74*4PC'FB>*NE\G;L+7DW. MW23F/)V[TUKM;RB=3@&^-$P!&H9_A"\S(X!Z\G1K$-BCWS4\!0'>,[D4)WS? M?__=7[Y_BK__ZW=__O-G6A/7-ZX%I)0X 0[Y%N# ZLC?\1MKC:8W^(Y.JOFF MC7@KB,LNCJ&SF' M3L^E[;ZL9QNN6H( D42527*AY%SX80)7UK4P6ZYLA*,?5YY4GS57-EMCGBM!MLJ5/^#G2OUP=7,E MARD7BI8K]0/S+\)PQI4_V./*'X0=__:7[_XZDBMK6Y@K5S;#T8LK3ZO/F2M; MK#'.E3\<V6&-_#8Z?*PW U7L-CIHK#0!3KL%',8!6A*NYCD<*FG$'&1].#W".Q=RC=]HDD.V M#89E7M8F\ET1;3W@YNBV*N_=D&Z#V?BH=T&XKCD/ULL_2IR/?$T@V &V/I(WGOA:6;S,;(TES7,V-IW?@? ML_1+L'DQ1=.UN[I:T5&N',F'!>H?*+$K&2D/.X!?[CY;$HN0E5U8;R$8MHF; MZ_;FB%FMLG YO=EBTQ@[4#?!&O7R?NM@5VI\E$^"O_18\VM M!CZ^XDS%/P:UP1_4WIP>W,#D(4RQP< MA-1*1\K>CCZ#\8.04]$(6=P5 ACG[>5NODKGYW<08N"SG.E!R"E2;4L:*[M% MPU6: ^T[_F#&=H,&ZH-]@' -"\91HV:L> ^[/;8_H>/=G0?*5CX!I)SGT"PC M_^@W7Z(@2Q\>OS0F+QC> E+BG@"'W#496!UY\H*QUDQBLY2_@Y!RFMI#^_D[ M"1%AF@;9@;QX*8GBC!QH1H(TW3,R>J8K;\\\!E(>>)N$,F_:[QB_L8^=!LSK M#PQ, M(CGY)1=*'L@C^>(P!8)S;+Q&;-RM"NYILHZ3+1PT".^II>GNTD@IN:>9ZC2W MH2CB&6B7QF,[L-*NG ZZ\5ZKAF+PROK=C?X/%_W$"F;I=<0,"V+_:/[)_WCI M9?23%R0F7VX;K@5R%G'T672^TC90!<2LYPH)#"^R"=T)6]D)[6O6U;P( 1,( MV##G9]AL?ZF39T'7 *!X?JU80:L/L6U !X9]OZ6V%M"99L_Q><'^TR 49S 8 M%] LV2ISF]^8B_S/-'N)F8'QYM 0NV)7\KD.NL/AUS+0]A=[CH/K".L=#JCE MR$@4??E"7='86>#*G+[&IW*,]$IA_WDFM"T?@+T,7@.?1OX#&_EL?*P&N>^) MLMN@-T;8=4+?"UVWVHZ.K!?EF]1280(:GP%3&_D0!5J^1.L0T)#-NCTV[L%\ M>\54.I?9MC3VYSADS81!=K!-W">2WR-UU\-OG+RK8M\;?3=8CYG 2Y7/C<(U M?XP",7',+9+SOY;HG269/P3I;Y\22J\C]@UIFMFB\@:Y[XG(VZ W1N-U0M\+ MB;?:CI#"05\""A.I\;DPN)$O 8U^6 -<@80K@9,:5+Q]$A!YBN#SD#$0,C4, MBP37)' .3&T4[.XH;AW2L'.S6:,1DG(Q2\26'P8%\ 4Z60TZ]JCV*H\E?12A MI/5CUVT<:(U# MK?*L,6&(:=:\S:.=749LYZJ1)MI=D$(_0:^,1RNT#.JQ,B+2N]30#;WB!;R" M&?T*/U,.61:39PK1\0W G0'SBH"93W&2_PK*-4U\K2OQ7CFZ]:-8(>Y:#=XC MF[<#@9;B%WFP)5G'"5%4/S/J-_-U3F(J=P++F/V3O+T$JQ>R4K_!"K[!6Q"& M6$:+T2N9/)KR9_X=9#1EL;S1OB'2+0[Y"& ::"V;(1VR$+.Z<9,QQ,<+)=7X M>!0Q\!AAYV."&N&NQ+6+L<-P(L#^ >G%:/80AR$;H.!/1W ;%(.4-DT#VY[/ M;YH,A#1IW%3MF?KJZ#$O5T^/RO3W5]"0Y"JBR?7DH05OL8B^BGR3 M4T]3P)<\ZV7R9DLT>MV>9+;P/>LYF[M75BX&) MP(D I".-.3!US=.KK2-/,&7(V-%KZ1=*HH+W16RN7$OS)%2YW_K[!#P6LDTE M=! =(+ZW\(6".Z\9@44ZL;S>CFD$P<'Y M:#K3 M$O2Y8F];$:2#D_N/8V2%U%N+][!X&@X&LG55OT0W.*[LS^N#U>Q[G>26[955 MZ!R'$>>?^8]AHT=B-"O2_Q@FL*5#&SP\G,%FG/DOU+H_9RG-F>VM.LNHUN_> M67^+;^R2=.BHZ48#I,.FP\]A9J\0^\!I=S/1/)/ ;N.;'.YJ4E5Z*; *STU) M?!C_&)]D^:/664R\R@8E\< 2'MHJHC%A4ZUG9)G.:&_[X.$X\I&<*9/GC"?, T2"GKFNU3P"Y['?T%B M)C A0<06//N\(OOCRDM?8*//6ZWBQ.>-OP79"[_7Q2'@6?W+SSCG+59+\[(I M>["-6[ H<]3.\1,I&[EGD2?UBC%!=K@NW?H._/SIQ8OZ!_XY4P+I[,+M1]&2 M$V24!M@7Y_:!<+A %XH317/"58?#T*A7U(S3",4Y?SC7P8IFX1+=Q-WG*N3_ MP?[53V&9^(7P]\WY1QC,D.X=[\;.XO-\F4&LY.R U!X\B7T K3[I8?U;GHA_ MM\-G_8>P,WI69;_+P;,! OQCY_'#3^>V(-+\8=0GATWAR: M;UOVNZ1U$^'H5FC==;3Z[#X-NEAV(Z!]BI,U#5Q2>YT&[Y;=&S^''8(_$?\N M.;X9!?PT7^A^SDRO_P.5L)TYW_"N1HT\S[F$--NM6/4[]W.(2;GW+N< M0SBY[^PDR.>]SB'^N"YMYP1^S_H%OK%LH'+O=B ;\Q&MQB'UTNQ=#F&C ,(_ M?BEFO=>AR^J7K88]O8^A:^G[_,%)+[P,TE48IP!UGQ3.3K1YMX-3K\]D9S1J M5>5=#C_]$,$_WI1V$,60,PXW,OOA%#B#B*=A@W^=XR!276#R!RZQ[-V=*/-N MAY ^'\G%KEQ5DW2%@FBK8AQ"'B. ?0PH[2&&(&$#D M\#*SUV4#;RB+/U]Y+];$]]8'NF,Z<%[+*JXY@#\\JKB8S%_V59RFW MFUW<* 9/TE2E><+;)UR _4S==LQ5O^R^SM#1%,047T&/WM"[-5?Z,_5@E\>_ MB[@A]XS_Z ,-69=_I4_Q3TF\WX&Y)[E.)S>&F+ZF@R3);7Q+R*E/@V$:B%'9 M1CQZ6P(H<<02!3'>M7A'LT'E]^R_ M%%X?@5=36(<>AF%-[7F2=1,,/=CYN.I\Z;C1$J?\NU.U0L6YVO'J(MG[8RA0 M$:IA.-H9M!BK67PU'MX*;6\= H)#N\$?QT.\$F33L"ZB)Q6VC!'U 3H5H?_%*1_'6U37ZS MQLM(YB4;:ODI,C>XJ9L'GZM "<%$D9P_(9;+=D+%CB'*R3A5>A)I[$DZ:3B( M?6;H+_#X']\[?HE#GR8/--LGT74*^\SLE_XO0?8"4WD^JV?E^7AU68P-'P]L M<%#,J8?8E"C<9&X48(7OC=5V/+VRQ/Y,/">@S#(@IH33]!13$;31?[4 M-+3S[(7YWRD5STYC>&[9-KA<2-TCRI635!%()U8\I2XB2E%H@^M%9-LH*IB< M=$^](\!)*,U 4R_V2<)0F_V>>U2L(\.9F"MC!5Z12*T=R[1P--L@@_EEVW?O'+^F4W39-P>ZK%^KO0WJW?J0; M8 CF=6!IM+DNSP _'O(_/GG/8>-%IU$M(1UH-,!3"1 ?W@SFX.X)UHQFIEPF M?\!=-$P*L421N^#AV7F)7[GPD^N<%MVK&:";(*+7&=T>1P@/K(K=@08 4/&8 M'O4PN\@0]4?[1)L?D%]!$.&27-UGM@G"-8:;Q^(EZ;NU,!FX)U>OROUYY"02VI6Q) M()<^P:HC*4Q7'>1>V\MDU7%;*R#VW7YZC^W0LG58&HLE\8)P"6V#V6U^>U1E1I[;I+E.W\UEH/->W;;G[>GSX#3) M%.]E_SKV7/:K_[G8;_?BSL35>DU7F3C,OULO_9A?#EY^#8YGR .J(?7=H8:# M\_:M@]![!ZL^^O"N$$*$E$6>A@6FEU(2#X^&50Q1EW M]:KQ?3N[J#73[GZDO+8.+_O[G=K?A3#+PY9+%.K=O@$&Q^.;_X]]FL%B]S.% MA? 8ZCQM8L9DT 1([S'PJ/Y,":+1#*-444HEOPJY"%G#/#1U_+'H XZ]U>[' M?1I$-$V7J]_W01HT3)6[2R-EBIYFJJO:AJ((_;^OQJ-W8O)VB=*P[EFOE@X+ M/R:4UDY^A]2;82>N-;VK.U1339 M'*ZC5>TTM;$04L]L-ZK(4W92 GFL9HO"1E,_/"T?B1!,F&3+V3O(9&B%U[$/,_CBK->Y']FG22C$;_;W$@< ^MCYI0Q M4!1T,Z0R=B8:9:,A_B"9,:3KI.2R#EOQ9SY-[=T9\1KF#:M!P_A7IE QDPJXFEW)RR*,R1O=Y3GOI M>3A:URE-2U'\SJ?]@$%U0Q1'+":-+1MT&+ZK*/$I3F[IVW*UBO<1W#6X3^*( M_;@262I;#DV&MH'4,K37@LC'YLH-;Q<[/ M9"#[?'FN6CM@=11%WN?;#%2[=ETYQ#VX5=TI3Q%4XX:<#$]&;6QU1MU3Q^&# M5J%=H9S0[2]__O[?O_^AU3_[UD7NL(,@J Q.?2HB=NEA^AOH_T*.8Z>WA,+C M%P(-?OC^!WTI?6CR&JQHNEQEP6N0'1I/.QH+(O7,;N.*W#BUI9 ?5'0H;?38 M-)=-O%RVY2PS9BR7S1+9KL-C!K,F:N..R@&(4#6@:2.#=!1'S"-]#)5LTE86 M.:?T4MTHLZPJ!UR%"G8)QB@,U8/-HG6'9&/-7'<+E/LD]ID.R\C/*9"_Y-FZ M+NFH@I2LAABLKD+:RB->?/12>W1Z9M$XCSZ0,Q[Q[*W;M891HWE;)W1KSU.O M(\8^7KC<[<)@)7/;!;%_?+?B*?&BSML#HQM#[MW30%+]?EQ+B!EAHD%CW287 M2Q2Y\F3W]/Y2*=OY1OIPN%KO/$QH[NQTQ5)K/]$O&W.UYIM*<_[0,?@A^O(Z'S1\I6EO0IW@6K?__SO[=.\"0ZDCXH%"!2 \=+#QR@[>M!"PK0GA70 M2!MJHW<^/]/5BQGVF.[:=DP*0X4 MC/ILTR;F^5C8NGEITTQM['$5,I9*>K%'2U'$[-%EH&2/IG+(V:-3[=&A3"\! MO##-$\NF$$@@7C:%MSUH(9.DN5"[IR+&C"X;QD H-LVT&^S_V?M'G%SLTRS> M,@ :;FW5%D+*-.U&R8C^TQ((5R4=BHY/$"1:9DSM=.XT1/(\DKP?1)#!,5! MRFJ<2/:H@M31AA@L)Y9=Y9%/,'NK/SX13Q#Z$'/CTS38P+O!64Q>XGT*VRC% M=7,0S55,^67S71*_!C[ET]&(LOE+ZB4'"-GQ U%(SE6+>G#-46F/_KX/=F"W MW9FK<325&_I2@L)LSJ:R%NW6MS3V]^)8HGE%?%(",6\UF%.L?ZM_1LY*3=IJ M6.VFZG*72CF6%[B:S2O:<[F:-663-H>_6Z_94EB.1YW3F([BB*F@CZ&2%]K* M(B>)7JKKF[;LDF#K)4%X*"8?,!^!L#TV]7C.TPTN!*U\];:[D"[8KS,2Q?#" M[C;(^-1G03Q_&T0!O$@A!%,7FS: MJV]G_[^H%V8O*R^ACW25E2O*1C[KK("8T?H9*SFMO31R5NNI_/B+.="H?,:; M,MSC+5]9I8R2P"'A7?!XN_,BN"I HXVW8;P51.2ET.M#0L7IN"0]9]&104'[Q@'?0&@^S +/GG; M(#PP>YC,P&?-!U[8' ?:60,QL_4TMX@*;2^.G,GZ:J^9P;8@EJRY7-YSDU*R MW9F5:0!X^T0(X%REB' 92VK#[ ^?R@^LB'!WL8;?^&U= [:71,I:/(P;Z,[/'F7B6OD(TB/==&5R[:J#W/=ZF:QZ86L%Q/[8 M3^_QN\.B,>>WQ7-%6J^ 'Y?!WD7K3*IT2;4 YBY8J^?$+N?XFK01FU+]X9BW M]$W-<]2X!&PJA]1'.DV3R[W:0L@7>>TZ:U[:1?2MDMK,[G+.C*FLU>I[1.X6 M;G8,U!?C^%65F\HA9J96TXYR1%<+(>>?=ITU4TX> M)PF71+@T)SFA-9LJLS[*9MUGA#9LH&ZZN/#",%7>J(17,N,H8&TPHNKBD'Z5 M\1/+ !".V*9'S7E0T!!##/'2"E18D*WRC"P[;=8\L]4#W8K$Z/,R_)+KV,MAPM:!>"E(C-@JKN%.N5@'BKV9"AXP-_ MN#H0^9,K1!2-2*G2@DBEB- *PE=5O1:$:T8N,;QQ=TF3X)7GX[SFZSD89A^" M]+<6G^ZH@MQ#^QBL^EM;><3>TTOML;Y0-D[*UA%UY8LXRA+F;/!(7NLQ8D>5 MV73E9H/KN_)I^5ETY1:U-71EV3J!YAV?25JWV7WJY6N(H*5I]L"&Q<5Q*QFW8H/#[[AVB60+L$&G8<-&;-3G>N^,D+DI^]<$\_ M'CY3+]TG(NK(2X.V,++N6LB=LZ?9JI=V5$'LKGTU'Y_9MFB4\%:=SP_OXX2_ MQ)(5IA<_7 ;I*HQ!W]919U@+R'O["#@J;WGUKX[8"\98,=8C3<,080E3R&U$?, M'J/,&!V"D0N#M*;(^<,J+D]QYO)BTW]1?Q-$FTN>*LKK>"JPL3!R?V\W4O7L M^I*(?;A#X?&Y5'BS1&G7^03XU-36S=&6XK/KKLV;HDUE9]5E-6T,UG9:I_N@ M*$RUYZ&W<285HOXRS94LSUBN>,ZN8 5_:)]OCFL)N5]/@$=U^1'-(&:#*=:, MOK009Z042I8ID?ZDG =*P?QOKJ>D"%#RZE!:](5I=)#D+U[X&TV>OOY7++)0 M7D>K[Y:1?YVEO[S$87BX>XNH_[A_3@,_\)*@Y96H\2TAY14-\,A8RI'-( ^L MG&K5^&";'3.'7Z,,(AYCPP?HG4BQ QZ4Q40H1Y[^/R+56Q!0D$?8!:SJ&]?Q M0PQ*DE31TFX0IBL0)3Y?"WP$/!"/R803(9UP\425[S!$TRU6#F-7XBU-LV!U M$>^C+#FT3NV:RB(EV5XF5L)4Z@HBGH"UZSLZ2"-OE>3-.IX_F3'R$_5IHO%= MC]-W.O/'0^H]JF<5I(XUQ.#FAW2KY9'/1WJKKV'B X\NX?!-WH[":M'%<2$U=?@YK=[9T58O=4W3E@U M+_LZ(BSCF-0]]8N L%S8/79%D\HE34I7WVWBUW_U:2!6,^R'XT4,^]7_W-"- M%UY%69 =:LX_ZTL@I:D69@_N7D%I[7EGS M9\0]J\X0V:W4OR'M4[4JCB:LO"LY.6*T;(RBO9>>+W=>4$"ILJI86MAY//"?KJ/[8FB=1(4S9-,M&]WHF?%R+)YDK?O<(KG MZ+/J2ZBRHI&7!/%=1/OS3:]*B$FGO]%%XI3.&LCI9X !NA:F)YUV0=)<"Q)' MU')>%//V2Q&$RAA@@["RM]@-81FTO_!/)@,G81DTOI6PV-=V%QF@YMF\CNZ3>,/PK8_1ZED% M*;,-,5@-%V@KCW 399#:8[MS)3'M=41D\XZ#".S9'$20(I0W[\YU;V(O2N^] M@_<5H*L4NV*#MZRQR:)'F;CKW/@'G,A;=!FL;)@41Q M-FI:K\G5:,;LOUM?)-0/ZM]_[2B*W=U:#*PX7$TYS"[7IN[X;(A?'1GY&O@INT'7UU>OE(1(-V M5[/:[?#2W Z'JU1S'\= M)G,^Q8GMW&2O5QXS+X@\GH$G7751,P% \T_#4%K MK8:<.X9:8?3JCA*,MBJT(5P=(O5Q%91F%AXE1NNBR7(4,6KN87"WFGCROHI9 M%5,E.;!._.8E?DM:C[;R2/FPMZGJXJ*Q,.(51K?.XV<=7^4"0VW;>9J/6HMO MO6U[*N3N6G/LR:=F=_;GLLK<>G6-YKK[-HAPG!+$D>F+=MM'S\DOJ2_VK+__ M\3_\QOEW?2FD'MEAEIQ7UQ1!/H=NTWA*=_-ENPO"6KZT._,U852E38?361.V MP1DZA"-$]N.,/.Q85PT>]B,: M#]-M''C8CQ@\[&\]/>QO\_.PO_7QL+_-R,..==7@87]#XV&ZC0,/^YO&8!NN M9PH#XU/4J;3<9R]Q M$F0'..EHV55LK8"4C/H;6WV$L:DTXI&]A]*C:8DWS;MOT;@\&'.\,UEO=>LV M94>56?;DY@W,MO*SZ\V:=@#K^C.&,V[K1FLXW=;EQ@RYE]\D!PQ0[-?_0]/%DV3G9;RB!TRDY5Q]_' M+1LU,D7LU04?Z(ZA],(T6FX2RA\4/;:V=HXXM"[BSCH8 MF#>U=$VJV'ZS_A MTD,NB12B2(T#.)E4VH6BO]6C=TTO]FG&9K!)XU[I20&DWMELC-P7K?X5^6YH M@[*:;Q(E-/2R_![1*I=H=Q-4LYVR.8?;G88L,O*<)[S',]7[:>XG'**D] M!4=K!:3TT=]8==W87!KA,#Y Z=$Y+,JF2=&VXT6B07/OGL-@(YB4$>A."(+7 MT>1%3/(6)[\YS.019+E^CVR@V:->40>VBKNJ.S7!2- M$M&J\V.&8S-;#Q@:"\^LBS8?*M27G%$WU;3JJ>FH3@\0G)MI/SF)GRU#;._U1&H>!ST5?9W1; M-V]K+8C4_;J-*_?[ZTHA=+H>RD[)P5DT2WB[3G;]3\UKW.1O*3JK+EF_A=]4 M;C;=4MNN=$W'=+8;C\),>S.TNQU-^)9M_GIF>_;JYM)(_;&GF>H,K:$H0J_L MJ_'H[2C9+I$-.YZA&3?4<6Q5*LRZ"H-M$'6OE[KJ(/?)7B:?1%4U54#LG_WT MGA14E+=.E.8QQ%(9,_HB3G8Q\UE*_K>WW?T?U>Y*4OG_YU]+W6[83^R7\E=Y M6__W_P=02P,$% @ 1()94H>4X#16A@ *CH* !0 !F:7@M,C R,#$R M,S%?<')E+GAM;.R]6W/K.)8N^#X1\Q\T>1ZZ.J(ST_)-=D77G)!OF>[VMMRV M=^U3\U)!DY#,2HIT\6);]>L'X$4B15P)4 AQ^E3N6T#(-:W/BS<%M;ZS__] MN0Q&[R!._"C\RT_C7PY^&H'0C3P_7/SEIRSYV4E_'!\SGUFR< /__@S^I\7^,D1%#=,_OR9^'_YZ35- MW_[\ZZ\?'Q^_?!S]$L4+6/]@_.O_^7;WY+Z"I?.S'R:I$[K@IQ$L_^#^5741_YOA( M51S]U:>4K\E2E&^U7V(P/C\__S7_ZT\0O='H/^,H (]@/LI_]^=T]0;^\E/B M+]\"U%;^N]<8S/_RT]S_A*(<'HP/"T'^UU7)D^J_T]"[#E,_7=V&\RA>YC#^ M-$+-?W^\;73%C9:P1)JLDA0LDRQQT&]^125_Y6LTEY$+O5\EA7Q*(5E11RZC M,(D"WT/GC.M_9G#@J1<=]PV#(+ATDM>;(/KH0>FU MIGHL7CBA_Z^.1IK=H@[QGK+ETHE7D&#^(H1+ M!]>!\X?K1AF<0,+% U2(ZP-QK8I_0(?PC^ =A!FXB:,E9%\:.VZ:_( +M\LL M2:,E'&D2/_^H$&?@&'/1S/L@DQ"2TIT.TJ0OM8N)WFWM(S>@0 MY+I!)BBGQ$!P@/<01G M^W2%%K-0(6^(6!+BXIO3(=@52!T_@(L9N'R++[,8+>3N(/9^ #DG96J9+>L1 M]R6=O03^HN.BD-*2#G'NH)F34E+5@([.WX:P0^#9^922H-&*#C&N8>EH!< % M",'<3Q_@ODA&'GQS.@2[C)9+/\VG4&BGT+(!+I% *+D"H[:J9WW].[[^/KXC-;#_4-1?<;(#; T!MQ?,&8S+"TRM57= M&V-IZ7"-F;U)EA99_%.F;)BE1:SO8-V$@K$!7;GKY-M;1$S68T M;["EI<&T9<9F37Y=1&S2G(V;&B&)S9JQB9,7DMBD>1LZ!<+R-&_0'64QFP1^""QN_C*(3_=(OMRZZPX^R%N3!. ZAYY*=S M$\67,?#\]"Z"NX.= YF/&@D2+.HL%C$H-GRS>5EA!TBQOFPD7-5OB\,=N *J MG0/L #.NSQL)W"-8.GZ(C F(\Q40-".U@X:=C$R^'AASYBR/";U9W:?.\O)A M6],M5OYON,C:/@E6*R[S*[IA6+L4I-=.',ZRVK&B6B1X/J0;C/SDN#_NDYLW M^Q+F\A7^!JTK+YTX7D$E3I=HR3F;5TW(P]1'9\P&E?'G74+*VQ6S =TE8EHA MP=WKR0M/;=7 ZT)YB7D_8,"%H0IA\0T:(-Q-EB+^.2M%RVF^Y@T0/">>J[$I87;*L=?:*LS]WR'_LY5!#^DCXXOCEP1.6=*?O9 Q!-O<*!_Y(9_G1PW**#@G>@SA2(?,0,$*:P$@]"DC M 4$3W0Y!P7[.']Y]PY9^K=^BCYW<'!P?C#Z>50U5/^G$WJC MHM51MX>YN;A0X"!R&WT)4'# *&XJ&C67P/;RMA+@_K*(WG_U@(^B%1Z@?^0T M^/E@7 8 _%_P5W^_1(YHTYL^P74R'ZG_^ M^^G1Y/C\[.SXY/SPZ.1\,CDXJ'6QSI)IW.RN$[M5V_"?+>(TU5&6^/4MCP_W ML_OJ!VL6S.-HB46J_%K$V>LHABN(O_PT_FF4); O46X 412Z'2(^#+MC=+Y5QI%,9SW!_ M6_B%,(?&=M&&3*<'D\GXW'"5<$E0:N58AU:*^?3&#T"QT<)H8[O(<+3 U?,2 M_1-]Z#^"A8\$"--[9XFS3[AB0],"1^]+39SJTP0ZGH[A."TWEM",7B*GJWAU M&7EDQ5!K#4U/XL*4:IOH4]NS\UDY,A51OAFVC%!^:*H2$:-4TID^)4T]+T;/ M-(O_P'TF&!,5A"D[-.7PBE JYMPDQ1P**.9P^(K!BU!M(0^T:^82_G,6/T9;T) M'EZCD+R[WRXR'.BY>E[!KV5[_P1SI MGV,'Y<-Z6BU?H@"#?>/OPP&>W>T*=2U;\HH7UY]N[NY).-/"%6L*,YY,#HX, MU0%W[RM5:-QX_P!!\-\A7%(_ 2>!UM*[39*,#[&+YT4+*)X1;U97)<: MFD+8G:_TH&7/773R:>D$014GD:B'1JFAZ8'=^4H/&J_9KY<@7D##^EL:&C:8/:]4H+&._B'["7PW9L@ M:W,T%3 ZGJE 8W7Z>B-4NE77[RZF&4IRD*-3AW(2V!*I::@AY/3A^I0TMN_G*\^_&3UPG^!MP MXAOX&]RJBU!R.!H1$:#R/-6RIV]VM'"3Y=-*K>Q0]<(2H=*,EJU\N8'=,(CL MI$TJ.AR]"$E0J47+]GT*Z>/E% HA1.@ MI_IP4P72]53">-TV/D"OV];-P7]?SNZ?9G>W5]/GZZO1Q?1N>G]Y/7KZ_?KZ M^>FG'I^V5>2<.\E+WEZ6_+QPG+>"H2!(D^HWVU0M?_WWM1"S^?HAXD-4O'8@ M/($3JRH^Y.2%*D-1T;O?+-3DZI&^AT)=%(.&HH!8Q'=U4,PBL,U= 151C%R& M%,0)R$OJU'(Y'W,I>ZNL<3KGT!U)X3RB6:)WE/8&A5V!_T'1)=Z= *! +&D5 M8S=_,4_@ 5==0WG!H^(V/;I+; E=+OP@ %X5OQ_E_8$@E"FT*%F)2 M$M__BE$!KB)?HC49WN"6%KG?Y(\F=3#C>_C20"'9P$#@!J6&5>P0E9/X)+F[ MJ=#.COM<=@_4Q@;>/8%=P2IN"(I)?!<]K%GD-GR'$D;QZAZ0]%\O8I7&F8(1 M7U\/2\O:R!'4#U'3:L8T55>XN/P81&EFA;KN:!RX5'* M#RI1.&I:192N\A*?HP]X0<%C2.PU&=S&H7W]+JCS*'4"K;-(D9L$Q3%,ZPE* MR"L'6A5#22 \80A*J&C'J7NFF$&I'>2&G:<%>/07K^EL_KU,ED!@ [5.$ZSC MR02]#QH<'<1%['6'>:J''%4*)P(/JC_;H7*J--9L$EO)MZX_W2!#+F<,9?-4 MM8,(G26U9)=9)8]89U%8PT"@!KF"'800E$_1'I)T%JUI+JAMH.^CT*5N$K!E M[> "OV@][!#U;0JINT$[-$N1Q9*-7RT)$-SA8+)!T%T4>*L;1X>NGBI2 ENR M/ZQAP.?(0JY@'"^D]$NE"X_DEG@OW$7AXAG$2Y0WDWYTB"EI,B5X=(@A :>0 M/6A?__FQZZ(@KLF#LT*WKHR#9&QA^P@A(*O:1 MHYO(/1PUFG))62&P$K^EW*[:A.Y$WY-=96SI+'4/IY?:)YM&'L-'J,SXG3'C M4&K8QQ5182TYN\R/9[AG'$)I^]@@(J@E+C#<)-@'_8NI7OK(4OJME. ):JJ;8KFM2H* N:G MR_S):Y@_9X,S+0A=,@(Z0M41'A5$ N[+(@_F"A'5OJ_8CMC-Q!VBI<8.$D6 MKYAD:1?\HHL +K+G.><%84*PR"^Z-?JS>IY?]/W!\;W;\-)Y\^$6H#9J2 XK MS(I?A)+ R9(7-H\@=?P0>-=.'$(,DZGK9LLL]^ZX G/?]4GK;W;%+WI)X&3) M$5$;OMZ.G?A&QB\]DCO_S$%.NRE-$:L(.B=??9H87!\T&5S)8":<1;GB'KYF>4#B/,<6EQ72Z3*@Z>, M G$M.2=I(E"D5YMFZ6L4^__:[%BH+-FN9"D[N,2TY$T 3O(\7[L((XH*5K.! M(J(E+C4XJ?2@E+#1E)PR5@=?;63=0Z<#=0E!:&TO2R@R%;N[XI6_\RFIS-J=&(Z;6&3(=Q 63O<8QQEU_'7VB@ OC:D(I.62=\XICB:?J?11&38FK MW&WT+02SWI YT$TX2ZYH4%+')'_L78A>.7P3]Y+XXL;IOYM2V^00$MB2S5TE M(WU]N%7*8@:PY93=_QFS$+C($C\$27(9+5_\,%?7.@!$?BCG>^4!W#2.'?C; M_%SN\A7]\S:<+I$WYFQ.J+*.:C4F4&I'7V^J\/S\X%SS&QU55-6)GS5/5W,O M4*)&2,MB:B5K"==!;!NC)(NR9?^(THDCTNZ1FG=;FSWE#02U,*L9!&!SB74! MYE$,UD'[0/+-#W,JK]]=AEZSE>)IW#>0OD;>9FU*VJWOL ?&45=@!Z@;)DLR M7ZWA*S%7D MA\K3D'%"2"H^9&4+R62+E]6VT!=.XKN<2L_+&J=Q(36R64 6LM=L8YK"*6]+ M?^4'64ITNR24MIT2-#%[< W13HH?P%^\0H&G>L+ F#-$ MFS&.1@)SB1)9^_/I-),_M+E'J(T&FI,#_9<32NC0G65D4"RYPB( 41IJWI=H M@JWL.KJ"2%9=NT9A9)A]3\O9-Q@%U)-,_PC4R[B.D.!LI(XK2D*_K2M)/BK MOU\6\4R1G^]\#MP4FB8_\F;SJ5?T9?KI;Y]F\E8S5Y%D?6R4*"4E9?E8[5D/ M#=*Q]X^LN)?Y!M :IHN^MYHP1O=2:A1D P\&9FXLE-#H*EHZ?MB!/$7%?:0, M17)+=@9KFUM,EW U_!:%:"F(F5BXZAA#DTZS2G<1B7S0O-_#3AG$X"R_L.H;#^^IRL>4M%+]O'):8M$)*3>H5*#6:8(UMH,4XA)K#Z6J*K)! M,V4&E1?XPE820D!42U[5;H&%W1Y0RUK) WY)+8F.N@;M#M+_%IT8LY;]ZX+F M$J#36I\NER7V_S9TT7H(W6WD_[T-VX>FCU$0W$3QAQ.3;H4$6S&7*'2=M\FB M0G!+=AJJTD^9P <5:L59%B[!%?'A+3^\@LR.TY8'UKGVIO!*KFC%0F.)FELR8984,;$H+SDV!?:$$PR!>WW.JLE4 MY+ 51O(JBU&BR(*H:$ @-Q$/;>) F#BX6*6X)8IH6WM"+7786+-CQ@*21SS/ M_S;+!4NN/T'L^@EQO2/HG2+7HI:'0K7 MI*Q=GUCU^J9+>-$G0KYBF"EGGU"S34@/)Y.#4SWTZY,B7$24A\TL,ZCJGKUR M)X30!,B/_CEZ=CY_^.DK6G!#]. RNWJ*V[0-Q%OXSBT:0]9^MR*J$9*-EVI, M-+!BB")7!@B ' N[-&4<_503!;- 5 63Y;;Q.2*XVN"738\ FH;$3\$3B-]] M%Q0ST"-PHT68MY)/>6P#VLMGC:-Y[U9V=S#V$*A8>\"]]8/"VMW.I9.\$NA+ M*KXGM!,27S86F3$S=^,R)Q\>4Q<"&*.!E:1%8#:>&S!"U3WA3FA9PI#>O#=.9I,#@]LY(J(]*HB\)$),WS7'6N)PBNYJA!:9)*L[U)T1AM! MR_N;(/K@39-Z+!)DY'+Z]/OHYF[VP_ TJ;7X%6L\^".*8*IH"J^+>O(01V@3 MYUVLOB? NPW7B:NF;@JW=ZD/6**)-V2!1Z%:T7A4B6^)6WMFWSP#-*](D MOWN?6M63]BB:%A2-+4^TEW#!Y/\K MU_UL?@M9$"[\EP!0$YK2*QE'MIUQ D-'<:0LF3NO .ROZ].N=^M%OD@C@(MV MVX-UH*JRHCVB6*>S.40#:T1H1;]8T &?'EX#;]9;8VTK[W<_@7+<1/%5E+VD M\RR8NBY*MT=9BQ.K-'$[AKAICH.NT;H(X]3K@YTS7;-3T7.Q!$R,6E\LDX-* MT9LLUKZ]\I^KBOL_P'^G)(+AJ3HD%G$H MG8=$G"#(\L<85_,V BAS? B_YA-=_JAU]I S+.EE;YL,)LM##-XPD7M7#Y6B#!339B"WO( M,#$L9*^SL+32[J"&01D-KRVH^=?EF,I--$\FDX,SVYG%#8/LU97!MFHM?G5$ MQW9A%&MD2+Q2OMGCQ4.[RT_?.[X'9X6V*W!= '\39U">#3+">T!:8T.B&R\[ M1+:&PMA8>]B 6S>L[R&D5F+K5O:5;.*@]!HA3I,7&VM!T<7$$5O85ZJ) 6)) MZA3^]Q/2;]N,XY7&>R!)U%2]MTXCN 8UQ0^$@ DZ54Q4/+>D-&0<-14]MQ05 MV9+- 5R95I&^BB@H#4,D-A!WC MQL?#+OX6]HA>DJ#88KIJ,%SY.:AI%D,T*JTGWZ30 MZ?75E*8@CRU;CP&%$8E-I(DFKJ<0UXFMK)-%I9=+)[-7^]*K_/VAER0FJG(9 MU7:5!E%K_:Q'=B-):<@XJBG:2(J*;,GI6'V1%BV<0+^^0O89H0AF([SN9 M]8SCB2*]T]=9_%!8',$((].+39\P9T6R.2W+!9 ZN4A.]B?XH[#O@#S<.UN3UJF2_B6)H=[/8 M?742@-YS\Y*'7''_""2(A=HP$@:02%&:PJ[-[1_AE"!D3::CQJVE0)9J9KTF M;&>3R>'85F)U@D)[& 9LY,KJ;5I^A9/DV>&J<;-%!$9I^]7?!0#I\ >,E?21 MUKD,FE!63!L,W/0)K5N;]K.O/YBD73/-/"'@UX#T7=K^L$\2$U4)=73?UR(, MT/]'#E[O3E"L,JO$[+E'1.@U?U$K6:1C;7OSNT&&UJ77GVX>-^P1#J;K^1P0 M[WIWVPGC."YZ3VP 7*K""0^9_7V0>;^Y2:.:K&-,D;D,BA.G7X2C0K[GC!O+ M'_<2DN7UGA_ORD_<($JRC6LCBM 2+YRPC*_\4T.!A+1XXP/X_T8_CS:MP1^J M!D=.Z(VVFC0X%UZ]IYND@8C,H?=0 WQ]E^0$FWR"# \U16UKV5$XA;]U^>8- M=IZT03O(,P ND:H M@D8D]:@1O ;DJ&U RJ9'2%NC=>.C#]CZJ-Z\P;8#@TXCRAG=D'#7UN/G1NT< MRX+P5C?.6@BJM.GO)B%S+XE9=V@H;AP__JL39.!;GK<<-*[G&,;AN&T<4'.C MO+W15H,&FX,U!AM16(L)>A4= Q_7(]9HI]8Q;HCSJ*D^KL6E&_:<7[LXYAW! M)^T1O-6*P<,6DSF%-6SI50S)][-1!W.]SU6Y0?6S _U'V#R*8Z3(X15SV"/Z MMRCR/OP@@#N96P^V"K&YIN=07+UF&12Q1HPS M+/*::QL?!9 ,VPA5D6=PL7P8YF;2-C=5:[FYJ;=GL%$AQMYA&!*.>IK<=/'= MXK<3(DT89R6XU;GEF"LG\;"-P!5('3\HWP->9C'"&!-GE6$/SMKVH&@8W4;D M38_*MD?-Q@TV#A<.9(0+GEX!2,OG /S'"+R5M615S-[>@OSXQ@GJ_10X7Q!I MPC@S(:;81@)%6;&'?JB('@S/7@)_X8@<1ISCK,-+.FJV9+ I0+WEWF60"NL8 MZLV^L$8UH;1Q YBNCOJ %9%HV//X'?(MY1R0XX/V@%S7-W@8%GUD#+_M0CJ& MW1T*=0@Y_ M12.CJA6#A^-:7.ZID5I#4\:)[0ZQABFMBG&#E$-%6]DBQ&0;]GB]7KX%T0J M"Q""N9^B$P#>@8OQOZM:&Y7-C:KV#!["]2?LN?-VZA<7^]Q#6J@%+>\ FAW$ MZ9PUY$6:,,X$=%!QP^=?5O9AFP@4:<0ODJ= Z=>O9_D]=<<81[M:H_EI^7:S M9AL,$AXB)D.D#4U&@]U%#K,AT(B)AD-//@/:]P3RS\P=%6BP8/XXT(>=RU=:_+ MFY,\'F1.!=1!KPILPSHCEVQ4RUDZ;Y\OZGUFGKG+M6J<25%#E\89?@\(#=PP M@062\3:$19I]JS?\FPF. MFL;9 I:J&E?K'>7K821C(J7M:%@' 5.^)_,B6%_@M7Z%?65DSJ<0QSCF5>U M.UHW/%JW/"J;-GK DV"IV2RF%1!J0X=IH':-91WX*AMH(#JHMFXU).0>NBL. M7S@!H; "B)F'W<,*C/Y4_>O?S;8H@X\PT B^D7=IQ3Z,)%=IC@\X0,::CQ[% M(@0(BV9)VJ7O*!3Z=9+ZT-P1 U(V"PU)-?H,#'%=%F!DX;)>*JBLBI/6L?-3H&'W_$&ADX M>Q0(JRKWK';NN :W9< <,Y)Y J#YX208(KB7>)VG;OVG(1C ;;-.<^0B@]< M^T)BR68E,F3L$Q],\C&!M_K F2$EIFSB($.80GEAS\<5_@8&SA9)0;6G"5(T MIRS?'#_. U+'5W[R%B5.4*1#OO/?@5?@L8Z?CP>*D[LP46@E[GI#R>&2*0KJGV@UADZ'X1EJY@P]&/:]8LZWFTR MOG@3H_/)Y/!@2/H7$JM2_=#/5R\C:/S0*6'NK.@G?US"GOLI^A?YCI948^ $ M$)6LXL#0STG7D6IK*3'@Q)C&6>W.@< &KKH#YT5W&2N&R)ZD*DZ-6UOUN-$[ MJ X&Z=:?O^) U2TI8*7KH9^<%@$QBC@8?.L!2HV!4J&K9!4'U)^)&N2M]YS? M(W'YZAU!BAW)^.H5W_KRU.MY)^B^ B\+P";#7CV&7#UN'%('\^2@6VL#-Q4J MI;;$]:\$,-G::;KCJ6DHA>0QL\6_' M88BNDJ>A5T4(7W'1J4-+EI-+%2*]>M\$&IL1NN_4OU>+,0KO"S.(;;@CR3K. ^6\$WC+,VHNGV^D?#DE71%CPD M0+Z'T0MRB2@R?KUE*3H1#UT((]=;;\5?&3P]=X''L+?X]$P)3YJ0H5S1[;.37(<@7JQN0_<;6+Z >$O)^$*#T"A;)\TC6$XQ#57D]>5MZ&5P MOO*= 4N2>/,S6$(O6]0?K@00U=09!V+U+=3_=((6'*$B@$3[A3 +=H(\$\! MZRI-J,;Z[W-WMPB@8T"AB^:5@ A"W"=>_$T9QQAAU:V)S#U*A8Z_3]K%7]:4\7TO]6Z/-QT;%U_YC!+\WD*,QRKMS[G0N M@FWH-5Q59_DM4JN&<::FDQ+QAH9/6.U;*^4WB62[*GI?R-N2S2R2 \&2[5D% M1T2#XR9+$:I+%//\7[FVKS]1@@,^3RJ5G["7C[VA,VS_F"I 43TVD= J:=)> M)55MYJND=:L#60L1(S8QUC\<]8P*T]4Y0)>YMH);=5P1NC0M?G8RZJ] ZOC! M;#Y+7T%\F<4(V9H/CY !.&L;@*)Y]/XL_\"H_,*H]HF!6(,+)T#'R$^O *1E MIB%^KSG>RKH/<=PX ]ZV^D4.:^@-&& <+-,(!*2'G.' 1J#E#MLM(I M.@J0">O-T'73VWDV+UXXWSAN_AIHZOTC@RL [_K%3SWG.;H':16SBYL32KXP M>.[TAX+VM!,,AMT$D9,6L6'ST?,(E]08/!@ZGE^ MT:5O3KSP0Q'],^H.7N]=Y%.4,D+3WK&(\"2R91P?M+>,12L#V2@6G65L$)N% M-B][3PZ/S@X.3R9CQ:,R_Q[NV9[ Z.1LP[A1RH$U:<#*B&S)YK&(U#9[ W$^ M9>6(K)^1E[LCOJ?Z'5H:-I=4"V[ZAK(>EZN6B+<\:GV.:I,!G\7ITN"P*=.3 M_,.^JU['CQ9<28S;*XFBJ5'>UD#6$VOIN4^?J34TAT&,EF]1B()FH'.6LIOE M0 M7XQDXDW:PS)%LFM?O*B_32NZ#0$1WEA)MF8/N>3%UI[0F;$HKCL=/-0T(T>@ M7KXQ5%KM#@Q%A_#Z\[=NX/H>QM"4+T+_7SDPY;HA>8R"X":*/YS8$[1DH@T. ME74]2=[;^?YN MVG4*[7*( R),BCLCS7X-VQ86+NU5O\MU'1YD!V;FTP[J.4 MM7EC5=)K+7X ?_&: F\*39BS /<9>F8_FS^].N)![ 7:,LY&\*D6;R9DY1ZV M-V&.'+KL]-#V%6Y5-QL(7BN!B4N6M_ISWNRHWNY +,5&EF)77W6_/.F[C)(T MR?F!.N@].*L\[BC+"5&R4;V6)N]9BR>YGF=O1=POM"OEO7R0;]@X&Z2&-'@; MI10DZTZ8".CD!GR:I:]1C): WZ'QBFN0H9_2-[RFG%@)E^ MO'8?A>\ ^52*+ JZ-&$QG93!8>'QV!J-',J.2TZ>1BSFET) !GXZ!A8(I)HK MA]"^%Q.8J&QQ5&MR(%O>LN>/X T%7P@7K&,Q8G'-RZ&M?M44<;$J_RBP[A%I MK3E CO6_KV6IE+!TD9:YUV![1SNV$ %PH5W\G\R)87^"U3HO]I63.D+6 A.@ MHVI]M&Y^M&Y_A#XP&-M!0JE&'J9!$6I#KY6A=E)P,2+0EH$6IH/B\69'%H9A MG\*OXU.&WBQ>.&$9_:@(X,%G88X/Q@?C;0M3M9N' *JW//I3V;;AIJ7>9Q1> M.@I\KV!5Z#6]"=:\>8*_ 3P'\HK:5NN>@B<"+HD(?T7C[(92K6)<3D2Q(!H/ M!=-,$JC2C(D4X-3EEAU6);R9%*EEM8![9,>/(4;P'X'CYM-3"1>1&B+5 MK:&$M-#:K^VZ+=ON"!E Q"HW$3F!B!P/?(97(+^AC' "D)3YHZM1<@_2!Q"[ M2$<+[!J>56=8^J>K;8L#G43O]7QQO-OSQ6RY=.+5;/[D+T)_[KLH^*GK1EF( MCEX?X+[(A7/DI9.\W@311^U$1.QDX+!],E!^&04'K7U[M/GXJ/HZ+(PZ,$(] M:%YL#.,(H8TGXUR 5D'+N6/MV3&&"JR#5;[:QA@9?K4U#A(EI-S-?874O()$ M>G!\CZ!K7!'C%"JCHN:TP26J]MV#JN?F14PJ)"^<&@F#?*N4,;KGUE9[1/.( M9&-:KUIT!9;.MPO:H78NJ2Q*F\6W!GP$:$E<^WT$D3,M)+]6F,1:HVRI2O>P[ M2US.=5?Q".?3\AJ-<,.T5<(X?:K74/,2@T=^8W5*O'=JE6G*=0KE.M5WLLR# M.5%+%'G,W $(#]0\2#'Z%_9.@5':5$53U$8>D#RR#5CIE]DR0Q=F[Z"(\?, MH#WQ4)C:0@J"R>:I9@P-=F7'.X.RL_SB2BA!M/A\%8VAA93*Q#1OYX3!!(\] MBX@V,2CR<,\W2E PDTCB^^.UK,E-%%-,-F9FZM2&,93:Q32E#B'*HU"UL4:\#=T8!8"_ L5_229,HDEK.$?G \8,J@9- MD75LAD;8T/54#UTW044JO+9CK*YULD38$2@JVLS>TE()4(JNLDE4U.3&T([( M2/)/:Q7<6SIQ0M%##"#MEJN9C><11>2C14;9NPB.+F$OK'9 $!$OK'4O1E"N4=&/ M4=&1/73 0LP\')^?'!T='$S.#\\GYR>ZHX14&Q04BCJYBYP0/94I'[2'B\VV MA>:-U;&UYCB=3";C!4@D?S^'UO01#5RZF.C2T'QS%3D.A(!PKH0 M@A;.@5;<&J4*"ZG]!;::]5J)V0:R6?H*8NHM)*V*%7SH+*CV\-1*]R7%X@5E M)4/KE\V:A76WR%O=&*[TNWQ3 @N'7Z:F@R:^NZG'* CF1=8QJ8O!6CO&T4=* MP5TO_5B [&P_T!-QI-AB'D64Z+0K5_I$VYO?VBH%*'=/'+>^7+[W4^@'!CDRM M1=QITA4OAC?\E?>",Y)PE'PY[3>XG^4;/0NII0".DEH3)1N]Z[ ]D9T8Z*OR MZ"=_B/JE',M%!X)?W$,'%#VFY3(*42RFN$@%!Y&G.9/@"YMG.H1B]@@(U6>N M 'G-7:PN0.B^PH'V!^4]+:N:<=H4T ^'!3. M(;>93@;UX-9D3Y%6H0%HED,E6PXC?%)JUV-OEAV] !8SZE4-\^D@:<^I@A)/ MP(W0*^JZF!7?U#!?KPS5\*S$Z-+:,MRS)(V6(&Z)3_4A8M0RGQX,Y6+HT4%B M,RG"%\(/W?N1HFQ6?QN FCFL.ULDXF743K5!#J"X^6NS^^>: R920<4H@"+# M@(?2-S_TE]F2J+[&W\U3(*5?316RY3!3B?(KJ3N&1R6Y@C'J[F=]3)=3TCZ;A-&3O3=9-*2.D6I)*KB,,+/ M1/%T#C]9N*3[X0)SK,)1RS@NR*FR>>#257Y;YY=-1KDQ[PQ3JV(<5:3-AK"T MO3WV,>BJ]#:$98LH.Q+@-\XY0=[70! M4=Y=WD PX=(I!RSYX:>OU9EV=;F)$(/S//JFV.+AJ)VAMVQRA#0X6G]U] $_ M.UI_MU:N]NT]7#A !IZ(9Q)N]Z2Q^ MB*-%["Q9&RJQ1IK8CL]/3X_T\D>0!C@>2S^K5>'Y< M^$$ O$J<&JIK-&_#"@<,K42JV\\A:31D#_,9,4 F>B:][^%+ QCVB3=C-%F6(R,:/8=!'.-T1*9XTW:["61M% M5ZK'PL3GHY%LS7Y2J09'5;R9*'4"O1Z/.0;U2^D\XQ.$XC*+D9K(CH^LFG:S M2A8(16%E^@VTA[PVX/BX_D3#8S9'RT$_7! S&6&MDE +=G-&%2 E=\Y,X4Y_ MQFAMA<6MT7;5)I*'D\F13=221J+DU'E/*R8U]N@1I+#_L&/KN*9)/0'%&K[? MH\!#;BCY.P:,5>K4CH$$ZGB,K18"2VXY<=)'<2WH'/*-"YT%)4P67WU[>*1& M]%X=/M4<*I($+,5Z<%:8LQ_^BO8P0E+F'EZF&G#AFF,)#>@\BI=HB3=["?R% M4WC[)F[LYU+.YN6I/%H'D"_,.K1E#[O4PT Y)U+[A&!C#*\R@/J#795LE;%' M<_SB]1K)5]@$8'5979\5 @&/H$Y<,;LTRBVAHL,.AE+->-,!BSJ+10P691SK MLH+HPX[#K@\[FM]'CTBKFOOWO$//C$]@ .UE!ZU*J+;?%EMLP"^/,[N)[/@9L^QTZ8%,:4'+VQ6V/&D4%8 MO6V&*$3")NY08T1V;([>?/?TX)0>D[)S@Q:0D<(7S#F96J3,)*1(@OM&.GC,4R%6 MUG@C2",Q PK)R)'+=H?O+(E)HLEJI">4UJI+(45@]<$ M)B^H1""&GB<5-5&5G#II'FH("6BF.J\#.(W$7.HD%;5&G4("6G*5N7X?5\5; M>@*+_*".LAVEUC&�IWG>("4RXJ-6\NRZY3=XR-,L8I5%P;&(TR)3337-^# MC_J=*=%68\N9ITFF%IH&FE\J,[5W#0F*SD(O,C_WE.%2);O2X/7:443M4S ^ M*U.Q=H +D7_ Y01Y.84M-WA5\DO5@R^/.NU=.D&0?(,BIR!$!RYP.?DM"GW8 M!J0G2Z43 X/![LN%I"0HF@- M)U'WSA+,YHVN$T^BB&6-T:2 &IJZ$Q/-S+74;>C!KL>^$\"YY@W$R&6]$(5H MGEE5C%*LF(Z:QKF3H&:J^=K+BML5\OJX6<(:)?+(9>8*>#:?PZ7!>C'/&I:T MXM9H4UA(,Y?'OP,G2%]="-,30*[:3.72*UBCW@YB:E\"X^.7H[CZ(=H*,%5+ M*FJ-4H4$E TCT(\Z\Z<4P2-(4@=E3LCO1:Y11@7TP@))1M0N9TUKE"TC;P^. MZ"IN:K,@]6^+TLJHU(3N93,;G@SW6DI*YA_E?>Y@%S .6^ON5 MZT\WR-!V!@4Q@?_G/3N?!!IU:&DHS*+3HLTN55 H.J\A1?90$[=JD_5OC1=) M<,QZ1*"V;6Q1(?YN0G":\92N^FT>3PFMW:M()CY(1-_3'75]3U?]:53T8N2$ MWJC6CZ]7=;N=M\1=]&GO[N0:-N^09*1PI<-O9ZT1QD_B*TKK=AK@M=KZG8VR$N.O;PR?1XR\YB'K-7R,TKT80#=Y%O 9-2X@]FNCO(9D!YMEZ6]] M$?=KXRQE.DMU/?M+,(^=)3Y-PA/\WV3N Z\9 /Y?&]\I(9LK^"H*+M MNC)OTJ$N'#2'\3!HY: NRH=Y&R(:(DJLI/EF;W=;(GF<=G,6:88C]"- ?BA% M&K[VK"#L"WWTKT>T%B8$:%O_;3\YP8; K!0">5^QSL=;?S5&G6R$,=J@R&"FCR]? MQ$3(XV6V)*JO\7?S%$CI5U.%;#F&K$3GDZ[$^M^'K$2F'-J#KAFR?KOC\[I7 M\ %CZ#3,=1L=1[,(Q;-7?=_:69/$P]1*DUQ3H^H.-\E.T-(>WY$ :9]:)H:_M+RCZ ZS7ZWLE. M;WAO'#_^JQ-DX!MPT,_Y^!2[MCT^&&]?VZ)61WFSHWJ[0[F$78.R$8IU#4NO MHL/NK'N$"U)6:L6;A8_ S6*4/P<6N(_"N/KQPDG\A'87JZS]YA [@T/L3*]M MXE%_W;3TBP1Q ZLEKBM< +[GCC:W>=(T-*P?_>0/RJ4JK8JYJN]%E6WJ"(/# M<>>IZ5!B(TKEI_,,/TF-)D6K8APUA%5%TS:GO&;>X A3XQ9%M@=)^NBDX.G# M>:/&=<(7-I@.G+ILTT% 4DN(L#:O%ZO:NO F!O_,0.BN*+,(1TWC*++KR:0K M1L0S2:T4P8E G4TX:II+$4&5490O*+UMEJ6^WUR/+.J$PU/57.((JIN/.%SB MV\RN- M=S6'L%$H53\9=+@EC1IE(XS1AIU#L7NXI?$!%/Y8LP*Y%OA\<@Q9B9W#+0U, MB4PY;+N[E9AJ[A@1EY1^PQA2:3^G[ W-DMIG9MVXX)Y5P15NWK7I$H7%Q=RU ML"M9R2>Z?ILW*ATA,BM<$H,Q]R!/$#D+-[^BD@53_HLGPNCT&L)(5U9L)WF% M2*+_7/\S@]('#7>@S>DM82[DKK_7?%.#EB5>4TCZISR?"12'=%E H1NS[A?5 MI)#J(1:1@LFORBZ6YQLK4IP0?"(M@]WNI-",<0PL/](:(2L"B7BEHRM&&-X9T_1[N; M+$;C9YT=Z#Y#ISNS^?7R+8A6 "27$>Q&*S.6> -[S2I%<%%N'C3.JGC!;AP7 M$(\@6%6^R-(%(.UG5'VM[6?S!A[GO-*CF42FJ=FV5Y?@!_\8KN\:') M=!9PG"3I;'[IO/DIZEK+ZM"*[S4W.H%3'78>V'24I="=_]()W#RO9A0^1D%P M$\4?3DS*,-K[=_>:WWI1K@:*87?;2H(OH'RF+:22)E3)XY;2RJU3WA9K/*C\ MEKEC8*=\I(R+WM%6=$-6I)G.DQP.<$ 04+M-D@PP_054?JNIHL.S@XDI[\H' M.B#$T;;-948-8$\@38,BJL!NQD/M@U^#8C>#@@6Y[$WE>3$R0K! KMZM#8:F M5QV*0?S-\4/D=W ;ND'F >\VO'9BE(]A1^.&_/VO8;2;822H 1N3Q%BV,?D: M*QK05G1%7&Q,KD-/XUKLMRCR/OP@N%V^0?@09,@^$/B,+VPN(7=X6B0 3;6M M[<>M;WW?NY.D1C7W"\%<1B?M7$;UQH:2P*CR0[F,EB]^\<20E<"(5@42YO1\ MTG6NHBT6:: ^9H,CD: MZ[4EPLIJFP8E&!B5FP@C!R7N *&T<:I6HJ>V^D7$-U[+Z)\QH.<:8M8S3O,B M*N)3,%M>[6\8L9?DSTYR'8)XL8([1&+\M7:A06B4K9/F)3>GF(8J\OKR-O0R M.%'Y3H#\8=,XR[-YPL5N+5,L6<U4OS0"VH_K\7XP3O 'B)\_?X\"#YW\ M0';_ D6Z39,?KW#/O9I]A,![REX2W_.=.-\Q$3C2L24KV:(2"TN>W6!@7>^J M^9<.A(VX ;39W7J1CH%V,]/;3KKQCN,Y=L*DD$=\@\UJR3AR";. 3"19&,QZ MJ*PHNJ>SRB\3GZ/2TE=@@>2WF'P RJIF+(UD.=!F5RI]P^X7$2H4)[]2;2Z!^SJ$RD;7],+8%6[ X&+4^343_(O MEFMT#UC:(U"*UOXD"WFV:PNY>92+/ UFF:1I;#6W!VSK!:)>73O&QAO#L;SI M&^\!]93!HNI1?02G^1;=)L;0#3F6+$+_7\"[]:"R_+F/-OZE&T*Q3/8J3X&F M6P(LDRV!=P]2\FT%JM1OAWB'K=;&IR76N(XY8_,K 1+6@ M1&KYSOE18^F^2ZXJ&S$RH-MXRJ04QOP9=EJ4A*T /W=HW,FP(7SZ:_#T/WA$ MH#=KSN'=.:K!!CU!ASOKZT\7MCZ;7T!U8AXVZ.C"UR@YY]C-[EX%/=RRFK@# M5@/L+'TE)@KI]Z-?PV>WDPP9=!M? ZF$,4?N/BI.=RLX=S!FL-_]&C:]#QM^ MW'L(*6G5R'F(HS<0IZN'P($X%GO%-\P]ZDZ__36">A]!8M@K"I1IU"BJE,-X MX2X3$;U[6N,[>)>0Z%NI$/+,L:>Z:N^=6"?$MJ=+ONV/_XU>G:X[N," M7SHL#V-XV..#4OO#CN\%M[_\-8HTK//(R%=#J*\PG"=#F6$VMT)Z)IG-][]& MB(YYAH%_-4XZ7Z6KW@69-]5L$-0PVY __C6<>I]P!,&OQE+GRW75NQJC'Y?L M]E')UVA1.5HZH5T-#^E;<^S+J_7@V'FPT0J4S3U7 99H$-)#:A#2\D?XG='F M0Z/B2WL:H513U&X_]%.XOGIO:WP]F20/3IQN@O'4.D^+4*J@Y>; .YV! 9%@MZB'!J #-$],6G M;;:\A@;&5!'AU%"-LG72/ GA%--01>J+<&J+^J41L"3T(&7>O%A]<_X1Q9>! M [$FKQ $6C".2KM;-.^T<0+; 3'%^E(1&(6]UM$G4 P1+./,>.!Q!>^"#> MI&)[P@LNL2U9XES"95ZT!/$C*-*K):_^&YT4E!I[P@]1!"R)VUXM^BB@WC'B MN(LTT81R,ID<:7X!L;OUL#1,1,89RIL? +W @/B]@]A9@.\)F&?!G3\G'<[+ M-&D"O\[^PE\!?Y M=T3OQH\8=^.;3XW0MWZ.LG2T^=J>WH^722'/#L;GX\/QR>3P2%,L*",R>!I@ MJ(25U39,2C 8UC6HY&6X 7I7HK2.-]^#5'D/-]\&T$!$7](WW_VMHDVY^394 MHVR=B-U\FZU(?3??MJA?&@$SCX63.*W- ?"G;?L/?_7W1[@Q I@)OO$WX]2N M>#IG"[NSRV9^I6%']-9?C5$<&V&,-DRVQ=V5]\T/_66V)*JO\7?S%$CI5U.% M;#F&K$3GDZ[$^M^;PI]!X8\'HT2F'&;.?<)[(+CTBY;@V?F<9NEK;M$INUY\ M86/4W/.F5T!ZRB6HYCUO6PCJ5I=4W#B="RB'1[,4*I+_JB-KO_N*U=^ZBCWR1MQ-"O::@4A.7$24*O@FB#^1RB XB'N'V M$S-;XXK91 HA&7>3$VGG3JQYN+?Z+T1=5X\9KJOY!YJ_W%MWU9/3@_'1^/SD MZ/#\_ #N[O?87?5\,CD\,\-R<"L+1$5\"F;+J_WJ!KOH^^$$?X#X^?/W*/"*Y!;N+]/0NTV3'Z]1 M$*QF'R'PGK(7N 3VG=@G/&27:&D0W&!KM[E^5(F%=MX,X$K' -KL;C*A8V#) M#>!]A@;$!DRP?FY(( NY@G%4$=9IFQ:"TO;ZK%CS$YKFH.0E/S0+^ M)+Q23[UW]$J0,TMKAX9M(EK/J/1Z$2;L6(*_WR1'9FE9>=R]IT#U!D2'!Y/) M\<&@B2,M>TF/22_T$,[L27B>_WG]S\P)_'_EY?+U^1)Q*J]#H";QD+J9549O'H["6B)KT,U6;'\ M85KES-.ZU 3,)Y]E2G^,@N"F>!;*4'NMI'&*YU,=6>4LV7IU8-&T'J]D9ZB] MB<=8?R1 7IV1M8T529&*W_+'KW#U&*<&C.[*!>$JB_UP@7T!S5/%0@YPBVF9 MO<]?/MV&;@R$Z] P8 M_;?+-R?/F>*ZV3(+G!1XQ:_09NF.[(+%7=]"J]!-YEZ]7TR]"6+\6?0>Z%#! M/1!/J:]+('P;Z+WIR='1P?AX PZM6HON3M)K!#4I-M:LB",11N["@MNPDGL)TP$$2X[MMG/4$UA"365O+R^XQ-:>EAW_ M&@!G ^^1&^KR#:1@NHA!$>8-KOMS,4,B"62;LYPLO<#3ZU,[-1>"/24#.SR$ M")Q:LNMABTF<1\S._*532VQ0,0J@R&#F\J_GS%]&*)#2KZ8*V7(,68F=,W\- M3(E,.2Q95%,FC3N&#QQ/56,HH..0D(Z"]K5XWP3ZGH!Y%MSY<])-!$]5XPC4 M6=\BU&'(;^8$HM+VT&*@L*KM)V4HLML_5=7\$:;+*$[+]]#B!"(TM*>4$D%# M=CH[+T@6@@7ZG$::U26=S;P;32:'DR\F\B/5P\9F($2$9=41$9;](J(44GNYHYG. M87^5LK'1XA'J(32M8;PD)Q>@5_IB%Q>!1]+/ M [\>_AD5_;$*N49]R=V?+U%?8OJ528 />71?3^JP?\ M0GOP']M*@[_Z^QU8.,$U'&7I"N-"BBEAG+HXT-ZHB%<@#OUTNK 1UD_13^S; MMNT_&Z,97I";:F&*HMU[9 #9+W6KG:G$C@ O7J<##&FIJ66/4)Z:)+0T*2:=] MI&(-^30,,R?8A(5Y!@E*6$(TU]3R3;G/)Y,330&6Q+73M-#B4IJIW0J#60CX M5N^FJJ>N.XIJM\.>/2%SAY$I6*EQ07$ONT->3W1WCP4B[H#$LZ+3F M$I2+>$VMQYK=VIQ-[<7K))#HXX4)Z_.D&&4HU>ASAZ W&ZFH;>]3\S M_RW/L"7DM#-IYW:M&LV==M;-#L4UI^K]0^"$:1T7QJD"LUX1R?GP_/C\^&QR MBMX*:X^]3>PS7^1M>O7&Z#DZF$R.CO3:AFX:PAR4R0!@5#1E8O\O5L_PVY0( MVQPUC=._E-[:-.@*P3 8@$2@QM#FJ&D< [JJ3$#Y#.FUWXZIHQF!'B_K-@?B&(&[L M)*@4H=2PF""B4FM_%(P/=1TMWS+8)HJM# +P]AJ%@*YUSEH6:EY&\EX/*M5< MM%UD?NZL"T6[0\D57Z, )5.+H_2A6+^2$LMJJ7IQJ> M18@G-C!!UXH.G=A"#C2M@4X=L4'%*&!P&_Z>TQH38XV/5%A*::J0+<>0 ME=@YK<' E,B4PY)3%>*4<D7(F@P(1+')PRED[#4JJXE:N'+5/M/U\?% MUG"XC,+4#S,_7,R@V$7R4,S]A& +]M%#%0B*+BQ(#K.G>JP+!1F"<:'4L(\\ M787NV;MZ;5QVXEU=.#S/YK/T%<2761SG #HO?N"G/DC$'*W/VH[610.C:#[* MOS J/S&J?6,H7M<7#F2:"YY> 4CSE,YP:;,6E?6@F[>R#CN1:Z:FD%)'#(D8 MM8RS%V+JJQN(+I+:L]WV,C?]X<0QM+(KN*J/,R?(4Z'G47E**,AK59[:QE&E MB\*Q:];.TEM"GW+9%2YR#Y(*T16=-?1*EI*E@]"*CFJ8ZQ C*"/&E?TB22]G M)%2_/.$-#3Y^';*(P/NOZ 6]K@>X'>YV$[(^R4=U1H MHH-4W' M$G7!4B)#0DO._>%6,PK>_7!Q"7OLIS>.FQ]44I_'4>L83@>&5MND M$!=6.S.P6_-G$"_O(BFQ>>9R%Y@Q_S02?.E[S3T'B F M?I)$\>H^2O'OX_@KVJ1C"8DM>:6!&)Z41\KT:$JM@DU8CN&N\T!?XA$)3;:M M-Z>LVDUV'RNZ.\:S+D)I8\B@>E5.EU#[#*"& FB$H$NF.O$)^L<5-5SY=!6V M"< M8J])*#3Y9R#H[J)P 3NUA!@\O49QBOY]&2U?(([(?3:CW+OQ5+:,+A)" M]YITPHBCN>^A4_A;%]Z8"(F'&"S]#$&5%TV2#/EM7D9)GJ^=:]H1;M5"RJE& MHY='5]K?2*"!B79R" ;BRG93Q#*>,$63]3M:*STUQ?S41:9?_F%*6JQ^FH1V M/H^J2\_T-,,7MI@/#"$M>P35N &^R5 0.[BPS^,%5\859_8 MPQOBR?CH_.QD1]6N?ZQ>J; Q4"F<>0B5[)2&O J0*Z,>"4U9(#K[KD MI=P^2![!6SE<4?@?/W3]-R>X#?\&G/CY(^(@#&]3QM&H Q/H=))"8F])!K]. M.G3KUM@7T1A86')Z*XS(3921KWDZM-4$]V0R.3[>1Z(1H;#FKE 4$/]=F45# M;7WQC Y%#Z_(=)T@3T/OTGGSD?