0001558370-20-011739.txt : 20201026 0001558370-20-011739.hdr.sgml : 20201026 20201026162040 ACCESSION NUMBER: 0001558370-20-011739 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 64 CONFORMED PERIOD OF REPORT: 20200930 FILED AS OF DATE: 20201026 DATE AS OF CHANGE: 20201026 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-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-13011 FILM NUMBER: 201260938 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-Q 1 fix-20200930x10q.htm 10-Q
000001035983--12-312020Q3falseP3Yus-gaap:OtherLiabilitiesCurrent00010359832020-10-012020-10-3100010359832018-01-012018-12-310001035983fix:Deduction179dMember2020-07-012020-09-300001035983fix:StockRepurchaseProgram2007Member2007-03-292020-09-300001035983fix:StockRepurchaseProgram2007Member2020-09-300001035983fix:StockRepurchaseProgram2007Member2019-11-190001035983fix:StockRepurchaseProgram2007Member2007-03-290001035983us-gaap:TreasuryStockMember2020-07-012020-09-300001035983us-gaap:TreasuryStockMember2019-07-012019-09-300001035983us-gaap:TreasuryStockMember2020-09-300001035983us-gaap:RetainedEarningsMember2020-09-300001035983us-gaap:AdditionalPaidInCapitalMember2020-09-300001035983us-gaap:TreasuryStockMember2020-06-300001035983us-gaap:RetainedEarningsMember2020-06-300001035983us-gaap:AdditionalPaidInCapitalMember2020-06-3000010359832020-06-300001035983us-gaap:TreasuryStockMember2020-03-310001035983us-gaap:RetainedEarningsMember2020-03-310001035983us-gaap:AdditionalPaidInCapitalMember2020-03-3100010359832020-03-310001035983srt:CumulativeEffectPeriodOfAdoptionAdjustmentMemberus-gaap:AccountingStandardsUpdate201613Member2020-01-010001035983srt:CumulativeEffectPeriodOfAdoptionAdjustmentMemberus-gaap:RetainedEarningsMember2019-12-310001035983us-gaap:TreasuryStockMember2019-12-310001035983us-gaap:RetainedEarningsMember2019-12-310001035983us-gaap:AdditionalPaidInCapitalMember2019-12-310001035983srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember2019-12-310001035983us-gaap:TreasuryStockMember2019-09-300001035983us-gaap:RetainedEarningsMember2019-09-300001035983us-gaap:AdditionalPaidInCapitalMember2019-09-300001035983us-gaap:TreasuryStockMember2019-06-300001035983us-gaap:RetainedEarningsMember2019-06-300001035983us-gaap:AdditionalPaidInCapitalMember2019-06-3000010359832019-06-300001035983us-gaap:TreasuryStockMember2019-03-310001035983us-gaap:RetainedEarningsMember2019-03-310001035983us-gaap:AdditionalPaidInCapitalMember2019-03-3100010359832019-03-310001035983us-gaap:TreasuryStockMember2018-12-310001035983us-gaap:RetainedEarningsMember2018-12-310001035983us-gaap:AdditionalPaidInCapitalMember2018-12-310001035983srt:MinimumMember2019-04-012020-09-300001035983srt:MaximumMember2019-04-012020-09-3000010359832019-04-012020-09-300001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-12-202019-12-310001035983fix:StockRepurchaseProgram2007Member2020-01-012020-09-300001035983fix:TasEnergyIncMemberus-gaap:StateAndLocalJurisdictionMember2020-04-010001035983fix:TasEnergyIncMemberus-gaap:DomesticCountryMember2020-04-010001035983fix:TwoImmaterialAcquisitionsMemberus-gaap:LoansPayableMember2020-09-300001035983fix:SubordinateDebtAndPromissoryNoteMember2019-12-310001035983us-gaap:LetterOfCreditMember2019-12-310001035983srt:MinimumMember2020-09-300001035983srt:MaximumMember2020-09-300001035983us-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:MechanicalServicesIndustryMember2020-07-012020-09-300001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesIndustryMember2020-07-012020-09-300001035983us-gaap:OperatingSegmentsMemberfix:MechanicalServicesIndustryMember2020-01-012020-09-300001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesIndustryMember2020-01-012020-09-300001035983us-gaap:OperatingSegmentsMemberfix:MechanicalServicesIndustryMember2019-07-012019-09-300001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesIndustryMember2019-07-012019-09-300001035983us-gaap:OperatingSegmentsMemberfix:MechanicalServicesIndustryMember2019-01-012019-09-300001035983us-gaap:OperatingSegmentsMemberfix:ElectricalServicesIndustryMember2019-01-012019-09-300001035983fix:MechanicalServicesIndustryMember2020-01-012020-09-300001035983fix:ElectricalServicesIndustryMember2020-01-012020-09-300001035983fix:MechanicalServicesIndustryMember2019-01-012019-12-310001035983fix:ElectricalServicesIndustryMember2019-01-012019-12-310001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember2020-09-300001035983fix:MechanicalServicesIndustryMember2020-09-300001035983fix:ElectricalServicesIndustryMember2020-09-300001035983fix:MechanicalServicesIndustryMember2019-12-310001035983fix:ElectricalServicesIndustryMember2019-12-310001035983fix:MechanicalServicesIndustryMember2018-12-310001035983srt:MinimumMemberus-gaap:TradeNamesMember2020-01-012020-09-300001035983srt:MinimumMemberus-gaap:OrderOrProductionBacklogMember2020-01-012020-09-300001035983srt:MinimumMemberus-gaap:CustomerRelationshipsMember2020-01-012020-09-300001035983srt:MaximumMemberus-gaap:TradeNamesMember2020-01-012020-09-300001035983srt:MaximumMemberus-gaap:OrderOrProductionBacklogMember2020-01-012020-09-300001035983srt:MaximumMemberus-gaap:CustomerRelationshipsMember2020-01-012020-09-300001035983us-gaap:TradeNamesMember2020-09-300001035983us-gaap:OrderOrProductionBacklogMember2020-09-300001035983us-gaap:CustomerRelationshipsMember2020-09-300001035983us-gaap:TradeNamesMember2019-12-310001035983us-gaap:OrderOrProductionBacklogMember2019-12-310001035983us-gaap:CustomerRelationshipsMember2019-12-310001035983fix:ContingentConsiderationObligationsMember2020-09-300001035983fix:ContingentConsiderationObligationsMember2019-12-310001035983fix:ContingentConsiderationObligationsMember2018-12-310001035983fix:ContingentConsiderationObligationsMember2020-01-012020-09-300001035983fix:ContingentConsiderationObligationsMember2019-01-012019-12-310001035983us-gaap:RetainedEarningsMember2020-07-012020-09-300001035983us-gaap:RetainedEarningsMember2020-04-012020-06-300001035983us-gaap:RetainedEarningsMember2020-01-012020-03-310001035983us-gaap:RetainedEarningsMember2019-07-012019-09-300001035983us-gaap:RetainedEarningsMember2019-04-012019-06-300001035983us-gaap:RetainedEarningsMember2019-01-012019-03-310001035983us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember2020-09-300001035983us-gaap:InterestRateSwapMemberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember2020-09-300001035983srt:MinimumMemberfix:TwoImmaterialAcquisitionsMemberus-gaap:LoansPayableMember2020-09-300001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMemberus-gaap:LoansPayableMember2020-09-300001035983fix:TasEnergyMemberus-gaap:LoansPayableMember2020-09-300001035983fix:ElectricalContractorNorthCarolinaMemberus-gaap:LoansPayableMember2020-09-300001035983fix:TermLoanMember2020-09-300001035983us-gaap:RevolvingCreditFacilityMember2019-12-310001035983fix:TermLoanMember2019-12-310001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-12-190001035983fix:DebtCovenantRatioRangeTwoMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-09-300001035983fix:DebtCovenantRatioRangeTwoMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMember2020-01-012020-09-300001035983fix:DebtCovenantRatioRangeThreeMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-09-300001035983fix:DebtCovenantRatioRangeThreeMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMember2020-01-012020-09-300001035983fix:DebtCovenantRatioRangeOneMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-09-300001035983fix:DebtCovenantRatioRangeOneMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMember2020-01-012020-09-300001035983fix:DebtCovenantRatioRangeFourMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:EurodollarMember2020-01-012020-09-300001035983fix:DebtCovenantRatioRangeFourMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMember2020-01-012020-09-300001035983us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member2019-01-012019-09-300001035983us-gaap:CommonStockMember2020-09-300001035983us-gaap:CommonStockMember2020-06-300001035983us-gaap:CommonStockMember2020-03-310001035983us-gaap:CommonStockMember2019-12-310001035983us-gaap:CommonStockMember2019-09-300001035983us-gaap:CommonStockMember2019-06-300001035983us-gaap:CommonStockMember2019-03-310001035983us-gaap:CommonStockMember2018-12-310001035983us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2020-09-300001035983us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-3100010359832019-09-3000010359832018-12-310001035983us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-09-300001035983us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-310001035983us-gaap:NotesPayableOtherPayablesMember2020-09-300001035983fix:TasEnergyIncMemberus-gaap:TradeNamesMember2020-04-010001035983fix:TasEnergyIncMemberus-gaap:OrderOrProductionBacklogMember2020-04-010001035983fix:TasEnergyIncMemberus-gaap:CustomerRelationshipsMember2020-04-010001035983fix:ElectricalContractorNorthCarolinaMember2020-01-012020-03-310001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember2019-04-012019-06-300001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2020-07-012020-09-300001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2020-01-012020-09-300001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2019-07-012019-09-300001035983srt:MaximumMemberfix:EmployeeAndNonemployeeStockOptionMember2019-01-012019-09-300001035983srt:RestatementAdjustmentMemberus-gaap:AccountingStandardsUpdate201613Member2020-01-012020-01-010001035983us-gaap:ProductAndServiceOtherMember2020-09-300001035983fix:ServicesActivityMember2020-09-300001035983fix:ConstructionActivitiesMember2020-09-300001035983us-gaap:ProductAndServiceOtherMember2019-12-310001035983fix:ServicesActivityMember2019-12-310001035983fix:ConstructionActivitiesMember2019-12-310001035983us-gaap:AdditionalPaidInCapitalMember2020-07-012020-09-300001035983us-gaap:AdditionalPaidInCapitalMember2019-07-012019-09-3000010359832020-04-012020-06-3000010359832019-04-012019-06-300001035983fix:TasEnergyIncMemberus-gaap:TradeNamesMember2020-04-012020-04-010001035983fix:TasEnergyIncMemberus-gaap:OrderOrProductionBacklogMember2020-04-012020-04-010001035983fix:TasEnergyIncMemberus-gaap:CustomerRelationshipsMember2020-04-012020-04-010001035983fix:ServicesActivityMember2020-01-012020-09-300001035983srt:MaximumMember2020-01-012020-09-300001035983us-gaap:AdditionalPaidInCapitalMember2020-04-012020-06-300001035983us-gaap:AdditionalPaidInCapitalMember2020-01-012020-03-3100010359832020-01-012020-03-310001035983us-gaap:AdditionalPaidInCapitalMember2019-04-012019-06-300001035983us-gaap:AdditionalPaidInCapitalMember2019-01-012019-03-3100010359832019-01-012019-03-310001035983us-gaap:TreasuryStockMember2020-04-012020-06-300001035983us-gaap:TreasuryStockMember2020-01-012020-03-310001035983us-gaap:TreasuryStockMember2019-04-012019-06-300001035983us-gaap:TreasuryStockMember2019-01-012019-03-310001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-12-202019-12-200001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-12-192019-12-190001035983us-gaap:ProductAndServiceOtherMember2020-01-012020-09-300001035983us-gaap:OtherCustomerMember2020-07-012020-09-300001035983fix:ServiceProjectsMember2020-07-012020-09-300001035983fix:ServiceCallsMaintenanceAndMonitoringMember2020-07-012020-09-300001035983fix:RetailRestaurantsAndEntertainmentMember2020-07-012020-09-300001035983fix:OfficeBuildingCustomerMember2020-07-012020-09-300001035983fix:NewConstructionMember2020-07-012020-09-300001035983fix:MultiFamilyAndResidentialMember2020-07-012020-09-300001035983fix:MechanicalServicesMember2020-07-012020-09-300001035983fix:IndustrialPropertyCustomerMember2020-07-012020-09-300001035983fix:HealthcareSectorCustomerMember2020-07-012020-09-300001035983fix:GovernmentCustomerMember2020-07-012020-09-300001035983fix:ExistingBuildingConstructionMember2020-07-012020-09-300001035983fix:ElectricalServicesMember2020-07-012020-09-300001035983fix:EducationMember2020-07-012020-09-300001035983us-gaap:OtherCustomerMember2020-01-012020-09-300001035983fix:ServiceProjectsMember2020-01-012020-09-300001035983fix:ServiceCallsMaintenanceAndMonitoringMember2020-01-012020-09-300001035983fix:RetailRestaurantsAndEntertainmentMember2020-01-012020-09-300001035983fix:OfficeBuildingCustomerMember2020-01-012020-09-300001035983fix:NewConstructionMember2020-01-012020-09-300001035983fix:MultiFamilyAndResidentialMember2020-01-012020-09-300001035983fix:MechanicalServicesMember2020-01-012020-09-300001035983fix:IndustrialPropertyCustomerMember2020-01-012020-09-300001035983fix:HealthcareSectorCustomerMember2020-01-012020-09-300001035983fix:GovernmentCustomerMember2020-01-012020-09-300001035983fix:ExistingBuildingConstructionMember2020-01-012020-09-300001035983fix:ElectricalServicesMember2020-01-012020-09-300001035983fix:EducationMember2020-01-012020-09-300001035983us-gaap:OtherCustomerMember2019-07-012019-09-300001035983fix:ServiceProjectsMember2019-07-012019-09-300001035983fix:ServiceCallsMaintenanceAndMonitoringMember2019-07-012019-09-300001035983fix:RetailRestaurantsAndEntertainmentMember2019-07-012019-09-300001035983fix:OfficeBuildingCustomerMember2019-07-012019-09-300001035983fix:NewConstructionMember2019-07-012019-09-300001035983fix:MultiFamilyAndResidentialMember2019-07-012019-09-300001035983fix:MechanicalServicesMember2019-07-012019-09-300001035983fix:IndustrialPropertyCustomerMember2019-07-012019-09-300001035983fix:HealthcareSectorCustomerMember2019-07-012019-09-300001035983fix:GovernmentCustomerMember2019-07-012019-09-300001035983fix:ExistingBuildingConstructionMember2019-07-012019-09-300001035983fix:ElectricalServicesMember2019-07-012019-09-300001035983fix:EducationMember2019-07-012019-09-300001035983us-gaap:OtherCustomerMember2019-01-012019-09-300001035983fix:ServiceProjectsMember2019-01-012019-09-300001035983fix:ServiceCallsMaintenanceAndMonitoringMember2019-01-012019-09-300001035983fix:RetailRestaurantsAndEntertainmentMember2019-01-012019-09-300001035983fix:OfficeBuildingCustomerMember2019-01-012019-09-300001035983fix:NewConstructionMember2019-01-012019-09-300001035983fix:MultiFamilyAndResidentialMember2019-01-012019-09-300001035983fix:MechanicalServicesMember2019-01-012019-09-300001035983fix:IndustrialPropertyCustomerMember2019-01-012019-09-300001035983fix:HealthcareSectorCustomerMember2019-01-012019-09-300001035983fix:GovernmentCustomerMember2019-01-012019-09-300001035983fix:ExistingBuildingConstructionMember2019-01-012019-09-300001035983fix:ElectricalServicesMember2019-01-012019-09-300001035983fix:EducationMember2019-01-012019-09-300001035983fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember2019-10-012019-12-310001035983srt:MinimumMemberus-gaap:SuretyBondMember2020-01-012020-09-300001035983srt:MaximumMemberus-gaap:SuretyBondMember2020-01-012020-09-300001035983fix:TermLoanMember2019-12-202019-12-310001035983us-gaap:RevolvingCreditFacilityMember2019-12-202019-12-310001035983srt:MinimumMember2020-01-012020-09-300001035983fix:AmendedSeniorRevolvingCreditFacilityMember2019-12-310001035983srt:MinimumMemberus-gaap:RevolvingCreditFacilityMember2020-01-012020-09-300001035983srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2020-01-012020-09-3000010359832020-07-012020-09-3000010359832019-07-012019-09-300001035983us-gaap:InterestRateSwapMember2020-07-012020-09-300001035983us-gaap:InterestRateSwapMember2020-01-012020-09-300001035983us-gaap:InterestRateSwapMemberus-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember2021-11-300001035983us-gaap:InterestRateSwapMemberus-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember2020-09-300001035983srt:MinimumMemberfix:ScenarioCovenantRequirementMemberus-gaap:RevolvingCreditFacilityMember2020-09-300001035983srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2020-09-300001035983fix:ThroughMaturityMemberus-gaap:RevolvingCreditFacilityMember2020-09-300001035983srt:MinimumMemberus-gaap:RevolvingCreditFacilityMember2020-09-300001035983us-gaap:RevolvingCreditFacilityMember2020-09-300001035983us-gaap:RevolvingCreditFacilityMember2020-01-012020-09-300001035983fix:SubordinateDebtAndPromissoryNoteMember2020-09-3000010359832019-12-3100010359832019-01-012019-12-3100010359832019-01-012019-09-300001035983srt:MinimumMemberfix:TasEnergyIncMember2020-04-012020-04-010001035983srt:MaximumMemberfix:TasEnergyIncMember2020-04-012020-04-010001035983fix:TasEnergyIncMember2020-04-010001035983fix:TasEnergyIncMember2020-04-012020-04-010001035983us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2020-09-300001035983us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2020-09-300001035983us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-310001035983us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueMeasurementsRecurringMember2019-12-3100010359832020-09-300001035983fix:ConstructionActivitiesMember2020-01-012020-09-3000010359832020-10-2100010359832020-01-012020-09-30xbrli:sharesiso4217:USDxbrli:purefix:itemfix:Optioniso4217:USDxbrli:sharesfix:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

Form 10-Q

(Mark One)

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

For the quarterly period ended September 30, 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
(Address of Principal Executive Offices) (Zip Code)

Registrant’s telephone number, including area code: (713830-9600

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, $0.01 par value

FIX

New York Stock Exchange

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 (Section 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 is a shell company (as defined in Exchange Act Rule 12b-2). Yes  No 

The number of shares outstanding of the issuer’s common stock as of October 21, 2020 was 36,394,751 (excluding treasury shares of 4,728,614).

COMFORT SYSTEMS USA, INC.

INDEX TO FORM 10-Q

FOR THE QUARTER ENDED SEPTEMBER 30, 2020

    

Page

Part I—Financial Information

2

Item 1—Financial Statements

2

Consolidated Balance Sheets

2

Consolidated Statements of Operations

3

Consolidated Statements of Stockholders’ Equity

4

Consolidated Statements of Cash Flows

6

Condensed Notes to Consolidated Financial Statements

7

Item 2—Management’s Discussion and Analysis of Financial Condition and Results of Operations

23

Item 3—Quantitative and Qualitative Disclosures about Market Risk

35

Item 4—Controls and Procedures

35

Part II—Other Information

35

Item 1—Legal Proceedings

35

Item 1A—Risk Factors

36

Item 2—Unregistered Sales of Equity Securities and Use of Proceeds

36

Item 6—Exhibits

38

Signatures

39

PART I—FINANCIAL INFORMATION

Item 1. Financial Statements

COMFORT SYSTEMS USA, INC.

CONSOLIDATED BALANCE SHEETS

(In Thousands, Except Share Amounts)

September 30,

December 31,

    

2020

    

2019

 

(Unaudited)

ASSETS

CURRENT ASSETS:

Cash and cash equivalents

$

70,540

$

50,788

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

 

608,861

 

619,037

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

 

46,509

 

55,542

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

 

36,991

 

37,632

Inventories

 

12,700

 

10,053

Prepaid expenses and other

 

10,313

 

14,396

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

 

25,382

 

2,736

Total current assets

 

811,296

 

790,184

PROPERTY AND EQUIPMENT, NET

 

119,131

 

109,796

LEASE RIGHT-OF-USE ASSET

95,815

84,073

GOODWILL

 

420,782

 

332,447

IDENTIFIABLE INTANGIBLE ASSETS, NET

 

201,998

 

159,974

DEFERRED TAX ASSETS

21,656

21,923

OTHER NONCURRENT ASSETS

 

7,291

 

6,615

Total assets

$

1,677,969

$

1,505,012

LIABILITIES AND STOCKHOLDERS’ EQUITY

CURRENT LIABILITIES:

Current maturities of long-term debt

$

70

$

20,817

Accounts payable

 

176,484

 

196,195

Accrued compensation and benefits

 

119,931

 

102,891

Billings in excess of costs and estimated earnings

 

217,454

 

166,918

Accrued self-insurance

 

49,369

 

39,546

Other current liabilities

 

92,035

 

81,630

Total current liabilities

 

655,343

 

607,997

LONG-TERM DEBT, NET

 

222,213

 

205,318

LEASE LIABILITIES

81,638

 

72,697

DEFERRED TAX LIABILITIES

 

3,365

 

1,425

OTHER LONG-TERM LIABILITIES

 

47,284

 

32,271

Total liabilities

 

1,009,843

 

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,723,672 and 4,465,448 shares, respectively

 

(118,551)

 

(103,960)

Additional paid-in capital

 

322,304

 

320,168

Retained earnings

 

463,962

 

368,685

Total stockholders’ equity

 

668,126

 

585,304

Total liabilities and stockholders’ equity

$

1,677,969

$

1,505,012

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

2

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF OPERATIONS

(In Thousands, Except Per Share Data)

(Unaudited)

Three Months Ended

Nine Months Ended

September 30,

September 30,

    

2020

    

2019

    

2020

    

2019

 

REVENUE

$

714,099

$

706,918

$

2,157,698

$

1,895,693

COST OF SERVICES

 

566,903

 

564,216

 

1,747,714

 

1,526,310

Gross profit

 

147,196

 

142,702

 

409,984

 

369,383

SELLING, GENERAL AND ADMINISTRATIVE EXPENSES

 

90,888

 

90,006

 

268,857

 

253,417

GAIN ON SALE OF ASSETS

 

(377)

 

(708)

 

(1,243)

 

(1,119)

Operating income

 

56,685

 

53,404

 

142,370

 

117,085

OTHER INCOME (EXPENSE):

Interest income

 

7

 

82

 

99

 

174

Interest expense

 

(1,733)

 

(2,779)

 

(6,904)

 

(6,891)

Changes in the fair value of contingent earn-out obligations

 

3,423

 

(2,004)

 

1,824

 

(3,924)

Other

 

(15)

 

3

 

10

 

167

Other income (expense)

 

1,682

 

(4,698)

 

(4,971)

 

(10,474)

INCOME BEFORE INCOME TAXES

 

58,367

 

48,706

 

137,399

 

106,611

PROVISION FOR INCOME TAXES

 

8,279

 

12,473

 

30,100

 

26,339

NET INCOME

$

50,088

$

36,233

$

107,299

$

80,272

INCOME PER SHARE:

Basic

$

1.37

$

0.98

$

2.93

$

2.18

Diluted

$

1.36

$

0.98

$

2.92

$

2.16

SHARES USED IN COMPUTING INCOME PER SHARE:

Basic

 

36,557

 

36,805

 

36,604

 

36,891

Diluted

 

36,750

 

37,051

 

36,797

 

37,170

DIVIDENDS PER SHARE

$

0.105

$

0.100

$

0.314

$

0.295

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

3

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In Thousands, Except Share Amounts)

(Unaudited)

Nine Months Ended

September 30, 2019

Additional

Total

 

    

Common Stock

    

Treasury Stock

    

Paid-In

Retained

    

Stockholders’

 

    

Shares

    

Amount

    

Shares

    

Amount

    

Capital

    

Earnings

    

Equity

 

BALANCE AT DECEMBER 31, 2018

 

41,123,365

$

411

 

(4,229,653)

$

(87,747)

$

316,479

$

268,904

 

$

498,047

Net income

 

19,866

 

19,866

Issuance of Stock:

Issuance of shares for options exercised

 

41,103

861

(61)

 

800

Issuance of restricted stock & performance stock

 

38,539

817

1,189

 

2,006

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

 

(15,013)

(781)

 

(781)

Stock-based compensation

 

2,084

 

2,084

Dividends

 

(3,506)

 

(3,506)

Share repurchase

 

(67,394)

(3,321)

 

(3,321)

BALANCE AT MARCH 31, 2019

41,123,365

411

(4,232,418)

(90,171)

319,691

285,264

515,195

Net income

 

24,173

 

24,173

Issuance of Stock:

Issuance of shares for options exercised

 

1,408

31

(11)

 

20

Issuance of restricted stock & performance stock

 

69,067

1,486

(1,486)

 

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

 

(13,573)

(717)

 

(717)

Stock-based compensation

 

1,685

 

1,685

Dividends

 

(3,692)

 

(3,692)

Share repurchase

 

(93,468)

(4,576)

 

(4,576)

BALANCE AT JUNE 30, 2019

41,123,365

411

(4,268,984)

(93,947)

319,879

305,745

532,088

Net income

 

36,233

 

36,233

Issuance of Stock:

Issuance of shares for options exercised

 

5,426

124

57

 

181

Issuance of restricted stock & performance stock

 

 

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

 

 

Stock-based compensation

 

221

 

221

Dividends

 

(3,673)

 

(3,673)

Share repurchase

 

(183,880)

(7,420)

 

(7,420)

BALANCE AT SEPTEMBER 30, 2019

41,123,365

$

411

(4,447,438)

$

(101,243)

$

320,157

$

338,305

$

557,630

4

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In Thousands, Except Share Amounts)

(Unaudited)

Nine Months Ended

September 30, 2020

Additional

Total

    

Common Stock

    

Treasury Stock

    

Paid-In

Retained

    

Stockholders’

 

    

Shares

    

Amount

    

Shares

    

Amount

    

Capital

    

Earnings

    

Equity

 

BALANCE AT DECEMBER 31, 2019

 

41,123,365

$

411

 

(4,465,448)

$

(103,960)

$

320,168

$

368,685

 

$

585,304

Net income

 

17,716

 

17,716

Cumulative-effect adjustment (1)

(515)

(515)

Issuance of Stock:

Issuance of shares for options exercised

 

 

Issuance of restricted stock & performance stock

 

43,902

1,054

801

 

1,855

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

 

(14,722)

(622)

 

(622)

Stock-based compensation

 

2,134

 

2,134

Dividends

 

(3,844)

 

(3,844)

Share repurchase

 

(237,359)

(8,985)

 

(8,985)

BALANCE AT MARCH 31, 2020

 

41,123,365

411

 

(4,673,627)

(112,513)

323,103

382,042

593,043

Net income

39,495

39,495

Issuance of Stock:

Issuance of shares for options exercised

34,562

836

(280)

556

Issuance of restricted stock & performance stock

84,987

2,048

(2,048)

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

(13,002)

(454)

(454)

Stock-based compensation

1,644

1,644

Dividends

(3,830)

(3,830)

Share repurchase

(52,991)

(2,021)

(2,021)

BALANCE AT JUNE 30, 2020

41,123,365

411

(4,620,071)

(112,104)

322,419

417,707

628,433

Net income

 

50,088

 

50,088

Issuance of Stock:

Issuance of shares for options exercised

 

54,207

1,324

(325)

 

999

Issuance of restricted stock & performance stock

 

 

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

 

 

Stock-based compensation

 

210

 

210

Dividends

 

(3,833)

 

(3,833)

Share repurchase

 

(157,808)

(7,771)

 

(7,771)

BALANCE AT SEPTEMBER 30, 2020

41,123,365

$

411

(4,723,672)

$

(118,551)

$

322,304

$

463,962

$

668,126

________________________________________

(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.

5

COMFORT SYSTEMS USA, INC.

CONSOLIDATED STATEMENTS OF CASH FLOWS

(In Thousands)

(Unaudited)

Nine Months Ended

September 30,

    

2020

    

2019

 

CASH FLOWS FROM OPERATING ACTIVITIES:

Net income

$

107,299

$

80,272

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

Amortization of identifiable intangible assets

 

25,306

 

20,221

Depreciation expense

 

20,818

 

18,222

Change in right-of-use assets

12,338

10,552

Bad debt expense

 

5,318

 

2,093

Deferred tax provision (benefit)

 

1,197

 

(2,620)

Amortization of debt financing costs

 

408

 

287

Gain on sale of assets

 

(1,243)

 

(1,119)

Changes in the fair value of contingent earn-out obligations

 

(1,824)

 

3,924

Stock-based compensation

 

5,949

 

4,861

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

(Increase) decrease in—

Receivables, net

 

33,304

 

(31,647)

Inventories

 

(708)

 

(248)

Prepaid expenses and other current assets

 

9,417

 

(4,625)

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

 

(7,007)

 

(2,081)

Other noncurrent assets

 

(631)

 

(544)

Increase (decrease) in—

Accounts payable and accrued liabilities

 

(16,030)

 

6,635

Billings in excess of costs and estimated earnings

 

13,489

 

4,555

Other long-term liabilities

 

9,000

 

(9,023)

Net cash provided by operating activities

 

216,400

 

99,715

CASH FLOWS FROM INVESTING ACTIVITIES:

Purchases of property and equipment

 

(19,459)

 

(22,641)

Proceeds from sales of property and equipment

 

1,890

 

1,447

Proceeds from sale of business

1,611

Cash paid for acquisitions, net of cash acquired

 

(112,945)

 

(196,470)

Net cash used in investing activities

 

(130,514)

 

(216,053)

CASH FLOWS FROM FINANCING ACTIVITIES:

Proceeds from revolving credit facility

 

198,000

 

320,000

Payments on revolving credit facility

 

(164,500)

 

(177,000)

Payments on term loan

(15,000)

Payments on other debt

 

(44,464)

 

(3,254)

Payments of dividends to stockholders

 

(11,507)

 

(10,871)

Share repurchase

 

(18,777)

 

(15,317)

Shares received in lieu of tax withholding

 

(1,076)

 

(1,498)

Proceeds from exercise of options

 

1,555

 

1,001

Deferred acquisition payments

(500)

(637)

Payments for contingent consideration arrangements

 

(9,865)

 

(1,343)

Net cash provided by (used in) financing activities

 

(66,134)

 

111,081

NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS

 

19,752

 

(5,257)

CASH AND CASH EQUIVALENTS, beginning of period

 

50,788

 

45,620

CASH AND CASH EQUIVALENTS, end of period

$

70,540

$

40,363

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

6

COMFORT SYSTEMS USA, INC.

CONDENSED NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

September 30, 2020

(Unaudited)

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

Basis of Presentation

These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2019 (the “Form 10-K”).

The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.

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, the allowance for credit losses, 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.

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

7

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.

In May 2020, the SEC issued a final rule to amend the financial statement requirements for business combinations and dispositions, including the related pro forma financial information. The rule revises the significance tests, including consideration of registrant’s market capitalization for the investment test and consideration of registrant’s revenue for the income test. The significance threshold for business dispositions is also increased from 10% to 20%. The rule further eliminates the potential requirement that registrants present a third year of audited financial statements of acquired businesses and modifies pro forma adjustments rules for items directly related to accounting for the transaction. The rule is effective January 1, 2021. Early adoption is permitted. The impact of this authoritative guidance on our consolidated financial statements will depend on future acquisitions and dispositions completed subsequent to adoption of this guidance.

Revenue Recognition

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.

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.

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.

8

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.

In the first nine months of 2020 and 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 9 – 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):

9

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Service Provided

   

2020

   

2019

   

2020

   

2019

Mechanical Services

$

621,140

   

87.0

%

$

590,016

   

83.5

%

$

1,809,304

   

83.9

%

$

1,677,632

   

88.5

%

Electrical Services

92,959

13.0

%

116,902

16.5

%

348,394

16.1

%

218,061

11.5

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Type of Customer

2020

2019

 

2020

2019

 

Industrial

$

268,651

37.6

%

$

222,156

31.4

%

$

844,719

39.1

%

$

588,818

31.1

%

Education

135,992

19.0

%

125,836

17.8

%

375,580

17.4

%

292,799

15.4

%

Office Buildings

81,183

11.4

%

83,271

11.8

%

232,349

10.8

%

254,966

13.5

%

Healthcare

86,061

12.1

%

126,909

18.0

%

281,370

13.0

%

306,810

16.2

%

Government

40,631

5.7

%

41,502

5.9

%

119,444

5.5

%

118,224

6.2

%

Retail, Restaurants and Entertainment

64,212

9.0

%

67,141

9.5

%

190,043

8.8

%

184,618

9.7

%

Multi-Family and Residential

21,776

3.0

%

24,121

3.4

%

61,062

2.8

%

83,417

4.4

%

Other

15,593

2.2

%

15,982

2.2

%

53,131

2.6

%

66,041

3.5

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Activity Type

2020

2019

 

2020

2019

 

New Construction

$

310,000

43.4

%

$

312,279

44.2

%

$

1,034,833

48.0

%

$

827,718

43.7

%

Existing Building Construction

235,798

33.0

%

224,125

31.6

%

668,067

30.9

%

605,819

31.9

%

Service Projects

69,162

9.7

%

62,668

8.9

%

179,188

8.3

%

171,860

9.1

%

Service Calls, Maintenance and Monitoring

99,139

13.9

%

107,846

15.3

%

275,610

12.8

%

290,296

15.3

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

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 business disruption caused by Coronavirus Disease 2019 (“COVID-19”). In March 2020, the World Health Organization categorized COVID-19 as

10

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 September 30, 2020.

During the first nine months of 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):

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,651

2,678

(11)

5,318

Deductions for uncollectible receivables written off, net of recoveries

(913)

(623)

(1,536)

Credit allowance of acquired companies on the acquisition date

502

502

Purchase accounting adjustments

72

72

Reclass to other current liabilities

(315)

(315)

Balance at September 30, 2020

$

5,240

$

6,360

$

43

$

11,643

Contract Assets and Liabilities

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. 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 or 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):

Nine Months Ended September 30,

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

7,469

37,047

6,573

31,556

Change related to credit allowance

(79)

Other changes in the period

15,256

13,489

(14,050)

4,376

Balance at end of period

$

25,382

$

217,454

$

2,736

 

$

166,918

In the first nine months of 2020 and 2019, we recognized revenue of $164.4 million and $123.3 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 the first nine months of 2020 and 2019.

11

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 September 30, 2020, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.43 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 total term of less than one year; therefore, we do not report unfulfilled performance obligations for service maintenance agreements.

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 $6.1 million and $6.2 million in the first nine months of 2020 and 2019, respectively. 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 September 30, 2020 and December 31, 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 three months ended September 30, 2020 and 2019 was $8.0 million and $6.5 million, respectively. Lease expense for the nine months ended September 30, 2020 and 2019 was $21.4 million and $18.3 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.6 years at September 30, 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 three months ended September 30, 2020 and 2019 was approximately $2.0 million and $0.7 million, respectively. Rent paid to related parties for the nine months ended September 30, 2020 and 2019 was approximately $4.5 million and $2.7 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):

September 30, 2020

December 31, 2019

Lease right-of-use assets

$

95,815

$

84,073

Lease liabilities:

Other current liabilities

16,368

14,016

Long-term lease liabilities

81,638

72,697

Total lease liabilities

$

98,006

$

86,713

12

The maturities of lease liabilities are as follows (in thousands):

Year ending December 31—

2020 (excluding the nine months ended September 30, 2020)

$

5,306

2021

19,397

2022

16,353

2023

14,172

2024

12,671

Thereafter

47,693

Total Lease Payments

115,592

Less—Present Value Discount

(17,586)

Present Value of Lease Liabilities

$

98,006

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

Three Months Ended September 30,

Nine Months Ended September 30,

2020

2019

    

2020

2019

Cash paid for amounts included in the measurement of lease liabilities

$

5,362

$

4,566

$

15,140

$

12,439

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

$

1,880

$

6,865

$

24,080

$

21,262

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.

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 increase in unrecognized tax benefits. We previously filed an amended federal return for 2014 to claim R&D tax credits during 2018 and recorded a $2.7 million tax benefit that was also fully offset by an increase in unrecognized tax benefits. These tax benefits were fully offset by increases in 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 credits claimed had no impact on our effective tax rates.

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 allowing the $8.9 million of refund claims in full. Subsequently, the Joint Committee on Taxation reviewed and approved the refund claims. As a result, our provision for income taxes was reduced by $8.3 million due to a decrease 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 an increase in 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 rates for the third quarter 2020. At this time, we cannot reasonably estimate the R&D tax credit for years after 2018 or 179D deduction for years after 2017.

13

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.

3. 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 $200.0 million as of September 30, 2020 and gradually 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 three and nine months ended September 30, 2020, we recognized a net loss of less than $0.2 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 Measurements

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 September 30, 2020 and December 31, 2019 (in thousands):

Fair Value Measurements at September 30, 2020

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

70,540

$

$

$

70,540

Life insurance—cash surrender value

$

$

4,729

$

$

4,729

Contingent earn-out obligations

$

$

$

25,962

$

25,962

Interest rate swaps

$

$

62

$

$

62

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 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

14

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 74 employees with a combined face value of $54.2 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 $4.7 million as of September 30, 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 September 30, 2020, cash flows were discounted using a weighted average cost of capital ranging from 9.5% - 16.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):

    

Nine Months Ended

Year Ended

    

September 30, 2020

December 31, 2019

Balance at beginning of period

    

$

28,497

$

7,375

 

Issuances

 

9,155

 

19,500

Settlements

(9,866)

(1,369)

Adjustments to fair value

 

(1,824)

 

2,991

Balance at end of period

$

25,962

$

28,497

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.

4. 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.

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

39,715

Notes issued to former owners

14,000

Estimated fair value of contingent earn-out payments

9,100

$

168,765

15

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

935

Property and equipment

7,709

Goodwill

73,409

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,849)

Long-term lease liabilities

(17,398)

Other long-term liabilities

(2,987)

$

168,765

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 an estimated $55.5 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 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 the state NOL carryforwards. We do not believe it is more-likely-than-not that we 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 two earnings milestones over a 27-month period, and the range of each estimated milestone payment is $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

16

representative of a market participant assumption.  Subsequent to the acquisition date, the contingent earn-out obligation is remeasured 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

We completed the acquisition of the electrical contractor in North Carolina in the first quarter of 2020 with a total preliminary purchase price of $41.6 million. This acquisition is reported in our electrical services segment. We completed the acquisition of Walker, which is reported in our electrical services segment, in the second quarter of 2019 with a total purchase price of $235.4 million. In 2019, in addition to the Walker acquisition, we completed one acquisition in the first quarter of 2019 and one acquisition in the second quarter of 2019 with a total purchase price of $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 the current and 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.

5. 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 4)

 

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 4)

73,409

14,926

88,335

Balance at September 30, 2020

$

308,069

$

112,713

$

420,782

During the fourth quarter of 2019, the Company performed its annual goodwill impairment test resulting in no impairment charges, as 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 the first quarter of 2020, we considered the economic impacts of COVID-19 to be a triggering event for review of goodwill impairment at each of our reporting units. After performing a qualitative goodwill impairment assessment as of March 31, 2020, we determined that we did not have a goodwill impairment as of that date. 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 September 30, 2020, Walker had a goodwill balance of $96.8 million.

17

Identifiable Intangible Assets, Net

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

Estimated

September 30, 2020

December 31, 2019

    

Useful Lives

    

Gross Book

    

Accumulated

    

Gross Book

    

Accumulated

    

in Years

    

Value

    

Amortization

    

Value

    

Amortization

Customer relationships

 

1 - 15

$

231,492

$

(97,901)

$

183,061

$

(80,813)

Backlog

 

1 - 2

 

12,600

 

(12,098)

 

7,400

 

(6,388)

Tradenames

 

2 - 25

 

85,695

 

(17,790)

 

71,995

 

(15,281)

Total

$

329,787

$

(127,789)

$

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 three and nine months ended September 30, 2020 was $8.2 million and $25.3 million, respectively. Amortization expense for the three and nine months ended September 30, 2019 was $7.2 million and $20.2 million, respectively.

At September 30, 2020, future amortization expense of identifiable intangible assets is as follows (in thousands):

Year ended December 31—

    

    

2020 (remainder of the year)

    

$

7,391

 

2021

 

24,610

2022

 

21,989

2023

 

20,535

2024

 

19,185

Thereafter

 

108,288

Total

$

201,998

6. Debt Obligations

Debt obligations consist of the following (in thousands):

September 30,

December 31,

    

2020

    

2019

 

Revolving credit facility

$

61,500

$

28,000

Term loan

135,000

150,000

Notes to former owners

26,050

 

48,483

Other debt

20

Total principal amount

222,570

 

226,483

Less—unamortized debt issuance costs

(287)

(348)

Total debt, net of unamortized debt issuance costs

222,283

226,135

Less—current portion

(70)

 

(20,817)

Total long-term portion of debt, net

$

222,213

$

205,318

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 provides for a $150.0 million accordion or increase option for the revolving portion 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

18

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 connection with the amendment in December 2019, we incurred approximately $1.4 million in financing and professional costs that 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 September 30, 2020, we had $61.5 million of outstanding borrowings on the revolving credit facility, $55.6 million in letters of credit outstanding and $332.9 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 following is a summary of the 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

%

The weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of September 30, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of September 30, 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. 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 a claim is 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.

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.

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 September 30, 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

19

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 September 30, 2020 was 6.6.

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 September 30, 2020.

Notes to Former Owners

As part of the consideration used to acquire four companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.1 million as of September 30, 2020. 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 September 30, 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 $8.0 million as of September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in equal 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 September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The principal is due in April 2023. In conjunction with one immaterial acquisition in 2019, we issued a note to former owners with an outstanding balance of $0.1 million as of September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in January 2021.

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

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

20

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.

8. Stockholders’ Equity

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 three and nine months ended September 30, 2020 and 2019, 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):

Three Months Ended

Nine Months Ended

September 30,

September 30,

    

2020

    

2019

    

2020

    

2019

 

Common shares outstanding, end of period

36,400

 

36,676

36,400

 

36,676

Effect of using weighted average common shares outstanding

157

 

129

204

 

215

Shares used in computing earnings per share—basic

36,557

 

36,805

36,604

 

36,891

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

125

 

181

124

 

211

Effect of restricted and contingently issuable shares

68

 

65

69

 

68

Shares used in computing earnings per share—diluted

36,750

 

37,051

36,797

 

37,170

Share Repurchase Program

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 November 19,

21

2019, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.8 million shares. Since the inception of the repurchase program, the Board has approved 9.5 million shares to be repurchased. As of September 30, 2020, we have repurchased a cumulative total of 9.1 million shares at an average price of $18.89 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. In an exercise of such discretion, we suspended share repurchases from March 27, 2020 to May 26, 2020 in response to the uncertainty surrounding the current COVID-19 pandemic, as more fully described in “Item 1A. Risk Factors” herein. The Board may modify, suspend, extend or terminate the program at any time. During the nine months ended September 30, 2020, we repurchased 0.4 million shares for approximately $18.8 million at an average price of $41.90 per share.

9. Segment Information

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. The following table presents information about our reportable segments (in thousands):

Three Months Ended September 30, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

621,140

$

92,959

$

$

714,099

Gross Profit

$

138,655

$

8,541

$

$

147,196

Three Months Ended September 30, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

590,016

$

116,902

$

$

706,918

Gross Profit

$

128,501

$

14,201

$

$

142,702

Nine Months Ended September 30, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

1,809,304

$

348,394

$

$

2,157,698

Gross Profit

$

383,334

$

26,650

$

$

409,984

Nine Months Ended September 30, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

1,677,632

$

218,061

$

$

1,895,693

Gross Profit

$

344,632

$

24,751

$

$

369,383

22

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

The following discussion and analysis should be read in conjunction with our historical Consolidated Financial Statements and related notes included elsewhere in this Form 10-Q and the Annual Report on Form 10-K filed with the Securities and Exchange Commission for the year ended December 31, 2019 (the “Form 10-K”). This discussion contains “forward-looking statements” regarding our business and industry within the meaning of the Private Securities Litigation Reform Act of 1995. These statements are based on our current plans and expectations and involve risks and uncertainties that could cause our actual future activities and results of operations to be materially different from those set forth in the forward-looking statements. Important factors that could cause actual results to differ include risks set forth in “Item 1A. Risk Factors” included in our Form 10-K. We undertake no obligation to revise or publicly release the results of any revision to these forward-looking statements, except as required by law. Given these risks and uncertainties, readers are cautioned not to place undue reliance on such forward-looking statements. 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.

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 services within office buildings, retail centers, apartment complexes, manufacturing plants, and healthcare, education 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.2% 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 service 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.

23

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 and overhead costs account for the majority of our cost of service. Accordingly, 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 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 September 30, 2020, we had 6,022 projects in process. Our average project takes six to nine months to complete, with an average contract price of approximately $835,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.4 billion of aggregate contract value as of September 30, 2020, or approximately 87% of a total contract value for all projects in progress, totaling $5.0 billion. It is unusual for us to work on a project that exceeds two years in length.

A stratification of projects in progress as of September 30, 2020, by contract price, is as follows:

    

    

Aggregate

 

Contract

 

No. of

Price Value

 

Contract Price of Project

Projects

(millions)

 

Under $1 million

 

5,214

$

662.6

$1 million - $5 million

 

595

 

1,326.1

$5 million - $10 million

 

102

 

740.3

$10 million - $15 million

 

58

 

710.1

Greater than $15 million

 

53

 

1,588.0

Total

 

6,022

$

5,027.1

In addition to project work, approximately 12.8% 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

24

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 36 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, 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.

We have a credit facility in place with terms we believe are favorable that does not expire until January 2025. As of September 30, 2020, we had $332.9 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-one 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.

25

As discussed at greater length in “Results of Operations” below, we expect price competition to continue as our customers and local and regional competitors 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.

Cyclicality and Seasonality

Historically, the construction industry has been highly cyclical. 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 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.

Results of Operations (dollars in thousands):

 

Three Months Ended September 30,

 

Nine Months Ended September 30,

    

2020

    

2019

    

2020

    

2019

 

Revenue

$

714,099

    

100.0

%  

$

706,918

    

100.0

%  

$

2,157,698

    

100.0

%  

$

1,895,693

    

100.0

%

Cost of services

 

566,903

 

79.4

%

 

564,216

 

79.8

%

 

1,747,714

 

81.0

%

 

1,526,310

 

80.5

%

Gross profit

 

147,196

 

20.6

%

 

142,702

 

20.2

%

 

409,984

 

19.0

%

 

369,383

 

19.5

%

Selling, general and administrative expenses

 

90,888

 

12.7

%

 

90,006

 

12.7

%

 

268,857

 

12.5

%

 

253,417

 

13.4

%

Gain on sale of assets

 

(377)

 

(0.1)

%

 

(708)

 

(0.1)

%

 

(1,243)

 

(0.1)

%

 

(1,119)

 

(0.1)

%

Operating income

 

56,685

 

7.9

%

 

53,404

 

7.6

%

 

142,370

 

6.6

%

 

117,085

 

6.2

%

Interest income

 

7

 

 

82

 

 

99

 

 

174

 

Interest expense

 

(1,733)

 

(0.2)

%

 

(2,779)

 

(0.4)

%

 

(6,904)

 

(0.3)

%

 

(6,891)

 

(0.4)

%

Changes in the fair value of contingent earn-out obligations

 

3,423

 

0.5

%

 

(2,004)

 

(0.3)

%

 

1,824

 

0.1

%

 

(3,924)

 

(0.2)

%

Other income (expense)

 

(15)

 

 

3

 

 

10

 

 

167

 

Income before income taxes

 

58,367

 

8.2

%

 

48,706

 

6.9

%

 

137,399

 

6.4

%

 

106,611

 

5.6

%

Provision for income taxes

 

8,279

 

12,473

 

30,100

 

26,339

Net income

$

50,088

7.0

%

$

36,233

5.1

%

$

107,299

5.0

%

$

80,272

4.2

%

We had 35 operating locations as of December 31, 2019. In the second quarter of 2020, we completed the acquisition of TAS, which reports as a separate operating location. As of September 30, 2020, we had 36 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 three months of results for Walker, which was acquired April 1, 2019, eight 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 and six months of results for TAS, which was acquired on April 1, 2020. 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. While the electrical contractor in North Carolina is tucked-in with our existing North Carolina operation, due to the size of the acquired operations, we have elected to exclude their results from our same-store comparison.

26

Revenue—Revenue for the third quarter of 2020 increased $7.2 million, or 1.0%, to $714.1 million compared to the same period in 2019. The increase included a 6.8% increase related to the North Carolina electrical contractor and TAS acquisitions and a 5.8% decrease in revenue related to same-store activity.

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

 

Three Months Ended September 30,

 

    

2020

    

2019

    

Revenue:

    

Mechanical Services

$

621,140

    

87.0

%  

$

590,016

 

83.5

%

Electrical Services

 

92,959

 

13.0

%

 

116,902

 

16.5

%

Total

$

714,099

 

100.0

%

$

706,918

 

100.0

%

Revenue for our mechanical services segment increased $31.1 million, or 5.3%, to $621.1 million for the third quarter of 2020 compared to the same period in 2019. The increase included the acquisition of TAS in April 2020 ($28.6 million) as well as an increase in activity in the education sector at one of our Virginia operations ($14.2 million). This increase was offset by a decrease in activity in the education sector at our North Carolina operation ($7.0 million) and in the healthcare sector at one of our Texas operations ($6.1 million).

Revenue for our electrical services segment decreased $23.9 million to $93.0 million for the third quarter of 2020 compared to the same period in 2019. The decrease related to the impact of Coronavirus Disease 2019 (“COVID-19”) as well as expected decreases driven by a higher volume of large jobs in the prior period at our Walker operation ($42.3 million). The decrease was partially offset by the acquisition of the electrical contractor in North Carolina ($19.6 million).

Revenue for the first nine months of 2020 increased $262.0 million, or 13.8%, to $2.16 billion compared to the same period in 2019. The increase included a 13.5% increase related to the TAS, North Carolina electrical contractor and Walker acquisitions and a 0.3% increase in revenue related to same-store activity.

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

 

Nine Months Ended September 30,

 

    

2020

    

2019

    

Revenue:

    

Mechanical Services

$

1,809,304

    

83.9

%  

$

1,677,632

 

88.5

%

Electrical Services

 

348,394

 

16.1

%

 

218,061

 

11.5

%

Total

$

2,157,698

 

100.0

%

$

1,895,693

 

100.0

%

Revenue for our mechanical services segment increased $131.7 million, or 7.8%, to $1.81 billion for the first nine months of 2020 compared to the same period in 2019. Of this increase, $84.3 million was attributable to the TAS acquisition. The same-store revenue increase included an increase in activity in the industrial sector at our North Carolina operation ($16.5 million), in the education sector at our Arizona operation ($13.6 million) and at one of our Virginia operations ($13.3 million), and in the government sector at one of our Tennessee operations ($12.9 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 ($13.8 million).

Revenue for our electrical services segment increased $130.3 million to $348.4 million for the first nine months of 2020 compared to the same period in 2019. The increase related to the acquisition of Walker in April 2019 as well as the acquisition of the electrical contractor in North Carolina in February 2020.

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 and 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

27

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.

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

 

September 30,

December 31,

 

September 30,

 

    

2020

    

2019

    

2019

    

Backlog:

    

    

Mechanical Services

$

1,226,146

    

85.8

%  

$

1,348,651

 

84.2

%

$

1,312,396

 

81.6

%

Electrical Services

 

202,441

 

14.2

%

 

253,135

 

15.8

%

 

296,601

 

18.4

%

Total

$

1,428,587

 

100.0

%

$

1,601,786

 

100.0

%

$

1,608,997

 

100.0

%

Backlog as of September 30, 2020 was $1.43 billion, a 6.7% decrease from June 30, 2020 backlog of $1.53 billion, and an 11.2% decrease from September 30, 2019 backlog of $1.61 billion. The sequential backlog decrease was broad-based, and was primarily as a result of completion of project work at two of our Virginia operations ($27.2 million), one of our Florida operations ($15.9 million), our Colorado operation ($10.0 million) and our Wisconsin operation ($8.2 million). Additionally, we had increased project bookings at one of our Texas operations ($6.8 million). The year-over-year backlog decrease included a same-store decrease of $271.1 million, or 16.8% partially offset by the TAS acquisition ($40.1 million) and the acquisition of the electrical contractor in North Carolina ($50.6 million). Same-store year-over-year backlog decreased primarily due to completion of project work at Walker ($141.7 million), our North Carolina operation ($37.5 million), one of our Texas operations ($28.8 million) and our Arizona operation ($21.7 million). Additionally, we had increased project bookings at one of our Indiana operations ($22.4 million).

Gross Profit—Gross profit increased $4.5 million, or 3.1%, to $147.2 million for the third quarter of 2020 as compared to the same period in 2019. The increase included a 2.1% increase related to the TAS and North Carolina electrical contractor acquisitions and a 1.0% increase in same-store activity. The same-store increase in gross profit was primarily due to improvements in project execution at one of our Indiana operations ($5.3 million) and one of our Tennessee operations ($2.9 million), partially offset by a decrease at our Arkansas operation ($2.5 million) compared to the prior year. Additionally, we had increased volumes at one of our Virginia operations ($4.2 million), offset by a decrease in volumes at Walker ($7.4 million). As a percentage of revenue, gross profit for the third quarter increased from 20.2% in 2019 to 20.6% in 2020 primarily due to a broad-based improvement in project execution, as discussed above.

Gross profit increased $40.6 million, or 11.0%, to $410.0 million for the first nine months of 2020 as compared to the same period in 2019. The increase included a 4.9% increase related to the TAS, North Carolina electrical contractor and Walker acquisitions and a 6.1% increase in same-store activity. The same-store increase in gross profit was primarily due to improvements in project execution at our North Carolina operation ($14.9 million) and one of our Indiana operations ($7.0 million), partially offset by a decrease at one of our Florida operations ($7.0 million) compared to the prior year. Additionally, we had increased volumes at one of our Virginia operations ($3.2 million). As a percentage of revenue, gross profit for the nine-month period decreased from 19.5% in 2019 to 19.0% in 2020 primarily due to the factors discussed above and lower margins on the Walker acquisition, which was acquired in April 2019. Additionally, preventative and protective actions taken on projects, such as the social distancing and other procedure adjustments caused by COVID-19, negatively impacted margins starting in March 2020.

Selling, General and Administrative Expenses (“SG&A”)—SG&A increased $0.9 million, or 1.0%, to $90.9 million for the third quarter of 2020 as compared to 2019. On a same-store basis, excluding amortization expense, SG&A decreased $3.8 million, or 4.5%. This decrease is primarily due to the reduction in same-store revenue for the period, as well as reductions in travel-related expenses ($1.2 million) as a result of COVID-19 and lower bad debt expense of $0.6 million in the third quarter of 2020. These decreases were partially offset by increases in tax consulting fees in the third quarter of 2020 which totaled $2.8 million, as compared to $0.9 million in the same period in 2019. Amortization expense increased $0.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 for the third quarter remained steady at 12.7% in both 2019 and 2020.

28

SG&A increased $15.4 million, or 6.1%, to $268.9 million for the first nine months of 2020 as compared to 2019. On a same-store basis, excluding amortization expense, SG&A decreased $3.3 million, or 1.4%. 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.0 million) as well as due to a reduction in travel-related expenses as a result of COVID-19 ($2.8 million). These decreases were partially offset by an increase in bad debt expense of $2.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. Furthermore, tax consulting fees increased from $1.3 million in the first nine months of 2019 to $2.8 million in the same period in 2020. Amortization expense increased $3.0 million during the period, primarily as a result of the Walker, TAS and North Carolina electrical contractor acquisitions. As a percentage of revenue, SG&A for the nine-month period decreased from 13.4% 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.

Three Months Ended

 

Nine Months Ended

September 30,

 

September 30,

    

2020

    

2019

    

2020

    

2019

 

(in thousands)

 

(in thousands)

SG&A

$

90,888

$

90,006

$

268,857

$

253,417

Less: SG&A from companies acquired

 

(3,813)

 

 

(15,730)

 

Less: Amortization expense

 

(6,889)

 

(6,065)

 

(19,596)

 

(16,575)

Same-store SG&A, excluding amortization expense

$

80,186

$

83,941

$

233,531

$

236,842

Interest Expense—Interest expense decreased $1.0 million, or 37.6%, to $1.7 million for the third quarter of 2020 as compared to the same period in 2019. The decrease in interest expense is due to a reduction in our average interest rate on our outstanding borrowings in the third quarter of 2020 compared to the prior year. Interest expense remained steady at $6.9 million for the first nine months of both 2020 and 2019. Increases in borrowings on the senior credit facility and notes to former owners for our recent acquisitions, including TAS, were offset by a reduction in our average interest rate on outstanding borrowings for the first nine months of 2020 as compared to 2019.

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 for the third quarter of 2020 increased $5.4 million as compared to the same period in 2019. Income from changes in the fair value of contingent earn-out obligations for the first nine months of 2020 increased $5.7 million as compared to the same period in 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 current quarter.

Provision for Income Taxes—Our provision for income taxes for the nine months ended September 30, 2020 was $30.1 million with an effective tax rate of 21.9% as compared to a provision for income taxes of $26.3 million with an effective tax rate of 24.7% for the same period in 2019. The effective tax rate for 2020 was higher than the 21% federal statutory rate primarily due to net state income taxes (4.8%) and nondeductible expenses, including nondeductible expenses related to TAS (2.2%), partially offset by a decrease in unrecognized tax benefits 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 (6.0%). The effective tax rate for 2019 was higher than the 21% federal statutory rate primarily due to net state income taxes (4.4%) and nondeductible expenses (1.7%) 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.9%) and deductions for stock-based compensation (0.4%).

29

We currently estimate our effective tax rate for the full year 2020 will be between 22% and 25%, which includes the tax benefits from the IRS settlement of 2014 and 2015 tax years. Starting in 2021, we expect our effective tax rate will be between 25% and 30%, as we cannot reasonably estimate the tax benefits from the credit for increasing research activities (the “R&D tax credit”) or 179D deduction at this time.

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 the current year. However, starting at the end of the first quarter of this year, 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 experienced delays in the award of new construction work in certain instances, and we have also experienced limited instances of delayed starts. Additionally, we have 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 September 30, 2020 and determined that there were no material or systematic adverse impacts on the Company’s third quarter 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.

At this time, it is impossible to quantify the impact of COVID-19 in the upcoming quarters because we do not know how the pandemic and related governmental decisions will unfold, nor how the pandemic may impact decisions of our customers. The impact of COVID-19 creates more uncertainty than usual in our business outlook, and we currently 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. Nevertheless, assuming COVID-19 does not materially worsen, we expect that that we will continue to achieve substantial positive earnings and cash flow in the fourth quarter of 2020 and in 2021, and we continue to prepare for a wide range of economic circumstances.

30

Liquidity and Capital Resources (in thousands):

Nine Months Ended

September 30,

    

2020

    

2019

 

Cash provided by (used in):

Operating activities

$

216,400

$

99,715

Investing activities

 

(130,514)

 

(216,053)

Financing activities

 

(66,134)

 

111,081

Net increase (decrease) in cash and cash equivalents

$

19,752

$

(5,257)

Free cash flow:

Cash provided by operating activities

$

216,400

$

99,715

Purchases of property and equipment

 

(19,459)

 

(22,641)

Proceeds from sales of property and equipment

 

1,890

 

1,447

Free cash flow

$

198,831

$

78,521

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

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.

Cash provided by operating activities was $216.4 million during the first nine months of 2020 compared with $99.7 million during the same period in 2019. This increase was primarily driven by a $65.0 million change in receivables, net driven by strong collections in the current year, an $18.0 million change in other long-term liabilities, a $14.0 million change in prepaid expenses and other current assets and an $8.9 million change in billings in excess of costs, which was driven by timing of payments and project billings. Operating cash flows in the current year benefited by approximately $20.9 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 September 30, 2020.

Cash Used in Investing Activities—During the first nine months of 2020, cash used in investing activities was $130.5 million compared to $216.1 million during the same period in 2019. The $85.6 million decrease in cash used primarily relates to cash paid (net of cash acquired) for acquisitions in 2020 compared to the same period in 2019.

Cash Provided by (Used in) Financing Activities—Cash used in financing activities was $66.1 million for the first nine months of 2020 compared to cash provided by financing activities of $111.1 million during the same period in 2019. The $177.2 million decrease in cash provided by 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.

31

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 (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 November 19, 2019, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.8 million shares. Since the inception of the repurchase program, the Board has approved 9.5 million shares to be repurchased. As of September 30, 2020, we have repurchased a cumulative total of 9.1 million shares at an average price of $18.89 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. In an exercise of such discretion, we suspended share repurchases from March 27, 2020 to May 26, 2020 in response to the uncertainty surrounding the current COVID-19 pandemic, as more fully described in “Item 1A. Risk Factors” herein. The Board may modify, suspend, extend or terminate the program at any time. During the nine months ended September 30, 2020, we repurchased 0.4 million shares for approximately $18.8 million at an average price of $41.90 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 provides for a $150.0 million accordion or increase option for the revolving portion 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 September 30, 2020, we had $61.5 million of outstanding borrowings on the revolving credit facility, $55.6 million in letters of credit outstanding and $332.9 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.

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

32

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.

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.

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 September 30, 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 September 30, 2020 was 6.6.

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 September 30, 2020.

Notes to Former Owners

As part of the consideration used to acquire four companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.1 million as of September 30, 2020. 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 September 30, 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 $8.0 million as of September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in equal 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 September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The principal is due in April 2023. In conjunction with one immaterial acquisition in 2019, we issued a note to former owners with an outstanding balance of $0.1 million as of September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in January 2021.

33

Outlook

We have generated positive net free cash flow for the last twenty-one 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

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

As of September 30, 2020, we have $55.6 million in letter of credit commitments, of which $14.8 million will expire in 2020 and $40.8 million will expire in 2021. 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 many of these letter of credit commitments expire in the next twelve months, we expect nearly all of them, particularly those supporting our insurance programs, will be renewed annually.

34

Item 3. 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 senior credit facility. Our debt with fixed interest rates consists of notes to former owners of acquired companies.

The weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of September 30, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of September 30, 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.

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.

Item 4. 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 on 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.

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 September 30, 2020 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

PART II—OTHER INFORMATION

Item 1. 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.

35

Item 1A. Risk Factors

In addition to the other information set forth in this report, you should carefully consider the factors discussed in Part 1, “Item 1A. Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2019, which could materially affect our business, financial condition, or future results. Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, financial condition, or future results. Except as updated below, there were no material changes from the risk factors disclosed in Part 1, “Item 1A. Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2019.

The Company’s business has been and may continue to be negatively affected by health crises or outbreaks of disease, such as epidemics or pandemics, including the ongoing COVID-19 pandemic.

The Company’s operations have and continue to be affected by the ongoing global COVID-19 pandemic (the “virus”), which was declared a “pandemic” by the World Health Organization in March 2020, and the resulting volatility and uncertainty it has caused in the U.S. and other markets. The full impact of COVID-19 is unknown and rapidly evolving; the pandemic could result in a prolonged economic downturn and has disrupted, and may continue to disrupt, the Company’s business. The outbreak and any preventative or protective actions that the Company or its customers, suppliers, vendors and other third parties may take in respect of this virus, including those required by regulatory authorities, have and may continue to result in a period of disruption. The Company cannot reasonably estimate the length or severity of the COVID-19 pandemic or the related response, or the extent to which the disruption may materially impact the Company’s business, financial position, results of operations, cash flows and liquidity.

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds

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 November 19, 2019, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.8 million shares. Since the inception of the repurchase program, the Board has approved 9.5 million shares to be repurchased. As of September 30, 2020, we have repurchased a cumulative total of 9.1 million shares at an average price of $18.89 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. In an exercise of such discretion, we suspended share repurchases from March 27, 2020 to May 26, 2020 in response to the uncertainty surrounding the current COVID-19 pandemic, as more fully described in “Item 1A. Risk Factors” herein. The Board may modify, suspend, extend or terminate the program at any time. During the nine months ended September 30, 2020, we repurchased 0.4 million shares for approximately $18.8 million at an average price of $41.90 per share.

36

During the quarter ended September 30, 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

 

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

 

157,808

$

49.24

 

9,075,525

 

472,644

________________________________________

(1)Purchased as part of a program announced on March 29, 2007 under which, since the inception of this program, 9.5 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.

37

Item 6. 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

31.1*

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

31.2*

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

32.1**

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

32.2**

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

101.INS*

Inline XBRL Instance Document

101.SCH*

Inline XBRL Taxonomy Extension Schema Document

101.CAL*

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF*

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB*

Inline XBRL Taxonomy Extension Label Linkbase Document

101.PRE*

Inline XBRL Taxonomy Extension Presentation Linkbase

104

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

* Filed herewith.

** Furnished herewith.

38

SIGNATURES

Pursuant to the requirements 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.

October 26, 2020

By:

/s/ Brian E. Lane

Brian E. Lane

President, Chief Executive Officer and Director

October 26, 2020

By:

/s/ William George

William George

Executive Vice President and Chief Financial Officer

October 26, 2020

By:

/s/ Julie S. Shaeff

Julie S. Shaeff

Senior Vice President and Chief Accounting Officer

39

EX-31.1 2 fix-20200930xex31d1.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 quarterly report on Form 10-Q 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: October 26, 2020

/s/ Brian E. Lane

Brian E. Lane
President and Chief Executive Officer


EX-31.2 3 fix-20200930xex31d2.htm EX-31.2

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 quarterly report on Form 10-Q 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.

/s/ William George

Date: October 26, 2020

William George
Executive Vice President and Chief Financial Officer


EX-32.1 4 fix-20200930xex32d1.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 Quarterly Report of Comfort Systems USA, Inc. (the “Company”) on Form 10-Q for the quarter ended September 30, 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 result of operations of the Company.

Date: October 26, 2020

/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 5 fix-20200930xex32d2.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 Quarterly Report of Comfort Systems USA, Inc. (the “Company”) on Form 10-Q for the quarter ended September 30, 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 result of operations of the Company.

Date: October 26, 2020

/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.


EX-101.SCH 6 fix-20200930.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) link:presentationLink link:calculationLink link:definitionLink 40207 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) Calc2 link:presentationLink link:calculationLink link:definitionLink 40208 - Disclosure - Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Acquisitions (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details) link:presentationLink link:calculationLink link:definitionLink 40803 - 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 - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Goodwill and Identifiable Intangible Assets, Net link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Debt Obligations link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Stockholders' Equity 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 - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Goodwill and Identifiable Intangible Assets, Net (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Debt Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Stockholders' Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (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 - Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations Default (Details) link:presentationLink link:calculationLink link:definitionLink 40209 - Disclosure - Summary of Significant Accounting Policies - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Acquisitions - Acquired Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - Acquisitions - Contingent Earn-out Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 40404 - Disclosure - Acquisitions - Other Acquisitions (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Changes in Carrying Amount of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Debt Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Debt Obligations - Other (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Commitments and Contingencies - Other and Bonds (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Stockholders' Equity - Incentive and Other (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Segment Information (Tables) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 fix-20200930_cal.xml EX-101.CAL EX-101.DEF 8 fix-20200930_def.xml EX-101.DEF EX-101.LAB 9 fix-20200930_lab.xml EX-101.LAB EX-101.PRE 10 fix-20200930_pre.xml EX-101.PRE XML 11 fix-20200930x10q_htm.xml IDEA: XBRL DOCUMENT 0001035983 2020-10-01 2020-10-31 0001035983 2018-01-01 2018-12-31 0001035983 fix:Deduction179dMember 2020-07-01 2020-09-30 0001035983 fix:StockRepurchaseProgram2007Member 2007-03-29 2020-09-30 0001035983 fix:StockRepurchaseProgram2007Member 2020-09-30 0001035983 fix:StockRepurchaseProgram2007Member 2019-11-19 0001035983 fix:StockRepurchaseProgram2007Member 2007-03-29 0001035983 us-gaap:TreasuryStockMember 2020-07-01 2020-09-30 0001035983 us-gaap:TreasuryStockMember 2019-07-01 2019-09-30 0001035983 us-gaap:TreasuryStockMember 2020-09-30 0001035983 us-gaap:RetainedEarningsMember 2020-09-30 0001035983 us-gaap:AdditionalPaidInCapitalMember 2020-09-30 0001035983 us-gaap:TreasuryStockMember 2020-06-30 0001035983 us-gaap:RetainedEarningsMember 2020-06-30 0001035983 us-gaap:AdditionalPaidInCapitalMember 2020-06-30 0001035983 2020-06-30 0001035983 us-gaap:TreasuryStockMember 2020-03-31 0001035983 us-gaap:RetainedEarningsMember 2020-03-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2020-03-31 0001035983 2020-03-31 0001035983 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:AccountingStandardsUpdate201613Member 2020-01-01 0001035983 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:RetainedEarningsMember 2019-12-31 0001035983 us-gaap:TreasuryStockMember 2019-12-31 0001035983 us-gaap:RetainedEarningsMember 2019-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001035983 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember 2019-12-31 0001035983 us-gaap:TreasuryStockMember 2019-09-30 0001035983 us-gaap:RetainedEarningsMember 2019-09-30 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-09-30 0001035983 us-gaap:TreasuryStockMember 2019-06-30 0001035983 us-gaap:RetainedEarningsMember 2019-06-30 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 0001035983 2019-06-30 0001035983 us-gaap:TreasuryStockMember 2019-03-31 0001035983 us-gaap:RetainedEarningsMember 2019-03-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-03-31 0001035983 2019-03-31 0001035983 us-gaap:TreasuryStockMember 2018-12-31 0001035983 us-gaap:RetainedEarningsMember 2018-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001035983 srt:MinimumMember 2019-04-01 2020-09-30 0001035983 srt:MaximumMember 2019-04-01 2020-09-30 0001035983 2019-04-01 2020-09-30 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-12-20 2019-12-31 0001035983 fix:StockRepurchaseProgram2007Member 2020-01-01 2020-09-30 0001035983 fix:TasEnergyIncMember us-gaap:StateAndLocalJurisdictionMember 2020-04-01 0001035983 fix:TasEnergyIncMember us-gaap:DomesticCountryMember 2020-04-01 0001035983 fix:TwoImmaterialAcquisitionsMember us-gaap:LoansPayableMember 2020-09-30 0001035983 fix:SubordinateDebtAndPromissoryNoteMember 2019-12-31 0001035983 us-gaap:LetterOfCreditMember 2019-12-31 0001035983 srt:MinimumMember 2020-09-30 0001035983 srt:MaximumMember 2020-09-30 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:MechanicalServicesIndustryMember 2020-07-01 2020-09-30 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesIndustryMember 2020-07-01 2020-09-30 0001035983 us-gaap:OperatingSegmentsMember fix:MechanicalServicesIndustryMember 2020-01-01 2020-09-30 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesIndustryMember 2020-01-01 2020-09-30 0001035983 us-gaap:OperatingSegmentsMember fix:MechanicalServicesIndustryMember 2019-07-01 2019-09-30 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesIndustryMember 2019-07-01 2019-09-30 0001035983 us-gaap:OperatingSegmentsMember fix:MechanicalServicesIndustryMember 2019-01-01 2019-09-30 0001035983 us-gaap:OperatingSegmentsMember fix:ElectricalServicesIndustryMember 2019-01-01 2019-09-30 0001035983 fix:MechanicalServicesIndustryMember 2020-01-01 2020-09-30 0001035983 fix:ElectricalServicesIndustryMember 2020-01-01 2020-09-30 0001035983 fix:MechanicalServicesIndustryMember 2019-01-01 2019-12-31 0001035983 fix:ElectricalServicesIndustryMember 2019-01-01 2019-12-31 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember 2020-09-30 0001035983 fix:MechanicalServicesIndustryMember 2020-09-30 0001035983 fix:ElectricalServicesIndustryMember 2020-09-30 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-09-30 0001035983 srt:MinimumMember us-gaap:OrderOrProductionBacklogMember 2020-01-01 2020-09-30 0001035983 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2020-01-01 2020-09-30 0001035983 srt:MaximumMember us-gaap:TradeNamesMember 2020-01-01 2020-09-30 0001035983 srt:MaximumMember us-gaap:OrderOrProductionBacklogMember 2020-01-01 2020-09-30 0001035983 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2020-01-01 2020-09-30 0001035983 us-gaap:TradeNamesMember 2020-09-30 0001035983 us-gaap:OrderOrProductionBacklogMember 2020-09-30 0001035983 us-gaap:CustomerRelationshipsMember 2020-09-30 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-09-30 0001035983 fix:ContingentConsiderationObligationsMember 2019-12-31 0001035983 fix:ContingentConsiderationObligationsMember 2018-12-31 0001035983 fix:ContingentConsiderationObligationsMember 2020-01-01 2020-09-30 0001035983 fix:ContingentConsiderationObligationsMember 2019-01-01 2019-12-31 0001035983 us-gaap:RetainedEarningsMember 2020-07-01 2020-09-30 0001035983 us-gaap:RetainedEarningsMember 2020-04-01 2020-06-30 0001035983 us-gaap:RetainedEarningsMember 2020-01-01 2020-03-31 0001035983 us-gaap:RetainedEarningsMember 2019-07-01 2019-09-30 0001035983 us-gaap:RetainedEarningsMember 2019-04-01 2019-06-30 0001035983 us-gaap:RetainedEarningsMember 2019-01-01 2019-03-31 0001035983 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember 2020-09-30 0001035983 us-gaap:InterestRateSwapMember us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember us-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember 2020-09-30 0001035983 srt:MinimumMember fix:TwoImmaterialAcquisitionsMember us-gaap:LoansPayableMember 2020-09-30 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember us-gaap:LoansPayableMember 2020-09-30 0001035983 fix:TasEnergyMember us-gaap:LoansPayableMember 2020-09-30 0001035983 fix:ElectricalContractorNorthCarolinaMember us-gaap:LoansPayableMember 2020-09-30 0001035983 fix:TermLoanMember 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember 2019-12-31 0001035983 fix:TermLoanMember 2019-12-31 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-12-19 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeTwoMember 2020-01-01 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember fix:DebtCovenantRatioRangeTwoMember 2020-01-01 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeThreeMember 2020-01-01 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember fix:DebtCovenantRatioRangeThreeMember 2020-01-01 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeOneMember 2020-01-01 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember fix:DebtCovenantRatioRangeOneMember 2020-01-01 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:EurodollarMember fix:DebtCovenantRatioRangeFourMember 2020-01-01 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember fix:DebtCovenantRatioRangeFourMember 2020-01-01 2020-09-30 0001035983 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2019-01-01 2019-09-30 0001035983 us-gaap:CommonStockMember 2020-09-30 0001035983 us-gaap:CommonStockMember 2020-06-30 0001035983 us-gaap:CommonStockMember 2020-03-31 0001035983 us-gaap:CommonStockMember 2019-12-31 0001035983 us-gaap:CommonStockMember 2019-09-30 0001035983 us-gaap:CommonStockMember 2019-06-30 0001035983 us-gaap:CommonStockMember 2019-03-31 0001035983 us-gaap:CommonStockMember 2018-12-31 0001035983 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-09-30 0001035983 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001035983 2019-09-30 0001035983 2018-12-31 0001035983 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-09-30 0001035983 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001035983 us-gaap:NotesPayableOtherPayablesMember 2020-09-30 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 fix:ElectricalContractorNorthCarolinaMember 2020-01-01 2020-03-31 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember 2019-04-01 2019-06-30 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2020-07-01 2020-09-30 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2020-01-01 2020-09-30 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2019-07-01 2019-09-30 0001035983 srt:MaximumMember fix:EmployeeAndNonemployeeStockOptionMember 2019-01-01 2019-09-30 0001035983 srt:RestatementAdjustmentMember us-gaap:AccountingStandardsUpdate201613Member 2020-01-01 2020-01-01 0001035983 us-gaap:ProductAndServiceOtherMember 2020-09-30 0001035983 fix:ServicesActivityMember 2020-09-30 0001035983 fix:ConstructionActivitiesMember 2020-09-30 0001035983 us-gaap:ProductAndServiceOtherMember 2019-12-31 0001035983 fix:ServicesActivityMember 2019-12-31 0001035983 fix:ConstructionActivitiesMember 2019-12-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2020-07-01 2020-09-30 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-07-01 2019-09-30 0001035983 2020-04-01 2020-06-30 0001035983 2019-04-01 2019-06-30 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:ServicesActivityMember 2020-01-01 2020-09-30 0001035983 srt:MaximumMember 2020-01-01 2020-09-30 0001035983 us-gaap:AdditionalPaidInCapitalMember 2020-04-01 2020-06-30 0001035983 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-03-31 0001035983 2020-01-01 2020-03-31 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-04-01 2019-06-30 0001035983 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-03-31 0001035983 2019-01-01 2019-03-31 0001035983 us-gaap:TreasuryStockMember 2020-04-01 2020-06-30 0001035983 us-gaap:TreasuryStockMember 2020-01-01 2020-03-31 0001035983 us-gaap:TreasuryStockMember 2019-04-01 2019-06-30 0001035983 us-gaap:TreasuryStockMember 2019-01-01 2019-03-31 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-12-20 2019-12-20 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-12-19 2019-12-19 0001035983 us-gaap:ProductAndServiceOtherMember 2020-01-01 2020-09-30 0001035983 us-gaap:OtherCustomerMember 2020-07-01 2020-09-30 0001035983 fix:ServiceProjectsMember 2020-07-01 2020-09-30 0001035983 fix:ServiceCallsMaintenanceAndMonitoringMember 2020-07-01 2020-09-30 0001035983 fix:RetailRestaurantsAndEntertainmentMember 2020-07-01 2020-09-30 0001035983 fix:OfficeBuildingCustomerMember 2020-07-01 2020-09-30 0001035983 fix:NewConstructionMember 2020-07-01 2020-09-30 0001035983 fix:MultiFamilyAndResidentialMember 2020-07-01 2020-09-30 0001035983 fix:MechanicalServicesMember 2020-07-01 2020-09-30 0001035983 fix:IndustrialPropertyCustomerMember 2020-07-01 2020-09-30 0001035983 fix:HealthcareSectorCustomerMember 2020-07-01 2020-09-30 0001035983 fix:GovernmentCustomerMember 2020-07-01 2020-09-30 0001035983 fix:ExistingBuildingConstructionMember 2020-07-01 2020-09-30 0001035983 fix:ElectricalServicesMember 2020-07-01 2020-09-30 0001035983 fix:EducationMember 2020-07-01 2020-09-30 0001035983 us-gaap:OtherCustomerMember 2020-01-01 2020-09-30 0001035983 fix:ServiceProjectsMember 2020-01-01 2020-09-30 0001035983 fix:ServiceCallsMaintenanceAndMonitoringMember 2020-01-01 2020-09-30 0001035983 fix:RetailRestaurantsAndEntertainmentMember 2020-01-01 2020-09-30 0001035983 fix:OfficeBuildingCustomerMember 2020-01-01 2020-09-30 0001035983 fix:NewConstructionMember 2020-01-01 2020-09-30 0001035983 fix:MultiFamilyAndResidentialMember 2020-01-01 2020-09-30 0001035983 fix:MechanicalServicesMember 2020-01-01 2020-09-30 0001035983 fix:IndustrialPropertyCustomerMember 2020-01-01 2020-09-30 0001035983 fix:HealthcareSectorCustomerMember 2020-01-01 2020-09-30 0001035983 fix:GovernmentCustomerMember 2020-01-01 2020-09-30 0001035983 fix:ExistingBuildingConstructionMember 2020-01-01 2020-09-30 0001035983 fix:ElectricalServicesMember 2020-01-01 2020-09-30 0001035983 fix:EducationMember 2020-01-01 2020-09-30 0001035983 us-gaap:OtherCustomerMember 2019-07-01 2019-09-30 0001035983 fix:ServiceProjectsMember 2019-07-01 2019-09-30 0001035983 fix:ServiceCallsMaintenanceAndMonitoringMember 2019-07-01 2019-09-30 0001035983 fix:RetailRestaurantsAndEntertainmentMember 2019-07-01 2019-09-30 0001035983 fix:OfficeBuildingCustomerMember 2019-07-01 2019-09-30 0001035983 fix:NewConstructionMember 2019-07-01 2019-09-30 0001035983 fix:MultiFamilyAndResidentialMember 2019-07-01 2019-09-30 0001035983 fix:MechanicalServicesMember 2019-07-01 2019-09-30 0001035983 fix:IndustrialPropertyCustomerMember 2019-07-01 2019-09-30 0001035983 fix:HealthcareSectorCustomerMember 2019-07-01 2019-09-30 0001035983 fix:GovernmentCustomerMember 2019-07-01 2019-09-30 0001035983 fix:ExistingBuildingConstructionMember 2019-07-01 2019-09-30 0001035983 fix:ElectricalServicesMember 2019-07-01 2019-09-30 0001035983 fix:EducationMember 2019-07-01 2019-09-30 0001035983 us-gaap:OtherCustomerMember 2019-01-01 2019-09-30 0001035983 fix:ServiceProjectsMember 2019-01-01 2019-09-30 0001035983 fix:ServiceCallsMaintenanceAndMonitoringMember 2019-01-01 2019-09-30 0001035983 fix:RetailRestaurantsAndEntertainmentMember 2019-01-01 2019-09-30 0001035983 fix:OfficeBuildingCustomerMember 2019-01-01 2019-09-30 0001035983 fix:NewConstructionMember 2019-01-01 2019-09-30 0001035983 fix:MultiFamilyAndResidentialMember 2019-01-01 2019-09-30 0001035983 fix:MechanicalServicesMember 2019-01-01 2019-09-30 0001035983 fix:IndustrialPropertyCustomerMember 2019-01-01 2019-09-30 0001035983 fix:HealthcareSectorCustomerMember 2019-01-01 2019-09-30 0001035983 fix:GovernmentCustomerMember 2019-01-01 2019-09-30 0001035983 fix:ExistingBuildingConstructionMember 2019-01-01 2019-09-30 0001035983 fix:ElectricalServicesMember 2019-01-01 2019-09-30 0001035983 fix:EducationMember 2019-01-01 2019-09-30 0001035983 fix:WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember 2019-10-01 2019-12-31 0001035983 srt:MinimumMember us-gaap:SuretyBondMember 2020-01-01 2020-09-30 0001035983 srt:MaximumMember us-gaap:SuretyBondMember 2020-01-01 2020-09-30 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-09-30 0001035983 fix:AmendedSeniorRevolvingCreditFacilityMember 2019-12-31 0001035983 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2020-01-01 2020-09-30 0001035983 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2020-01-01 2020-09-30 0001035983 2020-07-01 2020-09-30 0001035983 2019-07-01 2019-09-30 0001035983 us-gaap:InterestRateSwapMember 2020-07-01 2020-09-30 0001035983 us-gaap:InterestRateSwapMember 2020-01-01 2020-09-30 0001035983 us-gaap:InterestRateSwapMember us-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember 2021-11-30 0001035983 us-gaap:InterestRateSwapMember us-gaap:NotDesignatedAsHedgingInstrumentEconomicHedgeMember 2020-09-30 0001035983 srt:MinimumMember fix:ScenarioCovenantRequirementMember us-gaap:RevolvingCreditFacilityMember 2020-09-30 0001035983 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember fix:ThroughMaturityMember 2020-09-30 0001035983 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember 2020-09-30 0001035983 us-gaap:RevolvingCreditFacilityMember 2020-01-01 2020-09-30 0001035983 fix:SubordinateDebtAndPromissoryNoteMember 2020-09-30 0001035983 2019-12-31 0001035983 2019-01-01 2019-12-31 0001035983 2019-01-01 2019-09-30 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:TasEnergyIncMember 2020-04-01 2020-04-01 0001035983 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-09-30 0001035983 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2020-09-30 0001035983 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001035983 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001035983 2020-09-30 0001035983 fix:ConstructionActivitiesMember 2020-01-01 2020-09-30 0001035983 2020-10-21 0001035983 2020-01-01 2020-09-30 shares iso4217:USD pure fix:item fix:Option iso4217:USD shares fix:segment 0 0 0001035983 --12-31 2020 Q3 false P3Y us-gaap:OtherLiabilitiesCurrent 10-Q true 2020-09-30 false 1-13011 COMFORT SYSTEMS USA, INC. DE 76-0526487 675 Bering Drive Suite 400 Houston TX 77057 713 830-9600 Common Stock, $0.01 par value FIX NYSE Yes Yes Large Accelerated Filer false false false 36394751 70540000 50788000 9896000 6907000 608861000 619037000 784000 0 46509000 55542000 884000 0 36991000 37632000 12700000 10053000 10313000 14396000 79000 0 25382000 2736000 811296000 790184000 119131000 109796000 95815000 84073000 420782000 332447000 201998000 159974000 21656000 21923000 7291000 6615000 1677969000 1505012000 70000 20817000 176484000 196195000 119931000 102891000 217454000 166918000 49369000 39546000 92035000 81630000 655343000 607997000 222213000 205318000 81638000 72697000 3365000 1425000 47284000 32271000 1009843000 919708000 0.01 0.01 5000000 5000000 0 0 0.01 0.01 102969912 102969912 41123365 41123365 411000 411000 4723672 4465448 118551000 103960000 322304000 320168000 463962000 368685000 668126000 585304000 1677969000 1505012000 714099000 706918000 2157698000 1895693000 566903000 564216000 1747714000 1526310000 147196000 142702000 409984000 369383000 90888000 90006000 268857000 253417000 377000 708000 1243000 1119000 56685000 53404000 142370000 117085000 7000 82000 99000 174000 1733000 2779000 6904000 6891000 -3423000 2004000 -1824000 3924000 -15000 3000 10000 167000 1682000 -4698000 -4971000 -10474000 58367000 48706000 137399000 106611000 8279000 12473000 30100000 26339000 50088000 36233000 107299000 80272000 1.37 0.98 2.93 2.18 1.36 0.98 2.92 2.16 36557000 36805000 36604000 36891000 36750000 37051000 36797000 37170000 0.105 0.100 0.314 0.295 41123365 411000 -4229653 -87747000 316479000 268904000 498047000 19866000 19866000 41103 861000 -61000 800000 38539 817000 1189000 2006000 -15013 781000 781000 2084000 2084000 3506000 3506000 -67394 3321000 3321000 41123365 411000 -4232418 -90171000 319691000 285264000 515195000 24173000 24173000 1408 31000 -11000 20000 69067 1486000 -1486000 -13573 717000 717000 1685000 1685000 3692000 3692000 -93468 4576000 4576000 41123365 411000 -4268984 -93947000 319879000 305745000 532088000 36233000 36233000 5426 124000 57000 181000 221000 221000 3673000 3673000 -183880 7420000 7420000 41123365 411000 -4447438 -101243000 320157000 338305000 557630000 41123365 411000 -4465448 -103960000 320168000 368685000 585304000 17716000 17716000 -515000 -515000 43902 1054000 801000 1855000 -14722 622000 622000 2134000 2134000 3844000 3844000 -237359 8985000 8985000 41123365 411000 -4673627 -112513000 323103000 382042000 593043000 39495000 39495000 34562 836000 -280000 556000 84987 2048000 -2048000 -13002 454000 454000 1644000 1644000 3830000 3830000 -52991 2021000 2021000 41123365 411000 -4620071 -112104000 322419000 417707000 628433000 50088000 50088000 54207 1324000 -325000 999000 210000 210000 3833000 3833000 -157808 7771000 7771000 41123365 411000 -4723672 -118551000 322304000 463962000 668126000 107299000 80272000 25306000 20221000 20818000 18222000 12338000 10552000 5318000 2093000 1197000 -2620000 408000 287000 1243000 1119000 -1824000 3924000 5949000 4861000 -33304000 31647000 708000 248000 -9417000 4625000 7007000 2081000 631000 544000 -16030000 6635000 13489000 4555000 9000000 -9023000 216400000 99715000 19459000 22641000 1890000 1447000 1611000 112945000 196470000 -130514000 -216053000 198000000 320000000 164500000 177000000 15000000 44464000 3254000 11507000 10871000 18777000 15317000 1076000 1498000 1555000 1001000 500000 637000 9865000 1343000 -66134000 111081000 19752000 -5257000 50788000 45620000 70540000 40363000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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. 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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 0pt 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 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Basis of Presentation</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;">These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2019 (the “Form 10-K”).</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 accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal 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;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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, the allowance for credit losses, 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;margin: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 0pt 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;"><span style="visibility:hidden;">​</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, 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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In May 2020, the SEC issued a final rule to amend the financial statement requirements for business combinations and dispositions, including the related pro forma financial information. The rule revises the significance tests, including consideration of registrant’s market capitalization for the investment test and consideration of registrant’s revenue for the income test. The significance threshold for business dispositions is also increased from 10% to 20%. The rule further eliminates the potential requirement that registrants present a third year of audited financial statements of acquired businesses and modifies pro forma adjustments rules for items directly related to accounting for the transaction. The rule is effective January 1, 2021. Early adoption is permitted. The impact of this authoritative guidance on our consolidated financial statements will depend on future acquisitions and dispositions completed subsequent to adoption of this guidance. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 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 0pt 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="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;">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;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 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;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 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;"><span style="visibility:hidden;">​</span></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;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;">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.</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="white-space:pre-wrap;">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. </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;">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: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;">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: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="white-space:pre-wrap;">In the first nine months of 2020 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material. </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;">Disaggregation of Revenue</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="white-space:pre-wrap;">Our consolidated 2020 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 9 – 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):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left: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:24.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.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:0.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:7.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:7.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:8.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:8.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: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: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.6%;margin:0pt;padding:0pt;"><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:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Mechanical Services</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 621,140</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,016</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.5</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,809,304</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,677,632</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Electrical Services</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 92,959</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 13.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 116,902</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 16.5</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 348,394</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 16.1</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 218,061</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 11.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.03%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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></tr><tr><td style="vertical-align:bottom;width:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Industrial</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268,651</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.6</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,156</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 844,719</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39.1</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 588,818</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.1</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Education</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,992</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,836</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 375,580</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.4</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,799</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.4</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Office Buildings</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,183</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,271</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 232,349</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 254,966</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Healthcare</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,061</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.1</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,909</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 281,370</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 306,810</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.2</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Government</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,631</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.7</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,502</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,444</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.5</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,224</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.2</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Retail, Restaurants and Entertainment</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,212</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,141</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.5</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190,043</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 184,618</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Multi-Family and Residential</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,776</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,121</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,062</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,417</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Other</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 15,593</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.2</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 15,982</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.2</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 53,131</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.6</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 66,041</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 3.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.03%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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></tr><tr><td style="vertical-align:bottom;width:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">New Construction</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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,000</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 312,279</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.2</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,034,833</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 827,718</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.7</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Existing Building Construction</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,798</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,125</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.6</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,067</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.9</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 605,819</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.9</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Service Projects</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,162</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,668</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,188</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.3</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,860</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.1</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Service Calls, Maintenance and Monitoring</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 99,139</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 13.9</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 107,846</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 15.3</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 275,610</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 12.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 290,296</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 15.3</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-style:italic;font-weight:bold;">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 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 business disruption caused by Coronavirus Disease 2019 (“COVID-19”). In March 2020, the World Health Organization categorized COVID-19 as </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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 September 30, 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 first nine months of 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:2.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><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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:2.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><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></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.59%;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.16%;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.59%;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.16%;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.59%;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.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;"> 315</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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.59%;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.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;"> 54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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,651</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,678</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (11)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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,318</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;"> (913)</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;"> (623)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.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="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (1,536)</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;"> 502</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.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.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502</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;">Purchase accounting adjustments</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;"> —</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;"> 72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.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="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 72</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;">Reclass to other current liabilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="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: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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="background-color:#cceeff;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;"> (315)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.75%;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="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 September 30, 2020</p></td><td style="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="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;"> 5,240</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: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="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,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="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;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="vertical-align:bottom;white-space:nowrap;width:8.75%;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;"> 11,643</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;"><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;"><span style="white-space:pre-wrap;">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. 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 or subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.</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="white-space:pre-wrap;">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.</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;">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="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.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.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:9.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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><td style="vertical-align:bottom;white-space:nowrap;width:8.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:2.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: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><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.7%;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:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.38%;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:21.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.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:25.5%;border-bottom:1px solid #000000;margin:0pt;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.38%;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:22.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.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.19%;margin:0pt;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.77%;margin:0pt;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.52%;margin:0pt;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.38%;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.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;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;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:10%;margin:0pt;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.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.19%;border-bottom:1px solid #000000;margin:0pt;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.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;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'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%;border-bottom:1px solid #000000;margin:0pt;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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'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.46%;margin: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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'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.8%;margin: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:2.38%;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.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.61%;margin: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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.46%;margin: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,469</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.8%;margin: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,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 6,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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="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><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin: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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.46%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.8%;margin: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.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><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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin: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.7%;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.73%;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.46%;border-bottom: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;"> 15,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.8%;border-bottom: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;"> 13,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.38%;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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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="vertical-align:bottom;white-space:nowrap;width:1.38%;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.61%;border-bottom: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.7%;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.73%;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.46%;border-bottom: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,382</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;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.8%;border-bottom: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;"> 217,454</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.38%;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.38%;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.63%;border-bottom: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.39%;margin:0pt;padding:0pt;"><p style="font-family:'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%;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.61%;border-bottom: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="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In the first nine months of 2020 and 2019, we recognized revenue of $164.4 million and $123.3 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 the first nine months of 2020 and 2019.</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;">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;"><span style="white-space:pre-wrap;">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 September 30, 2020, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.43 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next </span><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 total term of less than one 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;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;">Leases</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;">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 $6.1 million and $6.2 million in the first nine months of 2020 and 2019, respectively. 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 September 30, 2020 and December 31, 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 three months ended September 30, 2020 and 2019 was $8.0 million and $6.5 million, respectively. Lease expense for the nine months ended September 30, 2020 and 2019 was $21.4 million and $18.3 million, respectively.</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;">The lease terms generally range from <span style="-sec-ix-hidden:Hidden_vP285p2SWUaPL4o1iKmzXw"><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.6 years at September 30, 2020 and 8.1 years at December 31, 2019.</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;">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 three months ended September 30, 2020 and 2019 was approximately $2.0 million and $0.7 million, respectively. Rent paid to related parties for the nine months ended September 30, 2020 and 2019 was approximately $4.5 million and $2.7 million, 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;"><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><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:77.03%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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:14.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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:3.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:14.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></tr><tr><td style="vertical-align:middle;width:61%;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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.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;">December 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;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.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:14.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;"> 95,815</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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.23%;margin: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%;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.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:14.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_8-TkVIkO5EKltIeZIc3Paw"><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.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:14.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;"> 16,368</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.23%;margin: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%;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.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="vertical-align:bottom;white-space:nowrap;width:14.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;"> 81,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,697</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.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;"> 98,006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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.23%;border-bottom: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></div><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 maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:77.03%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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;width:2.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;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;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.28%;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.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;width:1.65%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020 (excluding the nine months ended September 30, 2020)</p></td><td style="vertical-align:bottom;width:2.65%;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.65%;margin:0pt;padding:0pt;"><p 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;"> 5,306</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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="background-color:#cceeff;vertical-align:bottom;width:2.65%;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.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.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;"> 19,397</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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="vertical-align:bottom;width:2.65%;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.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.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;"> 16,353</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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="background-color:#cceeff;vertical-align:bottom;width:2.65%;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.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.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,172</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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="vertical-align:bottom;width:2.65%;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.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.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,671</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> 47,693</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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.65%;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.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.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;"> 115,592</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> (17,586)</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> 98,006</p></td></tr></table></div><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;">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:46.33%;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.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:10.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:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.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:10.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><td style="vertical-align:bottom;white-space:nowrap;width:1.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.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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></tr><tr><td style="vertical-align:bottom;width:46.33%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Three Months Ended September 30, </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: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:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:46.33%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">2019</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:11.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.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;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:46.33%;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.58%;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:10.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,362</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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.57%;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:10.79%;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,566</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:1.53%;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:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,140</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;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:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,439</p></td></tr><tr><td style="vertical-align:middle;width:46.33%;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.58%;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:10.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;"> 1,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;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.57%;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:10.79%;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,865</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:1.53%;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:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,080</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,262</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;"><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;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>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 increase in unrecognized tax benefits. We previously filed an amended federal return for 2014 to claim R&amp;D tax credits during 2018 and recorded a $2.7 million tax benefit that was also fully offset by an increase in unrecognized tax benefits. These tax benefits were fully offset by increases in 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 credits claimed had no impact on our effective tax rates.</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;"/>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="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;"/>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 allowing the $8.9 million of refund claims in full. Subsequently, the Joint Committee on Taxation reviewed and approved the refund claims. As a result, our provision for income taxes was reduced by $8.3 million due to a decrease 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 an increase in 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 rates for the third quarter 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;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;">Financial Instruments</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;">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.<span style="font-style:italic;font-weight:bold;"> </span> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Basis of Presentation</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;">These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2019 (the “Form 10-K”).</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 accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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, the allowance for credit losses, 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 0pt 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;"><span style="visibility:hidden;">​</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, 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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In May 2020, the SEC issued a final rule to amend the financial statement requirements for business combinations and dispositions, including the related pro forma financial information. The rule revises the significance tests, including consideration of registrant’s market capitalization for the investment test and consideration of registrant’s revenue for the income test. The significance threshold for business dispositions is also increased from 10% to 20%. The rule further eliminates the potential requirement that registrants present a third year of audited financial statements of acquired businesses and modifies pro forma adjustments rules for items directly related to accounting for the transaction. The rule is effective January 1, 2021. Early adoption is permitted. The impact of this authoritative guidance on our consolidated financial statements will depend on future acquisitions and dispositions completed subsequent to adoption of this guidance. </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 0pt 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="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;">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;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 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;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 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;"><span style="visibility:hidden;">​</span></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;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;">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.</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="white-space:pre-wrap;">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. </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;">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: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;">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: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="white-space:pre-wrap;">In the first nine months of 2020 and 2019, net revenue recognized from our performance obligations satisfied in previous periods was not material. </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;">Disaggregation of Revenue</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="white-space:pre-wrap;">Our consolidated 2020 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 9 – 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):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left: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:24.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.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:0.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:7.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:7.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:8.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:8.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: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: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.6%;margin:0pt;padding:0pt;"><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:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Mechanical Services</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 621,140</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,016</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.5</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,809,304</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,677,632</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Electrical Services</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 92,959</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 13.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 116,902</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 16.5</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 348,394</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 16.1</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 218,061</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 11.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.03%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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></tr><tr><td style="vertical-align:bottom;width:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Industrial</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268,651</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.6</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,156</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 844,719</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39.1</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 588,818</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.1</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Education</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,992</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,836</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 375,580</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.4</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,799</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.4</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Office Buildings</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,183</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,271</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 232,349</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 254,966</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Healthcare</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,061</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.1</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,909</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 281,370</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 306,810</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.2</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Government</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,631</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.7</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,502</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,444</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.5</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,224</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.2</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Retail, Restaurants and Entertainment</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,212</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,141</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.5</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190,043</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 184,618</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Multi-Family and Residential</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,776</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,121</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,062</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,417</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Other</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 15,593</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.2</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 15,982</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.2</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 53,131</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.6</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 66,041</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 3.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.03%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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></tr><tr><td style="vertical-align:bottom;width:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">New Construction</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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,000</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 312,279</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.2</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,034,833</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 827,718</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.7</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Existing Building Construction</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,798</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,125</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.6</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,067</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.9</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 605,819</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.9</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Service Projects</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,162</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,668</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,188</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.3</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,860</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.1</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Service Calls, Maintenance and Monitoring</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 99,139</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 13.9</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 107,846</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 15.3</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 275,610</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 12.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 290,296</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 15.3</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><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;"><span style="white-space:pre-wrap;">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. 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 or subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.</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="white-space:pre-wrap;">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.</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;">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="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.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.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:9.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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><td style="vertical-align:bottom;white-space:nowrap;width:8.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:2.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: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><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.7%;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:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.38%;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:21.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.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:25.5%;border-bottom:1px solid #000000;margin:0pt;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.38%;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:22.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.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.19%;margin:0pt;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.77%;margin:0pt;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.52%;margin:0pt;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.38%;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.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;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;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:10%;margin:0pt;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.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.19%;border-bottom:1px solid #000000;margin:0pt;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.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;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'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%;border-bottom:1px solid #000000;margin:0pt;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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'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.46%;margin: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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'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.8%;margin: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:2.38%;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.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.61%;margin: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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.46%;margin: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,469</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.8%;margin: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,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 6,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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="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><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin: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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.46%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.8%;margin: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.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><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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin: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.7%;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.73%;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.46%;border-bottom: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;"> 15,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.8%;border-bottom: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;"> 13,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.38%;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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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="vertical-align:bottom;white-space:nowrap;width:1.38%;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.61%;border-bottom: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.7%;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.73%;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.46%;border-bottom: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,382</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;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.8%;border-bottom: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;"> 217,454</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.38%;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.38%;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.63%;border-bottom: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.39%;margin:0pt;padding:0pt;"><p style="font-family:'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%;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.61%;border-bottom: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="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In the first nine months of 2020 and 2019, we recognized revenue of $164.4 million and $123.3 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 the first nine months of 2020 and 2019.</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;">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;"><span style="white-space:pre-wrap;">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 September 30, 2020, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.43 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next </span><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 total term of less than one year; therefore, we do not report unfulfilled performance obligations for service maintenance agreements. </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:24.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.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:0.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:7.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:7.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:8.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: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: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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:0.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:8.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: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: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.6%;margin:0pt;padding:0pt;"><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:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Service Provided</b></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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;margin:0pt;"><b style="font-weight:bold;">   </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Mechanical Services</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 621,140</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,016</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.5</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,809,304</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,677,632</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:9pt;margin:0pt;">   </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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Electrical Services</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 92,959</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 13.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 116,902</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 16.5</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 348,394</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 16.1</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 218,061</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 11.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.03%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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></tr><tr><td style="vertical-align:bottom;width:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Type of Customer</b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Industrial</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268,651</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37.6</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,156</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 844,719</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39.1</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 588,818</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;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.1</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Education</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,992</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,836</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 375,580</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.4</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,799</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.4</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Office Buildings</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,183</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,271</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 232,349</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 254,966</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Healthcare</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,061</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.1</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,909</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 281,370</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 306,810</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.2</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Government</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,631</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.7</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,502</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,444</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.5</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,224</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.2</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Retail, Restaurants and Entertainment</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,212</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,141</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.5</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190,043</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 184,618</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Multi-Family and Residential</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,776</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,121</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,062</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.8</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,417</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Other</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 15,593</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.2</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 15,982</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.2</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 53,131</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 2.6</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 66,041</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 3.5</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.03%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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:7.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:1.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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.44%;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:0.96%;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.81%;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.44%;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:5.44%;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.6%;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></tr><tr><td style="vertical-align:bottom;width:24.03%;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 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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:33.49%;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;">Three Months Ended September 30, </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:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:37.98%;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;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">Revenue by Activity Type</b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:15.22%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">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;margin:0pt;"><span style="font-size:9pt;font-weight:bold;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:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:16.66%;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;">2019</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:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">New Construction</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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,000</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.4</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 312,279</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44.2</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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,034,833</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 827,718</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.7</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Existing Building Construction</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,798</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33.0</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,125</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.6</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,067</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.9</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 605,819</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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.9</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Service Projects</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,162</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.7</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,668</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.9</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,188</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.3</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,860</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;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9.1</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Service Calls, Maintenance and Monitoring</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 99,139</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 13.9</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 107,846</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 15.3</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 275,610</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 12.8</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:9pt;margin:0pt;">%</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 290,296</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:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 15.3</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:9pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;">Total </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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 714,099</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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:7.37%;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;"> 706,918</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 2,157,698</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.96%;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.81%;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;"> 1,895,693</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;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.44%;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;"> 100.0</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:9pt;margin:0pt;">%</p></td></tr></table> 621140000 0.870 590016000 0.835 1809304000 0.839 1677632000 0.885 92959000 0.130 116902000 0.165 348394000 0.161 218061000 0.115 714099000 1.000 706918000 1.000 2157698000 1.000 1895693000 1.000 268651000 0.376 222156000 0.314 844719000 0.391 588818000 0.311 135992000 0.190 125836000 0.178 375580000 0.174 292799000 0.154 81183000 0.114 83271000 0.118 232349000 0.108 254966000 0.135 86061000 0.121 126909000 0.180 281370000 0.130 306810000 0.162 40631000 0.057 41502000 0.059 119444000 0.055 118224000 0.062 64212000 0.090 67141000 0.095 190043000 0.088 184618000 0.097 21776000 0.030 24121000 0.034 61062000 0.028 83417000 0.044 15593000 0.022 15982000 0.022 53131000 0.026 66041000 0.035 714099000 1.000 706918000 1.000 2157698000 1.000 1895693000 1.000 310000000 0.434 312279000 0.442 1034833000 0.480 827718000 0.437 235798000 0.330 224125000 0.316 668067000 0.309 605819000 0.319 69162000 0.097 62668000 0.089 179188000 0.083 171860000 0.091 99139000 0.139 107846000 0.153 275610000 0.128 290296000 0.153 714099000 1.000 706918000 1.000 2157698000 1.000 1895693000 1.000 <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;">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 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 business disruption caused by Coronavirus Disease 2019 (“COVID-19”). In March 2020, the World Health Organization categorized COVID-19 as </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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 September 30, 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 first nine months of 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:2.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><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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:2.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><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></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.59%;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.16%;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.59%;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.16%;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.59%;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.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;"> 315</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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.59%;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.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;"> 54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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,651</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,678</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (11)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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,318</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;"> (913)</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;"> (623)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.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="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (1,536)</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;"> 502</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.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.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502</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;">Purchase accounting adjustments</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;"> —</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;"> 72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.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="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 72</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;">Reclass to other current liabilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="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: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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="background-color:#cceeff;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;"> (315)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.75%;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="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 September 30, 2020</p></td><td style="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="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;"> 5,240</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: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="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,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="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;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="vertical-align:bottom;white-space:nowrap;width:8.75%;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;"> 11,643</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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:2.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><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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:2.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><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></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.59%;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.16%;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.59%;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.16%;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.59%;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.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;"> 315</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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.59%;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.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;"> 54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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,651</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,678</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (11)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;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,318</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;"> (913)</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;"> (623)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.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="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"> (1,536)</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;"> 502</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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.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.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502</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;">Purchase accounting adjustments</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;"> —</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;"> 72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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.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="vertical-align:bottom;white-space:nowrap;width:2.59%;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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 72</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;">Reclass to other current liabilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="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: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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="background-color:#cceeff;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;"> (315)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.75%;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="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 September 30, 2020</p></td><td style="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="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;"> 5,240</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: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="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,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="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;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;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: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="vertical-align:bottom;white-space:nowrap;width:8.75%;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;"> 11,643</p></td></tr></table> 3192000 3400000 315000 6907000 310000 331000 54000 695000 2651000 2678000 -11000 5318000 913000 623000 1536000 502000 502000 72000 72000 -315000 -315000 5240000 6360000 43000 11643000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">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="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.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.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:9.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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><td style="vertical-align:bottom;white-space:nowrap;width:8.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:2.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: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><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.7%;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:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.38%;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:21.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.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:25.5%;border-bottom:1px solid #000000;margin:0pt;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.38%;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:22.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:49.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.19%;margin:0pt;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.77%;margin:0pt;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.52%;margin:0pt;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.38%;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.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;">Contract</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;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:10%;margin:0pt;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.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.19%;border-bottom:1px solid #000000;margin:0pt;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.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;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'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%;border-bottom:1px solid #000000;margin:0pt;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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'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.46%;margin: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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'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.8%;margin: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:2.38%;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.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;"> 10,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'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.61%;margin: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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.46%;margin: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,469</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.8%;margin: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,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 6,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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="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><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin: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.7%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.46%;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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.8%;margin: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.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><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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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: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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin: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.7%;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.73%;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.46%;border-bottom: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;"> 15,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.8%;border-bottom: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;"> 13,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;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.38%;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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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="vertical-align:bottom;white-space:nowrap;width:1.38%;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.61%;border-bottom: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.7%;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.73%;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.46%;border-bottom: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,382</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;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.8%;border-bottom: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;"> 217,454</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.38%;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.38%;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.63%;border-bottom: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.39%;margin:0pt;padding:0pt;"><p style="font-family:'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%;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.61%;border-bottom: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="visibility:hidden;">​</span></p> 2736000 166918000 10213000 130986000 7469000 37047000 6573000 31556000 -79000 15256000 13489000 -14050000 4376000 25382000 217454000 2736000 166918000 164400000 123300000 1430000000 0.80 0.85 P12M P1Y <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;">Leases</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;">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 $6.1 million and $6.2 million in the first nine months of 2020 and 2019, respectively. 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 September 30, 2020 and December 31, 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 three months ended September 30, 2020 and 2019 was $8.0 million and $6.5 million, respectively. Lease expense for the nine months ended September 30, 2020 and 2019 was $21.4 million and $18.3 million, respectively.</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;">The lease terms generally range from <span style="-sec-ix-hidden:Hidden_vP285p2SWUaPL4o1iKmzXw"><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.6 years at September 30, 2020 and 8.1 years at December 31, 2019.</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;">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 three months ended September 30, 2020 and 2019 was approximately $2.0 million and $0.7 million, respectively. Rent paid to related parties for the nine months ended September 30, 2020 and 2019 was approximately $4.5 million and $2.7 million, 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;"><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><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:77.03%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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:14.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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:3.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:14.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></tr><tr><td style="vertical-align:middle;width:61%;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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.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;">December 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;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.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:14.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;"> 95,815</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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.23%;margin: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%;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.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:14.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_8-TkVIkO5EKltIeZIc3Paw"><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.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:14.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;"> 16,368</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.23%;margin: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%;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.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="vertical-align:bottom;white-space:nowrap;width:14.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;"> 81,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,697</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.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;"> 98,006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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.23%;border-bottom: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></div><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 maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:77.03%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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;width:2.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;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;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.28%;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.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;width:1.65%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020 (excluding the nine months ended September 30, 2020)</p></td><td style="vertical-align:bottom;width:2.65%;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.65%;margin:0pt;padding:0pt;"><p 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;"> 5,306</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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="background-color:#cceeff;vertical-align:bottom;width:2.65%;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.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.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;"> 19,397</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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="vertical-align:bottom;width:2.65%;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.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.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;"> 16,353</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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="background-color:#cceeff;vertical-align:bottom;width:2.65%;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.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.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,172</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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="vertical-align:bottom;width:2.65%;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.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.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,671</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> 47,693</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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.65%;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.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.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;"> 115,592</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> (17,586)</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> 98,006</p></td></tr></table></div><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;">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:46.33%;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.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:10.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:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.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:10.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><td style="vertical-align:bottom;white-space:nowrap;width:1.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.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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></tr><tr><td style="vertical-align:bottom;width:46.33%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Three Months Ended September 30, </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: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:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:46.33%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">2019</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:11.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.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;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:46.33%;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.58%;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:10.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,362</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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.57%;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:10.79%;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,566</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:1.53%;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:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,140</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;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:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,439</p></td></tr><tr><td style="vertical-align:middle;width:46.33%;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.58%;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:10.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;"> 1,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;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.57%;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:10.79%;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,865</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:1.53%;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:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,080</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,262</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 6100000 6200000 0.042 0.039 8000000.0 6500000 21400000 18300000 P10Y 1 true P7Y7M6D P8Y1M6D 2000000.0 700000 4500000 2700000 <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><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:77.03%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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:14.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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:3.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:14.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></tr><tr><td style="vertical-align:middle;width:61%;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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.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;">December 31, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;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.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:14.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;"> 95,815</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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.23%;margin: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%;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.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:14.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_8-TkVIkO5EKltIeZIc3Paw"><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.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:14.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;"> 16,368</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.23%;margin: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%;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.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="vertical-align:bottom;white-space:nowrap;width:14.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;"> 81,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,697</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:61%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.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;"> 98,006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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.23%;border-bottom: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></div> 95815000 84073000 16368000 14016000 81638000 72697000 98006000 86713000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The maturities of lease liabilities are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><div style="padding-left:36pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:77.03%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.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;width:2.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;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;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.28%;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.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;width:1.65%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020 (excluding the nine months ended September 30, 2020)</p></td><td style="vertical-align:bottom;width:2.65%;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.65%;margin:0pt;padding:0pt;"><p 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;"> 5,306</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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="background-color:#cceeff;vertical-align:bottom;width:2.65%;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.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.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;"> 19,397</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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="vertical-align:bottom;width:2.65%;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.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.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;"> 16,353</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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="background-color:#cceeff;vertical-align:bottom;width:2.65%;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.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.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,172</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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="vertical-align:bottom;width:2.65%;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.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.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,671</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> 47,693</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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.65%;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.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.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;"> 115,592</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> (17,586)</p></td></tr><tr><td style="vertical-align:bottom;width:85.28%;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.65%;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.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="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;"> 98,006</p></td></tr></table></div> 5306000 19397000 16353000 14172000 12671000 47693000 115592000 17586000 98006000 <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:46.33%;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.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:10.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:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.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:10.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><td style="vertical-align:bottom;white-space:nowrap;width:1.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.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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></tr><tr><td style="vertical-align:bottom;width:46.33%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Three Months Ended September 30, </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: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:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:46.33%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">2019</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:11.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.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;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:46.33%;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.58%;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:10.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,362</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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.57%;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:10.79%;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,566</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:1.53%;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:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,140</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;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:10.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,439</p></td></tr><tr><td style="vertical-align:middle;width:46.33%;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.58%;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:10.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;"> 1,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;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.57%;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:10.79%;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,865</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:1.53%;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:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,080</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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:9pt;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:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,262</p></td></tr></table> 5362000 4566000 15140000 12439000 1880000 6865000 24080000 21262000 <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;">Income Taxes</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 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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>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 increase in unrecognized tax benefits. We previously filed an amended federal return for 2014 to claim R&amp;D tax credits during 2018 and recorded a $2.7 million tax benefit that was also fully offset by an increase in unrecognized tax benefits. These tax benefits were fully offset by increases in 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 credits claimed had no impact on our effective tax rates.</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;"/>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="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;"/>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 allowing the $8.9 million of refund claims in full. Subsequently, the Joint Committee on Taxation reviewed and approved the refund claims. As a result, our provision for income taxes was reduced by $8.3 million due to a decrease 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 an increase in 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 rates for the third quarter 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;margin:0pt;"><span style="visibility:hidden;">​</span></p> 4600000 2700000 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;"><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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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.<span style="font-style:italic;font-weight:bold;"> </span> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">3. Fair Value Measurements</b></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 0pt 6pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><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;">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 $200.0 million as of September 30, 2020 and gradually 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 three and nine months ended September 30, 2020, we recognized a net loss of less than $0.2 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:22.5pt;margin:0pt 0pt 6pt 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;"/><span style="font-style:italic;font-weight:bold;">Fair Value Measurements</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 classify and disclose assets and liabilities carried at fair value in one of the following three categories:</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-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 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: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 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><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 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 September 30, 2020 and December 31, 2019 (in thousands):</p><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;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.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: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:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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></tr><tr><td style="vertical-align:bottom;width:58.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:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'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.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at September 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.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:1.83%;margin:0pt;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.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;">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.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;">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.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.73%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 70,540</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.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;"> —</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.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;"> —</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.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;"> 70,540</p></td></tr><tr><td style="vertical-align:bottom;width:58.73%;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.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:1.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:7.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;"> —</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.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;"> 4,729</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.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;"> —</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.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;"> 4,729</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.73%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> —</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.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;"> —</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.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;"> 25,962</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.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;"> 25,962</p></td></tr><tr><td style="vertical-align:bottom;width:58.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swaps</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:1.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:7.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;"> —</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.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;"> 62</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.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;"> —</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.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;"> 62</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.73%;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.83%;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.13%;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.32%;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.32%;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.32%;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.37%;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.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:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'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.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at December 31, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.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:1.83%;margin:0pt;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.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;">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.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;">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.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.73%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 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.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;"> —</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.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;"> —</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.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;"> 50,788</p></td></tr><tr><td style="vertical-align:bottom;width:58.73%;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.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:1.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:7.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;"> —</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.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;"> 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.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;"> —</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.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,905</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.73%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> —</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.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;"> —</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.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;"> 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.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;"> 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;">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 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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We have life insurance policies covering 74 employees with a combined face value of $54.2 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 $4.7 million as of September 30, 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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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 September 30, 2020, cash flows were discounted using a weighted average cost of capital ranging from 9.5% - 16.0%.</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 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><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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:61.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:14.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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:14.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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:2.32%;margin:0pt;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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.65%;margin:0pt;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.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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:2.32%;margin:0pt;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.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.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;">December 31, 2019</b></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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:61.2%;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:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">    </span></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:14.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;"> 28,497</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;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin: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.64%;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;white-space:nowrap;width:61.2%;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:2.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:2.62%;margin:0pt;padding:0pt;"><p 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.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;"> 9,155</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:2.45%;margin:0pt;padding:0pt;"><p 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.19%;margin: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:61.2%;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:2.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="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:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,866)</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;"><span style="visibility:hidden;">​</span></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:14.19%;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.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.2%;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:2.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:2.62%;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:14.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;"> (1,824)</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:2.45%;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:14.19%;border-bottom: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:61.2%;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:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;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.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;"> 25,962</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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;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.19%;border-bottom: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.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></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;">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.</p> 200000000.0 80000000.0 200000 200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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 September 30, 2020 and December 31, 2019 (in thousands):</p><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;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.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: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:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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></tr><tr><td style="vertical-align:bottom;width:58.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:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'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.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at September 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.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:1.83%;margin:0pt;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.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;">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.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;">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.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.73%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 70,540</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.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;"> —</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.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;"> —</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.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;"> 70,540</p></td></tr><tr><td style="vertical-align:bottom;width:58.73%;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.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:1.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:7.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;"> —</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.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;"> 4,729</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.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;"> —</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.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;"> 4,729</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.73%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> —</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.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;"> —</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.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;"> 25,962</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.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;"> 25,962</p></td></tr><tr><td style="vertical-align:bottom;width:58.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swaps</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:1.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:7.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;"> —</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.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;"> 62</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.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;"> —</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.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;"> 62</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.73%;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.83%;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.13%;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.32%;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.32%;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.32%;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.37%;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.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:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'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.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at December 31, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.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:1.83%;margin:0pt;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.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;">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.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;">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.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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.73%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 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.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;"> —</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.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;"> —</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.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;"> 50,788</p></td></tr><tr><td style="vertical-align:bottom;width:58.73%;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.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:1.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:7.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;"> —</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.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;"> 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.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;"> —</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.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,905</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.73%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> —</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.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;"> —</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.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;"> 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.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;"> 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> 70540000 70540000 4729000 4729000 25962000 25962000 62000 62000 50788000 50788000 3905000 3905000 28497000 28497000 74 54200000 4700000 3900000 0.095 0.160 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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><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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:61.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:14.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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:14.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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:2.32%;margin:0pt;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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.65%;margin:0pt;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.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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:2.32%;margin:0pt;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.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.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;">December 31, 2019</b></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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:61.2%;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:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">    </span></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:14.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;"> 28,497</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;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin: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.64%;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;white-space:nowrap;width:61.2%;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:2.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:2.62%;margin:0pt;padding:0pt;"><p 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.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;"> 9,155</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:2.45%;margin:0pt;padding:0pt;"><p 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.19%;margin: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:61.2%;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:2.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="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:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,866)</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;"><span style="visibility:hidden;">​</span></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:14.19%;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.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.2%;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:2.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:2.62%;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:14.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;"> (1,824)</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:2.45%;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:14.19%;border-bottom: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:61.2%;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:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.62%;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.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;"> 25,962</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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;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.19%;border-bottom: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.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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 28497000 7375000 9155000 19500000 9866000 1369000 -1824000 2991000 25962000 28497000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">4. Acquisitions</b></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;">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. </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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:78.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:3.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.09%;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:18.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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="vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p 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.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;"> 105,950</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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;"> 39,715</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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="vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 14,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;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:18.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 3.6pt 0pt 0pt;"> 9,100</p></td></tr><tr><td style="vertical-align:bottom;width:78.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:middle;width:3.09%;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:18.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;"> 168,765</p></td></tr></table><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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></tr><tr><td style="vertical-align:bottom;width:78.27%;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="vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p 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.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;"> 47,460</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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,702</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 15,634</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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;"> 935</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 7,709</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;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:18.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;"> 73,409</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 53,400</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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;"> 19,736</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;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="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.62%;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="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;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="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,849)</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;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="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;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:18.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;"> (2,987)</p></td></tr><tr><td style="vertical-align:bottom;width:78.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:middle;width:3.09%;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:18.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;"> 168,765</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="background-color:#ffff00;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 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 an estimated $55.5 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 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 the state NOL carryforwards. We do not believe it is more-likely-than-not that we 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><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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.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.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;width:20.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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;width:14.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;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:13.6%;margin:0pt;padding:0pt;"><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:42.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.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;width:20.46%;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:2.18%;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:14.51%;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.48%;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.48%;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:13.6%;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:42.07%;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.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;width:20.46%;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.18%;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:14.51%;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.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><td style="background-color:#cceeff;vertical-align:bottom;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.6%;margin: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:42.07%;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.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;width:20.46%;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.18%;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:14.51%;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.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><td style="vertical-align:bottom;width:2.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><td style="vertical-align:bottom;white-space:nowrap;width:13.6%;margin: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:42.07%;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.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;width:20.46%;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.18%;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:14.51%;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.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><td style="background-color:#cceeff;vertical-align:bottom;width:2.48%;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:13.6%;border-bottom: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:42.07%;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.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;width:20.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.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><td style="vertical-align:bottom;width:2.48%;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:13.6%;border-bottom: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 two earnings milestones over a 27-month period, and the range of each estimated milestone payment is $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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">representative of a market participant assumption.  Subsequent to the acquisition date, the contingent earn-out obligation is remeasured 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;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;">We completed the acquisition of the electrical contractor in North Carolina in the first quarter of 2020 with a total preliminary purchase price of $41.6 million. This acquisition is reported in our electrical services segment. We completed the acquisition of Walker, which is reported in our electrical services segment, in the second quarter of 2019 with a total purchase price of $235.4 million. In 2019, in addition to the Walker acquisition, we completed one acquisition in the first quarter of 2019 and one acquisition in the second quarter of 2019 with a total purchase price of $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;"><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 the current and 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> <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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:78.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:3.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Consideration transferred:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.09%;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:18.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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="vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p 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.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;"> 105,950</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:18.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;"> 39,715</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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="vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 14,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;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:18.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 3.6pt 0pt 0pt;"> 9,100</p></td></tr><tr><td style="vertical-align:bottom;width:78.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:middle;width:3.09%;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:18.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;"> 168,765</p></td></tr></table><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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></tr><tr><td style="vertical-align:bottom;width:78.27%;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="vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p 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.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;"> 47,460</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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,702</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 15,634</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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;"> 935</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 7,709</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;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:18.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;"> 73,409</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 53,400</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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;"> 19,736</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;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="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.62%;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="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;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="background-color:#cceeff;vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,849)</p></td></tr><tr><td style="vertical-align:bottom;width:78.27%;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:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;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="background-color:#cceeff;vertical-align:bottom;width:78.27%;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="background-color:#cceeff;vertical-align:middle;width:3.09%;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:18.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;"> (2,987)</p></td></tr><tr><td style="vertical-align:bottom;width:78.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:middle;width:3.09%;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:18.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;"> 168,765</p></td></tr></table> 105950000 39715000 14000000 9100000 168765000 47460000 18702000 15634000 935000 7709000 73409000 53400000 19736000 16453000 24196000 2337000 4849000 17398000 2987000 168765000 0.15 0.235 55500000 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><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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.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.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;width:20.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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;width:14.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;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:13.6%;margin:0pt;padding:0pt;"><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:42.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.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;width:20.46%;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:2.18%;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:14.51%;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.48%;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.48%;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:13.6%;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:42.07%;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.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;width:20.46%;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.18%;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:14.51%;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.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><td style="background-color:#cceeff;vertical-align:bottom;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.6%;margin: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:42.07%;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.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;width:20.46%;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.18%;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:14.51%;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.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><td style="vertical-align:bottom;width:2.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><td style="vertical-align:bottom;white-space:nowrap;width:13.6%;margin: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:42.07%;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.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;width:20.46%;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.18%;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:14.51%;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.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><td style="background-color:#cceeff;vertical-align:bottom;width:2.48%;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:13.6%;border-bottom: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:42.07%;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.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;width:20.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.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><td style="vertical-align:bottom;width:2.48%;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:13.6%;border-bottom: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 41600000 235400000 1 1 2600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">5. </b><b style="font-weight:bold;">Goodwill and Identifiable Intangible Assets, Net</b></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;">Goodwill</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;">The changes in the carrying amount of goodwill 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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.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;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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;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="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><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:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'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: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.86%;margin:0pt;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:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'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:13.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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:12.45%;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:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'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;white-space:nowrap;width:14.86%;border-bottom:1px solid #000000;margin:0pt;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.89%;margin:0pt;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.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;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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:12.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:53.77%;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.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.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:13.3%;margin: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: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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:11.38%;margin: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:53.77%;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 4)</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: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:13.3%;margin: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:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p 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%;margin: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.86%;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.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:11.38%;margin: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:53.77%;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.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.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,101)</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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;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;"> 1,101</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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.06%;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.38%;border-bottom: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:53.77%;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.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.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:13.3%;margin: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:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"> 97,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.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:11.38%;margin: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:53.77%;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 4)</p></td><td style="background-color:#cceeff;vertical-align:bottom;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.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 73,409</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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;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;"> 14,926</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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.06%;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.38%;border-bottom: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;"> 88,335</p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at September 30, 2020</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: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:13.3%;border-bottom: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;"> 308,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;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;"> 112,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.06%;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.38%;border-bottom: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;"> 420,782</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;">During the fourth quarter of 2019, the Company performed its annual goodwill impairment test resulting in no impairment charges, as 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 the first quarter of 2020, we considered the economic impacts of COVID-19 to be a triggering event for review of goodwill impairment at each of our reporting units. After performing a qualitative goodwill impairment assessment as of March 31, 2020, we determined that we did not have a goodwill impairment as of that date. 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 September 30, 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;"><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;">Identifiable Intangible Assets, Net</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;">Identifiable intangible assets consist of 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:77.03%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:29.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:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.83%;margin:0pt;padding:0pt;"><p style="font-family:'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 style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;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: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.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;">September 30, 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: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.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;">December 31, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.83%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.21%;margin:0pt;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.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.65%;margin:0pt;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.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:12.47%;margin:0pt;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.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.65%;margin:0pt;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.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:12.47%;margin:0pt;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:29.83%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in Years</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.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;">Value</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: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;">Amortization</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.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;">Value</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: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;">Amortization</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:29.83%;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:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 15</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.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;"> 231,492</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:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (97,901)</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.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;"> 183,061</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:11.13%;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:29.83%;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.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:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 2</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.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;"> 12,600</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:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,098)</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.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;"> 7,400</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:11.13%;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:29.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradenames</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:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2 - 25</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;"> </p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 85,695</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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,790)</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;"> </p></td><td style="background-color:#cceeff;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: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.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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom: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:29.83%;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:11.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: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:10.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;"> 329,787</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:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (127,789)</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:10.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;"> 262,456</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:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (102,482)</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 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 three and nine months ended September 30, 2020 was $8.2 million and $25.3 million, respectively. Amortization expense for the three and nine months ended September 30, 2019 was $7.2 million and $20.2 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;">At September 30, 2020, future amortization expense of identifiable intangible assets is as follows (in thousands):</p><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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:57.77%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.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:13.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:0.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></tr><tr><td style="vertical-align:bottom;width:80.18%;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="vertical-align:bottom;white-space:nowrap;width:3.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:13.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:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020 (remainder of the year)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:13.76%;margin: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,391</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:80.18%;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:3.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><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin: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,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.18%;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:3.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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:13.76%;margin: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,989</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:80.18%;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:3.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><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin: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,535</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.18%;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:3.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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:13.76%;margin: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,185</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:80.18%;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="vertical-align:bottom;white-space:nowrap;width:3.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><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.76%;border-bottom: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;"> 108,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.76%;border-bottom: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;"> 201,998</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;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;">The changes in the carrying amount of goodwill 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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.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;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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;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="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><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:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'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: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.86%;margin:0pt;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:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'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:13.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;">Electrical Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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:12.45%;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:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'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;white-space:nowrap;width:14.86%;border-bottom:1px solid #000000;margin:0pt;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.89%;margin:0pt;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.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;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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:12.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:53.77%;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.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.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:13.3%;margin: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: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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.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:11.38%;margin: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:53.77%;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 4)</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: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:13.3%;margin: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:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p 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%;margin: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.86%;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.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:11.38%;margin: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:53.77%;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.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.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,101)</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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;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;"> 1,101</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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.06%;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.38%;border-bottom: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:53.77%;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.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.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:13.3%;margin: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:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"> 97,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.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:11.38%;margin: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:53.77%;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 4)</p></td><td style="background-color:#cceeff;vertical-align:bottom;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.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 73,409</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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;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;"> 14,926</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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.06%;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.38%;border-bottom: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;"> 88,335</p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at September 30, 2020</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: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:13.3%;border-bottom: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;"> 308,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;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;"> 112,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.06%;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.38%;border-bottom: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;"> 420,782</p></td></tr></table> 235182000 235182000 579000 96686000 97265000 -1101000 1101000 234660000 97787000 332447000 73409000 14926000 88335000 308069000 112713000 420782000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the fourth quarter of 2019, the Company performed its annual goodwill impairment test resulting in no impairment charges, as 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 the first quarter of 2020, we considered the economic impacts of COVID-19 to be a triggering event for review of goodwill impairment at each of our reporting units. After performing a qualitative goodwill impairment assessment as of March 31, 2020, we determined that we did not have a goodwill impairment as of that date. 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 September 30, 2020, Walker had a goodwill balance of $96.8 million.</p> 0.27 96800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Identifiable intangible assets consist of 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:77.03%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:29.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:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.83%;margin:0pt;padding:0pt;"><p style="font-family:'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 style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;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: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.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;">September 30, 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: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.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;">December 31, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.83%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.21%;margin:0pt;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.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.65%;margin:0pt;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.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:12.47%;margin:0pt;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.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.65%;margin:0pt;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.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:12.47%;margin:0pt;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:29.83%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in Years</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.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;">Value</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: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;">Amortization</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.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;">Value</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: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;">Amortization</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:29.83%;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:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 15</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.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;"> 231,492</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:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (97,901)</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.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;"> 183,061</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:11.13%;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:29.83%;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.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:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1 - 2</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.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;"> 12,600</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:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,098)</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.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;"> 7,400</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:11.13%;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:29.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradenames</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:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">2 - 25</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;"> </p></td><td style="background-color:#cceeff;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 85,695</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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,790)</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;"> </p></td><td style="background-color:#cceeff;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: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.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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom: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:29.83%;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:11.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: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:10.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;"> 329,787</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:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (127,789)</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:10.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;"> 262,456</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:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (102,482)</p></td></tr></table> P1Y P15Y 231492000 97901000 183061000 80813000 P1Y P2Y 12600000 12098000 7400000 6388000 P2Y P25Y 85695000 17790000 71995000 15281000 329787000 127789000 262456000 102482000 8200000 25300000 7200000 20200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">At September 30, 2020, future amortization expense of identifiable intangible assets is as follows (in thousands):</p><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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:57.77%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.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:13.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:0.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></tr><tr><td style="vertical-align:bottom;width:80.18%;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="vertical-align:bottom;white-space:nowrap;width:3.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:13.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:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020 (remainder of the year)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:13.76%;margin: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,391</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:80.18%;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:3.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><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin: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,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.18%;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:3.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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:13.76%;margin: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,989</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:80.18%;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:3.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><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin: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,535</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.18%;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:3.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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:13.76%;margin: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,185</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:80.18%;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="vertical-align:bottom;white-space:nowrap;width:3.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><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.76%;border-bottom: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;"> 108,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;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:13.76%;border-bottom: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;"> 201,998</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr></table> 7391000 24610000 21989000 20535000 19185000 108288000 201998000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">6. Debt Obligations</b></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;">Debt obligations consist of the following (in thousands):</p><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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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:2.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:1.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:10.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:2.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:1.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:10.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','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: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:70.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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">December 31, </b></p></td><td style="vertical-align:bottom;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:70.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:2.05%;margin:0pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;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;">2019</b></p></td><td style="vertical-align:bottom;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:70.76%;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:2.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: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:10.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;"> 61,500</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.19%;margin: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;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:70.76%;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:2.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: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:10.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;"> 135,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:10.19%;margin: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;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:70.76%;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:2.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: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.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;"> 26,050</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.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:10.19%;margin: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;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:70.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other debt</p></td><td style="vertical-align:bottom;width:2.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:1.92%;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.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;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;border-bottom: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;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:70.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total principal amount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.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;"> 222,570</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.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:10.19%;margin: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="background-color:#cceeff;vertical-align:bottom;width:0.51%;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:70.76%;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="vertical-align:bottom;width:2.05%;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.92%;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.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;"> (287)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;border-bottom: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="vertical-align:bottom;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:70.76%;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="background-color:#cceeff;vertical-align:bottom;width:2.05%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.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;"> 222,283</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.82%;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:10.19%;margin: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="background-color:#cceeff;vertical-align:bottom;width:0.51%;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:70.76%;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="vertical-align:bottom;width:2.05%;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.92%;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.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;"> (70)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;border-bottom: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="vertical-align:bottom;width:0.51%;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="background-color:#cceeff;vertical-align:bottom;width:70.76%;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="background-color:#cceeff;vertical-align:bottom;width:2.05%;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.92%;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.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;"> 222,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.82%;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.19%;border-bottom: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="background-color:#cceeff;vertical-align:bottom;width:0.51%;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></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;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 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;"><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, 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 provides for a $150.0 million accordion or increase option for the revolving portion 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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">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 connection with the amendment in December 2019, we incurred approximately $1.4 million in financing and professional costs that 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 September 30, 2020, we had $61.5 million of outstanding borrowings on the revolving credit facility, $55.6 million in letters of credit outstanding and $332.9 million of credit available.</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;">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.</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 is a summary of the additional margins:</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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.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.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:12.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:3.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:3.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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:2.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></tr><tr><td style="vertical-align:bottom;width:40.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.05%;margin:0pt;padding:0pt;"><p style="font-family:'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:55.7%;margin:0pt;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.14%;margin:0pt;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:40.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.05%;margin:0pt;padding:0pt;"><p style="font-family:'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:55.7%;border-bottom:1px solid #000000;margin:0pt;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.14%;margin:0pt;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:40.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.05%;margin:0pt;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: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;">Less than 1.00</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;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: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;">1.00 to 1.75</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;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.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;">1.75 to 2.50</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;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:12.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;">2.50 or greater</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;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:40.08%;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:2.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:12.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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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:2.14%;margin:0pt;padding:0pt;"><p 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:40.08%;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:2.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:12.52%;margin: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:3.43%;margin:0pt;padding:0pt;"><p 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;"> 0.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p 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;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p 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.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;"> 1.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;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:40.08%;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:2.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:12.52%;margin: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:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'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;"> 1.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'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;"> 1.75</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;"> 2.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;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;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 weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of September 30, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of September 30, 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;">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. 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 a claim is 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.</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;">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.</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 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.</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 Facility’s principal financial covenants include:</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;"><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 September 30, 2020 was 0.8.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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 September 30, 2020 was 6.6.</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;"><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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">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.</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 were in compliance with all of our financial covenants as of September 30, 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;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As part of the consideration used to acquire four companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.1 million as of September 30, 2020. 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 September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.5<span style="white-space:pre-wrap;">%. 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 $8.0 million as of September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in equal 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 September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The principal is due in April 2023. In conjunction with one immaterial acquisition in 2019, we issued a note to former owners with an outstanding balance of $0.1 million as of September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in January 2021. </span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Debt obligations consist of the following (in thousands):</p><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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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:2.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:1.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:10.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:2.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:1.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:10.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','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: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:70.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:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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:12.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;">December 31, </b></p></td><td style="vertical-align:bottom;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:70.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:2.05%;margin:0pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;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;">2019</b></p></td><td style="vertical-align:bottom;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:70.76%;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:2.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: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:10.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;"> 61,500</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.19%;margin: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;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:70.76%;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:2.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: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:10.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;"> 135,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:10.19%;margin: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;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:70.76%;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:2.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: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.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;"> 26,050</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.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:10.19%;margin: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;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:70.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other debt</p></td><td style="vertical-align:bottom;width:2.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:1.92%;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.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;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;border-bottom: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;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:70.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total principal amount</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.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;"> 222,570</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.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:10.19%;margin: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="background-color:#cceeff;vertical-align:bottom;width:0.51%;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:70.76%;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="vertical-align:bottom;width:2.05%;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.92%;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.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;"> (287)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;border-bottom: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="vertical-align:bottom;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:70.76%;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="background-color:#cceeff;vertical-align:bottom;width:2.05%;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.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.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;"> 222,283</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.82%;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:10.19%;margin: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="background-color:#cceeff;vertical-align:bottom;width:0.51%;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:70.76%;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="vertical-align:bottom;width:2.05%;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.92%;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.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;"> (70)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;border-bottom: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="vertical-align:bottom;width:0.51%;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="background-color:#cceeff;vertical-align:bottom;width:70.76%;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="background-color:#cceeff;vertical-align:bottom;width:2.05%;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.92%;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.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;"> 222,213</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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:1.82%;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.19%;border-bottom: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="background-color:#cceeff;vertical-align:bottom;width:0.51%;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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 61500000 28000000 135000000 150000000 26050000 48483000 20000 222570000 226483000 287000 348000 222283000 226135000 70000 20817000 222213000 205318000 400000000.0 600000000.0 450000000.0 150000000.0 150000000.0 160000000.0 1400000 400000 1000000.0 1300000 0.0125 0.0375 61500000 55600000 332900000 2 2 <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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.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.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:12.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:3.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:3.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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:2.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></tr><tr><td style="vertical-align:bottom;width:40.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.05%;margin:0pt;padding:0pt;"><p style="font-family:'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:55.7%;margin:0pt;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.14%;margin:0pt;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:40.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.05%;margin:0pt;padding:0pt;"><p style="font-family:'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:55.7%;border-bottom:1px solid #000000;margin:0pt;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.14%;margin:0pt;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:40.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.05%;margin:0pt;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: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;">Less than 1.00</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;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: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;">1.00 to 1.75</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;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.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;">1.75 to 2.50</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;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:12.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;">2.50 or greater</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;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:40.08%;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:2.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:12.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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.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:2.14%;margin:0pt;padding:0pt;"><p 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:40.08%;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:2.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:12.52%;margin: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:3.43%;margin:0pt;padding:0pt;"><p 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;"> 0.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p 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;"> 0.75</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p 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.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;"> 1.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;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:40.08%;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:2.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:12.52%;margin: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:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'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;"> 1.50</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'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;"> 1.75</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;"> 2.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;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.014 0.014 0.0125 0.0200 0.0020 0.0035 3.00 0.8 2.00 1.50 4 6.6 5000000.0 10000000.0 2.50 4 26100000 8000000.0 0.035 8000000.0 0.030 10000000.0 0.040 100000 0.030 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">7. Commitments and Contingencies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 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 0pt 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;"><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 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;"><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 0pt 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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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;text-indent:36pt;margin: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 0pt 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;"><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 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;"><span style="visibility:hidden;">​</span></p> 0.15 0.25 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">8. 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 0pt 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 0pt 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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">There were less than 0.1 million anti-dilutive stock options excluded from the calculation of diluted EPS for the three and nine months ended September 30, 2020 and 2019, 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;">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><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:90%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.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.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:8.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.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:7.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.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:8.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.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:7.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:0.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></tr><tr><td style="vertical-align:bottom;width:60.26%;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.82%;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="3" style="vertical-align:bottom;white-space:nowrap;width:17.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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="3" style="vertical-align:bottom;white-space:nowrap;width:17.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;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:60.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.82%;margin:0pt;padding:0pt;"><p style="font-family:'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="3" style="vertical-align:bottom;white-space:nowrap;width:17.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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="3" style="vertical-align:bottom;white-space:nowrap;width:17.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:60.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.82%;margin:0pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;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.7%;border-bottom:1px solid #000000;margin:0pt;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.82%;margin:0pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;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.7%;border-bottom:1px solid #000000;margin:0pt;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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.26%;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.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:8.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;"> 36,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;margin: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,676</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 36,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;margin: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,676</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:60.26%;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.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:8.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;"> 157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;border-bottom: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;"> 129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;border-bottom: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;"> 215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.26%;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.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:8.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;"> 36,557</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;margin: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,805</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 36,604</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;margin: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,891</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:60.26%;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.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:8.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;"> 125</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.26%;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.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:8.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;"> 68</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;border-bottom: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;"> 65</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;border-bottom: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;"> 68</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:60.26%;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.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:8.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;"> 36,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;border-bottom: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,051</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 36,797</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;border-bottom: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,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 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 0pt 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;"><span style="visibility:hidden;">​</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 (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 November 19, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2019, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.8 million shares. Since the inception of the repurchase program, the Board has approved 9.5 million shares to be repurchased. As of September 30, 2020, we have repurchased a cumulative total of 9.1 million shares at an average price of $18.89 per share under the repurchase program.</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 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. In an exercise of such discretion, we suspended share repurchases from March 27, 2020 to May 26, 2020 in response to the uncertainty surrounding the current COVID-19 pandemic, as more fully described in “Item 1A. Risk Factors” herein. The Board may modify, suspend, extend or terminate the program at any time. During the nine months ended September 30, 2020, we repurchased 0.4 million shares for approximately $18.8 million at an average price of $41.90 per share. </p> 100000 100000 100000 100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin: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><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:90%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.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.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:8.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.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:7.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.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:8.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.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:7.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:0.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></tr><tr><td style="vertical-align:bottom;width:60.26%;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.82%;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="3" style="vertical-align:bottom;white-space:nowrap;width:17.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;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="3" style="vertical-align:bottom;white-space:nowrap;width:17.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;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:60.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.82%;margin:0pt;padding:0pt;"><p style="font-family:'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="3" style="vertical-align:bottom;white-space:nowrap;width:17.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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="3" style="vertical-align:bottom;white-space:nowrap;width:17.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:60.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.82%;margin:0pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;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.7%;border-bottom:1px solid #000000;margin:0pt;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.82%;margin:0pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;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.7%;border-bottom:1px solid #000000;margin:0pt;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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.26%;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.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:8.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;"> 36,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;margin: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,676</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 36,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;margin: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,676</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:60.26%;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.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:8.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;"> 157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;border-bottom: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;"> 129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;border-bottom: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;"> 215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.26%;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.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:8.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;"> 36,557</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;margin: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,805</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 36,604</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;margin: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,891</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:60.26%;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.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:8.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;"> 125</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.26%;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.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:8.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;"> 68</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;border-bottom: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;"> 65</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.7%;border-bottom: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;"> 68</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:60.26%;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.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:8.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;"> 36,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;border-bottom: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,051</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 36,797</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p 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.7%;border-bottom: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,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p> 36400000 36676000 36400000 36676000 157000 129000 204000 215000 36557000 36805000 36604000 36891000 125000 181000 124000 211000 68000 65000 69000 68000 36750000 37051000 36797000 37170000 1000000.0 800000 9500000 9100000 18.89 400000 18800000 41.90 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">9. Segment Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">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. 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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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:11.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:11.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:11.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;width:2.05%;margin:0pt;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.5%;border-bottom:1px solid #000000;margin:0pt;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.37%;margin:0pt;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%;border-bottom:1px solid #000000;margin:0pt;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.19%;margin:0pt;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.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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.28%;margin:0pt;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.54%;border-bottom:1px solid #000000;margin:0pt;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.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 621,140</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> 92,959</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:11.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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></tr><tr><td style="vertical-align:bottom;width:32.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 138,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</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;"> 8,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.07%;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:2.05%;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.63%;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:11.86%;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:4.37%;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.64%;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:9.94%;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:5.19%;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.64%;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:11.74%;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:4.28%;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.64%;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:11.89%;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:32.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 style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;width:2.05%;margin:0pt;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.5%;border-bottom:1px solid #000000;margin:0pt;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.37%;margin:0pt;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%;border-bottom:1px solid #000000;margin:0pt;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.19%;margin:0pt;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.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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.28%;margin:0pt;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.54%;border-bottom:1px solid #000000;margin:0pt;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.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 590,016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> 116,902</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:11.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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></tr><tr><td style="vertical-align:bottom;width:32.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 128,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</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;"> 14,201</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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></tr><tr><td style="vertical-align:bottom;width:32.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.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: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="vertical-align:bottom;white-space:nowrap;width:11.86%;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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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="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:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;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.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: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:11.89%;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.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 style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;width:2.05%;margin:0pt;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.5%;border-bottom:1px solid #000000;margin:0pt;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.37%;margin:0pt;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%;border-bottom:1px solid #000000;margin:0pt;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.19%;margin:0pt;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.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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.28%;margin:0pt;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.54%;border-bottom:1px solid #000000;margin:0pt;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.07%;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:2.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: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:11.86%;margin: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,809,304</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> 348,394</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:11.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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,157,698</p></td></tr><tr><td style="vertical-align:bottom;width:32.07%;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:2.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: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:11.86%;margin: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,334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</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;"> 26,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 409,984</p></td></tr><tr><td style="vertical-align:bottom;width:32.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.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: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="vertical-align:bottom;white-space:nowrap;width:11.86%;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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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="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:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;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.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: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:11.89%;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.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 style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;width:2.05%;margin:0pt;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.5%;border-bottom:1px solid #000000;margin:0pt;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.37%;margin:0pt;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%;border-bottom:1px solid #000000;margin:0pt;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.19%;margin:0pt;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.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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.28%;margin:0pt;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.54%;border-bottom:1px solid #000000;margin:0pt;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.07%;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:2.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: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:11.86%;margin: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,677,632</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> 218,061</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:11.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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,895,693</p></td></tr><tr><td style="vertical-align:bottom;width:32.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 344,632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</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;"> 24,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 369,383</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> 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:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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:11.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:11.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:11.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;width:2.05%;margin:0pt;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.5%;border-bottom:1px solid #000000;margin:0pt;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.37%;margin:0pt;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%;border-bottom:1px solid #000000;margin:0pt;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.19%;margin:0pt;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.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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.28%;margin:0pt;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.54%;border-bottom:1px solid #000000;margin:0pt;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.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 621,140</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> 92,959</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:11.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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></tr><tr><td style="vertical-align:bottom;width:32.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 138,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</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;"> 8,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.07%;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:2.05%;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.63%;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:11.86%;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:4.37%;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.64%;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:9.94%;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:5.19%;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.64%;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:11.74%;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:4.28%;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.64%;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:11.89%;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:32.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 style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;width:2.05%;margin:0pt;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.5%;border-bottom:1px solid #000000;margin:0pt;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.37%;margin:0pt;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%;border-bottom:1px solid #000000;margin:0pt;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.19%;margin:0pt;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.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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.28%;margin:0pt;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.54%;border-bottom:1px solid #000000;margin:0pt;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.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 590,016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> 116,902</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:11.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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></tr><tr><td style="vertical-align:bottom;width:32.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 128,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</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;"> 14,201</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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></tr><tr><td style="vertical-align:bottom;width:32.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.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: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="vertical-align:bottom;white-space:nowrap;width:11.86%;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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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="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:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;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.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: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:11.89%;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.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 style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;width:2.05%;margin:0pt;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.5%;border-bottom:1px solid #000000;margin:0pt;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.37%;margin:0pt;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%;border-bottom:1px solid #000000;margin:0pt;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.19%;margin:0pt;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.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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.28%;margin:0pt;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.54%;border-bottom:1px solid #000000;margin:0pt;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.07%;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:2.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: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:11.86%;margin: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,809,304</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> 348,394</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:11.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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,157,698</p></td></tr><tr><td style="vertical-align:bottom;width:32.07%;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:2.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: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:11.86%;margin: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,334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</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;"> 26,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 409,984</p></td></tr><tr><td style="vertical-align:bottom;width:32.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.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: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="vertical-align:bottom;white-space:nowrap;width:11.86%;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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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="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:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;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.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: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:11.89%;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.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 style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, 2019</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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 style="vertical-align:bottom;width:2.05%;margin:0pt;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.5%;border-bottom:1px solid #000000;margin:0pt;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.37%;margin:0pt;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%;border-bottom:1px solid #000000;margin:0pt;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.19%;margin:0pt;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.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;">Corporate</b></p></td><td style="vertical-align:bottom;width:4.28%;margin:0pt;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.54%;border-bottom:1px solid #000000;margin:0pt;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.07%;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:2.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: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:11.86%;margin: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,677,632</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;"> 218,061</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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:11.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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin: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,895,693</p></td></tr><tr><td style="vertical-align:bottom;width:32.07%;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:2.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: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:11.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 344,632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</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;"> 24,751</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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: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:11.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 369,383</p></td></tr></table> 621140000 92959000 714099000 138655000 8541000 147196000 590016000 116902000 706918000 128501000 14201000 142702000 1809304000 348394000 2157698000 383334000 26650000 409984000 1677632000 218061000 1895693000 344632000 24751000 369383000 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.20.2
Document and Entity Information - shares
9 Months Ended
Sep. 30, 2020
Oct. 21, 2020
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 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, $0.01 par value  
Trading Symbol FIX  
Security Exchange Name NYSE  
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 Common Stock, Shares Outstanding   36,394,751
Entity Central Index Key 0001035983  
Document Fiscal Year Focus 2020  
Document Fiscal Period Focus Q3  
Current Fiscal Year End Date --12-31  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
CURRENT ASSETS:    
Cash and cash equivalents $ 70,540 $ 50,788
Billed accounts receivable, less allowance for credit losses of $9,896 and $6,907, respectively 608,861 619,037
Unbilled accounts receivable, less allowance for credit losses of $784 and $0, respectively 46,509 55,542
Other receivables, less allowance for credit losses of $884 and $0, respectively 36,991 37,632
Inventories 12,700 10,053
Prepaid expenses and other 10,313 14,396
Costs and estimated earnings in excess of billings, less allowance for credit losses of $79 and $0, respectively 25,382 2,736
Total current assets 811,296 790,184
PROPERTY AND EQUIPMENT, NET 119,131 109,796
LEASE RIGHT-OF-USE ASSET 95,815 84,073
GOODWILL 420,782 332,447
IDENTIFIABLE INTANGIBLE ASSETS, NET 201,998 159,974
DEFERRED TAX ASSETS 21,656 21,923
OTHER NONCURRENT ASSETS 7,291 6,615
Total assets 1,677,969 1,505,012
CURRENT LIABILITIES:    
Current maturities of long-term debt 70 20,817
Accounts payable 176,484 196,195
Accrued compensation and benefits 119,931 102,891
Billings in excess of costs and estimated earnings 217,454 166,918
Accrued self-insurance 49,369 39,546
Other current liabilities 92,035 81,630
Total current liabilities 655,343 607,997
LONG-TERM DEBT, NET 222,213 205,318
LEASE LIABILITIES 81,638 72,697
DEFERRED TAX LIABILITIES 3,365 1,425
OTHER LONG-TERM LIABILITIES 47,284 32,271
Total liabilities 1,009,843 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,723,672 and 4,465,448 shares, respectively (118,551) (103,960)
Additional paid-in capital 322,304 320,168
Retained earnings 463,962 368,685
Total stockholders' equity 668,126 585,304
Total liabilities and stockholders' equity $ 1,677,969 $ 1,505,012
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
CONSOLIDATED BALANCE SHEETS    
Accounts receivable, allowance for doubtful accounts (in dollars)   $ 6,907
Billed accounts receivable, allowance for credit losses (in dollars) $ 9,896  
Unbilled accounts receivable, allowance for credit losses (in dollars) 784 0
Other receivables, allowance for credit losses (In dollars) 884 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,723,672 4,465,448
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
CONSOLIDATED STATEMENTS OF OPERATIONS        
REVENUE $ 714,099 $ 706,918 $ 2,157,698 $ 1,895,693
COST OF SERVICES 566,903 564,216 1,747,714 1,526,310
Gross profit 147,196 142,702 409,984 369,383
SELLING, GENERAL AND ADMINISTRATIVE EXPENSES 90,888 90,006 268,857 253,417
GAIN ON SALE OF ASSETS (377) (708) (1,243) (1,119)
Operating income 56,685 53,404 142,370 117,085
OTHER INCOME (EXPENSE):        
Interest income 7 82 99 174
Interest expense (1,733) (2,779) (6,904) (6,891)
Changes in the fair value of contingent earn-out obligations 3,423 (2,004) 1,824 (3,924)
Other (15) 3 10 167
Other income (expense) 1,682 (4,698) (4,971) (10,474)
INCOME BEFORE INCOME TAXES 58,367 48,706 137,399 106,611
PROVISION FOR INCOME TAXES 8,279 12,473 30,100 26,339
NET INCOME $ 50,088 $ 36,233 $ 107,299 $ 80,272
INCOME PER SHARE:        
Basic (in shares) $ 1.37 $ 0.98 $ 2.93 $ 2.18
Diluted (in shares) $ 1.36 $ 0.98 $ 2.92 $ 2.16
SHARES USED IN COMPUTING INCOME PER SHARE:        
Basic (in shares) 36,557 36,805 36,604 36,891
Diluted (in shares) 36,750 37,051 36,797 37,170
DIVIDENDS PER SHARE (in dollars per share) $ 0.105 $ 0.100 $ 0.314 $ 0.295
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.20.2
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, 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           19,866 19,866
Issuance of Stock:              
Issuance of shares for options exercised       $ 861 (61)   800
Issuance of shares for options exercised (in shares)       41,103      
Issuance of restricted stock & performance stock       $ 817 1,189   2,006
Issuance of restricted stock & performance stock (in shares)       38,539      
Shares received in lieu of tax withholding payment on vested restricted stock       $ (781)     (781)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)       (15,013)      
Stock-based compensation         2,084   2,084
Dividends           (3,506) (3,506)
Share repurchase       $ (3,321)     (3,321)
Share repurchase (in shares)       (67,394)      
BALANCE at Mar. 31, 2019     $ 411 $ (90,171) 319,691 285,264 515,195
BALANCE (in shares) at Mar. 31, 2019     41,123,365        
BALANCE (in shares) at Mar. 31, 2019       (4,232,418)      
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             80,272
BALANCE at Sep. 30, 2019     $ 411 $ (101,243) 320,157 338,305 557,630
BALANCE (in shares) at Sep. 30, 2019     41,123,365        
BALANCE (in shares) at Sep. 30, 2019       (4,447,438)      
BALANCE at Mar. 31, 2019     $ 411 $ (90,171) 319,691 285,264 515,195
BALANCE (in shares) at Mar. 31, 2019     41,123,365        
BALANCE (in shares) at Mar. 31, 2019       (4,232,418)      
Increase (Decrease) in Stockholders' Equity              
Net income           24,173 24,173
Issuance of Stock:              
Issuance of shares for options exercised       $ 31 (11)   20
Issuance of shares for options exercised (in shares)       1,408      
Issuance of restricted stock & performance stock       $ 1,486 (1,486)    
Issuance of restricted stock & performance stock (in shares)       69,067      
Shares received in lieu of tax withholding payment on vested restricted stock       $ (717)     (717)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)       (13,573)      
Stock-based compensation         1,685   1,685
Dividends           (3,692) (3,692)
Share repurchase       $ (4,576)     (4,576)
Share repurchase (in shares)       (93,468)      
BALANCE at Jun. 30, 2019     $ 411 $ (93,947) 319,879 305,745 532,088
BALANCE (in shares) at Jun. 30, 2019     41,123,365        
BALANCE (in shares) at Jun. 30, 2019       (4,268,984)      
Increase (Decrease) in Stockholders' Equity              
Net income           36,233 36,233
Issuance of Stock:              
Issuance of shares for options exercised       $ 124 57   181
Issuance of shares for options exercised (in shares)       5,426      
Stock-based compensation         221   221
Dividends           (3,673) (3,673)
Share repurchase       $ (7,420)     (7,420)
Share repurchase (in shares)       (183,880)      
BALANCE at Sep. 30, 2019     $ 411 $ (101,243) 320,157 338,305 557,630
BALANCE (in shares) at Sep. 30, 2019     41,123,365        
BALANCE (in shares) at Sep. 30, 2019       (4,447,438)      
BALANCE at Dec. 31, 2019 $ (515) $ (515) $ 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           17,716 $ 17,716
Issuance of Stock:              
Issuance of restricted stock & performance stock       $ 1,054 801   1,855
Issuance of restricted stock & performance stock (in shares)       43,902      
Shares received in lieu of tax withholding payment on vested restricted stock       $ (622)     (622)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)       (14,722)      
Stock-based compensation         2,134   2,134
Dividends           (3,844) (3,844)
Share repurchase       $ (8,985)     (8,985)
Share repurchase (in shares)       (237,359)      
BALANCE at Mar. 31, 2020     $ 411 $ (112,513) 323,103 382,042 593,043
BALANCE (in shares) at Mar. 31, 2020     41,123,365        
BALANCE (in shares) at Mar. 31, 2020       (4,673,627)      
BALANCE at Dec. 31, 2019 $ (515) $ (515) $ 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             $ 107,299
BALANCE at Sep. 30, 2020     $ 411 $ (118,551) 322,304 463,962 $ 668,126
BALANCE (in shares) at Sep. 30, 2020     41,123,365       41,123,365
BALANCE (in shares) at Sep. 30, 2020       (4,723,672)     4,723,672
BALANCE at Mar. 31, 2020     $ 411 $ (112,513) 323,103 382,042 $ 593,043
BALANCE (in shares) at Mar. 31, 2020     41,123,365        
BALANCE (in shares) at Mar. 31, 2020       (4,673,627)      
Increase (Decrease) in Stockholders' Equity              
Net income           39,495 39,495
Issuance of Stock:              
Issuance of shares for options exercised       $ 836 (280)   556
Issuance of shares for options exercised (in shares)       34,562      
Issuance of restricted stock & performance stock       $ 2,048 (2,048)    
Issuance of restricted stock & performance stock (in shares)       84,987      
Shares received in lieu of tax withholding payment on vested restricted stock       $ (454)     (454)
Shares received in lieu of tax withholding payment on vested restricted stock (in shares)       (13,002)      
Stock-based compensation         1,644   1,644
Dividends           (3,830) (3,830)
Share repurchase       $ (2,021)     (2,021)
Share repurchase (in shares)       (52,991)      
BALANCE at Jun. 30, 2020     $ 411 $ (112,104) 322,419 417,707 628,433
BALANCE (in shares) at Jun. 30, 2020     41,123,365        
BALANCE (in shares) at Jun. 30, 2020       (4,620,071)      
Increase (Decrease) in Stockholders' Equity              
Net income           50,088 50,088
Issuance of Stock:              
Issuance of shares for options exercised       $ 1,324 (325)   999
Issuance of shares for options exercised (in shares)       54,207      
Stock-based compensation         210   210
Dividends           (3,833) (3,833)
Share repurchase       $ (7,771)     (7,771)
Share repurchase (in shares)       (157,808)      
BALANCE at Sep. 30, 2020     $ 411 $ (118,551) $ 322,304 $ 463,962 $ 668,126
BALANCE (in shares) at Sep. 30, 2020     41,123,365       41,123,365
BALANCE (in shares) at Sep. 30, 2020       (4,723,672)     4,723,672
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
CASH FLOWS FROM OPERATING ACTIVITIES:    
Net income $ 107,299 $ 80,272
Adjustments to reconcile net income to net cash provided by operating activities-    
Amortization of identifiable intangible assets 25,306 20,221
Depreciation expense 20,818 18,222
Change in right-of-use assets 12,338 10,552
Bad debt expense 5,318 2,093
Deferred tax provision (benefit) 1,197 (2,620)
Amortization of debt financing costs 408 287
Gain on sale of assets (1,243) (1,119)
Changes in the fair value of contingent earn-out obligations (1,824) 3,924
Stock-based compensation 5,949 4,861
(Increase) decrease in-    
Receivables, net 33,304 (31,647)
Inventories (708) (248)
Prepaid expenses and other current assets 9,417 (4,625)
Costs and estimated earnings in excess of billings and unbilled accounts receivable (7,007) (2,081)
Other noncurrent assets (631) (544)
Increase (decrease) in-    
Accounts payable and accrued liabilities (16,030) 6,635
Billings in excess of costs and estimated earnings 13,489 4,555
Other long-term liabilities 9,000 (9,023)
Net cash provided by operating activities 216,400 99,715
CASH FLOWS FROM INVESTING ACTIVITIES:    
Purchases of property and equipment (19,459) (22,641)
Proceeds from sales of property and equipment 1,890 1,447
Proceeds from sale of business   1,611
Cash paid for acquisitions, net of cash acquired (112,945) (196,470)
Net cash used in investing activities (130,514) (216,053)
CASH FLOWS FROM FINANCING ACTIVITIES:    
Proceeds from revolving credit facility 198,000 320,000
Payments on revolving credit facility (164,500) (177,000)
Payments on term loan (15,000)  
Payments on other debt (44,464) (3,254)
Payments of dividends to stockholders (11,507) (10,871)
Share repurchase (18,777) (15,317)
Shares received in lieu of tax withholding (1,076) (1,498)
Proceeds from exercise of options 1,555 1,001
Deferred acquisition payments (500) (637)
Payments for contingent consideration arrangements (9,865) (1,343)
Net cash provided by (used in) financing activities (66,134) 111,081
NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS 19,752 (5,257)
CASH AND CASH EQUIVALENTS, beginning of period 50,788 45,620
CASH AND CASH EQUIVALENTS, end of period $ 70,540 $ 40,363
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.20.2
Business and Organization
9 Months Ended
Sep. 30, 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. 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 19 R8.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies
9 Months Ended
Sep. 30, 2020
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

2. Summary of Significant Accounting Policies

Basis of Presentation

These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2019 (the “Form 10-K”).

The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.

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, the allowance for credit losses, 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.

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.

In May 2020, the SEC issued a final rule to amend the financial statement requirements for business combinations and dispositions, including the related pro forma financial information. The rule revises the significance tests, including consideration of registrant’s market capitalization for the investment test and consideration of registrant’s revenue for the income test. The significance threshold for business dispositions is also increased from 10% to 20%. The rule further eliminates the potential requirement that registrants present a third year of audited financial statements of acquired businesses and modifies pro forma adjustments rules for items directly related to accounting for the transaction. The rule is effective January 1, 2021. Early adoption is permitted. The impact of this authoritative guidance on our consolidated financial statements will depend on future acquisitions and dispositions completed subsequent to adoption of this guidance.

Revenue Recognition

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.

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.

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.

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.

In the first nine months of 2020 and 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 9 – 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):

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Service Provided

   

2020

   

2019

   

2020

   

2019

Mechanical Services

$

621,140

   

87.0

%

$

590,016

   

83.5

%

$

1,809,304

   

83.9

%

$

1,677,632

   

88.5

%

Electrical Services

92,959

13.0

%

116,902

16.5

%

348,394

16.1

%

218,061

11.5

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Type of Customer

2020

2019

 

2020

2019

 

Industrial

$

268,651

37.6

%

$

222,156

31.4

%

$

844,719

39.1

%

$

588,818

31.1

%

Education

135,992

19.0

%

125,836

17.8

%

375,580

17.4

%

292,799

15.4

%

Office Buildings

81,183

11.4

%

83,271

11.8

%

232,349

10.8

%

254,966

13.5

%

Healthcare

86,061

12.1

%

126,909

18.0

%

281,370

13.0

%

306,810

16.2

%

Government

40,631

5.7

%

41,502

5.9

%

119,444

5.5

%

118,224

6.2

%

Retail, Restaurants and Entertainment

64,212

9.0

%

67,141

9.5

%

190,043

8.8

%

184,618

9.7

%

Multi-Family and Residential

21,776

3.0

%

24,121

3.4

%

61,062

2.8

%

83,417

4.4

%

Other

15,593

2.2

%

15,982

2.2

%

53,131

2.6

%

66,041

3.5

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Activity Type

2020

2019

 

2020

2019

 

New Construction

$

310,000

43.4

%

$

312,279

44.2

%

$

1,034,833

48.0

%

$

827,718

43.7

%

Existing Building Construction

235,798

33.0

%

224,125

31.6

%

668,067

30.9

%

605,819

31.9

%

Service Projects

69,162

9.7

%

62,668

8.9

%

179,188

8.3

%

171,860

9.1

%

Service Calls, Maintenance and Monitoring

99,139

13.9

%

107,846

15.3

%

275,610

12.8

%

290,296

15.3

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

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 business 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 September 30, 2020.

During the first nine months of 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):

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,651

2,678

(11)

5,318

Deductions for uncollectible receivables written off, net of recoveries

(913)

(623)

(1,536)

Credit allowance of acquired companies on the acquisition date

502

502

Purchase accounting adjustments

72

72

Reclass to other current liabilities

(315)

(315)

Balance at September 30, 2020

$

5,240

$

6,360

$

43

$

11,643

Contract Assets and Liabilities

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. 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 or 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):

Nine Months Ended September 30,

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

7,469

37,047

6,573

31,556

Change related to credit allowance

(79)

Other changes in the period

15,256

13,489

(14,050)

4,376

Balance at end of period

$

25,382

$

217,454

$

2,736

 

$

166,918

In the first nine months of 2020 and 2019, we recognized revenue of $164.4 million and $123.3 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 the first nine months of 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 September 30, 2020, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.43 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 total term of less than one year; therefore, we do not report unfulfilled performance obligations for service maintenance agreements.

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 $6.1 million and $6.2 million in the first nine months of 2020 and 2019, respectively. 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 September 30, 2020 and December 31, 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 three months ended September 30, 2020 and 2019 was $8.0 million and $6.5 million, respectively. Lease expense for the nine months ended September 30, 2020 and 2019 was $21.4 million and $18.3 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.6 years at September 30, 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 three months ended September 30, 2020 and 2019 was approximately $2.0 million and $0.7 million, respectively. Rent paid to related parties for the nine months ended September 30, 2020 and 2019 was approximately $4.5 million and $2.7 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):

September 30, 2020

December 31, 2019

Lease right-of-use assets

$

95,815

$

84,073

Lease liabilities:

Other current liabilities

16,368

14,016

Long-term lease liabilities

81,638

72,697

Total lease liabilities

$

98,006

$

86,713

The maturities of lease liabilities are as follows (in thousands):

Year ending December 31—

2020 (excluding the nine months ended September 30, 2020)

$

5,306

2021

19,397

2022

16,353

2023

14,172

2024

12,671

Thereafter

47,693

Total Lease Payments

115,592

Less—Present Value Discount

(17,586)

Present Value of Lease Liabilities

$

98,006

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

Three Months Ended September 30,

Nine Months Ended September 30,

2020

2019

    

2020

2019

Cash paid for amounts included in the measurement of lease liabilities

$

5,362

$

4,566

$

15,140

$

12,439

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

$

1,880

$

6,865

$

24,080

$

21,262

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.

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 increase in unrecognized tax benefits. We previously filed an amended federal return for 2014 to claim R&D tax credits during 2018 and recorded a $2.7 million tax benefit that was also fully offset by an increase in unrecognized tax benefits. These tax benefits were fully offset by increases in 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 credits claimed had no impact on our effective tax rates.

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 allowing the $8.9 million of refund claims in full. Subsequently, the Joint Committee on Taxation reviewed and approved the refund claims. As a result, our provision for income taxes was reduced by $8.3 million due to a decrease 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 an increase in 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 rates for the third quarter 2020. At this time, we cannot reasonably estimate the R&D tax credit for years after 2018 or 179D deduction for years after 2017.

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.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements
9 Months Ended
Sep. 30, 2020
Fair Value Measurements  
Fair Value Measurements

3. 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 $200.0 million as of September 30, 2020 and gradually 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 three and nine months ended September 30, 2020, we recognized a net loss of less than $0.2 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 Measurements

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 September 30, 2020 and December 31, 2019 (in thousands):

Fair Value Measurements at September 30, 2020

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

70,540

$

$

$

70,540

Life insurance—cash surrender value

$

$

4,729

$

$

4,729

Contingent earn-out obligations

$

$

$

25,962

$

25,962

Interest rate swaps

$

$

62

$

$

62

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 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 have life insurance policies covering 74 employees with a combined face value of $54.2 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 $4.7 million as of September 30, 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 September 30, 2020, cash flows were discounted using a weighted average cost of capital ranging from 9.5% - 16.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):

    

Nine Months Ended

Year Ended

    

September 30, 2020

December 31, 2019

Balance at beginning of period

    

$

28,497

$

7,375

 

Issuances

 

9,155

 

19,500

Settlements

(9,866)

(1,369)

Adjustments to fair value

 

(1,824)

 

2,991

Balance at end of period

$

25,962

$

28,497

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.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.20.2
Acquisitions
9 Months Ended
Sep. 30, 2020
Acquisitions  
Acquisitions

4. 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.

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

39,715

Notes issued to former owners

14,000

Estimated fair value of contingent earn-out payments

9,100

$

168,765

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

935

Property and equipment

7,709

Goodwill

73,409

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,849)

Long-term lease liabilities

(17,398)

Other long-term liabilities

(2,987)

$

168,765

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 an estimated $55.5 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 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 the state NOL carryforwards. We do not believe it is more-likely-than-not that we 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 two earnings milestones over a 27-month period, and the range of each estimated milestone payment is $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 remeasured 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

We completed the acquisition of the electrical contractor in North Carolina in the first quarter of 2020 with a total preliminary purchase price of $41.6 million. This acquisition is reported in our electrical services segment. We completed the acquisition of Walker, which is reported in our electrical services segment, in the second quarter of 2019 with a total purchase price of $235.4 million. In 2019, in addition to the Walker acquisition, we completed one acquisition in the first quarter of 2019 and one acquisition in the second quarter of 2019 with a total purchase price of $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 the current and 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 22 R11.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill and Identifiable Intangible Assets, Net
9 Months Ended
Sep. 30, 2020
Goodwill and Identifiable Intangible Assets, Net  
Goodwill and Identifiable Intangible Assets, Net

5. 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 4)

 

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 4)

73,409

14,926

88,335

Balance at September 30, 2020

$

308,069

$

112,713

$

420,782

During the fourth quarter of 2019, the Company performed its annual goodwill impairment test resulting in no impairment charges, as 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 the first quarter of 2020, we considered the economic impacts of COVID-19 to be a triggering event for review of goodwill impairment at each of our reporting units. After performing a qualitative goodwill impairment assessment as of March 31, 2020, we determined that we did not have a goodwill impairment as of that date. 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 September 30, 2020, Walker had a goodwill balance of $96.8 million.

Identifiable Intangible Assets, Net

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

Estimated

September 30, 2020

December 31, 2019

    

Useful Lives

    

Gross Book

    

Accumulated

    

Gross Book

    

Accumulated

    

in Years

    

Value

    

Amortization

    

Value

    

Amortization

Customer relationships

 

1 - 15

$

231,492

$

(97,901)

$

183,061

$

(80,813)

Backlog

 

1 - 2

 

12,600

 

(12,098)

 

7,400

 

(6,388)

Tradenames

 

2 - 25

 

85,695

 

(17,790)

 

71,995

 

(15,281)

Total

$

329,787

$

(127,789)

$

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 three and nine months ended September 30, 2020 was $8.2 million and $25.3 million, respectively. Amortization expense for the three and nine months ended September 30, 2019 was $7.2 million and $20.2 million, respectively.

At September 30, 2020, future amortization expense of identifiable intangible assets is as follows (in thousands):

Year ended December 31—

    

    

2020 (remainder of the year)

    

$

7,391

 

2021

 

24,610

2022

 

21,989

2023

 

20,535

2024

 

19,185

Thereafter

 

108,288

Total

$

201,998

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.20.2
Debt Obligations
9 Months Ended
Sep. 30, 2020
Debt Obligations  
Debt Obligations

6. Debt Obligations

Debt obligations consist of the following (in thousands):

September 30,

December 31,

    

2020

    

2019

 

Revolving credit facility

$

61,500

$

28,000

Term loan

135,000

150,000

Notes to former owners

26,050

 

48,483

Other debt

20

Total principal amount

222,570

 

226,483

Less—unamortized debt issuance costs

(287)

(348)

Total debt, net of unamortized debt issuance costs

222,283

226,135

Less—current portion

(70)

 

(20,817)

Total long-term portion of debt, net

$

222,213

$

205,318

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 provides for a $150.0 million accordion or increase option for the revolving portion 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 connection with the amendment in December 2019, we incurred approximately $1.4 million in financing and professional costs that 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 September 30, 2020, we had $61.5 million of outstanding borrowings on the revolving credit facility, $55.6 million in letters of credit outstanding and $332.9 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 following is a summary of the 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

%

The weighted average interest rate applicable to the borrowings under the revolving credit facility was approximately 1.4% as of September 30, 2020. The weighted average interest rate applicable to the term loan was approximately 1.4% as of September 30, 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. 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 a claim is 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.

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.

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 September 30, 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 September 30, 2020 was 6.6.

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 September 30, 2020.

Notes to Former Owners

As part of the consideration used to acquire four companies, we have outstanding notes to the former owners. These notes had an outstanding balance of $26.1 million as of September 30, 2020. 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 September 30, 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 $8.0 million as of September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in equal 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 September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 4.0%. The principal is due in April 2023. In conjunction with one immaterial acquisition in 2019, we issued a note to former owners with an outstanding balance of $0.1 million as of September 30, 2020 that bears interest, payable quarterly, at a stated interest rate of 3.0%. The principal is due in January 2021.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies
9 Months Ended
Sep. 30, 2020
Commitments and Contingencies  
Commitments and Contingencies

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

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.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.20.2
Stockholders' Equity
9 Months Ended
Sep. 30, 2020
Stockholders' Equity  
Stockholders' Equity.

8. Stockholders’ Equity

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 three and nine months ended September 30, 2020 and 2019, 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):

Three Months Ended

Nine Months Ended

September 30,

September 30,

    

2020

    

2019

    

2020

    

2019

 

Common shares outstanding, end of period

36,400

 

36,676

36,400

 

36,676

Effect of using weighted average common shares outstanding

157

 

129

204

 

215

Shares used in computing earnings per share—basic

36,557

 

36,805

36,604

 

36,891

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

125

 

181

124

 

211

Effect of restricted and contingently issuable shares

68

 

65

69

 

68

Shares used in computing earnings per share—diluted

36,750

 

37,051

36,797

 

37,170

Share Repurchase Program

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 November 19,

2019, the Board approved an extension to the program by increasing the shares authorized for repurchase by 0.8 million shares. Since the inception of the repurchase program, the Board has approved 9.5 million shares to be repurchased. As of September 30, 2020, we have repurchased a cumulative total of 9.1 million shares at an average price of $18.89 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. In an exercise of such discretion, we suspended share repurchases from March 27, 2020 to May 26, 2020 in response to the uncertainty surrounding the current COVID-19 pandemic, as more fully described in “Item 1A. Risk Factors” herein. The Board may modify, suspend, extend or terminate the program at any time. During the nine months ended September 30, 2020, we repurchased 0.4 million shares for approximately $18.8 million at an average price of $41.90 per share.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.20.2
Segment Information
9 Months Ended
Sep. 30, 2020
Segment Information  
Segment Information

9. Segment Information

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. The following table presents information about our reportable segments (in thousands):

Three Months Ended September 30, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

621,140

$

92,959

$

$

714,099

Gross Profit

$

138,655

$

8,541

$

$

147,196

Three Months Ended September 30, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

590,016

$

116,902

$

$

706,918

Gross Profit

$

128,501

$

14,201

$

$

142,702

Nine Months Ended September 30, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

1,809,304

$

348,394

$

$

2,157,698

Gross Profit

$

383,334

$

26,650

$

$

409,984

Nine Months Ended September 30, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

1,677,632

$

218,061

$

$

1,895,693

Gross Profit

$

344,632

$

24,751

$

$

369,383

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 30, 2020
Summary of Significant Accounting Policies  
Basis of Presentation

Basis of Presentation

These interim statements should be read in conjunction with the historical Consolidated Financial Statements and related notes of Comfort Systems included in the Annual Report on Form 10-K as filed with the Securities and Exchange Commission (“SEC”) for the year ended December 31, 2019 (the “Form 10-K”).

The accompanying unaudited consolidated financial statements were prepared using generally accepted accounting principles for interim financial information and the instructions to Form 10-Q and applicable rules of Regulation S-X of the SEC. Accordingly, these financial statements do not include all the footnotes required by generally accepted accounting principles for complete financial statements and should be read in conjunction with the Form 10-K. We believe all adjustments necessary for a fair presentation of these interim statements have been included and are of a normal and recurring nature. The results of operations for interim periods are not necessarily indicative of the results for the full fiscal year.

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, the allowance for credit losses, 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.

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.

In May 2020, the SEC issued a final rule to amend the financial statement requirements for business combinations and dispositions, including the related pro forma financial information. The rule revises the significance tests, including consideration of registrant’s market capitalization for the investment test and consideration of registrant’s revenue for the income test. The significance threshold for business dispositions is also increased from 10% to 20%. The rule further eliminates the potential requirement that registrants present a third year of audited financial statements of acquired businesses and modifies pro forma adjustments rules for items directly related to accounting for the transaction. The rule is effective January 1, 2021. Early adoption is permitted. The impact of this authoritative guidance on our consolidated financial statements will depend on future acquisitions and dispositions completed subsequent to adoption of this guidance.

Revenue Recognition

Revenue Recognition

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.

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.

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.

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.

In the first nine months of 2020 and 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 9 – 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):

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Service Provided

   

2020

   

2019

   

2020

   

2019

Mechanical Services

$

621,140

   

87.0

%

$

590,016

   

83.5

%

$

1,809,304

   

83.9

%

$

1,677,632

   

88.5

%

Electrical Services

92,959

13.0

%

116,902

16.5

%

348,394

16.1

%

218,061

11.5

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Type of Customer

2020

2019

 

2020

2019

 

Industrial

$

268,651

37.6

%

$

222,156

31.4

%

$

844,719

39.1

%

$

588,818

31.1

%

Education

135,992

19.0

%

125,836

17.8

%

375,580

17.4

%

292,799

15.4

%

Office Buildings

81,183

11.4

%

83,271

11.8

%

232,349

10.8

%

254,966

13.5

%

Healthcare

86,061

12.1

%

126,909

18.0

%

281,370

13.0

%

306,810

16.2

%

Government

40,631

5.7

%

41,502

5.9

%

119,444

5.5

%

118,224

6.2

%

Retail, Restaurants and Entertainment

64,212

9.0

%

67,141

9.5

%

190,043

8.8

%

184,618

9.7

%

Multi-Family and Residential

21,776

3.0

%

24,121

3.4

%

61,062

2.8

%

83,417

4.4

%

Other

15,593

2.2

%

15,982

2.2

%

53,131

2.6

%

66,041

3.5

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Activity Type

2020

2019

 

2020

2019

 

New Construction

$

310,000

43.4

%

$

312,279

44.2

%

$

1,034,833

48.0

%

$

827,718

43.7

%

Existing Building Construction

235,798

33.0

%

224,125

31.6

%

668,067

30.9

%

605,819

31.9

%

Service Projects

69,162

9.7

%

62,668

8.9

%

179,188

8.3

%

171,860

9.1

%

Service Calls, Maintenance and Monitoring

99,139

13.9

%

107,846

15.3

%

275,610

12.8

%

290,296

15.3

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Contract Assets and Liabilities

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. 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 or 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):

Nine Months Ended September 30,

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

7,469

37,047

6,573

31,556

Change related to credit allowance

(79)

Other changes in the period

15,256

13,489

(14,050)

4,376

Balance at end of period

$

25,382

$

217,454

$

2,736

 

$

166,918

In the first nine months of 2020 and 2019, we recognized revenue of $164.4 million and $123.3 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 the first nine months of 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 September 30, 2020, the aggregate amount of the transaction price allocated to remaining performance obligations was $1.43 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 total term of less than one year; therefore, we do not report unfulfilled performance obligations for service maintenance agreements.

Allowance for Credit Losses

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 business 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 September 30, 2020.

During the first nine months of 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):

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,651

2,678

(11)

5,318

Deductions for uncollectible receivables written off, net of recoveries

(913)

(623)

(1,536)

Credit allowance of acquired companies on the acquisition date

502

502

Purchase accounting adjustments

72

72

Reclass to other current liabilities

(315)

(315)

Balance at September 30, 2020

$

5,240

$

6,360

$

43

$

11,643

Leases

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 $6.1 million and $6.2 million in the first nine months of 2020 and 2019, respectively. 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 September 30, 2020 and December 31, 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 three months ended September 30, 2020 and 2019 was $8.0 million and $6.5 million, respectively. Lease expense for the nine months ended September 30, 2020 and 2019 was $21.4 million and $18.3 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.6 years at September 30, 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 three months ended September 30, 2020 and 2019 was approximately $2.0 million and $0.7 million, respectively. Rent paid to related parties for the nine months ended September 30, 2020 and 2019 was approximately $4.5 million and $2.7 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):

September 30, 2020

December 31, 2019

Lease right-of-use assets

$

95,815

$

84,073

Lease liabilities:

Other current liabilities

16,368

14,016

Long-term lease liabilities

81,638

72,697

Total lease liabilities

$

98,006

$

86,713

The maturities of lease liabilities are as follows (in thousands):

Year ending December 31—

2020 (excluding the nine months ended September 30, 2020)

$

5,306

2021

19,397

2022

16,353

2023

14,172

2024

12,671

Thereafter

47,693

Total Lease Payments

115,592

Less—Present Value Discount

(17,586)

Present Value of Lease Liabilities

$

98,006

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

Three Months Ended September 30,

Nine Months Ended September 30,

2020

2019

    

2020

2019

Cash paid for amounts included in the measurement of lease liabilities

$

5,362

$

4,566

$

15,140

$

12,439

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

$

1,880

$

6,865

$

24,080

$

21,262

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.

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 increase in unrecognized tax benefits. We previously filed an amended federal return for 2014 to claim R&D tax credits during 2018 and recorded a $2.7 million tax benefit that was also fully offset by an increase in unrecognized tax benefits. These tax benefits were fully offset by increases in 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 credits claimed had no impact on our effective tax rates.

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 allowing the $8.9 million of refund claims in full. Subsequently, the Joint Committee on Taxation reviewed and approved the refund claims. As a result, our provision for income taxes was reduced by $8.3 million due to a decrease 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 an increase in 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 rates for the third quarter 2020. At this time, we cannot reasonably estimate the R&D tax credit for years after 2018 or 179D deduction for years after 2017.

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.

Goodwill

During the fourth quarter of 2019, the Company performed its annual goodwill impairment test resulting in no impairment charges, as 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 the first quarter of 2020, we considered the economic impacts of COVID-19 to be a triggering event for review of goodwill impairment at each of our reporting units. After performing a qualitative goodwill impairment assessment as of March 31, 2020, we determined that we did not have a goodwill impairment as of that date. 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 September 30, 2020, Walker had a goodwill balance of $96.8 million.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies (Tables)
9 Months Ended
Sep. 30, 2020
Summary of Significant Accounting Policies  
Schedule of disaggregation of revenue

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Service Provided

   

2020

   

2019

   

2020

   

2019

Mechanical Services

$

621,140

   

87.0

%

$

590,016

   

83.5

%

$

1,809,304

   

83.9

%

$

1,677,632

   

88.5

%

Electrical Services

92,959

13.0

%

116,902

16.5

%

348,394

16.1

%

218,061

11.5

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Type of Customer

2020

2019

 

2020

2019

 

Industrial

$

268,651

37.6

%

$

222,156

31.4

%

$

844,719

39.1

%

$

588,818

31.1

%

Education

135,992

19.0

%

125,836

17.8

%

375,580

17.4

%

292,799

15.4

%

Office Buildings

81,183

11.4

%

83,271

11.8

%

232,349

10.8

%

254,966

13.5

%

Healthcare

86,061

12.1

%

126,909

18.0

%

281,370

13.0

%

306,810

16.2

%

Government

40,631

5.7

%

41,502

5.9

%

119,444

5.5

%

118,224

6.2

%

Retail, Restaurants and Entertainment

64,212

9.0

%

67,141

9.5

%

190,043

8.8

%

184,618

9.7

%

Multi-Family and Residential

21,776

3.0

%

24,121

3.4

%

61,062

2.8

%

83,417

4.4

%

Other

15,593

2.2

%

15,982

2.2

%

53,131

2.6

%

66,041

3.5

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Three Months Ended September 30,

Nine Months Ended September 30,

Revenue by Activity Type

2020

2019

 

2020

2019

 

New Construction

$

310,000

43.4

%

$

312,279

44.2

%

$

1,034,833

48.0

%

$

827,718

43.7

%

Existing Building Construction

235,798

33.0

%

224,125

31.6

%

668,067

30.9

%

605,819

31.9

%

Service Projects

69,162

9.7

%

62,668

8.9

%

179,188

8.3

%

171,860

9.1

%

Service Calls, Maintenance and Monitoring

99,139

13.9

%

107,846

15.3

%

275,610

12.8

%

290,296

15.3

%

Total

$

714,099

100.0

%

$

706,918

100.0

%

$

2,157,698

100.0

%

$

1,895,693

100.0

%

Schedule of activity in allowance for credit losses

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

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,651

2,678

(11)

5,318

Deductions for uncollectible receivables written off, net of recoveries

(913)

(623)

(1,536)

Credit allowance of acquired companies on the acquisition date

502

502

Purchase accounting adjustments

72

72

Reclass to other current liabilities

(315)

(315)

Balance at September 30, 2020

$

5,240

$

6,360

$

43

$

11,643

Schedule of contract assets and liabilities

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

Nine Months Ended September 30,

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

7,469

37,047

6,573

31,556

Change related to credit allowance

(79)

Other changes in the period

15,256

13,489

(14,050)

4,376

Balance at end of period

$

25,382

$

217,454

$

2,736

 

$

166,918

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):

September 30, 2020

December 31, 2019

Lease right-of-use assets

$

95,815

$

84,073

Lease liabilities:

Other current liabilities

16,368

14,016

Long-term lease liabilities

81,638

72,697

Total lease liabilities

$

98,006

$

86,713

Schedule of maturities of lease liabilities

The maturities of lease liabilities are as follows (in thousands):

Year ending December 31—

2020 (excluding the nine months ended September 30, 2020)

$

5,306

2021

19,397

2022

16,353

2023

14,172

2024

12,671

Thereafter

47,693

Total Lease Payments

115,592

Less—Present Value Discount

(17,586)

Present Value of Lease Liabilities

$

98,006

Schedule of supplemental information related to leases

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

Three Months Ended September 30,

Nine Months Ended September 30,

2020

2019

    

2020

2019

Cash paid for amounts included in the measurement of lease liabilities

$

5,362

$

4,566

$

15,140

$

12,439

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

$

1,880

$

6,865

$

24,080

$

21,262

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements (Tables)
9 Months Ended
Sep. 30, 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 September 30, 2020 and December 31, 2019 (in thousands):

Fair Value Measurements at September 30, 2020

    

Level 1

    

Level 2

    

Level 3

    

Total

Cash and cash equivalents

$

70,540

$

$

$

70,540

Life insurance—cash surrender value

$

$

4,729

$

$

4,729

Contingent earn-out obligations

$

$

$

25,962

$

25,962

Interest rate swaps

$

$

62

$

$

62

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):

    

Nine Months Ended

Year Ended

    

September 30, 2020

December 31, 2019

Balance at beginning of period

    

$

28,497

$

7,375

 

Issuances

 

9,155

 

19,500

Settlements

(9,866)

(1,369)

Adjustments to fair value

 

(1,824)

 

2,991

Balance at end of period

$

25,962

$

28,497

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.20.2
Acquisitions (Tables)
9 Months Ended
Sep. 30, 2020
Acquisitions  
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

39,715

Notes issued to former owners

14,000

Estimated fair value of contingent earn-out payments

9,100

$

168,765

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

935

Property and equipment

7,709

Goodwill

73,409

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,849)

Long-term lease liabilities

(17,398)

Other long-term liabilities

(2,987)

$

168,765

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

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill and Identifiable Intangible Assets, Net (Tables)
9 Months Ended
Sep. 30, 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 4)

 

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 4)

73,409

14,926

88,335

Balance at September 30, 2020

$

308,069

$

112,713

$

420,782

Schedule of components of identifiable intangible assets

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

Estimated

September 30, 2020

December 31, 2019

    

Useful Lives

    

Gross Book

    

Accumulated

    

Gross Book

    

Accumulated

    

in Years

    

Value

    

Amortization

    

Value

    

Amortization

Customer relationships

 

1 - 15

$

231,492

$

(97,901)

$

183,061

$

(80,813)

Backlog

 

1 - 2

 

12,600

 

(12,098)

 

7,400

 

(6,388)

Tradenames

 

2 - 25

 

85,695

 

(17,790)

 

71,995

 

(15,281)

Total

$

329,787

$

(127,789)

$

262,456

$

(102,482)

Schedule of future amortization expense of identifiable intangible assets

At September 30, 2020, future amortization expense of identifiable intangible assets is as follows (in thousands):

Year ended December 31—

    

    

2020 (remainder of the year)

    

$

7,391

 

2021

 

24,610

2022

 

21,989

2023

 

20,535

2024

 

19,185

Thereafter

 

108,288

Total

$

201,998

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.20.2
Debt Obligations (Tables)
9 Months Ended
Sep. 30, 2020
Debt Obligations  
Schedule of components of debt obligations

Debt obligations consist of the following (in thousands):

September 30,

December 31,

    

2020

    

2019

 

Revolving credit facility

$

61,500

$

28,000

Term loan

135,000

150,000

Notes to former owners

26,050

 

48,483

Other debt

20

Total principal amount

222,570

 

226,483

Less—unamortized debt issuance costs

(287)

(348)

Total debt, net of unamortized debt issuance costs

222,283

226,135

Less—current portion

(70)

 

(20,817)

Total long-term portion of debt, net

$

222,213

$

205,318

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

%

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.20.2
Stockholders' Equity (Tables)
9 Months Ended
Sep. 30, 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):

Three Months Ended

Nine Months Ended

September 30,

September 30,

    

2020

    

2019

    

2020

    

2019

 

Common shares outstanding, end of period

36,400

 

36,676

36,400

 

36,676

Effect of using weighted average common shares outstanding

157

 

129

204

 

215

Shares used in computing earnings per share—basic

36,557

 

36,805

36,604

 

36,891

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

125

 

181

124

 

211

Effect of restricted and contingently issuable shares

68

 

65

69

 

68

Shares used in computing earnings per share—diluted

36,750

 

37,051

36,797

 

37,170

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.20.2
Segment Information (Tables)
9 Months Ended
Sep. 30, 2020
Segment Information  
Summary of information about reportable segments

Three Months Ended September 30, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

621,140

$

92,959

$

$

714,099

Gross Profit

$

138,655

$

8,541

$

$

147,196

Three Months Ended September 30, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

590,016

$

116,902

$

$

706,918

Gross Profit

$

128,501

$

14,201

$

$

142,702

Nine Months Ended September 30, 2020

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

1,809,304

$

348,394

$

$

2,157,698

Gross Profit

$

383,334

$

26,650

$

$

409,984

Nine Months Ended September 30, 2019

    

Mechanical Services

    

Electrical Services

    

Corporate

    

Consolidated

Revenue

$

1,677,632

$

218,061

$

$

1,895,693

Gross Profit

$

344,632

$

24,751

$

$

369,383

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) - USD ($)
$ in Thousands
Jan. 01, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2018
New Accounting Pronouncements or Change in Accounting Principle                  
Impact to Retained Earnings   $ 668,126 $ 628,433 $ 593,043 $ 585,304 $ 557,630 $ 532,088 $ 515,195 $ 498,047
Lease right-of-use assets   95,815     84,073        
Operating lease liability   $ 98,006     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 doubtful accounts 700                
Increase to Deferred Tax Assets $ 200                
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Disaggregation of Revenue        
Revenue $ 714,099 $ 706,918 $ 2,157,698 $ 1,895,693
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00% 100.00% 100.00%
Industrial        
Disaggregation of Revenue        
Revenue $ 268,651 $ 222,156 $ 844,719 $ 588,818
Percentage of revenue from contract with customer (as a percent) 37.60% 31.40% 39.10% 31.10%
Education        
Disaggregation of Revenue        
Revenue $ 135,992 $ 125,836 $ 375,580 $ 292,799
Percentage of revenue from contract with customer (as a percent) 19.00% 17.80% 17.40% 15.40%
Office Buildings        
Disaggregation of Revenue        
Revenue $ 81,183 $ 83,271 $ 232,349 $ 254,966
Percentage of revenue from contract with customer (as a percent) 11.40% 11.80% 10.80% 13.50%
Healthcare        
Disaggregation of Revenue        
Revenue $ 86,061 $ 126,909 $ 281,370 $ 306,810
Percentage of revenue from contract with customer (as a percent) 12.10% 18.00% 13.00% 16.20%
Government        
Disaggregation of Revenue        
Revenue $ 40,631 $ 41,502 $ 119,444 $ 118,224
Percentage of revenue from contract with customer (as a percent) 5.70% 5.90% 5.50% 6.20%
Retail, Restaurants and Entertainment        
Disaggregation of Revenue        
Revenue $ 64,212 $ 67,141 $ 190,043 $ 184,618
Percentage of revenue from contract with customer (as a percent) 9.00% 9.50% 8.80% 9.70%
Multi-Family and Residential        
Disaggregation of Revenue        
Revenue $ 21,776 $ 24,121 $ 61,062 $ 83,417
Percentage of revenue from contract with customer (as a percent) 3.00% 3.40% 2.80% 4.40%
Other        
Disaggregation of Revenue        
Revenue $ 15,593 $ 15,982 $ 53,131 $ 66,041
Percentage of revenue from contract with customer (as a percent) 2.20% 2.20% 2.60% 3.50%
New Construction        
Disaggregation of Revenue        
Revenue $ 310,000 $ 312,279 $ 1,034,833 $ 827,718
Percentage of revenue from contract with customer (as a percent) 43.40% 44.20% 48.00% 43.70%
Existing Building Construction        
Disaggregation of Revenue        
Revenue $ 235,798 $ 224,125 $ 668,067 $ 605,819
Percentage of revenue from contract with customer (as a percent) 33.00% 31.60% 30.90% 31.90%
Service Projects        
Disaggregation of Revenue        
Revenue $ 69,162 $ 62,668 $ 179,188 $ 171,860
Percentage of revenue from contract with customer (as a percent) 9.70% 8.90% 8.30% 9.10%
Service Calls, Maintenance and Monitoring        
Disaggregation of Revenue        
Revenue $ 99,139 $ 107,846 $ 275,610 $ 290,296
Percentage of revenue from contract with customer (as a percent) 13.90% 15.30% 12.80% 15.30%
Mechanical Services        
Disaggregation of Revenue        
Revenue $ 621,140 $ 590,016 $ 1,809,304 $ 1,677,632
Percentage of revenue from contract with customer (as a percent) 87.00% 83.50% 83.90% 88.50%
Electrical Services        
Disaggregation of Revenue        
Revenue $ 92,959 $ 116,902 $ 348,394 $ 218,061
Percentage of revenue from contract with customer (as a percent) 13.00% 16.50% 16.10% 11.50%
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Allowance for Doubtful Accounts Receivable [Roll Forward]    
Balance at beginning of year $ 6,907  
Impact of new accounting standard 695  
Bad debt expense (benefit) 5,318 $ 2,093
Deductions for uncollectible receivables written off, net of recoveries (1,536)  
Credit allowance of acquired companies on the acquisition date 502  
Purchase accounting adjustments 72  
Reclass to other current liabilities (315)  
Balance at March 31, 2020 11,643  
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,651  
Deductions for uncollectible receivables written off, net of recoveries (913)  
Balance at March 31, 2020 5,240  
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,678  
Deductions for uncollectible receivables written off, net of recoveries (623)  
Credit allowance of acquired companies on the acquisition date 502  
Purchase accounting adjustments 72  
Balance at March 31, 2020 6,360  
Other.    
Allowance for Doubtful Accounts Receivable [Roll Forward]    
Balance at beginning of year 315  
Impact of new accounting standard 54  
Bad debt expense (benefit) (11)  
Reclass to other current liabilities (315)  
Balance at March 31, 2020 $ 43  
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
9 Months Ended 12 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Contract Assets      
Balance at beginning of period $ 2,736 $ 10,213 $ 10,213
Change due to acquisitions / disposals 7,469   6,573
Change related to credit allowance (79)    
Other changes in the period 15,256   (14,050)
Balance at end of period 25,382   2,736
Contract Liabilities      
Balance at beginning of period 166,918 130,986 130,986
Change due to acquisitions / disposals 37,047   31,556
Other changes in the period 13,489   4,376
Balance at end of period 217,454   $ 166,918
Revenue related to our contract liabilities $ 164,400    
Calculated under Revenue Guidance in Effect before Topic 606 [Member]      
Contract Liabilities      
Revenue related to our contract liabilities   $ 123,300  
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)
$ in Millions
9 Months Ended
Sep. 30, 2020
USD ($)
Remaining Performance Obligations  
The term of the renewable service maintenance agreements (in years) 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-04-01  
Remaining Performance Obligations  
Remaining performance obligations $ 1,430
Expected timing of performance obligations 12 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-04-01 | Minimum  
Remaining Performance Obligations  
Expected percentage of remaining performance obligations 80.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-04-01 | Maximum  
Remaining Performance Obligations  
Expected percentage of remaining performance obligations 85.00%
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)
9 Months Ended
Sep. 30, 2020
Summary of Significant Accounting Policies  
The term of the renewable service maintenance agreements (in years) 1 year
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Leases (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
USD ($)
Sep. 30, 2019
USD ($)
Sep. 30, 2020
USD ($)
Option
Sep. 30, 2019
USD ($)
Dec. 31, 2019
USD ($)
Lessee, Lease, Description [Line Items]          
Variable lease expense and short-term lease expenses     $ 6,100 $ 6,200  
Weighted average discount rate 4.20%   4.20%   3.90%
Lease expense $ 8,000 $ 6,500 $ 21,400 18,300  
Weighted average remaining lease term 7 years 7 months 6 days   7 years 7 months 6 days   8 years 1 month 6 days
Rent paid to related parties $ 2,000 $ 700 $ 4,500 $ 2,700  
Existence of option to extend     true    
Summary of lease asset and liabilities          
Lease right-of-use assets 95,815   $ 95,815   $ 84,073
Operating Lease, Liability [Abstract]          
Other current liabilities $ 16,368   $ 16,368   14,016
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Other Liabilities, Current   Other Liabilities, Current    
Long-term lease liabilities $ 81,638   $ 81,638   72,697
Present Value of Lease Liabilities $ 98,006   $ 98,006   $ 86,713
Minimum          
Lessee, Lease, Description [Line Items]          
Lease term 3 years   3 years    
Number of options to renew | Option     1    
Maximum          
Lessee, Lease, Description [Line Items]          
Lease term 10 years   10 years    
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Maturities of lease liabilities:          
2020 (excluding the nine months ended September 30, 2020) $ 5,306   $ 5,306    
2021 19,397   19,397    
2022 16,353   16,353    
2023 14,172   14,172    
2024 12,671   12,671    
Thereafter 47,693   47,693    
Total Lease Payments 115,592   115,592    
Less-Present Value Discount (17,586)   (17,586)    
Present Value of Lease Liabilities 98,006   98,006   $ 86,713
Supplemental information related to leases:          
Cash paid for amounts included in the measurement of lease liabilities 5,362 $ 4,566 15,140 $ 12,439  
Lease right-of-use assets obtained in exchange for lease liabilities $ 1,880 $ 6,865 $ 24,080 $ 21,262  
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.20.2
Summary of Significant Accounting Policies - Income Taxes (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended 12 Months Ended
Oct. 31, 2020
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Dec. 31, 2018
Income Tax Examination [Line Items]              
Reduced provision for income taxes   $ 8,300       $ 2,200  
Additions based on tax positions related to prior years $ 26,400   $ 4,600       $ 2,700
Income tax expense (benefit)   8,279 $ 12,473 $ 30,100 $ 26,339    
179D Deduction              
Income Tax Examination [Line Items]              
Reduced provision for income taxes   1,000          
Tax Year 2016              
Income Tax Examination [Line Items]              
Income tax expense (benefit) (6,100)            
Tax Year 2017              
Income Tax Examination [Line Items]              
Income tax expense (benefit) (8,500)            
Tax Year 2018              
Income Tax Examination [Line Items]              
Income tax expense (benefit) (11,900)            
Total Tax Years 2016-2018              
Income Tax Examination [Line Items]              
Income tax expense (benefit) $ 26,500            
Internal Revenue Service (IRS)              
Income Tax Examination [Line Items]              
Refund claims allowed in Income tax examination   $ 8,900   $ 8,900      
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements (Details)
$ in Thousands
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2020
USD ($)
item
Sep. 30, 2020
USD ($)
item
Dec. 31, 2019
USD ($)
Nov. 30, 2021
USD ($)
Fair Value Measurements        
Number of employees covered under life insurance policies | item 74 74    
Combined face value of life insurance policies $ 54,200 $ 54,200    
Cash surrender value 4,700 $ 4,700 $ 3,900  
Minimum        
Fair Value Measurements        
Weighted average cost of capital   9.50%    
Maximum        
Fair Value Measurements        
Weighted average cost of capital   16.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   9,155 19,500  
Settlements   (9,866) (1,369)  
Adjustments to fair value   (1,824) 2,991  
Balance at end of period 25,962 25,962 28,497  
Recurring basis | Total        
Fair Value Measurements        
Cash and cash equivalents 70,540 70,540 50,788  
Life insurance-cash surrender value 4,729 4,729 3,905  
Contingent earn-out obligations 25,962 25,962 28,497  
Recurring basis | Quoted Market Prices In Active Markets for Identical Assets (Level 1)        
Fair Value Measurements        
Cash and cash equivalents 70,540 70,540 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 4,729 4,729 3,905  
Recurring basis | Significant Unobservable Inputs (Level 3)        
Fair Value Measurements        
Contingent earn-out obligations 25,962 25,962 $ 28,497  
Interest Rate Swap        
Fair Value Measurements        
Net loss on derivative 200 200    
Interest Rate Swap | Not Designated as Hedging Instrument, Economic Hedge [Member]        
Fair Value Measurements        
Notional amount 200,000 200,000   $ 80,000
Interest Rate Swap | Recurring basis | Total | Not Designated as Hedging Instrument, Economic Hedge [Member]        
Fair Value Measurements        
Interest rate swaps 62 62    
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 swaps $ 62 $ 62    
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.20.2
Acquisitions (Details) - USD ($)
$ in Thousands
9 Months Ended
Apr. 01, 2020
Sep. 30, 2019
Sep. 30, 2020
Dec. 31, 2019
Dec. 31, 2018
Consideration transferred:          
Total consideration transferred   $ 2,600      
Recognized amounts of identifiable assets acquired and liabilities assumed:          
Goodwill     $ 420,782 $ 332,447 $ 235,182
TAS Energy          
Consideration transferred:          
Cash paid at closing $ 105,950        
Working capital adjustment 39,715        
Notes issued to former owners 14,000        
Estimated fair value of contingent earn-out payments 9,100        
Total consideration transferred 168,765        
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 935        
Property and equipment 7,709        
Goodwill 73,409        
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,849)        
Long-term lease liabilities (17,398)        
Other long-term liabilities (2,987)        
Total assets acquired and liabilities assumed $ 168,765        
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.20.2
Acquisitions - Acquired Intangible Assets (Details) - TAS Energy
$ in Thousands
Apr. 01, 2020
USD ($)
Acquired Finite-Lived Intangible Assets [Line Items]  
Estimated Fair Value $ 53,400
Backlog  
Acquired Finite-Lived Intangible Assets [Line Items]  
Estimated Useful Life 1 year
Estimated Fair Value $ 5,200
Trade Name  
Acquired Finite-Lived Intangible Assets [Line Items]  
Estimated Useful Life 25 years
Estimated Fair Value $ 8,200
Customer Relationships  
Acquired Finite-Lived Intangible Assets [Line Items]  
Estimated Useful Life 10 years
Estimated Fair Value $ 40,000
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.20.2
Acquisitions - Contingent Earn-out Obligation (Details) - TAS Energy
$ in Millions
Apr. 01, 2020
USD ($)
Business Acquisition [Line Items]  
Contingent earn-out period 27 months
Contingent earn-out estimated milestone payment, minimum $ 1.0
Contingent earn-out estimated milestone payment, maximum $ 8.0
Cash flow discount rate 17.70%
Federal  
Business Acquisition [Line Items]  
Net operating loss carryforwards $ 55.5
State  
Business Acquisition [Line Items]  
Net operating loss carryforwards $ 6.5
Minimum  
Business Acquisition [Line Items]  
Cash flow discount rate 15.00%
Maximum  
Business Acquisition [Line Items]  
Cash flow discount rate 23.50%
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.20.2
Acquisitions - Other Acquisitions (Details)
$ in Millions
3 Months Ended 9 Months Ended
Mar. 31, 2020
USD ($)
Jun. 30, 2019
USD ($)
item
Mar. 31, 2019
item
Sep. 30, 2019
USD ($)
Acquisitions        
Number of acquisitions | item   1 1  
Total purchase price       $ 2.6
Walker        
Acquisitions        
Total purchase price   $ 235.4    
Electrical Contractor North Carolina        
Acquisitions        
Total purchase price $ 41.6      
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill and Identifiable Intangible Assets, Net - Changes in Carrying Amount of Goodwill (Details) - USD ($)
$ in Thousands
9 Months Ended 12 Months Ended
Sep. 30, 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 4) 88,335 97,265
Balance at end of period 420,782 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 4) 73,409 579
Impact of segment reorganization   (1,101)
Balance at end of period 308,069 234,660
Electrical Services    
Changes in the carrying amount of goodwill    
Balance at beginning of year 97,787  
Acquisitions and purchase price adjustments (See Note 4) 14,926 96,686
Impact of segment reorganization   1,101
Balance at end of period $ 112,713 $ 97,787
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Identifiable Intangible Assets, Net          
Gross Book Value $ 329,787   $ 329,787   $ 262,456
Accumulated Amortization (127,789)   (127,789)   (102,482)
Amortization of identifiable intangible assets 8,200 $ 7,200 25,306 $ 20,221  
Future amortization expense of identifiable intangible assets          
2020 (remainder of the year) 7,391   7,391    
2021 24,610   24,610    
2022 21,989   21,989    
2023 20,535   20,535    
2024 19,185   19,185    
Thereafter 108,288   108,288    
Total 201,998   201,998    
Customer Relationships          
Identifiable Intangible Assets, Net          
Gross Book Value 231,492   231,492   183,061
Accumulated Amortization (97,901)   $ (97,901)   (80,813)
Customer Relationships | Minimum          
Identifiable Intangible Assets, Net          
Estimated Useful Lives in Years     1 year    
Customer Relationships | Maximum          
Identifiable Intangible Assets, Net          
Estimated Useful Lives in Years     15 years    
Backlog          
Identifiable Intangible Assets, Net          
Gross Book Value 12,600   $ 12,600   7,400
Accumulated Amortization (12,098)   $ (12,098)   (6,388)
Backlog | Minimum          
Identifiable Intangible Assets, Net          
Estimated Useful Lives in Years     1 year    
Backlog | Maximum          
Identifiable Intangible Assets, Net          
Estimated Useful Lives in Years     2 years    
Trade Name          
Identifiable Intangible Assets, Net          
Gross Book Value 85,695   $ 85,695   71,995
Accumulated Amortization $ (17,790)   $ (17,790)   $ (15,281)
Trade Name | Minimum          
Identifiable Intangible Assets, Net          
Estimated Useful Lives in Years     2 years    
Trade Name | Maximum          
Identifiable Intangible Assets, Net          
Estimated Useful Lives in Years     25 years    
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.20.2
Goodwill and Identifiable Intangible Assets, Net - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Dec. 31, 2019
Sep. 30, 2020
Dec. 31, 2018
Goodwill      
Goodwill $ 332,447 $ 420,782 $ 235,182
Walker      
Goodwill      
Percentage of fair values in excess of carrying value of two acquired reporting units 27.00%    
Goodwill   $ 96,800  
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.20.2
Debt Obligations (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Debt Obligations    
Total principal amount $ 222,570 $ 226,483
Less-unamortized debt issuance costs (287) (348)
Total long-term portion of debt 222,283 226,135
Less-current portion 70 20,817
Total long-term portion of debt, net 222,213 205,318
Revolving credit facility    
Debt Obligations    
Total principal amount 61,500 28,000
Term loan    
Debt Obligations    
Total principal amount 135,000 150,000
Notes to former owners    
Debt Obligations    
Outstanding balance 26,050 $ 48,483
Other debt    
Debt Obligations    
Acquired debt $ 20  
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.20.2
Debt Obligations - Other (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Dec. 31, 2019
USD ($)
Dec. 20, 2019
Dec. 19, 2019
USD ($)
Sep. 30, 2020
USD ($)
item
Jun. 30, 2020
USD ($)
Mar. 31, 2020
USD ($)
Sep. 30, 2019
USD ($)
Jun. 30, 2019
USD ($)
Mar. 31, 2019
USD ($)
Sep. 30, 2020
USD ($)
item
Sep. 30, 2019
USD ($)
Debt Obligations                      
Outstanding balance $ 226,483     $ 222,570           $ 222,570  
Reconciliation of Credit Facility Adjusted EBITDA to net income                      
Net income       50,088 $ 39,495 $ 17,716 $ 36,233 $ 24,173 $ 19,866 107,299 $ 80,272
Income tax expense (benefit)       $ 8,279     $ 12,473     30,100 26,339
Stock-based compensation                   $ 5,949 $ 4,861
Principal financial covenants                      
Fixed charge coverage ratio       2.00           2.00  
Revolving credit facility                      
Debt Obligations                      
Borrowing capacity 450,000                    
Payments of financing costs line of credit arrangements 1,000                    
Outstanding borrowings       $ 61,500           $ 61,500  
Outstanding balance 28,000     61,500           61,500  
Letters of credit amount outstanding       55,600           55,600  
Credit available       $ 332,900           $ 332,900  
Principal financial covenants                      
Number of interest rate options | item                   2  
Leverage ratio       0.8           0.8  
Fixed charge coverage ratio       6.6           6.6  
Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio | item                   4  
Other disclosures                      
Weighted average interest rate (as a percent)       1.40%           1.40%  
Revolving credit facility | Through maturity                      
Principal financial covenants                      
Leverage ratio       3.00           3.00  
Revolving credit facility | Minimum                      
Principal financial covenants                      
Fixed charge coverage ratio       1.50           1.50  
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 | Minimum | Covenant Requirement                      
Principal financial covenants                      
Net leverage ratio used as basis for other restrictions       2.50           2.50  
Revolving credit facility | Maximum                      
Principal financial covenants                      
Permitted amount of acquisitions per transaction       $ 5,000           $ 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           $ 10,000  
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 | 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                
Repayment in terms of percentage of original aggregate principal amount   3.75% 1.25%                
Line of credit borrowing capacity accordion option 150,000                    
Financing and professional cost 1,400                    
Unamortized costs     $ 1,300                
Term loan                      
Debt Obligations                      
Borrowing capacity 150,000                    
Payments of financing costs term loan 400                    
Outstanding balance 150,000     $ 135,000           $ 135,000  
Other disclosures                      
Weighted average interest rate (as a percent)       1.40%           1.40%  
Notes to former owners                      
Other disclosures                      
Cumulative number of companies acquired | item       4           4  
Outstanding balance 48,483     $ 26,050           $ 26,050  
Promissory note | Walker                      
Other disclosures                      
Outstanding balance       $ 10,000           $ 10,000  
Weighted average interest rate (as a percent)       4.00%           4.00%  
Promissory note | TAS Energy                      
Other disclosures                      
Outstanding balance       $ 8,000           $ 8,000  
Weighted average interest rate (as a percent)       3.50%           3.50%  
Promissory note | Electrical Contractor North Carolina                      
Other disclosures                      
Outstanding balance       $ 8,000           $ 8,000  
Weighted average interest rate (as a percent)       3.00%           3.00%  
Promissory note | Two Immaterial Acquisitions                      
Other disclosures                      
Outstanding balance       $ 100           $ 100  
Promissory note | Minimum | Two Immaterial Acquisitions                      
Other disclosures                      
Weighted average interest rate (as a percent)       3.00%           3.00%  
Letter of Credit                      
Debt Obligations                      
Borrowing capacity $ 160,000                    
Other debt                      
Other disclosures                      
Acquired debt       $ 20           $ 20  
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Other and Bonds (Details) - Surety
9 Months Ended
Sep. 30, 2020
Minimum  
Surety  
Percentage of business which has required bonds 15.00%
Maximum  
Surety  
Percentage of business which has required bonds 25.00%
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.20.2
Stockholders' Equity - Incentive and Other (Details) - USD ($)
$ / shares in Units, $ in Thousands, shares in Millions
9 Months Ended 162 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Nov. 19, 2019
Mar. 29, 2007
Share Repurchase Program          
Share repurchase $ 18,777 $ 15,317      
Stock Repurchase Program 2007          
Share Repurchase Program          
Number of shares of outstanding common stock authorized to be acquired under a stock repurchase program 9.5   9.5 0.8 1.0
Share repurchase (in shares) 0.4   9.1    
Average price (in dollars per share) $ 41.90   $ 18.89    
Share repurchase $ 18,800        
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.20.2
Stockholders' Equity - Anti-Dilutive Stock Options (Details) - shares
shares in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
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 0.1
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.20.2
Stockholders' Equity - Number of Shares (Details) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
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,400 36,676 36,400 36,676
Effect of using weighted average common shares outstanding 157 129 204 215
Shares used in computing earnings per share-basic 36,557 36,805 36,604 36,891
Effect of shares issuable under stock option plans based on the treasury stock method 125 181 124 211
Effect of restricted and contingently issuable shares 68 65 69 68
Shares used in computing earnings per share-diluted 36,750 37,051 36,797 37,170
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.20.2
Segment Information (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
USD ($)
Sep. 30, 2019
USD ($)
Sep. 30, 2020
USD ($)
segment
Sep. 30, 2019
USD ($)
Dec. 31, 2019
USD ($)
Segment Information          
Number of reportable segments | segment     2    
Revenue $ 714,099 $ 706,918 $ 2,157,698 $ 1,895,693  
Gross Profit 147,196 142,702 409,984 369,383  
Capital Expenditures     19,459 22,641  
Total Assets 1,677,969   1,677,969   $ 1,505,012
Operating | Mechanical Services Segment          
Segment Information          
Revenue 621,140 590,016 1,809,304 1,677,632  
Gross Profit 138,655 128,501 383,334 344,632  
Operating | Electrical Services          
Segment Information          
Revenue 92,959 116,902 348,394 218,061  
Gross Profit $ 8,541 $ 14,201 $ 26,650 $ 24,751  
EXCEL 59 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( )*"6E$'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 " "2@EI1S^6_\^T K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R'8A!Y/ZLK+3!H,5-G8SMMJ:Q8FQ-9*^_1*O31G; ^QHZ?>G M3Z#61F6'A,]IB)C(8[Z;0M=G9>.6G8BB LCVA,'D>D[T<_,PI&!H?J8C1&,_ MS!%!I:^$&6&"$*>3O KJ56*I_8DL'V"4Y9;^FQG&LQTW)S3L(>'MZ?"GK5K[/ M9'J+\Z_L%9TC;MEU\NOF?K=_8%IRR2O!*]GL1:,D5U*\+ZX__&["87#^X/^Q M\550M_#K+O074$L#!!0 ( )*"6E&97)PC$ 8 )PG 3 >&PO=&AE M;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0>&?V;0O&-H&VM!-S:7;;M)F$[4X? MA1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$+.G[SD5'Y^@X>?/N+F+HAHB4\GA@ MV2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>M5II ,,X?+&A T%116F]?(+3E'S/X%/F7/Z3H=,H%N,!M8('_.;Z?D3EJ(X53"Q,!J9S]6:\?1 MTDB @LE]E 6Z2?:CTQ4(,@T[.IU8SG9\]L3MGXS*VG0T;1K@X_%X.+;+THMP M' 3@4;N>PIWT;+^D00FTHVG09-CVVJZ1IJJ-4T_3]WW?ZYMHG J-6T_3:W?= MTXZ)QJW0> V^\4^'PZZ)QJO0=.MI)B?]KFNDZ19H0D;CZWH2%;7E0-,@ %AP M=M;,T@.67BGZ=90:V1V[W4%<\%CN.8D1_L;%!-9ITAF6-$9RG9 %#@ WQ-%, M4'RO0;:*X,*2TER0UL\IM5 :")K(@?5'@B'%W*_]]9>[R:0S>IU].LYKE']I MJP&G[;N;SY/\<^CDGZ>3UTU"SG"\+ GQ^R-;88C'(CN]WV6'WV3T=N(]>IP+,BUY1&)$6?R"VZ MY!$XM4D-,A,_")V&F&I0' *D"3&6H8;XM,:L$> 3?;>^",C?C8CWJV^:/5>A M6$G:A/@01AKBG'/F<]%L^P>E1M'V5;SC MFED)O816:I^JAS0^J!XR"@7QN1X^Y7IX"C>6QKQ0KH)[ ?_1VC?"J_B"P#E_ M+GW/I>^Y]#VATK\>WZV22$KYI9+2,6D$N!LT$DN/R+RO JQ GH9%LE" M0AMNZ5/U2I77Y:^Y*+@\6^3IKZ%T/BS/^3Q?Y[3-"S-#MW)+ZK:4OK4F.$KT ML@'37[]EUVY".E,%.70[@:0KX#;;J=W#HXGIB1N0K3 M4I!OP_GIQ7@:XCG9!+E]F%=MY]C1T?OGP5&PH^\\EAW'B/*B(>ZAAIC/PT.' M>7M?F&>5QE T%&ULK"0L1K=@N-?Q+!3@9& MH >#KU$"\E)58#%;Q@,KD*)\ M3(Q%Z'#GEUQ?X]&2X]NF9;5NKREW&6TB4CG":9@39ZO*WF6QP54=SU5;\K"^ M:CVT%4[/_EFMR)\,$4X6"Q)(8Y07IDJB\QE3ON>;G*YZ(G;ZEW?! M8/+]<,E'#^4[YU_T74.N?O;=X_INDSM(3)QYQ1$!=$4"(Y4U#VT%SU&\Z.9X!ZSAW.;>KC"1:S_6-8>^3+?.7#;.MX#7N83 M+$.D?L%]BHJ $:MBOKJO3_DEG#NT>_&!()O\UMND]MW@#'S4JUJE9"L1/TL' M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5 MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$% @ MDH):499ZG,%8!0 %18 !@ !X;"]W;W)KWB2^P;=MVNF##++-7)!<(>+D MWW<%-C@9O##MBXV /1RM5F=W=;%5^FNZ%L*0ER26Z65G;7:C,Q)$4,TW2+$FX M?KT2L=I>=FAG?^,Q6JV-O>&,+C9\)7QAOFQF&D9.B1)&B9!II"318GG9&=,/ M$\^S!OD;OT5BFQY<$SN5A5)?[6 :7G9H]_FDX?)+'@J)BK^/0K-^K)SUB&A6/(L-H]J^U'L)M2W>(&*T_R7 M;(MW>[T.";+4J&1G# R22!;__&7GB ,#SSUBP'8&[)T!/?8%;V>0>\XIF.73 MNN:&CRZTVA)MWP8T>Y'[)K>&V432+J-O-#R-P,Z,KE60P:H8PF5(;J2)S"N9 MRB(\K)N[)%US+=(+Q\#7K(T3[)"O"F1V!/FR5D+TT&//7C:CS.&Y.W>YGA$6_9-%OQ^)SQK41.GXECV*CM*EC MA$,9G0F$T:!D-&C':"9TI&RNLY'2&XNSV\6T4"W*?)0NAZ[C@&+1+/9=2A,UYR>:\#9M' ML8KL5@%7W?.D=NUPG,G#W>W#XYSX3_[\YLXG7_SQR0_?T8'[\_1^>\ZVJY8E#^EED1!&5/1?3%UHE!8K+^GN6 M$SN":)RKK:QEB,-]5+:JD!BU*E-07-_?4RMWRDRKYT@&]2N-8\[_P*A5*8/B M2O^>VDREAL?DSVAS?/OBB,.AVT?W1Y4R**[S^0J.H>H^3@4'&%(/(U+E"8J+ M_"<5@$]F:R6Q1-$ JJ75 MD"Y4DH F^D8%7T_(]^ZI2\F&:_+,8[0H856V8+B>0\8/K2#YK\E"Q744&P!N MIUBLLRHC,%R^]UXB-R_!FLN5.)IA&X#NGWPL1[$J [!6&6"2:6UKHZ(@RGT% M"I'5=A,-B$_O>Y"WS"K-9ZTT?RJALBUZ2%M*\CW56F8X8@.S2N=9*YVW51N4 M&B"D*Z5K [\!YQ/7$ 'C((!>&4H8$1:0&,=*\%DKP?<3'L?D*DOA<5J_FCA. M4Z7+*IUGK73^)A%Z90/L%T P:Q#69,-EO?MPP$9JE]:J+WBKC'[>WY.'S$""E%;0:GOK KF?(]NSH>>1-_#.>\,^M C/=:PJ MR6>M^H,)[#X-V6@J0_%"?A7UKL*A7->EKM<_/\/2HU<)O-=0L.][N]LHM8GR M24#^N(6;M2'? -9T[%"IO8>+]'M6NZ;X."\<[C/JJTKQ/5R?]U)_Z"JL3V^ MZW8IZWI8^^D='-3@ CT&;X6%QV)>%]U7#0!'=Z!S>8[SDSZG>KTX,+WC5K]2$HLEF+JG0]AJNCB#+ 9&;?)CO(4R1B7YY5KP M4&C[ CQ?*F7V _N!\B1X]"]02P,$% @ DH):4<^J[5"3!P ,!X !@ M !X;"]W;W)K)Y2$V#%=[59JF\"Q\[Z^/-H]9G#7.]:RBK8\R:,T01E?7W?ZY/. ^;) $?%[Q-_RVC62 M5I[3]*N\&:VN.U@JXC%?"EE%"/]>^8#'L:P)='P[5-HY/E,6K%^_U_ZE, ]F MGL.<#]+XCV@E-M<=KX-6?!WN8S%+W^[YP9 MZUNF<5[\16^'6-Q!RWTNTNVA M,"C81DGY/_Q^:(A: 6*U%*"' O2C!=BA "N,ELH*6\-0A#=76?J&,AD-MIH/ MT<\7OZ +%"5HL4GW>9BL\JN>@"?+\KWEX2FWY5-HRU/F?/<),=Q%%%.L*3XP M%Q_R)10GLCCQ3XOWP._1-#V:ID5]K,WTTVP63!:H/Y^#S\^&&MFQ1E;4:+75 M&.8;!&V#EO*"?]M'KV',$Z%MJ[(JIZA*3K/7&Q?;%K3+:[U)U"@;NYYWC#K1 M:1UU6D:=MU$<\Q5,GF6Z!W4P$9<3,;XA\YM*/[S9[41+D.:['G'NVY1GNCY!6F4YI%7#NE7.69A+JX M.:4T41C;3*_,.RKSC,H>,[X+HQ7BWP&MLE5E:Z:R-W1"/8T$1EA#J";*8KZC M%^H?A?KF-2K-1:F.YR(" L*TX&&61,E++M=W_GTI!PP,"CEGY*0 MKQBC-O-HP[XFRF4M[@FN2(>-_A>I"&-@:I;!2$(AR-L9M:U3#/ MPF[+5"45IHF9TW?3Z?"/T7BLE<;4U9L"S/GH6V351BN$WX:V(H M]DC+K*455J@9*_WWS'(7_I")ETX?55%!7,>JH:+4J(OS(0]N&52T0@HU(P5$ M9GO@_3+=RBPE++?0 .UGGO!UI!]I5 L67P&++@Y3KS9A3E77MFEFL-P>\I#3 M[&1IR&.T-E264.):MM+X:AQQ')^T;+EH!1UJALY[X^<\7E]&2;[/9#*EE:I! MD,^4F:T)8[YMM8"<5@"B9@"5>XCW#"F.0D@$BUFHU:KBQ*>8-4FN"?.(PW"+ MU@HZU R=TVSNG%:5*8YM,ZN9=^OBL N,;%%;P8>:X3.>3NXN%\'L 0V#V_94 MCJI(H?"C[ ]T<;"1:1VJ%7RH&3YE*E=;U[4J5;#(+FWF&YHPESJM;5G1AYHW M7"?IQCFIZDZ*,4<9H[K]%FU;="N:43/-RHRCZOIS6E5 62Y5&:&&,4K=EL66 M51QC']D>G9E(3 ,HC'U/F4F:0)_X+FX9H:PB&3.3;#!]>!@MY(9H7NR/!E/( MF2=WP630TJSF^N0Q^>=\%R[Y=6<'NU>>O?+.#=*=4?X/%9UZKCC(S.>5\\5T M\.O]=#P,9O.?BAWAXB_CJ67MV-*,IL>,KSDLH0 GD2Z_=M'%)TP@D\FZR.YB MC.4ORC=A)L\U]F*39M'??-5%29IP%.6YQ%IQWK$7N8 +8+"V#XPJ_DT?_/>* M3ENJ8B,SLW&0;K>0,RG-!)E.%W+OKD^HKJ$LTB64=6'-*=JI=GL(+AOQ_,D) M4SEJD68F=B;HU'J%6G8&M1D/(6GY\6X^%$4.!N:Z+IAQ7%IZZUJ.W;4L[V#M M YY4W%X2XMFVXDL7B)GOM*01K (S,X.YOUI%,AF&I4^>XD%ZAI;A+H*E4"M8 M<[9)*]$A'X4J/1U'(_0YL& )L[V['KCG\JM.,W,G%;( M5PSG#\OWE1TZ%2+?%Y8:'(%P&P/?K-!7O-_*EX?$E\&PO=V]R:W-H965T&ULM9=M;Z,X M$,>_BH7V12OURD,(A%42*0\];:6];;1I[UX[X 2K!N=LDW3OT]\8*(% 2'=/ MUQ<-#S/CWW\\]ICQD8M7&1.BT%O"4CDQ8J7VGTU3AC%)L+SG>Y+"FRT7"59P M*W:FW N"H]PI8:9C69Z98)H:TW'^;"6F8YXI1E.R$DAF28+%CSEA_#@Q;./] MP7>ZBY5^8$['>[PC:Z)>]BL!=V85):()227E*1)D.S%F]N>%/=0.N<6?E!QE M[1II*1O.7_7-8S0Q+$U$& F5#H'AYT 6A#$="3C^+H,:U9C:L7[]'OWW7#R( MV6!)%IS]12,53XR1@2*RQ1E3W_GQ"RD%Y8 A9S+_CXZEK66@,).*)Z4S$"0T M+7[Q6YF(FH/M7G!P2@?GHPZ#TF&0"RW(')9K/OLZ^+1[0^LO#P_,:W:RP(*F*B:(A M9K?H-_2R7J*;3[?H$Z(I>HYY)G$:R;&I@$3',\-RU'DQJG-AU#79WZ.!=8<< MR[$ZW!?][DL2@KNMW>V@Z6Z"_BH)3I4$)X\W^/DD]$0?5-$'>73W0O19&/(L M51*J/B3T@#>,W"',8 'A-"0(EB**>+91VXQ!59>V-Y#@B#.&A;SM2E QI)H%EC\V#QV@;@7J]H+.*6,D.C%.4^PRD1-@KRBX;%?@]?B M&[4TM&TN:/ K#7ZOA@67, VP(2 B%84=%F:'8)'2="?U?D'>0B(EXENDITX_ M[179IYOK9WD/<7LME!>W4MQAZ'I#UQV=P9JU$ZW^G/@#BQU-)6)D"Y[6O0\A M1'%"+VX4W^>'W U7<&3.+V/XJB%"&\#[+>?J_4:?FZOOI.F_4$L#!!0 ( M )*"6E$K/X!@%@8 $9 8 >&PO=V]R:W-H965T&UL MI5G;#;5'LKX?#?+D5NS"_2O7\RCS;8H7PSO;O;A1@2B>-K/,ODT/'I913N1Y%&:H$RL M;PE) MSN/OQNG@.&9I>/K]W?O7BKPD\Q+FPDOCOZ)5L;T=. .T$NOP$!?S].V[: A5 M$URF<5[]16\-%@_0\I 7Z:XQEC/814G]&?YJ G%B(/W !K0QH*J!T6' &@/V MT1&,QL#XZ AF8U!1'];W63I&\I*M/16?JFB7UG+>$5)F2A!D[X9%G)BI?OALIG$?3T)VC$)AA[3I-CFB"A\V)"]'YL]'Y_Q[]+!CL MF"*L\L?^)$5ZQC&.XQC5.$;'.'/^S"=/'$J?VM"J#,O6]WIG$P.[DMWKZ:H M,&RYQ#F'^3J,$M.V7 7'=1QQ7--RV1%WQM,\\C1[>7K38%$&+^#SY['' XAP M[<$\&=JT+!A)+"0 F$ MCJ*6XYBV$@@ 9C*#V' @G&,@G/XU'XTG:#I!P>B!E\D^"@*^ "D[VOB7S%8F MZ0$@&ZMU#8 (-92:X1"*$!>FZQ[INKUTIWN1A464;.1.N$QW B+J0C7MF I3 M ,4,K&2OKZ-D+3 ;*UP!&)%Q,V&R!+>B ?=N"=/%=SY'XXDW?>3HHDGHS]<] MFP Y$22D-Y3CI!!28A0]D6P\G/)2$P: .&JG ##JEL(!C.R='?&C+4?Z,8[B MEU3\.4R2 HEJ,W4+@MEV5*P"3&XK:%4&8XY(.PJV$(*Q_S]N&R:;6C<56 MH'489>@UC \"I6NTE.)-EHY(9#S"++F4YQF4OL31)BS/$K">9'K[E@6@QD9' M7#B%JHX P M5L<60%JA0_J53D6MJ6-TT>3Z9Y K(#TLM6 ] '5I:+K-!V&N353. (Q@H[.Z M6[E#^O5.TQ?O^=?IG+]WR<7H![SE$UV)F ZSM(8&Z!K'UC9] $:8S?2^!N"P M99&N2F\%$.E70+/Y]'D$B_Y)GP1<,79.IHIPD38TW: 3!F4;7K^P",8)OJRZSC'$QMVL&U ME3O$[14 S;K*XQ\*OH_FO&_KIZVLH+@W@O=A'BW1A=PDZFL&L%4T/NQ3ZE=, M+1< A:^T3@&@Z)6K*D80=7*J/&?;"AW:+W3\*#X48O5;O@3BJQZ. !3$5T=) MOE3E"Z%.#I7G?%O10VEOSE2)$J"G@/NR3I!,H-G30AZ6T']*IE9RT'[)\;%D M G2$9:IG) ^$.=A4PPO!+$UDP=ZZ1!9ME03M5Q(?32A ,EBVB57. ,S&)E$Y M@]Y<]90)>B-VQ\T";24&[9<8_OAY[/.)'[3I4_%?I7$<9CF2Y[(Z%G H:N?. M6=40=5T]&*8& @(Q[8X%A%%7/9(-3ZYT=R+;5'?IN93*AZ2HK^Z.;X_W]:/J MEEIY?T^N/0*\]\DUKV_C6_?U/P<>PVP3)3F*Q5H.A:]L.>.LOF^O'XIT7UTH MOZ1%D>ZJKUL1KD16 N3OZS0MWA_* 8[_];C[%U!+ P04 " "2@EI1"-GU MEO,, #M5 & 'AL+W=O7\2UG]OKDMBCK[NERL-L].;NMZ_FU^K3V>;=57DLUVAY>*,("3.EOE\=7)QOONW=]7%>;FM%_-5 M\:[*-MOE,J^^O2@6Y9=G)_CD_A_>SS_=ULT_G%V?GK&G+Q[+\O?GEU>S9"6I, M*A;%M&[JR,U?GXO+8K%HJC*&_-'6>O+PT*9@]^?[VJ]VK3>M^9AOBLMR\:_Y MK+Y]=J).LEEQDV\7]?ORRZ1H6[0S<%HN-KL_LR^M%IUDT^VF+I=M86/!H4P#10@+4%F%N !PKPM@!W"A 9*"#: M L)]@@H4D&T!.;0-JBV@=E_W[G/LON4HK_.+\ZK\DE6-VM36_+#K$+O2YA/. M5TWGO:XK\[]S4ZZ^N'S[YOKMKZ]&SS^,1]GU!_/7Z_&;#]?9VROSV]O+OT_> M_CH:O[_^2S;^QV^O/OP[.\U^NQYE/_SIQ^Q/V7R5?;@MMYM\-=N]-QL?'-CNO)/V;NBFI>SK+S)GL_*==.W?S(__<^\ M!3-APO_<%,29MM]2U8_BI>_OEL-F\:DR^R=_E\=OIJE5WFZWF=+X"Z7L;K M&O+B)XGFE-Z3STR7?>BWY*'?DET]+%#/B^>_/G]S.<[R.AL5TY\SBG_*",(* M^CQW-8E=3;'0:_IKE;>?TV$4L%A>]B#/>PQ[!DS MSYY31H@6G,+V\ =[^*XD#=CS:C5MQE21_6!,V/WT8S.5[<;7;;F8%=7&3'=_ M;.?UMTA'%0]/$]'6OS$.R'PU+9<%--Z$UT:LE1!./TFI>H;)!\-D_#5L-MM\ M-2V:&6_7]E\BK54/E:IH:[N5WGWKS#A8V=U\NLF*KT4UG6^*&?2]E3<:E'"& MZ97R^X2KF?@:A1#\KO1#L_11FM7MXU 3-33$4* _8V09C@:;9QY=5_-I;8S9 M-%\U^W.^7/\U6Q?5SM-M5)L@B9#_"; [!;:B7F_$RID!)X"J\:<#+>UX*_CH M+4U]E/:175.IXE0';+6$PG%$7=]UE*J8%L;/F#5SS&)>;!O3Z_RK\?/JVV:Z M,1S-UOFWG9-AW(3/IE5&[#8.-!R EE3N<&A5/*3JM\Y"!L(#C9HG<^D. M%T!'%47<'2Z^CG,I:"# (9:0)$[(0-],ORZ?E(GA8EE)AK%R3Y/&!(@2&6.2 MT="T:^%$AL%I")#:JA(=R1>!^"8^W4!\ SH0WX NAF]J64D?A94CZK,RWH^H M924=QLI]\4U]-,7Q32V<*'F":9=V4H)Q\L2S4-3GBVFD=.:R25+6-\XRB"88 MM$\FBEK4T#AJOB<7U5;=3_0Z0Y("X90[OB> B 3F:FIQ1N,X.U8ZB@*)189" MG=NBA,91U*I!3W3#4Q8)U+4R8"TS"S_&-Q_G5\U;]M5W$OGOF\\WU5 M0&0LU5Z*@/G,,[ZJ\E($D YQR;Q^[NNX":)4Z U9CK)A8:'C&*;?EL_-Q%*I M92<[* Q+F31F 59DW )I9Z9!2%33^"K,@LS%H=9W%=E0" DS*MW^TQ*UE\Z MMBSBZ'B^*K=PX,/7M?;U5;F?NNN,\*-PGC /$L4GB#*'ECF0 #D+6$D1'TS+55XG"I1*', (51X\5M2UK>MLY\B M#IHA4.8 .R3KA$*MB4!,U9/U3;0S/=]OB2K9V8!U**RH4B%+[ 3/ATWP0W)K MW ^ ?"H#(C@5R7U$@*E(2 >E(@%=+!7)+7#XH^3]1MR/KN)8YI9)_*!%J60J MD@,14305*2R)Q+!$F[. )GQ0O@;.TXY=C[HY2#5"%#YG1*J"B.JA3/@KX0? M;C6=LN/]WG5*2">4'Q,!#^:*4Q3P@H0EM#@HB9AZ]2,!K&^YG;(U?8"R;[QE ML/CNM3"P^PH@C&-,<,:4:SRP:N8(^[9;0 OZ!.ZGL*05<=(F-NSY#,528F_' M'O-]LIZL;YQ%K4CL7=S'_12=/8K#$XK?D[$3_K(81MSU184/5X5<-PH08<5# M(\'B5QP_-YER%@2P!$8U"B0[A.6@B'/PT;-Z M@[(HB;RQ'0IDL2:IU%JGC" MG&7R$P$=7-("0P$H75"ER"2$U9"E2$ $^RP*6&.$?!9(!_DLP(-C/HNR#H)Z M% =AI/9=BU3605 'K44F?18%K47&?!;5.5[X%&N1RG)/?<]:I (6&373WJ20 MDO7/)%JPZ2.N16K++_UX:Y':IYNB[HXM#8211+E+08"*\P "M*6D?IK52 TP MCW$1F"FU192.(^I8F3CM;X(QLYEROP04I:*0RZ4MJW2<58^19=,^G133*C"E M:,LF/6#U\C&S;!I@%7.3HA,-K'QV5?W66:SH 0N?3Y5ET]"J*46A3*BV)-*) MXWM[9-FT3Q\LO%162M4WU/))QX.\:)9- XG49F'5-2TEZ]O6.<,^(.&:R+)I M8)^GP;R;G-= 6->3.0?9NR?9!^SUW.>@)@+V:W(33@5MZ9PU1X//V'7V7\%N MV'U=B<.:@*KQ6[$;*UW=*YV@BF%W$QTD9%A*Y.[N@82"*!;:$X51YZ0[.FA] M<PG?'<.U8=%.ZEK!K?U^LXL 0A&>Q5G1/GZ"E.W&'4.3J.XH2+.['W MI7N.%NKNKKSO/RF=8V#G_#@2QW-D,>J<^D;#5_OV=67OZ^YE:JBWL>Y>UI^N MB1L#0#(=2OI@U#E/CHYSXTIZ(@4.=#." OX51IT#W2@!GGTN64# 3;L(C*E M G<9-*_)H%X%*3ALSN/KNTSK&O>_U)XA#!D*L6, 9*=TCA1,,7'S2 MUSEF=G@PY.J3?2@.75*"N52APTBX>U%)XJ:2?1*C]W4E, ZHX-0HI 1SH^"# MH>0H)(QE1W'W,I3$;2B'YD;=+W6YWEW4^+&LZW*Y^_&V MR(U#T C,_]^497W_2W/WX\,-IQ?_!U!+ P04 " "2@EI1,O,J>5H( !$ M(0 & 'AL+W=OJF20;,K/7QHB@'6.QLLG/]_1?2P:;6+*2W"3&M*33K>X^ MW1)GSU+]+M:6]=EMMO@T&1KODF*;[*+<_AFY54FZ2$C^IQ4&P5 M3Y9FT"8;D""(!IM$Y+V+,_/N3EV M/*Y+_6)P<;9-'OFI9EF+#\T+('"F^.N^-\;<)B_0 (_%+\.?B MZ!EI5192_M8?9LOS7J 1\8RGI9XB@7]/?,*S3,\$./[;3]JKU]0#CY\/LU\; MY4&915+PB-NBA=%>4 M3V9G[[?78U?IA>H?D#_/LQO7F8H]MK M-!G/_T+7WV__F:,^^CF_0B=_G*(_D,C1PUKNBB1?%F>#$C#HF0;I?KW+:CW2 ML5Z,?LB\7!=HFB_Y\NWX 6"O%2 '!2Z)=\(YWWY%-/B"2$ "!Y[)AX?CV .' MUO:D9C[:9<_&:-?WMS_0[=WT?OPPN_D3C2/DO MN"U$>EF@4D*HIS)/1<917D/6[_6G-"G6:*ODDP!?0(M7!-E)):7('ZOP%J7@ M1=]CK:C&%'FM-=Y(58K_)29SR!6"]?)2K$2R %PB+Y/\4>C'I"AXZ?3J:O[P MR%0DI$'4,JA#*B $NPTZK,$/O>"O."3H5%3@^0LD\,*YZ4/'XB,\:D&TI?"( MD(X]']401UZ(DS584%L2*9TV^W+5WQ4^&>W5UPI"(:EBPS#FR8+G?"7* M4V?*#6Q#X7C8PNN0ZI-()TTGXB,&P9\*+F/*+R/E1I2"XR\6BVPJT.=> <$=96 MQQ:C\9'46VT:SL)^TIJ7,OW=UU77$L!O=/@9J$ZDS([!F+49S"'%1E%'PL4- MA6$_AYW,\A2*XH*?@C=73[ %/B;"#15A/Q?=\Y2+)\T\Q1?-@D[E;2*AE ;6 M-MEB?8HCUA4?#>-@/^7,\B?P*JF ?IWP;!+I#^W0=4@1-NK UE -]G/-G>+; M1"P/Z;M 4(@B"=&AH%Z&S G1X EGFU)BAJU,:4OU643"#N@-\V _]4QT*C1X M>5$*Z$$@#G3D0A";$.Y?HCR"9I*G>ZKE*U#SF5M)D) MMB>PM'2(Z8K!K25I&(SX&>S6[$4.5=^[VT$6"FXRN9G2(YN>@MUZG^)/,GDPO"1LKH+E,4IW-7YUV'R^-">>A>YRUS);,>U\/[,WB$5 M!!T^P1I>8GY>JH\=CYA5-R_&Q9UH'31CIRJ75$0[G(,U3,3\[54=>[H6.#H& M@\<" E%59Y&)4OKTK%L%1Z,5CR++XJY^C+(..F4-R3$_R3GK_I-]77!Z=(+J M+PR8XT@OB@!@6PT',6+^SHYNH=ZZBI@]0]D_NI^/Y%)U<3:NG4WA772&. M;ZZJA^G?/V>_QM_U_:)3$9O6<#P\.N[?Z^%@OY"$73[5&PO=V]R M:W-H965T&ULK57?;]M&#/Y7" T8-L"S%#GMLL8V$*<;VH=B M0;VTSV>)M@Z]']H=927]ZT>>9"4MYKQL#[9X//+C]_%TU++WX4ML$ D>K'%Q ME35$[9L\CU6#5L6Y;]'QSMX'JXB7X9#'-J"J4Y(U>5D4KW.KM,O6R^2["^NE M[\AHAWM"H\;-+Y?91?9R?%1'QH21[Y>MNJ 6Z3[]B[P*I]0:FW11>T= M!-ROLIN+-YM+B4\!GS3V\9D-HF3G_1=9O*]762&$T&!%@J#X<<1;-$: F,;? M(V8VE93$Y_8)_8^DG;7L5,1;;S[KFII5=I5!C7O5&?KH^W)4W,?U# M/\26KS.HNDC>CLG,P&HW/-7#V(=G"5?%F81R3"@3[Z%08OE6D5HO@^\A2#2C MB9&DIFPFIYT(M)ZR+A+?Z; MUF^P+R?LRX1]^7_T\66HBSF<18,??[@JB\4UW'K+-Y)@^Q@);83[[PN 3RQ8*]N)45P$B-^XUEDA)ZOLCS]?O]+ MU"1J7:3058-&QQR;"/=<"VO8DB*,<_B+782!XT:=WQW7;-1\VN[Q M>T_W%.-#*O&$U"KW..WR$$,.\.??" $XORFB-,74/&]TK41'['91UUH%C4.O M5Y:XB-G@0\T/[V2_W:)\F>#R6(XI/$KM3I'PXR:O-.$OQD&VU/X M\'GXH,*!SPL,[CFUF/_Z*H,PC-QA0;Y-8V[GB8=F,OE]K#%( ._O/9_]N) " MTW=O_0]02P,$% @ DH):48U>MU*D)0 [7L !@ !X;"]W;W)K#-7E2,[&\_&$Z^58^ MXKVY-?5/I_Q5]/DW,QQ/ WY.S;E2_P_P))NB M^(@?WFZ_>C; G,)#7.$,.?.W-CL@PG@FW\)G,^QPEDU< MF9LB^R7=UH>OGJV>!5NSBYNL_E")C+W-SSWY,+'*GB3;\VV_?Q+V*?;[,1N]IO)@Q/>FM,H MF([#8#*>C!^8;^H./Z7YIG_CP[<6F[G%9K38[.\"Z0?G1LK]O#K%B?GJ&9!F M9?A%\$U=IA0^\QXGR.B;BL;_^>( O@S2O39D> M@PI^-4"A=154AZ+)ML'&!,@:8$20%/FO3W?LXXW\)L&0W(B]K0MFZ*(["B.KB]KV!W;V[H?]$7+P+8 #U^;^(R,(CY*:,L^P>IS4G?#;V]WTJ 6#I*8,3XRGL3?K9TYPY/;%,@ F>(LVK MNFSH*JN@+AQ(_X=&Q*<3X%"\R>#NFXQOZ8/9-QE/G97#2U,7@&2:L0WR' M4YO<8SH!'2X>'HL!1G!;F= *8'.)!\[CNBG-B) +%@()1;<"HKR,^1;UY<.W M:;&M:$X$N=UP"N!,\RW<+4I.>XEV/DL$NP;.NTLKI&DD"(_:/U7TT)NJ3@&A M%(_!;3'6NO,/7@7#'?$QK>\9[$^^:,&.BO;8\$Z,VPF!L )-Y,3@ !0ZQCEH M(;@PKKL%_(!E'A&9%F:F1J%O0)8>V X>S*X@A;+."( M[GQ\\\>BJH-*\7U_?@ (H771E!>H .9.ZM91$IP.<*R ">G:F)8\;Z"3E*!G M54382 C%&:8V/!)(-:T#.'^%0 +%;'<-C*4I:01<8@E'A!] I3(EDG4=?Q* MA$PS=W'6&'W=1$\)W'.5\C5:AO5; \>E4SO\\A/@4WR=S&Y3AVFY402.H-D7 MQ?:< GZGP)[3DI"C1BCF>X_F'X!<.D*U+'+X?R*PM /?YL$?F]R@>%@PA+Y] M=?M- (*F@>.^NOTI^%,QHE^OHVGH9(>[GK<$:C]G%'T1W#!4OR>H!E<_%J(GI%G!)B6=$W#(U< @ /_(5/",H M$Q_!4(#Q6P5QX)%5D9, (.;9G!"X]!E@;9*X8@CCB8\P%O"?((D4":LD).LT M=HPN;+JAW1*JH"JQ/Y@.6J&\]^@LU$1')80J: L94%X"(J,!R8JH!\_< ;,K M8/8450K S28YH+9@\5G3I04%G,ND=WA(I,_VW<&5!H8("/DFXIOBC\!LS#[- MB;/$.^ R7G>(YJ([X$)=[HQ(24!$2J>)2.K$VX*XX-\8?4*+/@"=/\:@4H'X MBECQ#KU> ( %Z)P!5"@WD+64N!( &JFGN"-6/R@+U"5&^O@>)D@53S9 53Q#)<4*K MA/4ED%@X)2H?("DJN#PDH/J,&E&&;%!$Y,8?)J?FEKT"<"\+:Y6G!Y;==0E@W\8Q[RQ%P;[ MV XBKOL%6=\3[^-O L10F1UD4\'30#O5B:$"*N_Y .9K4-"%^P,,/%::NO4@ M2DU@Q!8P8GR@R7@J2"[#+7GPH\%)LH5LCV,!BB9.2KJBOT^-YZQ#H*+NC2/- M'#K\_5^,\3E9!_ %P7_V0K4O_%J,WJ$AHN"#K'Y]'4W1DZ>[>XN*KMJZK'[S K2N>(17#IZ,LISQ!32N#S0,6*W#7F'ZWK,Q\0KO* MFOHXB=.4X%>W6^>9D4& >F41 _C$LBQCQC96XT%@LRX>BA8(1+DMLF+/3!XH M/2%_ >RCM4VI3M@@@6,MP4.83K5 @8&*BQY< !>;3J3<=C@[F""% M!F),5%19_MR!YPZ-%X"_W2Y9?'G,&JUG';2A^ RS@.7A[,\D ZWSTDV1Q(JM MR^40UZ(/$41@N^9TW9RL4HWS;ZS?SMHLHR[^_3X>.QD_S&-AAVS]@TJ$UKG5 M[$UK2-<"$F(KX=5CS)Z:BM<"ZALU:)/PN MOA>E5AQ4EGAC>C8CEQ;Q3^2WK!_TYVPS.P3M!IUQH/6@];$A$K/6$O#-4R$& M:U?V6)H"4@K(#3?LF!/'#NX,#/2T$A3R\@5H%U<1) MEU]4SKZ+3VF-LBYV=CZ[ 4$/K)T1+$Z!QV>U3@0_#U,XS"'4U]KX 3#]4(! M:\%1@PV1B@C5*O9;]H)$X\_PJB;CSQ2$=DU) M/R.@'6J:A1)2.OBKL[2VGV M"$Y4 CH 9@)&DLL7-4SQT0XZ3_#WQ#HGY0!"]")-*W7%VE?(#E1BH>3=WL(< M20WTI+AMEU,@ _#<0IV\1>\=.GJ$3G_TUITERK@!GEVF-3L#M?7\)*H+R(^R M-2U<;LGMP^,:,#.?)B#CR.6IGZ2PTPDN>0A M6!WT)-25T-6+?D&Q-T]9G- VMDUB PD2I0*F5C1[T--KNON?%.M"8R@C MA$/\*0=1$STI: D;A@V049;B5WS[?O^L!;?P<.2P'=@K(51"\:-@'-V7 MQFROR1C8I9]( *5(VZ4:QBYH= *3_8ENL&W($@/MB""NNU,!/T'/*%@_+3P3 M_B71$.=C0_+[/+A*7P#K Q%?L49Y)UB88$2.90\A\ :LH. 4EVQ27Z7P& E0 MM+JA\; MP_ZP*QB>%!EB#FN>%'5M$WE*;'^#-A\AE/.[UJR"ENR\P$&_>@Y ?(E4Q W@ M09 #T:]1T6&0)T6HS,P*0D[^NU<(C?/+>>VTISC!<:A""Y#/AJ\:,1EX!4F M:20"26=OW9\/P?@0'6"4 MUK+H P;H.P=%&MTF21)7K$D1F/0F0'1?NQEY%W3)#G=A\GOZRND[-KAVQ.# M7P3Q%1[SE9),0E"*SGTG-P@F@W?D.,AYE5= MO$C:;^*,!.\MY>RPR-RJ>\!I5;@"/13X*/FT+?7*_;,GNQVT>]T8"WB.(MH3 MD?G/;"L\6/ MI_'FUV9+TH*UH,MBFJ2JE\ M. .4]QSLU_(M! 6[=F:9#KR+4\HQE(2$ZKVQ;#4W^P+T?U)WV81\C?9C.H5(,F5^Y=#(HE.R?'%G.(]B*%6-ZX;;)E&IPXRB&DQM0 M=#GGH[=[V&'DG2MNU^BI48BFZ%O,?BUQ+V G+&,^@?'GA:[^W=()4@;:D;DY MAX':#3$W?)QT6X,&>V(8>5@OP3TI=C@*WLEMBPDUM"4$!AZY;X$0P=FDC2TM MF]1>OMN=7&#&5]4+YG!L([* '=Q#4.3#;(8UGX+T_]B&,0BMD4U;XW1X><]* MTUJT [296FHO*H%YAZ0M;E[)7?"8(<[U@J5WTAS)M8BJ4UPG!U!526ZW=!IQ M*=UP&M;U&>T@"4(Q#@D<4P!+0DX7<[:"T>:WH,BZ\50+J,GG4XDE_&!E34N& M$Z>)H,8E$O$! : MJ3X*R5!" 69JI#K8(I,H7N 37,@3U58IQ-5[:5K+USV,_E Y70!U;Y$S5KMW MF@JQ)F+[K*[*60!#1_L1:SQY0YY4VOG]BT:9T%N@+/B1S+,_:-4=\Y_'AB"'K8_S1M/*B M-+KIG*4,X%':A=(["X_X#F2% "@4GD^*F)A#3H_LJ(^2+Z2>)A")@U?4QLSD M>\S+V;$E3.)=$OD>8#/V%@IW#L]T% M8"'7?PA@G*G*8'O\@#;%]\*=BAIZ^;@C%]Z]P-[[2/L[<%;P$[CL@ZI#B/H. MB=VS>KQK5]OX)WWE)O+:EL[W(!6>'Q-65)0NQN9]9'6%,_%U!JGDF$H:J.@KNU3[MCH3/*"UC#!3VCIO*J\9M>Z3_0#LH6#Q M8#TU#QV=PM6DG^#3@_)?_.CD]@S9B7275CJPA2H'',*Z2AZ0)FW]-'5C[473 M%!A@MF2U;44;V4XM 5]S)+DCE\? 7EU\E3,)DPZ7&$X%?RM2GM#H M1!4/LQI=K+:3IZ>]LV)2MQ M+E)@00B4*[<B7Y )="#HZHQ85/[F\J<$'']HZ]EW\J0*JO75+CK7C[WRK5 MEIS-/DE+:[WBNN&48++6[%KLO/.P,2T7?>>@9.8ZMSOJ 7+.^U"Y6E'[4_YZ M"YNM1#U<$4&*3!CP9&M.**21]:%0*GQ(1C(8_K3L_+9;+<#&=!*L5/?7&DVYO;?MW/0G7<[_=:-K:B/LZ6H3K M\<1_7K2V9?].9ZMPNI[I8=' L$FT"L>+2,U.L_U(8L.?9QG-PO%:[6T\[D!I M.89M1:L'1DS": XP63\T!D"ZGL.8Z<4Q_VY__YY4\Z/8U#>6S0[2R.-4U!KQ M-M_"=)1@I.YVL0H7X*I=;,8]1J$ >BU2Q<**):$[#>@0F:7G\;'['2$3<-AV 'I")Z M+T'"Y5(1]O!ES\)HHMC#('8O(D O?_C)X(Z!!&;1TM\CDQWJ' XI5DF1" M]S(P:+V:/#)H/@TCA5*3%G-SVP?JF.DS_K\@_4?^_7L*TE?6F4L2U:'![Y"B M?S)GJO1W<3]_==,(*'?LGYM-.Z)R&DU #/A59K,6TN+ECZK#GZL M)DL0MRN]"%+^&QL;LY)J>)->TLQ!VBF9?('ZB?SG?EAT@8!0%_6T/1T/^-.(#%]O,9PD53<$+(8K-*1^U/A5O1^[8HL+93["[?;_][N5^7C M.M>>C3B.@E^X6*WI] C0SJ\>]OC$#YBOU M9J?PAL]>E)@_T)$I%:0(W!=WN&6')*=$Q+&KUI;;Z)3N@DR)<^18KCPH2"SM7K,X/TE)U95#6 \YXR55*QQ6?WGEZ1-4OM%Y>C*<)BO'=1GKR!DZ+??F>#QYYQ MXG/XDS"5ALTVFS6-$()645GMG@O,6MV,#M0 M\Z6P('%A!"*$]% Z\'4(,ZXQCR4I"RELM5:U"5%3 .SVLMXZPNV75,(1_^N%A$#*IA.UU1X,91\'1*58^61R,X' M6IS0-S8G;9B.ML8<&?F%%TE/"PRNP+DLAQ_K%L3@SIO*!$5OAQ8PC#-UP#!_=G"R_=880A M-BKSX!83MCG("GI?"3OA"CLI;>&N(EM,P.20*,=G7>F"+_GRJU4U'B&4 $#"K 89\H\=[BI;VJ5JT'QKHS M9MGPDYL+[F93FO@C)OG$HD< :I0@K!+I/2"I:2Z#T;1:<*#STTTFU0(7TWA\ ML;Z-_0M*47,AW^F(>R29VO=RJ+@FIV- MNNB7_O\A(NA3L(%7[S'F=..0;)D MUS\J,J+8'Z:TP6&H0Y7"$L=1AK%$ &09.\5RJ2#+]T+:Q%L RZ9VW'0P5YY* MKEV2!@8_W79\YAP57%54?Q_:30HYLE[=KQ9I"2Z*+CK^S GNMAJ0;[U]+'\# MSHJ70SW$I B=B*?:[A,;;7;(5$7*NB9C@>U6X^ M#Z9AI+SE^'FFO!#H=IBK3^CC709O'9GEYJPK,%VILK?2^YZ0J?*IV;_S6>^K MQ7H.>^\@X-4&%-9=6K_PMFHK J&^7:YZWUY%T8O^TN$4+-37-OF;)14:,82/ M*2>[>TRT943%;L>9"8RIB,.Z<>35.IKVU[I:3 :^Q;_8NJ&_W7 ^7;RP]JQ' M7%U1ZUM764ZGM$;*E7]L&>T1?\K8]PU("B1U=?$ZH>FQ.99/7PZ&?C"DD),X MY.1-83ZZI\%C\UR$,&#WP"W1MXIN^@P>(U/A9*8)91%.%_JS\L(_#Z(H7*@O M;'*_;;E$?7<&SB->+9U SBPOHE^I5M(P]ML?"L->>=+;8"R &7Q;_+ M0:VPB!C&;PT7-06=HB97'V%3H.FO>!E4\I7NT9&RZA%V?T2UBM.XI!4&ETS+ M5KO72)XKZV.Q-9Q4\N5], 195_AE;Y1<(B[OVBO)H,81=?N:;RXR[$(18>S= M!VVK66BT7\W2HEJ1ML3.MG>$(G("I@B'"2T+M0^NDT!!H@J6496WE7BMK5],;'/"4VR#0C4Z)9M/F*J(TO\+/!$H?06F4!5/!*&E M2NR@Y'>X^DVWZQ:/#UAGK7Z4!/AE;9 M:-7N/]Q)[;)-+ZI6BJHNM=+]$(?P_)^M.CX6\NJ._S-JAF_ZC9R=+=0^8TV4XGBU[7R_"^7+:'PP:W]PMK-R!25<% M=+K*MS78#>L^J>_PA#1?-S?XBR<+A?Z M]H2Q^GL#O7RE#9-)! !6=H*]VOZ5_A6IQ><6T[5\&'M<1@M,,M ],)]'D^EH MZK[JN7P'*!_.U>F81C.UOL-M> =6=M^*:MAB=EUC;&7=>Z7/_:!RK?LC6U[(2RG:OD":G2[VX5YQ)7?%1F'&Y=6^<)HB M5 =)YJ9Z:5^'S\6$5MLSG[!91:4Z.03<.(>+! <].=;+:U.>?5?-P1I06PAE MHQ#V/)?.C]Z2Y]$(3(,-HU7;O<7^8ZE*LH45#DMS;@KRB1Q9())7X^O5_#/O M%'UL<1?/!,C4032Q>!#JMH5V$H5FI#506S36O&QXZ*BCVMCYQ,?'O*((0O^: M7 \@Z%8\!1X5$N 9/T7[�>D:'X7)ZZE^IT! MS+?A7XQGGX@AL'V">A2NDA%L?8T/37>I%[K2N+CTY>%97!DV,1*W,VQ TIQ2 MU9>@*&%FBLIR*J2MD%83VKK!D04!7P_6?:44SK WY!$4%J;K\M$W##_8^C[3 MUNY&W2X[ E<@,;AIZAC*O?>1A%RY.,94N@,]=MI+R=2.76L$IZGJID(IW,TG MWA%.=QT%4M#'AGUBDF[VAHS>1^I)=B#/6COOBZ M!\?LB(<]QPSREAA$##KR#X9%C,J'W&N]B"(\H@;9S M*7Y!E]!_B0M*J]EH\AG]/!VM/^O>ZB^Z +"%ASIL:[#/IF(G;1,YD^)'=$+! MM!A)Y2:?94S8@F_[Z?4:4C?Y?0O]74] RA,4Y#0#1E +6UDN8_9^OI88LNWHS3^>#Y@[)-PRMZY;%[VM%6QYY,N[K2Z\+BLR[@B)XU4!ZO=$[;8ZS(N;]Y?N_E'X6DT8G&G',/IABH M0(:-)3T**[>XW!D831YS#EBWU1J;D(QM5;-I*VV$HX;DJQ5OI+B>CJ_M!ZL,0M81R17LW"\G,HSZN!/W_,/CX:5(HSM],.)Z-N(%L'WWNO8W80;NHK" MQ;0_PW(2+M9+"=3VGX;CKL+Q6+NO5HMPJ9Q5I,QC$:SHW[N!62AEZ_=?[9_E M]6Z(ANK.'O(I.6?A%1OA5G5Y"B][H0X]#Z< !&IXW;N#=3@%",)O_:@B7MM\ MBK_U/6UP=]%R@K_U(\\11H\CA*V8N7WOU9+2D?G>&/7>6V;5FXT*4B8PK*H$ M6/(R0>F]_]JJ9'WGV3*6C<+5J1Z=7"\TV)\"[6@,F43A1&VZ] ME4$Y)3"NB%V6G"KW4"]?W.E=6M8^8K1+=Z"L5=+IE_H2NY[?FV)$:R2LXPYQ?(2'S2QNCAOH#J>3'T+8+--TW M7\D;"^S&0M<(RUHL>\XF!<#@"T!":BUH<]$&SVCSG;FO.0ZW'=S)?T6J#@RM M,5S&;7XQEN]]O^K-!JJO%?9ASO>4LF)?%:><^>IM)3:!A,,9UY857'J%'^W: MYII)>HQH./B3[U!.[H-V0W;[3AC0\A+J+\F70BJ=^,TH9.->QCAZ,H.X_#(O M$NLM'T>J1JBX,[6!G') MB$]W7GG?GH:%2QI2[UQM!T>U'8%C4_W>&[BMH9R'\XNPW\7E'M\OE)D=/ I6U/P9TYN$HS"@ Z!T M !@ !X;"]W;W)KQ M'3N)F[1 FIG9#=!VBZ8S@_U(2[3%K42J)!7'^^OWW$M)EA([Z6"ZV/WB!T7> MY[DOZG)MW1>?*17$?9$;__H@"Z%\=7SLDTP5T@]MJ0R>+*TK9,!?MSKVI5,R MY4-%?CP9C4Z/"ZG-P9M+7OOHWES:*N3:J(].^*HHI-N\5;E=OSX8'S0+G_0J M"[1P_.:RE"MUJ\)OY4>'?\[OQOJO[+NT&4A MO;JV^1\Z#=GK@_,#D:JEK/+PR:[_KFI]9D0OL;GG3[&.>R?3 Y%4/MBB/@P) M"FWBM[RO[= Y<#[:&IQKGPYE>IG?A=YI42[Y7TE5.P>/"7QP'$:9+@K2J'XF0T$)/19/0$O9-6TQ.F=_)7-.U1GK:4 MITQY^M=M^#2ADZ'80TO\],/Y9'1R(6Y,4$[Y(#[)H,0G[;^(]](@?&B;D"85 M/RNG[R1A'9M]<%4D<&/$5>ETSN85*&$K)]1]:4DR6KZ33LM%KOH$O$# T5:L%2*WTK!H3MW9_$Z;E4A 3@>Q ME(G.==@,Q>=,"6,I4&4N9&$K:)/8.Q9PL1$A4U[M$-*+M?3B$"EH.$)XY#E' M.M@O!? 35+%0K@41R[!R,JUDGF\0NY " 2$=L?9Z!8EA33*"3!*R,/XAK9.]5&*-+70B M,I6NE!^*WXQ7(>2TGYWAH3Z(1O_W-S,#AT6'P"?'DXG>REP:X.66*XLD5P/8 M=PQL;=@RD]'%/[#5B4\J49 6*/*\/KX0D*JWY;K6ZQW 1HC1D+'9^S>4'L]J MY=;[+?9VH667J#:(B1"1DB!'F;1#+HH@I M4%$*W % #CMBOS+ZWV1:86 5=8I%- )99N=(CZD/:EI MVX57CL%:DSNBIH"R:%F!"BA7IK.G7F[M#N@YN[".78HT4X@EQ <]=]*'C.M-)!@TH:DD,8[O$D5NT#WY ED7?8SD.OE;:D7T!.3)& MV!#(4F)L2Z%)FS5E4S1L)>4ZO\7#Y[Y_6)38UP'8/KJO]2NXLG&),!*V#IDV M#[:(3"LG79)MMJH\V%%T<;=$!A_4T-T)L'HW![FDF$-XD*APEO9/5XB?D8[B MZIA6QW/Q@N6UE<=C_[*+OO_-][YH!,9VZ-2Y:@NU-N8E^?,16DG.OHI8M/! MV63^#3NND8CA;LKF2CISA'%$V$6N5URT_9]483(;S$\GCQ=N=E28I^CT:#SY M^/\(48_#X?L!:C8:G)V?_TEOU(>^#Z!.!O/1[!MV?&= G0^F\[/]"_MMA]8+ M"2Q0;:-DBW*/1)9A],2O6%30@ZBVKBQ1S]F+DCMU%7C_&D/PT1=#V9T:41VJ MJ 2E9I0.O=+4A6/DK5S,IER1J0;7#0[R+G4KL6UO#R06@L7BW:G\9>GL/82E MJ:"3SM.*VUSLQ9+/K M'/"S47.N1H'. DOV^M@XI/5;AJK2FJ8D/2^VCRAT+ M(ROM-=HM2?.*L0[U*E:@6+!A\)3GD ;GD7X4\-H6)9HL=O'9!2R#)P&>X[+8 M#C^9RNLQ1KOTJ)0.?EC"9B;1L%O/![K7')%)43W3?U6^Z=52M4"+BJ+,_35M MV"/*ECUH4D=85@!L J $S$#U)$!%EOAMN ^(<]<^E\E8V.,XER2NXN:J]D:+ M,38P&3U*U1*/-.HY94&^H=Z!:K&W, .IQZX@%GL'Q:YLW*'L1%1?#FH!? 5W MDN5Z0QFWR'DOCXC2PD;N;:85'? M$01H2%4<82EB/.G8A_:S/1J)MX:69.A-9-)1HU2.;PLA2X.!'5FY312M8#S* M3X=GWS;('YX,YP]V/BI5S+Z3B]@%-$I'%_1&S _6--/S%6]O9CT=QTE*!) T M9;OVQEO? U74+GFF7D2S2^1QNXA=*^S(5X@J3D_U=,:F6Z+/AO_1@J:DD?;[ M<-'F08+\\R,#^;=.A1%PE4?HE8CG6/S;BM[E\0PV:@$E"L*&6FT,&W0#&U,' M6<5A&*N >T*@;Y!<5C@KR5/;2Z<7:K@:#NC24Q=5P1(6\IY_EW+#>P8H0V9% M16NY-3/@IVV*9T"@H2N+):R8)Q7&Z#CL;-H[#:2,@5 A&;YD\DC!.<\OG9DG MHMNIE70\@R^K0# ?3NKF;+9^!#2&X'6WZ MP[,"5_(>*BEQCE:(F02F-:LX"2-&Z\0..;NYW?5N)F@G^%."'HK;9Y#$PRTT M08W3*$%)>"IUU?''(=4"7E(J7*FV@TADJ:F';-,@YE68C[;R%,EE!!I&C^IX M@4/%D8W06J[#=XB@WIU,!EW'K!5=EFW#KPG39R5%\5C1UJ6SA9@/9S^*(S$^ M'8Y^[,_,<5)>T+L0T8DSLKRA"A?O%)L+D*T%F^N]9^#!GJ"KQN>"_T4=V2__ MZ[/M![H7Z[X::)_\$RH\6&J^GYAB]X\C34Z&"18*SB#TDN%B).SJNL\&)V'P].3N?;]2MN MZ-KKWXZC.R?.)]/MBMT13UF6I*>,; AA?\G9N(N.M5\MX3S+=I^VNMT7'G;=O MA7(K?L=(_2-22'P1UZZVKS&OXMN[[?;X#O2]="NZS,[5$D='P[/9@7#QO6+\ M$VS)[_(6-@1;\,],H9EWM '/E]:&Y@\Q:%_NOOD/4$L#!!0 ( )*"6E$A M_6DYNPL %$@ 9 >&PO=V]R:W-H965T?K1)9F)ON\U,FF3BM/D,D9"$-4FH &C%_?5[[@4(4I*5 MI)G=+[$H 1?W>3T:CB_-*ZOKDY7/^[KU]^=PTOM2U>F^%:ZI*VL<; M59KMBY/Q2?O%![U:>_KB_.7SC5RI.^5_W[RW>#I/4@I=J=II4PNKEB].7HU_ MO)G1>E[PAU9;U_LLR)*%,??T\+IX<3(BA52IV';8LI%.WIORD"[]^<7)U(@JUE$WI/YCMKRK:,R=YN2D=_RNV M8>UX>B+RQGE3QTBD[\_SN/LF[)X >G5>5$T[9!Y)*JGF5KVM3FM5C)C9FB]U\>%U M(:MEB<6Y-];!N:2050Y5V]HE.W]GK6W?Z@R(VACK@_VFL8A"OI:USOE,*)@K MTG0%'//#+N(0L(1XLR4# B#JO[!R3QU1(+9B*;45#[)L%!U.OB#_2%[@K:S= M4EF* )G\#0)H"0347B^U7)18[YSR+FQKY93X29>0 :7P>U.I(H.)>=EP)"4" M5YFF]C##BI4QQ5:7I7@&)_@UL@ BW-F/R=YC?V^/V7*X]5:ZM=A(#?6\R$OC M2(U3,1[-L^OY2'P"]M,WN=QH#]_+XC\(/7D]29A>9Y?CN7AK/&S2L FF>D,& M5)1MB+/M:G(\RT:CD?C9>1WJZR ('L>1>"5M/0#=0;E'.J^3<9V-(:)]@JX7 M5]GEQ5Q\4+E9U8AW$9WH2.3WA.2(F[BFZ(/"=NC,6IV*V64VNQB)&T0JBFSJ M17S(\Z"(5;G"%M(AN0):CR;B'?(&E=@@/+ Z*IC6S+.+Z2RN*4V]&@ 4JOU5 MU].Y>&_14%C_R.>3?IN=(%WBK&OQ[S:ATM?3;(;O7_=]I&LO 2@]=[6KY[1Z M)-XHT+6PQ,L#LQPT+B[LM$9&3"^ M]%X1'#'\F?CBVPVGYZQRQ!N1T6N/J.D M74@"YP/*J90FE V\,LF8S++Q]<69N(V>*UFK?C"[I=ET>GE&^EA*3O49K9=3 MX0BSX_XGM\^RJ]GUF7B3W/^%H\:7V?3ZZNP@8D?TNKZ"7H>9W,HKLX28D@LXZ7B80*2+C-[OZ33L$A)P#_+@@F*IC6^L$BCH MVE0Z!Y76:JE)DM6,4$MKJAB[?B<2-B)2\0EGOYF0*W,8[L;@/\ MNFYSO/7P(:T7LA\WL<'U"3.VYL0^:Q?FZM-WOZ MRX0!J=A[1F2Q\6*:=@0);3580PFK(C0O0?Z(D4=[LF@\PTXH$)>RL=".@2FX M(^9=U+WA[$*(M;L?!++#LG:'L,%<)%A*V.AYJV*4> ETLPHI7(=, @,72M34 M#89CMLBC7E1H_H%!=914:K4<4(8/K'F4)4 ].*+U :)6@EXG['U2- M,]"A*5D]X0KM@B>RU-F$A";+6X&1="F9*7/55B&I$,'04:VR#>>_R &8C(=SL4/PUXW M]8C280[MJB(54Z=5:)%#Y!GBL:&C6JOHTH&.@D7+I@1B/^!\@@:H5[-E=.Q3O,&7$)*"\CK@4H>-@/2VQ!/&* M"B0F8D[)CPR.]!6B@1+JD6J_'(B$O8S94Q.JWL5+E>G5I/7=:Z2!)8[]$.OZ MU@!+BB;5>^BP@:< Y#$@'+H-3W8.T!T+@>T!*&91C'E+V66.R:)3RMJ>(B* Y"$7 . MQ6P*Z$/CE8N:Q.>V"]D=+X^S<1SCHA?3%/H,_%5R'OR]&>Y[__Z1//\;DT;Z MH4.)WT-=O]%+=;"]6_4+P>X?C%0WD3HT_IWROH9UG$PP,'YG^WA+] MM3]]>(+DVM\F\U@Y^[I=L;3;MI?XT.\EOJ[;Z(C4V8A'TH^&YMMO]?)I.PSU M<^.IZ=4L2KV2;6.XSTJAOUM3:C/=4LUO3:\!0L'2U0]RTCQ0KRLFEX.*[@;1 MEEM-+4'B\(3D!-(=HB81?4X_'2=(1 V?7K5/H>1Z[2+W@P!MN.:0AK]B[TY7 M0Q>:P"YI2R/N=-64_3;U@'2)0EK>K3!MH0S#3<]M1Y),M3VF;%NW\>7P\H?= MEJV5#W1(0.)VFE_R8CI=THTVT[, R]\KNH.P@:C#B!XY']U.LW!H_,@#[1BV M=TF4?8NG- %CM),IO^=K#F>X#2/[0MCA",;Z!%7JR(7*WN'I+L5]57'NHGJ3 MCZXP/>HP*=&X'E.T0\'@'^34;/\GR7MDV$_^>]*RUVM%$7.R:/;[>,_O0U,ET/IQUMKZN>1M+ ME4415(QI$-0\Z-8ZTPA)=OQT-!Y0C&]8GM[PO:;T@]8'W]!Q3XVFD1&X5H7R0+W7.5]O4"X1JX9X;2FL:8!WU3@00^Q43>\@=<3>R MY-[GCM\$QI/W;F#2!8_[W]SPM(,\CXEYN/?L^^#_>:$#]HU7V?UDPNJ]$CD64R1=BO*0IF$6MQ<,_-3Q$>#16XAL]X8GP :+7ZVL L:BAWL5\SS" M2XN'NXYN)XH6H]-8@35@#D67'Z&_7*AP::Z7(E?62ZJDG3P+I$Z![M'ISJ2) MN<&N%$V4=PTQ=CR3;D76J@YMMHR6]@:(#M'Y+A,N,X^I=^"Z*DO, QGO[6A! M'B97T1)?*@CIF.EZQ-%[C<#VIMSJC 6>+ DBN.66=4=P8:1)US:'&O/[($*! MA$!\3;YA!2)5<9Y$CFL%Z_X<$?)&U2YH&2]W0[O$YC)A\F95#)]Z67G>>\W+ M+_OH93:)1?L0WOBF;]/[\E?A-7&W/+QL_PTAQ5@C2K7$UM'P0!)9G8V0*<=-.T4^Y&6:)N-)'I(RA[OK]]S*5F2'2?8 M8CO[Q99(WO>]YU[J>JOTLUD)8=FW(B_-S6!E[?K=:&32E2BX&:JU*+&S4+K@ M%J]Z.3)K+7CFB(I\%/K^=%1P60YNK]W:9WU[K2J;RU)\ULQ41<'U[E[D:GLS M" ;[A5_D9+\23L;^O/&F^CEDLF"U$:J4JFQ>)F\NQ_3>7?@ MBQ1;TWMF9,E"SMY^5"K;RCQGO,S88R9**Q>2SW/!'DO+RZ6DQSMCA#4>^TG8 MZY&%5*(=I8V$^UI"^(J$A'U2I5T9]J',1'9(/X*VKBJ(]PO M_+H2+%V!1!@F2V;IE6N]D^62\4)5I65JP9:M/"T8-VRA>.1%4&>IB+ M=RW7[_W_29#.,N4Y>Q)Z(U-HO]_[0*B@3^\=_S^))5#(MO^M5Y0%^3W/>9G" M8,O>BU04'7BS%WZM9)&$FH9%[QUI6&* M$6P-E2$J^P/ 0+K N4]"L)^4%6Q\T;*:S)+V.9EZTWCZPJADYH73"7LLUL!% MBIYIK-,"" ^W_9L[U#RF.P^\P \N7JR[Y9,N)!O?<%+R@BB,QMYTZI]2>1;/ M7BQ'4>B-Q[/_W6O[_UGDC?V7:@5C+PE?.C*.O2B:]"T$/MG&Q :D>C&._-CS MITEO)0A";Q9$O95QZ,/2+E?>5YHJC%8)8[ MMA::FK7(F+3DB;)"FK;%*7%(:A=J*PS%VZ"!$7^4::GZ^_">1LE[5,QUS>=I ME7,+S@N<81N>5X+J7+OM@O^AM+0[TJJGC\N!V96!I+723E)5DF9V!6>M^$9T MRFT%H,/(90FD2GEI\QUI);ZA/!$TCA-+3!YD.8A+%OL_7.REP8ZU<"W^2% K MOX4LI[?'MBL) +1;=5HSIXM&MCHU.&67AN4KGKWFB$Y5Z'0HC5; ,Q<<+@]G M/PP/@BHU5@]BB@R BQ%+LM,D%PZ*/"N"IFZ(*76R7GX^L9/&M%.A#+7%.(I,3'EEP'V^Z]Q$R/ [SY^%;A/#%,@L&-@%KXLJ64TI@ &5 MJDP>IS'#2J$H:RN3HO!=4[4'9:2E>68+K0I 4.;P"?7(LXW0YJ"M4N9AV-;< M,1?E1FI5$@9;2,Z&MUZ:PH.![;E.B=I[3)&B!T?DI5E<.O8NGB1455 MPSYRJABRIPJ!.=:G)JGE"IJLC2B=6GMY/1G-2)"KE-<+2#A,^,_"E9+8$0#C M74*P0;-UI2>PH5E6.6>UP0&AMS(TZ+0J&MA\97G/ H[Z MER"/?7$U>%=0Q343R8FE!W=/$H1<>9V"*[DV+&"7+)@<#%B!-T[Z0]@YAHJD M/\^@'\<1.G30/Q3[7AQ$%VCRZ7.NEHYQQP7]>^IWCCG'NY_$']M2+ M8NS^JCG2B1?P44CL.CWCB3=-)CU^F'L2O\$4X]1D>G#*QU(<=J?H/E#/_2A1BX8SKRQO@"\]'0NJ9-N9 M[*X(=0@)_95C'?I73[B>HV0\]E&40,+Z[G*7H4F@LG3=;CY\6XL2W<61!%?N M4IZQ:JUJ&!)M%E-!5L7:I4A=E$#U%L#FD+"05.- 'EW0(*=I<+TF='F0J,KLM^#8<([00>BT([*JFY.8C;2J#M MG":,G !EU^D]?-._\R8'R8-ST=S 7OCQ0=5 M+_<['U%WT$ Q\JU,#0B>VAJ M/4C1MQQBO!=5.V!X6'.BCD([_=F5QDQ-X2J= ^L[OZ [_RD8V:*-G\7#<(_( MCO(LG RC_8K7&^GRW5\H'5#EI,]>2/>[E6/I^]2_.S7?>VQ1V:I+Z4,=$0;Y M=N? #/$7WI<).1O3>R!]?-UL;UL4C?,ZZ%D]?I)#*:DO4/PS+TH".M0!8HCK M6>#W&718& *;XJ2_%_5>O$DTZ>^-.PQ-E/D2[ M,XHK8#$^MN_4QYI1[W,9D&KI/@JZD:>T]9>S=K7][GA7?V[KCM5 QJ.H#]A<(MM'DA >W7V-O_ M %!+ P04 " "2@EI1_,_FX:\+ #M(@ &0 'AL+W=O?"F+RKT8 MK;W?/#T]=>E:E=)-S$95^"8WMI0>CW9UZC96R8P7E<7I+$G.3TNIJ]'5F]H7NE+OK'!U64K[]:4JS.[%:#IJ!M[KU=K3P.G5\XUT7R>\"^M=J[W69 E2V-NZ>%U]F*4D$*J4*DG M"1)O6W6CBH($08W/4>:HW9(6]C\WTE^Q[;!E*9VZ,<4GG?GUB]'E2&0JEW7A MWYO=/U2T9T'R4E,X?A6[,'=Z,1)I[;PIXV)H4.HJO,LOT0^]!9?)'0MF<<&, M]0X;L98_22^OGENS$Y9F0QI]8%-Y-933%07E@[?X5F.=O_I)+;UXNRST2I*7 MW/-3#ZGTW6D:);P,$F9W2'@BWIC*KYWXN_$^9N"?RK!5YQB+/_@NOW2N!:NVIV\A4O1BAF)RR M6S6Z.I^(0\GB[W^[G"7S9^$+T_LBQ8MV&,N%7RN1FP(%IJN5>*@KC)C:R2IS MCYZV$G[T.^+D5;E4EH/5Z9G&P>GX: E%%"_3)^*]VIIB2^JF5F7:BURFNM#^ M:SOW1)Q/QXLDZ0W,+L=);^"CLJ4HC*R.]IG.%WLSV_%%LC?^J_'*"6\$H1MT M-KM*67>L]ODX672KSB['9Y?S]O$MW&^!!(C/L;V#WIO.NN>/QLM";*RN4KW! M)UF:NAJ0-)N-%Q=)[_E\3XE?E'-1=%U!AO7ZWRH+6FGG:EFE"BGC_+%U#V>7 M%X^.1^=GEX\.M"1I8U$I3KH_N@U9,.MIW+<$\1JR)*VM57#&AO8QQV%^>)$\ MZIF1C"^G%XGFT;9>[-R%W7S6Y MBXH+6?E+/RM?5UU54/*/Q4XASHKP4I@:+5)5VMBC2GA(=4U"9LFS9@M^G#Y[ MA(PQ6TT"EMA6N*]5IE/I%5FWE-6M&PMD%-JT(SUIDZ6Q-@!$*@$\M$%N32E. MSI)DDJ"W% 5Y!\5P-1F.@9?^450W"1.BY8&? [TZA.)KHY]HZ\K6"%16I MY+RLO)9%00H7M =EP ;[F8K1!J3.\B8I0#RXT3F%JK6J0!9E9 AF_0[NY$@@ M?: QATVQ;FG06D+0,QF*#B"'E1E9?QS$Y8"ZV;$TD 7]2L"S-22U=0G5**=,;,'$BFV>$!$?U:>B&M M$DO%LUKX-%O59"7Q:/J2T_\H)=_2@':QE,;B).FK@'$/GR]KSPD'ZVEU6TA- MZASN7C-$T%25YRJ-@< R1%"4"E0B"[G9:0?3DV_M.X@%\.=:IVL*[U)3Y-L8 M@ 5M-4C+7E\)?B/$F$[FS8;C(2.^TX64/,@F;R6Q]<<,3R#U9 )5T]^=:VY",I;Q5XC/J%M.0+!OYE1+, M[:$RZXPC3@#BZ62V>$!+YY,+?(B:&ZM7FG)(KE96K0CBC\A"G-I7J''K4A9< M3UFM#J&$@1U+]WD<430V:"TS=(+I9-$&FF'$$[9DI'[;4!QY=3#D32M#IBX6 MD_-^M1SAWYYL2M63^7PV>=+?/4Z46ZD+2K5)U^M!P4(,_*X7,\L=<1,(,Z%< M3^<:P&[WDB-TMY?4+=[30F[B;T/?:'K0S[4U&9!+VJ,Y7"182YLZUB5',#R9 M$X8R11'BM =4.!?? M3&*#M9Q:H$J,;:S9!5R!GJ,^%Q5X7, MX1RBLL,[HIK!20%W( _)$Y2!*(C)LI">GE4E9[%N>Y[LG25TZ'%\8&_23![) M_]^=,0[?;Q!(4^B,(3\0O-<5L3F554!;LNQHR0%'N\Y^Q[$:RW]^^?KC3]=[ MO),@ND(AXHC +Q W13&&%SS,)C@&\ MR">4(-6S?W^_HL:KJ$EK%%'S#+J)) MV/(WRKD?YZWA5&V^38 GX@'>H"Z]7= 3F_7@OC3N#DMA_32LGX;UL["^GRT[ MOOF@]@@\DRMU4'YHF@6H::\S#!;AG=@A=@3->YT7C?$W^G%)=F_S# M^[69%LE/I%M;D IC7=,5!A /6RMB/&2]+I>U=8I9"/,QAG87$(#J-]..9G#C M" QHJ=:RR,>H3W14R.\9B[;D2S8N+*R1/5_(KP' MM#"]-2EZ(")C#)ZMK;$5T@BK M5B^;F>0MFMMXKLD.'# Z:6!!6%40+\<4HM&! R;4U]6I]0*(:6RM%_9?: MG!1I(74).,O@@A5BB#R14>">/! X)%%=>/9CU]69A@>="!J6Y#>_@IY/&1#KE"8.'WU2%KH,I\0*' OD"@,5]6 M9FUKIELC$O.="(HCYS> X M>O55K$"'J]A90W\_C !P-N$())/YXL=$X!NNW^_6[2PJ$' MDU.VP ;BV3W6 3Y:VW@V\YQT6U6XZ$]8W$Y@6AGB#8980B<^J!6HJINX4QC0 MC 5,JQUL(AQF>4IB:63%P(-LV!*^_KEXYGI,=\BD> SO^FEPYB\J0OY[]GCS MY2O]!6KF7_ M8!".JO2K2587*NOIWJ($PWA,_&/ZR5F)C>@^)3J?+UB"N>, [VU?:"XRE F&)XN<8H*P/RY.RO>!!*&W^%++ZK%W+O/)^<=V$- MEZ/OXV7 WHWVI[4NU)X'VK@/)K#A"G8;E6JT.&Y.*U*K5^)#G%Z';LQ7E)S8 M0ZZG8F^\]!A._"X_H08L\X=4$JC47+HXQ-*%Q+!=A=IS8Q?;.R[HAC2--9K+ MK;&!P !2X^4"BC+>F<(YW.124]/-#'4[^N%@RRVGA'C?G4)B+^V"]BF:IJN^ M^5S\O>NDH2!]FR2U5^ZOPI7[V_TK=QQ)-XA"@^7\(P>4X]\\ A?!4ID&1I4' MFD$W19H*=Q<[>_\D637[-9=O[35_@^=A!O. :O^ &\_.=/\P.Y],NQO&.ZT, M%TR_U]7A#1-I['33ICY>?V@Z7[S9:C 17[8G<.8VQ$[ TTH\&,M-3!W_8!%" M<[?VE_WKT;MJES-HJ22QJHAMX[;5M@@R#K6";0('VCMIYV(^P2DA $@'@-3O MP_W#-08+VF[VW;[BBRGZ$==2T8N.*Y*\7]'ZU^)&6C342K9DBN]#_W].6-&?^3L;N=_DL4M$9A>#.Y)U.:"](=Y=9K\ M96X]N]>M;:+.AWUEZ'>-DLZ'EA#PP%_'GOES[DB^ W3^BB3K71M.)V+H!_33 MWE\08."*_VA![ 5D)?P;H1UM_\MQ'?["T$T/?P1Y$R^M"I5C*=U;C(0-?ZX( M#]YL^ \-2^.]*?GC6N'H9FD"OL\-G!T?:(/V'RY7_P%02P,$% @ DH): M41/>*Q^!!P :!$ !D !X;"]W;W)K&ULK5CO M<]LV$OU7,+II/RF2(B>7M+4]T[B]:6::F4QS=_T,DDL1-0BP "A9_>OO[0*D M:"?QE^L7FS^ Q>[;MV^7NC[Y>NOBS:I+:?A^NXUU1[V.&S^0PYO6 MAUXGW(;#-@Z!=".;>KO=[W;_W/;:N-7MM3S[&&ZO_9BL\ M7A;\U] I+JX51U)Y?\\W[YN;U8X=(DMU8@L:_XYT1]:R(;CQ9[&YFH_DCKE1#K1YM^LV??J$2SVNV5WL;Y:\ZY;57NY6J MQYA\7S;#@]ZX_%\_%!P6&]Y^;<.^;-B+W_D@\?(GG?3M=? G%7@UK/&%A"J[ MX9QQG)1/*>"MP;YT>^?[WB2@G*+2KE%WWB7C#N1J0_%ZFW $+]S6Q=R[;&[_ M%7/?J0\PT$7ULVNH>;Q_"]=F__:3?^_VSQK\1,-&7>W6:K_;[YZQ=S7'>R7V MKO[_>!_9?S7;?R7V7_U=>#YO[LU&/6M1??N/M_O=U0_JSFK3YP6_ZE,<3;J\ M^YV4#H2ZJ_Y +:CD54TAH6"5I8.VLBG08;0Z^7!6M9A:*^-J.S8X2MG)H@XF M\@-L31TIQW5A5>W'$$GY5E4C7E.,&SZ3)4%..6*;'R-VQ3%H5Q-V'"F@YB,[ M U:;WOQ%JC4.;PTLXIA[I6/TN$O4H"92QR?BE.R='-#I(RF*R?2RB,,8@C^: MAF_J.HS:1@7=XJ>5KBPIZV.D6 *VLBM#T!(_?G+@C)))YJ!%1$K@L.[[0;LS M@U%[%[TUC6R\Q! 3'DC:X&QG^DP(%2VS*MX %X M ->0628H_(F01L10Z]BI%O(/W\("(0#7&(85?K8PI@YP 1N+05!#TLGZC^18 M[CEG6*U]0(8W,[T_C8$0W'3[@6/.RHG UFK0(9D:Y Z(#%'A5%=:@F39H7-P M"E,8Z^Q,H#]'@X(9A9Z#CT@8!6F 3%[AF3YS0E2%$ !>C"-R4 &Y17B@>S)I ME)/NG3\A70@#99B MGI[ZD!E])-?P]:GSESHX>-\([)'"T=1@>3[A8G0MITV (:UG=+6>#:9.9XIF ME_'JGJ;(Q68YY:EMWL+ 9!6 82!J^DI$8F&.*Y-S10^8,+@L<<]C@SX#T<3R M@QT;]6^ON+36C!;+&%-0G_B*L6%^YZ(&,,P_,<[*^(54YVS-+O J(3.G.-<0 M6ZBHT[852!LOQ[&'0#^.=; ME2M.>OA"C]:9ETB8I:SEO(T;C.@%B^]:( $Q[_F$SW@E[2"?.^$BI7L2T*RY M9[*@EWJ%H0.=A:4:R4)[9/+RYH7<8KZ?+[#S('A4'IXY+4RSJW/*H M'ZP_4Y@GC'EH '=&.+>XGQ*QF"L8R&R!U"'X<5 =H2RZQ2RICOR)EH><(A(" M>H?/)J8S?*W12U#/:%OSI2L@ M3'JHN=:+*%UB@6!W!AP1R90>5@::BLBA-$RS%E>+@$A+80MED"URC[2%0MT\ M8M5DCKG=2!$_@J<&/JC$C,2,P>=S+F<$X]&!QP+'L0#3\*(!2RT/FH<,Z$5G MGF728[:(P<\(DR-%&8 2T]R$X@_-"Y:(,W^JCQI(H],%5( ]SR7PI2^T[>+K M%QITD&_\*#-PRA_"\]/Y9X0?\]?S97G^#>(#4 !^4-(66W>;-Z]7"%Z^Z_-- M\H-\2U<^0?#D$DP',WD!WK?>I^F&#YA_7+G]'U!+ P04 " "2@EI139V/ M/%0' #S$P &0 'AL+W=O@HDK9>B>V9.,G-Y4/N//'E^ADB5Q)JDF 4++ZUW=W 3[TL-O> M]+Y()+#8_>U[P9N]-D]V"^#$C+!-64ISN(="[V]'R:A= M^*HV6T<+D[N;6F[@$=RW^L'@VZ3CDJL2*JMT)0RL;T?OD[?WUT3/!+\KV-O! MLR!-5EH_T+?#CY 41 CA/$]\!QU(NG@\+GE_A/KCKJL MI(4/NOB'RMWV=K08B1S6LBG<5[W_&8(^4^*7Z<+RK]A[VC0=B:RQ3I?A,"(H M5>7_Y7.PP^# (G[A0!H.I(S;"V*4'Z63=S=&[X4A:N1&#ZPJGT9PJB*G/#J# MNPK/N;M'I[.GK2YR,/;OXM/W1KG#S<0A9]J?9('+O>>2OL!E*;[HRFVM^%3E MD!^?GR"B#E;:PKI/7V7X"'4DKN*Q2.,T?H7?5:?F%?.[^L-J'K&][MA>,]OK M_X%M=,E\K[*AQ'MK:YG![0@SRX+9P>AN$8DA^[_]99$F\W=!B*#7^ I?I:E4 MM;'B 8QXW$H#W=:]M"H3T!+42&"9X U1I/&[3P^/_)2\^T$H*S)=UHV#7*P. M(E<[E>,Q46%=4!5N 2V[+8@]!SJ2R1T8S%M1->4*>>NU9V_I"0^4F'.6%!!8 M"ZR3%?/+&T-_Q.B T"+Q414L%,$<@<@T)CXJWE+G1(<)+&"]QHQF<9Y[3>EM MQU@BK#,JH\.\<[XBFDHY*Q *68,K6I7!<"\2OZ&L'9XCN2BCJ>@%\C$!HD6H M7'% I+:1JP)>XD.J4+'(!5J!X,MLJV '6,X8>@;&8<6\Y!TGS08"2J>=+/RZ M#P-4R36F8I@66H/3L=9>WG07D 9:1"OJQM3:!D_)(FL*R?KFP1?GJ"X(K#1' M1M%@QN-#[Z2+#+!25AKKEW0HOT%\!1\8FB\SRJ&_)7,OP8V%6@OER)02E2B1 MK]M*Q^< C8/@Z=% K0W#1V9*YV(O[2E-9Y'L$*BB+DV^!0__7^*'L0^M\K)% MQGTF#1.DMTUK:Y3F>1/.2'RK,:1"A(Z9\,_$OWJIB%P$OS:Z["!Q1$D'O:DQ MAO@D_A1@R4NR$G&48&,K"N[1J/R/7:8?Y;> YX"J$]*%+IY$1^>#2D)13B1N M:P!88<2/4>6[%%"7$MAC''#I:AL-$Z9QLF33U< 30W$X4@!9%SC)<%GBO#* MT94I5(@EGE?#@7WVRFTO4S76V]O7/Z+UEB=$KV05Z0E86]I ]\&-%-1&*CKT MAE-3-Q8YV1_>=JK\V?^_L>6'8T&W]0NYXN+.Z?^QBUY?;?_9D>3$P=.'T([. M/#)NJT2H'2V3J]GX.H[I;S:?_8?53UU#:BP[^;1!9B])[U@DT[E(TN5 AVN1 M)M->XY>"Y#PD>$Y(W_GH&0"?H@C\6\33X>H,!='J,KF@3@#<=9"FH@XTS$I1 M%[(ZZ70.[P:V,8= B(5\.S!LDDY%LD@&[Z3I)>F#XD5)\&I3:T_/%F+6ZS=; MTL(?MV&;=P-[S:?H_ODXGB9'J\LYK2;S^#R".4V_ K;<;(MF$@]&;XPL.X)? M*_%%XIY(EU2$XOD8(\2(>RT-!^9'A04&FZ85;\BZ873C[6YXDW5M](X,%8QN M>GEUD.[;%TH>-_-2'L0*6FAYB#$N90$X.;]3$)Z=OQ#:KN)YLH@, M^0O2L)"$;4F_/<;>2%7/AK$.A.&,&U"W7@S;E3RAPNA!!"H(C,E46GL W#I$E?)?"0><+["4VT1NUPU,#24,%&.R4I M;YW!XB0S/SY(SN]2N7##L9#A5<0IQ%#(O1^*-'(V.)ILT"0&.")I8,>[!>W: M9O5/JDV(+0C&FI2KP+X[OI:9YKPN[QS8X:' 3/#<. MVR-4AWD845#Z%\R9=!;>5<6S"F* -IB;*EPO\)Z(E=CHQN0#[_^ M_OGCC]@::T0.I"& XW2GH#NP]_%RV-\6_YOY MC0TZ#/4XNCX-:LI>3J]G5?J(X7CN1] 7@OXZB9;Q\$)TZ?/!9/ AI@2\Q]'G M)KK4XE3OO\ETJ]T7K??^0TY/[C^'H=LW"@.K@#4>C:/Y="2,_\3D7YRN^;/. M2CNG2W[< F:1(0+<7VOMVA<2T'WGN_LW4$L#!!0 ( )*"6E&/(K[>?P, M .<+ 9 >&PO=V]R:W-H965T-F=7BW4SG9"PITF9M?W7'^ZAD[MET$4' 7WHFFM$X2K MQ98W\ #VS^V=QETXHM2B!VF$DD3#9AF\BJZN4Z?O%?X2L#>3-7&1K)7ZX#9O MZV7 '"'HH+(.@>/O$6Z@ZQP0TOC[@!F,+IWA='U$_]7'CK&LN8$;U;T7M6V7 M01&0&C9\U]E[M?\-#O%D#J]2G?%?LA]T8Q:0:F>LZ@_&R* 7-AH9;\)KX*&@D*IM1":&M.H= "3>> MTPF[WCT]O.N(VGB5HR.7A4H+"UKP&7F')QO5X1OBC ?T W7G^BEQ?(U/C^=X M@@?YR2=0[0PFR?Q\17[\H8A9\O*;_]^U&N#9K<$NV%KHUZ#'QA^U;Y_*_7"L MY.NGZHZR&Z4Q9%>C&R6-ZD2-ZYK1S1*V412QK3,RHG K:+X MY40RCU+*RI*\T@3@J*,N_T,&T*#.L17*V%FGZ.6Q*Y]EEU"3'OBB2H^34T!!. MAJ\>=.-'3$,JM9-VF,-&Z3C%OAJ&MR?U802^Y;H1TI .-FC*9O,L('H8*X>- M55L_RJV5Q<'0+UN&UL[3UID]M& M=G\%I=C)J I#$;SIJTH:R5DEUDK1^$@^8H@F"0L$:!Q#S?[ZO*N['PYRQNO= M32J5+QJ1;/3Q[JL?OCD5Y:=J;TP=?#YD>?7MLWU='[]Z\:+:[,TAKD;%T>3P MR[8H#W$-'\O=B^I8FCBAAP[9B\EXO'AQB-/\V7??T'F_NGXH81/+]PL27HP>946 M>5":[;?/7D9?O8HF^ "-^#DUITK]/\"CW!7%)_SP-OGVV1AW9#*SJ7&*&/[< MFQN393@3[.,WF?296Q,?U/^WLW]/AX?#W,65N2FR7]*DWG_[;/4L2,PV;K+Z M8W'ZDY$#S7&^39%5]&]PXK'SV;-@TU1U<9"'80>'-.>_\6 M($"\X(5HEZ_C.O[NF[(X!26.AMGP/W14>AHVE^:(E=NZA%]3>*[^[I:Q$13; MX#;=Y>DVW<1Y';S<;(HFK]-\%WPHLG23FBJXLO][_LV+&I;&"5YL9)E7O,SD MS#+KX%V1U_LJ>),G)FD__P*V[/8]L?M^-;DXX:TYCH+I. PFX\GXPGQ3!XA_4>Q/L M4R"^$L"0!3=%7L'I$Y@B";Y/\SC?I/#UK9\SSA.8+:,!>5$;VM9-<0"Q40>W M#Q6,JV"E3=8 ^G%)7.%EGC?6;)HR MK9$0<;$WGS?[.-\97.205B0DKO#HD_'7MV]NZ'_1U\\#V ]_F#B,C!(?,%K MLS&'.U,&TPC))UH'5SA"'G9[L%.,-$1!BFR*PS'.'Y DFCQNDA3/O-$0VCH( M*:B?3&D"$)S'N(0A387/[TQNRCC+'G!:<\1G8T]PQQ( EAXS.#&>PF+2SY[F M+)5)N@%,\!1I7M5E0ZBL@KIP(/T/&A$?CT#$\5T&N&\RQM)'LVLRGN3V^C_Q M&P+WFYL147^9P%ZRAQ"_!7H:/%M2(-(M?@,X$(89:Q_?X]0F]Y1.0 ?$PV,QP BPE0FO #67>. \KIO2C(BX8"%0)H05 M4+MES%C4R(=OTR*I:$X$N=UP"N!,\P1PBTK.(M'.9YE@V\!YMVF%/(T,,;H@ MR^9.ELTO"J&?*EKN356G0(I=\M.VF)#9 MR"%DD#:8$)!!TOJ!Z>#)E"?D6A'0&MZ)<3LAG%9@QAP9/T#3AS@'$P87QG43 M(%A8-L=9&0THX'"U RY&^(4)C%!PEL9W:4:B+82Q]R9O#/U@/H/M5GA&9N$8I:VEA0^R2I-LM2,!M61Q@BP4"Y2AF-5H+^UL!QZ=2.OOP$^!2CD^5_ZB@M-TKB(&AV19&<4F"X M%/1%6A)QU C%?#<*+C#>PC'>XB+C?036[U@H99'#_S>,AB%&O#CC,",^MHQC MS+=Y\&]-;E"C+AB'W[^\?16 ;FX (2]O?PK^7(SHU^MH&CIUZPCH+1&#GS.* MO@YN&.\_$-Z#JQ^+8[H)II/%\Y%H9Z)5(+T\ 8;P?,LZ&FT%4(%(9FD"U*XL M&F2M,C5P"" 0%,5X1C /X$?!.,311.@5JHB)YU)^J8Y(OKI,U"#V<05TP"> M^ !C@4,)UR@S8)4-F0>:?D=G-MW0;HF8T?K:[4V'\-%$\@PG_$Y')9(O: L9 MR(8-:-D&C!%D#GCF'O1# ;.G:(4!]S2;/1I8EN.TY+"@@'.9]!X/B1*DC3M M:6"(Q5'5($TY /0^;<8K%#0^!'[$J$WI0"P )T3@ I5+0J_$E<"0"-_%_>D3 9% M(*.8-B\RI M#%L0OFQW82WB0 MU44V7[7PA"+T9Q*A[Q2/"$I@[N=?!:^=A@N^+^.#07>>43D!5)*U7UDJ5V,_ M,O\PYA%BPVLIB0'TJ[CO (@$9C E'EJI68N.!; #@I4,K:&T$B3-GD<((L_0O0S Z6$+N%B5S[B>]K%(/@Y(%&VF,P"$3. MVQR$GGD*O!WP2O(5\=.)XC1HC"'_[FAOVLYI\N(.51\)^#0_-K58/$!Y":Y6 M'!];==1E@W^8Q+RQ"(-])(.$ZWY!T?=$?/Q-@!@J3XW<4'@:>*,/"D*X/\# 8Z6I6P^BU@1!; $C_AIZV<>"]#)@R8,??732+>2N'0HPA7%2 MLF8]/C6=LPV!KH3W)[5PZ,CW_V6"S^DZ@"\H_I-7JGWEUQ+TC@R1!"^*^O5U M-'$G%NX$!>1U[G*&Y[P%E9.EVP=+BR_;UKA^\(RTKGB&5%RSCCF?\@0UK0Q> M&3CY(%UC^MV*,O,9/3\;'<%)G*4$O[K=NF"6# +2*XL8P"?.>!DSM;&C 0J; MO850K$!@RJ3(BAT+>>#T#8588!^M/5K=KQG; ?SM=LDGS6.V:+WHH W%)Y@% M?"/G(6\RL#K/88HT5FRC5/NX%GN(( +;-3FL1"7NJM[+$\!*P44N1R.94HL#'=6FONT$A+R^@5X%1WI MUOS6R7-.>PD(KY#.:I*DRZ\KY]_%Q[1&71>[2 1'3L$.K)V;+F&+QV>U80X_ M#W,XS"'(JLGX2P6A;5.2PK2R M3H!U+&HTR2CNXW!G.P:E*( >@3*!(BI*CA2EA[<'P#OZ^L?%<.8 PO6C3 M2J%8AUN[-,&3<@ ML\NTYOBI]IZ?Q'4!17H2/WK],A0JNCC)N5!1;V8GC.QO:645&YJ:)S#I.0Y19%8) M >D<4B1Z%/6D5'#Z=&.(,:RO(Q$/0@YE2<']"46ABJ!I06I7UV MFU(^"^2,,";N26W<[LGM S-3L#.?KN+CB/NKG^1T(:E3>0A6!^,-#3B,D&,X M59S@8P8TB-M(FHU-"$FV$21MT>S >:@)]S_E)-$H9XD>6D8$A_13#I(FAG?0 M/3<,&^#M+,6O&/M^_VR:M^APY*@=9#X15%QB.(7IHV :W97&)-?DH6S3SZ05 M4Q0XI1K&D7N,G9-3C+&Y)&0UALY-$-?=J4#(8;@67+(6G8E0E:R6"_PA^WT5 M7*7/01Z#W5&QF7LO5+C!S"HK1"+@.W#-@F-AP!$B&FD99(79-)))IK.W\.(U4K, FXQV(>,[$$-Y%>4UMWI P;X.P?K M'F,YFTUW"Y _TE3/";)+T@#F5OPCA*SIFE)*B M1%"*(W O& 0_QD>7'.2\'2[Q; P"'[=& MXS@;;$U$@P.7.F30! M,FA8,: .N+*(,?F!S9:[+-W%8H3C3)*]LT9%49-EV,G/Q;6&])4HXPW9IZ8" M)KA#(8:%7'@>0!A*10!@]AS9C!_]C/F%.\M*M#],/U F062V!! >* YS6P+ M2P2(\0G<9QO?BS=[K.6P.3<;Z-'L ,(:-@.L .2\*^,#)CN (XKF;*78L:0S:3)E&MPXCN$B%51=+B+JG3&. M8OF(C]LUAH\4H2G^EEB$UKAGJ!.6,9_!(_5*5_]N^00Y YW;W)S"0.V&A!L^ M3K:MP2C"QC#QL%V">U+BT)00&'KGO@1##V>*;A);=U%Z_VYV< M$<97U7.6<.RXLH(=W$-0Y,-BABV?@NS_V.96B*Q13%N/>7AY+TK36JP#])E: M9B\:@7F'I2UM7@DN>,R0Y'K.VGO3'"C>B:937&_V8*J2WF[9-!+GNN%RNNL3 M^D&2&6,:$CBF )8-18+,R2I&6Q:$*NO&/P@Y5U+1E.7%V#%I=H MQ L*E ?+@I0PM*:4IJJ7%9F^SF47Q1D.;477[;D(%DM5)"N,Y+#=%I)E@<%= M#!GBFI_ ?/($$X.M65JQAN>J"Y2,E99D/ISL@F\D JTP")4)#CQ3?1*6H2H' M+'!)=09()E&RP-<%47BL;5)(_/GQC]2^5L ;2]1<]8Z]Y9*B2:2.RS MN2IG 0H=[49L\>0-A7=IYP]'8A,G]0/<9ET]AY'@1+,/W8IQRCPQBALTNCGO MQ]!#^1V _5DU%8=IF])YH,_YD"RQO&C7$O&=IX<#YM$/\2?3*B?3Y*9+O3* M1VD72N\M/.)[T!4"H%!D/AEBX@XY.[)C/DJ9E7J:0"119S$;,Y/OL)QIRYXP MJ70.HQ%^LXJ)>IH3,^K(H)>\PFD4ITX[@HU*>1XM)TA+>O8!67X[<& MQ)(IG79] "J@9]' XWAJ95J[0^-93!:"C;/+K.C0:&=[Q58\&OQ H5 @-3!+ M<"_@59&[ '/L>/,L#D!YE87@@%2=9<70\[-W372B"H-PYX0UU>>A=T<+"03[ MPDR=L5^ TP-STI1VEZUUMU1S>Y\F&*8YLZ-1\$/ZR9S2"B7M&6"AU+\$,*XX M9K ]?D!;JGT&IV*&GC_NR.6]%T"-'>(;5[4H]W_6J; ME*6OW$3>VM)%*&3"\V,BBHK2)?Y\#.X,7O^E.ANC0$]0.[?>Y4+5@Z*N<"Z^ M+KR5TERIGA5[99OJV%9G@@M6RP@KWFWPIO*640N?' ?@" 6K!QNIN71TRJ&3 M?8)/#^I_B:-3V#/D(-)]6NEL&YH<< @;*KF@3=KV:>K&6D33%)CUMFR5M%*@ M[*>60*\YLMR!KR'!7EW2E\L;TP[G!$X%?RLRGM#I1!,/2RU= KE3 M/*B"/FD5[W:HWJT-:H/&=L3[;N*)=FSWB#.#5P7TG;1=R4J"BY18$ ;ERV_6 MZ)(BA7,I!\?4$L*G\#>E>#"PO>7HY9\+T.IK5VEY*]'^M\JTI6"SKQS35J^$ M;KB2FKPUNQ8'[SQL3"M$WSDHN;DN[(YV@)SS(52A5K3^5+S>PB:1K(>[#)*B M$ 8Z2%:)G!<[8-M5IS8I63.YH * M4%A>',"QV;*Y,@(0VG":P]&VP%)0T@ <0+M*X!LL9^#"KZ:"5:KG7SF2^;_Z M]\=]"=#15P@!7,=:KG&-P]X#?T9>OS#>\AI@XE;(XH.0!;.9G8C*[_R'<[^\ M\]QT:]G'_O9%L)A$830;!ZOE:!Q\J7Z8K\?A.%H$J^EHWOHA"E?C=3@=S_"G M=>>GQ7(9+J:38+6BI]YXUNVM;?^N)^%Z[K<;35L;<5]'BW ]GOC/B]:V[-_I M;!5.US,]+!H8-HE6X7@1J=EIMA]);?CS+*-9.%ZKO8W''2@MQ["M:'5AQ"2, MY@"3]:4Q -+U',9,SX[YO_;W[\DU/XI/?6/%[""//,Y%K1%O\P2FHZHGA=O% M*ES,/1E-EZ-%&_D31/_"#XA&L]: U6P6+M4&INL6O0(;KE;A2A$8S( #WH"G MW;Y3Z_EG'J[7BE'6P_PTF8>KJ=]9M!RMAOAI.0_GJ[$>-AOB)V#BI6:4.0U[ MO]VB^'K5I!GZ4GW>7X'P62FJCP9G7TW#R;+%K$-;G4PGX72FF75XV'P6KA?J MX"S?_@2.2[W?H"[L+;]HRXK)H$B))BB@U/*K0;A/X,C3Y5@O/S1L"G)E%:EA MB]$$AOTKNOZ<%.P^,1N#X/6[G(^6 ]/.HG"NA.B\);\]?-?A;#93HX8D;00B M=#+QHWB#=#\C0W:LZKCA2BZZ$XW5BRZAV9UK,0LGD=_6,,4NEJ"H(C5H<%>H MM6:>HE:#-!"M9N%",=6:@/4.7-#T^OOX@#=6<=-P" Y *J;W&B1<+A5C#R-[ M%D83)1X&J7L1 7GYPT\&=PPL,(N6'H_,7A3LZ1T..%9ID@GA96#0>C5Y9-!\ M&D:*I"8MX>:V#]PQTV?\?T7ZC_S[]U2D+VTPES2J(X,_H$7_;$[4L<'E_3SJ MIA%P[M@_-YMV5.4TFH :\*O,9BVB1>2/IS-0:A[YLU6'/E:3):C;E5X$.?^- MS8U9336\2:]IYJ#ME$X^P_W$_G,_+#K#0&B+>MZ>C@>E\F(,"EM;"A$-4RX" MAU-ZSZW#:*%EZY!>6$Q"V(:2FH-Z80E3K?2HZ> H8,+%6"T8J6W>Q!D&\-^A M7VIROB(-DO:=+^#KSK>&1:JV62YO5=)E^O410P[3JA$!V0>CNB>@<:S<1DNQ'-Q;C"D[[@DBP*\ M:7Y?V,K"5MF8"TMBI.'7XNZZ+JZI5.%LO10&:25)']0Q!I#3?&]*Z510H#M_NF:G2=VK&$M2N\I'7 :&X[6U?8H&2_4FSDH2VW MDVVNL,EQ+=5,P0.7 ]PNIU-A42Z,Q]H#+!(*.D5"KM[ IA3I+U_>T<%,?1$G MY0*$ZJ8FD$JKUUH8@P]L6$FPR^YLPOEH]P-+Q?'=*Z;D3E'!S]CY-[(A$Y M 7.$HP2Y;%55 [#\"U4 Z0*,X>X5DBR0]AF4N< XK2VAEY2!G>-.Y<:Y3C"N M)=A,"#5X@H," >_MB16D!\2Q@%3^(!2)"X@KB%+_ES[0.OE?C% M*)X9,YWB72>J><%X>(,3&?O<.J[O9Q']?5[>M?IP,6+5AEFU>[+U F5VILM5??> M\6#3@R$ZO_H?#K$^9D)VQ_\77MUYTV]P-6@OMBQ)Q^;N/X__(BK0?AQ2@Q>& M6$3&M;J7AW5,G-5!A;U481-0SHNVBH=OP'B(IOH+ ,IZM9#<99!P%JIU >>% M7+_!(@/[X#*<+=8]8$Z7X&\M>U\OPOERVA\,_O[<+:RJKJ5YAV]E8Y^X6JZ? M#R(>+_S^WN_90=7W,7U^S-M6X41%R+R=%\Y6_=-?HW. NGX(XK[(E@ M]7B;AU/E\<(7$0!X/M/?$&K[*/T=J;I32^A:.8R-+*(%.NVZT<47T60*=J7] M2M?$:]G9$IAU]UHTS=3Z#KM%S*4]?<,PI?_MPKUB1FW.A,N-R95^( M3!5)>TF.4OVQKVOGXCQK[9G/>/FC4C?0O2M,P9K M*FUA$=.%/\^Y\V/J]8MH-)NR96!O)4HEH]PEDRH?6ZC@J#3G2S:?*6D.*GDU MOE[-O_0=VQY;W%U] ,C4X%M9.@AU;P([B2(SLAKH[C-;7C8;>M!>(MXD$KNG M92B"TK^FNZ&@ZSYI')W3 NFV'>U25KE>=*2$-A4RIB'^E9YTK-80:/6WL!I=X,3J24UR@G= M5',W?-#/TG>WK4-'"77[@2O/*R470S$8M:1TA::=*ETCG8O:)KLUY$>V]82> MOG?+@)Q($E3^HJZKH[&6LVRW**VTQYH Y<8Y-P\'=J\)(A\"(!/3/E/9@C Z MTW0'0E%[W+E!](LO(^(U6GCC9J,Q?;S&2D;KY"*QD%,D^%.5P,@N8%.GA:K, MP.WVO[?[55=%7=6)+88%$<'-79I.US]=E]&C'G\GP8FV*CX8OBW--S9<[0=W M;^#T(9; ]5;JS4Z5=U[$23DZ\!'Y)!92!.ZS.Q0K,P/I)O<-PO9E):K4RM)/ MTJ:&%N%FAWYGOQ9WE:W#5#.I>CW>E$*J;PV),)0>/+H3G*8GDKHB!VD#:I&1 M:N=K&\JU@@+O[2TE8HW>M/8J1,^N*KW*XY)E(D%7A>0C%WK*SBS*>'>%/<.)SW-20;[[V"01C(F[FL-?@HW3UW2W))&*UP7RBO="+4$)1T9DMWHGO MUK%A&2FL2%R%&S%"NB\XOB;! ;PBL2D+5Q"%FTJO>@:8 WO9H*$4/W@LG H$X=HCLO M-"UEL\)&8@?Y*$'S(E$M8*0')-;]:W!6DD>/\4]D<&=)Y03$:##\;HO [[AD#^)/5_6%$(#8J M.G.+=XFY_C=XA^WFQ$27K@OOK:$T?J%_NXMS>YD9/82=7)>U4$H,%UKV,MUIM6R$NMRW&1RD?WL#1/?W,Z6 MI0M)4;M@W[N8NQZ;VO<^K+A=Q( #IN\VN]+YL[XKT8)O=L.7>IV 9,VN?U1L M1&6I>-L*#D--L!65.(DR3"4"("O8JH48U]WX+DX +'>UDZ:#U[BI19F[ M/X#.H=N.O]1%#FU%L8+0;E+8D>WJ?B.#EN*BPEV>PUAO'\MCP"68 MY5"7A)0$]TWBND6ZL.K_=#S4)C=5;+*?/&X7:W J\5RPD?S9+X)I&*UUQ&H: MSE2"'#/B<_4)RX^6P5O'9N -ZXY%KK67CPWVD_135>YA_ZH0F<\ISV'O'0*\ MN@.#=9O6/C8W:17'J6^7J]ZW5U'4#^K-PVFT"E[;>\FLJ=")(7I,^1ZVIT3; MX:+8;KEHGBD5:5A'?Z_6T;2_UM5B,O#MN0CG513.IXOGUI_UA*L[4/E6SU;2 M*:N1W[5Y;([ETY>#H1\-&>2D#CG2*\(G&XBY M_]X8\A50]P"6Z%O%-WT!CT63X62F&6413A?Z\ZP5G8_"Q6QZ(6RR=F&3]<5( MQP]TBW H0O*4Y[3#G'&K!6D7 -:UZ\%_;T CV.@"ADN.%+KE3#)FO! N&9E! M_G8337>N>;[*C?&EG\NSN OH)(+=SK#U2G-,54>&HH29R>GG(E![-UQ-:&], MC@(! 7LM>.,M)6O9QM)\*!$6IE"#=^[0NK4W&TT[#S?J]A<2N );%CDW<.67 M-: +["[*H\G>'>CCB!8IF=JQ:PKAKZ FOG6PF+A6K5 M_>2H?S<;0;AF'_^ZV%[C.RPN9MA]"KOFADO2WI\EJ(,T!W8Y]L^]22@(BVLY MM/C>/-PL!6!&D?J#ZKL@V'!%(EP4PTW)\2U+?.&6[$(?H:$7<31EJ]/1'?C> M;)^4O8VV7H_#]X S,WS @9=V/'),9O1>'V3T$(D3:#OGS&-"0O\U1&@ZSD:3 M+^GGZ6C]91>KO^BKCRTZU%$!@VU/E3AI%S-D=J&1.UH.#L M=5E2F/RA1?ZN12-52 IQFH%T=8M:.8."=8,=RI_[QO9#]-Q=57/$$Q>=1+T$ MX$2934, M4I*?Y)V_64P"V398YQ]/>PQ-B[3,K67@W&**HZ'0WZ?'4?"GXF3N\5H[EC^( M9*6^>OE&&JBXS!4&?-"7H0CBP.[DPAT;(-@QB^-P!KBV>#"&.M^ANHM3B4)* MSPF)(?T!:FDGS;Z8=&FG]5*$-A*?M*7?3TJ='@/X]7V4';7:W(N=U\_N#U'T4\,#/$DG/7Q'A#P7!:6X_".VM\ MT1L$31YSBJ';9(Z3_4QM57/7-MJ(1@WI5ZO>*)IV,BIHU502$< &MX+VR[5# M_(9*D+&5DGYGU&?WG7;G"Y;HG78%)S__UL[T *VZ $Q/S9RW#;X(UEC_K!W> MU2P<+Z?RC#KXT_?\_E&O)4+7H>^M8A5*M A^\/5AW4VXH2MP+Z;]&9;@!J^7 M$@?H/PW'787CL2XT6BW"I2HK(F,>K_^*_;T=F(4R G\6(;SU>)YT!X/2.8EAXK:>B1SVQR/F;5&M<6I<;5WU,&_-Z_ M3[[4\M1*Q'Z%8?^;&[P13[J8*N ET]X5HIW7: UQ+M#L0H?M9N%\T:H8G-.- M:_7%))Q-+PD_[@5J^EV?AY:/PM6J'?Q8+;38G(#L:@V81.'$;_A"("0:^S?W MCB^&-/3[,@;?R/OTQW5W+B[?I%NS%2MHL4U-H MUZ4=W^3 636I5E3M%#E_*!U;6HU/J-]?%F\^<6E/L25+EE=PL0%^J8C,+SVD M&FK.I-)[H>W5:+KO0I-W6-B-A:X+F76:=IPO!<#@*V%"ZNMHLRV#9[09?>YT MC\-M3W_*I).U!4-KK*WF'LMX\<,7"JIW7:BF8M@$.]]14-:^WE!5?JKWU]@0 M*0="KZTT.O?:2=JUS:9( %B,+/S)]ZRG"$:[1;]]2Q 8FAMJ[LE((:M2BJPH MY.[>:#IZJHRZQ";J!=?113H??$7<(+]XY?WY]\^1Z=.* Z5JA+I%04U" M7+<0C$X!!KFQY].*H-0X,.EY$+W(Q$CCLJ ZQ4<81J5:OB[A*"^T#N6-S771 MK:N(L8:CR.ZI,I2#\!(OD]YS[#!D19RW7JM+1CA9PW')G$E$6?GXIX:%B]NK M-RNW2_VUKX5C4_VJILOE>-'$T\GD(IW\JW#;(&EIW8/V2I%4L]QRD6 %; GGX.!_W\8!$ M^\6FA$8*,;C-4;A31;;I10.V?.8*Y7_KLLAJ_.7S@2*%]D)N_3:UA/)"L/I4 M#.^,]E+2ZTGIE;Z2$-ICS[YA0+0J?=JKD<"L2=?7P63YY:B?N6[A5++6G?R[ M2SG;(@:=B>>F6, S8'V 8TJANGLK^7U_TR%"P%)[5:?7 <$EFM!*V,>XV MVGYF941[7\JZUEQ5)$JIF@U]T MTZ1^/IX$RR]Q]LF4CC"J U 6=8NVR%.:SE]]1"Y+NV2,B7U*EU=-1:_^DNH5 MM6$JL*$0GFI7%2?8X[-U=P@ISV=63 Z&3Y%S"9./O@+VR^):F@SJNB8U7K]B MEAN"4_3&EL"XE#[2U&$$/@8:*9W]\"/6G#@5\!O%=MQZ:@TQJUTNB",Q6!=% MP%/^N'? M?7,$4@%BW^%;#C.SA4?'H^7\&3L%]D-=''%*[!Y?%P?Z+W8#-24.@-_QW?;V M RZ =<*TO>_^&U!+ P04 " "2@EI1B/[9*IP) "R)0 &0 'AL+W=O MB7*"*',T/RF6>&M"X? M:_53LQ9"HZ^;LFK>SM9:;]_,YTV^%AO>7-1;44'/LE8;KN%5K>;-5@E>V$&; MV[4Y=7=:M+F4E[A1JVLV&JZ<;4=:/;V=DMF_X+%=K;1KF M5Y=;OA+W0O]]>Z?@;=YK*>1&5(VL*Z3$\NWLFKRYR8R\%?A!BL?&^1^9F2SJ M^B?S\J%X.PN,0Z(4N38:.#P>Q*TH2Z,(W/AYIW/6FS0#W?_WVK^QY+'@C M;NOR'[+0Z[&$!W ZCUNS-DO7S'-;^Z5/4C4D8:M)E_[%3M:'!.5F93 M[K6"7@GC]-5]MQFH7J)[N:KD4N:\TN@ZS^NVTK):H;NZE+D4#3K[PA>E:,XO MYQH,F^'S?&?DIC-"7S"2H4]UI=<->E\5HAB/GX/#O==T[_4-/:CP7FPO4!A@ M1 ,:'- 7]JL06GWA+UZ% \:BWEADC44O&8/ *MI2&&N%;/AJI<2*6XQ"BQ(/ MHFJ%;Y$/J_W+GQ@-PK^B/]KSRUH),0(0@NW78K,0RF+@^8#O8&$.R7_N5A@M MGJ!#/\-NRF_[?TSHSB+ M!W=).'*D;R8)S@(ZO"=I:\KJUZ0GZ MO3%R/(I&$A^J M0I.<('31A.X@%&87J1C#>?FNU/!@%R$8T$6!3AU'$@S$9X MA3!D##,'8*#!"+POVKSCY$F@A#'.,B=0,G\\T1BSCKII5E 5EJ&OL,R([2S$-!T%J\]5&E(<1FZP M^L7B"&>),_&.W[X5O-3KG"LQ-9^,N8)Z*8500U".>>9==PI3#M/ ->\3"X%7 M&''$D@L*8G^K'X2JH.C4DQ%1 ,0[>!E?I!ZU$<&Q0Z+QB+^']R?+).PR0@ZT*!Y03]D$%PFCJ! M[=_L"!/JT(,7W0D!> V3IUZ/(00BD@[[V(677COL-L0>CIU,0NV^>(0R1H\( MQ2$F#J3HB-QZ]R$Z(G>._T^DO^?SMTRDU^9(*O4NH_8P^ 59]#LX!M_6%232 M-A]EKU>0V"!R@V%<%#Y+E2&AD 8&*U$T JW9_"",(*D-FQ^Q9_A@-(5TRUPC M)O+??Y6-/4;M,Y7?R2'3Q)#MG)S\0O3;\(\',?)" )E:=(CM,/"R"&PYK>O)""*N9*A5XI",(D< P2Q\U; M7I8-1I\@$VA1\0J:#-,"'J6NE5GYY_HR,!J.C@=>WX(4L\C)ZK'7.0KE3.*F M53_;4L@B-)MH^Y]CM0.G_;@_[<[/\M:H5R)0FI4UDWS M_(ZA._L?-G+M**Y;=4@YRB'R(!J!E\ C2' @8J0--,Y@N%[7;0.0:<[?_.Y< MNP?Q_MU+$N.DW$'FAI<=U#5:B)6L*C,;F-Z3X,HP&R9.P6[>(X<(#?/%SILI M,U/T8;.%[3)**N!4/MP$0=U5%5P5#E%,R3ATTGJ?[:-)4Y+%X'N!"K'02'S= MBJH1Z&PA*K&4^GP(E]$AR&E-V:3UC)#SJ6D<0I"\ R#:M6PL+-HJAYTWMZ,+ M@*<2N9 /]H8//2JI@3U@\DL,T]?=O51N:F/I7#"<922QII<5%P+8Z:<8OR4V3O6I6O M>2/?%CW!"-?5UKHY$/TL\I(W#=(UJBVZ\U8I4\>7DB]D"?,4QTV^ MN,* ;L\NV58G;L9%BJTPX'",:>0&2H+#Q'UW#@+ H@0G47B ,I.>,I.3*1/8 M2BL3B+ ^8G?6<5;%1Y6'E7\9,9XV@$=;)1J[K09;YC)O!>L-7.@SWK>Y>_/? M)LYC->=S^7\:7NP$WT'<=W)DD'OYLO-V/_W^G^,]U]WJ[5\_>D!]0.0E;M\" M&=6%S?"I<\\".$S&-0&T0+5!1E"%1IXY)3^:84EBF/YE@#FOV$4SWDZ?\E^@HYI!!V)2\;$UD M[G;'U&MU*0L+E/URWML?;'FSL_3K,Y G'>R[1HQAR>&CG8\R/X"^KI>OVV%R MKU!F3E5N><4 +Q 8W1AGXJ?[_/W1'$E,HIK61@:J)$$?ZVKU6@NUV6V$3P.# M9!9.-:10=&7IKNJ5R;M;;JT)SQISXPY M=_8"" ?V!EJGQ33)< @;"WW3RLV@*0Y-WY3/ 5($*CCHFU;WQ%3H!,':*L&7 MVG.5&*7VU-G!J8N(._XT+3&M-GOO2$&L:7:+==?5+>@'7D(&>R<;6ZMZ*#K% M,8,B>RP/F]R9]"7D/9(/ #?K@9N=#-RFW6Y+828($Y95]U%)]WU'GPDM\KP8 M/F+G9-WH$7#\&Y+G?_H\^8[QU#IO6K]-6VYYLT9;+@M[&.0; YUI]MG @K7* MKJJ?%6Q4)6X:CW"UDO'29YY@QL9G M%):X^88"Z8\$*,$TH3Y@SYWO:#9"K>S70N;&!):F^Z2F;^T_2+KNOL,9Q+NO MF3YQ!;5J QXO86APD<:S;JK[%UUO[5F/_70M>"&4$H']9UWK_8@ST MGVE=_1M02P,$% @ DH):440TFE#Y P Q@T !D !X;"]W;W)K&ULS5=M;]LV$/XKA#8,":!&LORJU#80IRL:H"F")NNP MC[1TLKA2I$M2<;M?OR,ERW)B:\F08/LB4L>[AW>\%QZG&ZF^ZAS D.\%%WKF MY<:LSX- )SD45)_)-0A[4?.I M+ UG FX4T6514/5C 5QN9E[/VQ(^LU5N+"&83]=T!;=@?EO?*/P+&I24%2 T MDX(HR&;>1>]\,;3\CN$+@XUNS8FU9"GE5_MSEDU6UK!]GR+_M[9CK8LJ89+R7]GJ10KHO'Z!VC8K15L5%U EX"^LST@]]$H51V('7 M;TSN.[S^\TSN0!XTR .'/#BF:1791&8DLYO,R3$Z>O+#4NZ]-S\LM/DRCLO_W/QF,)2LTAF[92'^WY MDUX]1O78)W?24$XNJ2X;$[U*W\SV0<^L-!V"+862]ZVTFIA3ZR M#-"WJ"P5"=1L;B\D*<"ZL'5T%]C 'T?Q$S@NL=R@NU%_ E2)-WCU$+GD;$5M MW=?/-"$:^O$H>DRX$@84:$,4-1C_&[KN1M[#Z%S^'T74XW1XN8 :AOYX,GFF M-VJAEPFHOA^'PR=PO'! 3?Q!/#Y*Z+AVALVU,^R^=K!32TNLRECGL/I)D6!E M=+I:RH/2BI3D'^PS.89"J3'*V4JPC"44.4LAEQK4O2O_3*Q+VR3447"P2^C6 MV5XJU56RM(TAP8Y25U'X)!-DJ5[!C%.AWB>Q/QF-3A_3>WY_%._H%^F?V.=6&$:V'=V2F$2#G43DQW'OD*E8 M"5I&=A7U?>L[I+:;#O=],<'UJ@+ .N9U*:[8_=H'FZS?\&4$L# M!!0 ( )*"6E&HA=YL>00 %T, 9 >&PO=V]R:W-H965T632=:K4$[:4)S+]Y5KTWD MN'1)N;.:3CGIV>EE^K7DAKL(&3B]9X\"37O2M03M!+II#3.K8/H'8,9PK:1= M&G@G,\Q>ZG>)4L.KO^$UZQ\%O,/5&41A /VP'Q[!BQH_(X\7O<'/(W!Q Q=[ MN/@0/?HXLE(@J)P*JX&&C%F$G'$-WY@H_7%*%GF&FGD!JYDT.6J-&3"9@5WB M]P"<" %(RW/N\@/,&+2F4MO@"#KB@C#0N/.RP"P +E-19EPN2 18H4II@;YC M6"B5K;D0K^7YN-_WQ"57@CYEAUI]R?P?LOD&/_['@8!33HR6JC0$8=KG\.LO MHWX8_7;P.3_DR[[JG)DEK!@G>A92H8RC<0*], G&20B?J6FYG92MN&4"6/8W M??74]FR#$(V#82^!C\J23YQ\(E>M<@X4J$&M)6K3"/?B( Q#>&\KHFV,@DP2"*:QFAY*)C41?_E1I'"=QHN@FU??;V';_5BR0-R=88_M@4 M5+,=!3'M?]B-$9>6R07?"==&.G'2(5PAW3.@W87247FG-+7@EC551#2 RXWS ME,$7GI_V!D&<1&T?,DHWE8T$?$K1F*H(C,N1\Z,I$U<-7K+!Z,=!;SQHP[R. MG/"L=I.Y%0VB:-AV?+0K3GRBF<%@94*]"/^KZG$PBL=MN&K"?\14;QA$XU%[ M+V,'>(U'Q&NODH_< $ES R0_=@.X:M_+[&L=]CCN_:8/OHI7=S+TO7#;B$\S M>F7:I_E'VMC//A^HG52M[QK)7M8<;-O.)X-Y*>"*Y[BGOI5Z[YK3@V].,Y9^ M$6JQ%:K*=:\N>_!,>SLY30*:0.%>,PK+1U9LS=VBX)AW;2YG[RHP C#.VJ6?&6^SRT\@!J'OBO?*]?BWQKED[H?O%:MW9V1 MCW@N_&!KP/>#:OIK=IO9^;(:&;?BU>!]S?2"T_0G,"?5\&Q(!:JK8;9:6+7R M ^2CLA04_[JD^1^U$Z#S7-'-5"^<@>8?Q?1?4$L#!!0 ( )*"6E%'*/39 MN 0 "D. 9 >&PO=V]R:W-H965TON(3E>"?FDE@":/!=YJ2Y[2ZVKB^%0I4LHF#H7%92X,Q>R8!J7SD9BUKGO(1[251=%$R^3"$7J\N>U]L0/O'% M4AO"<#*NV )FH#]7]Q)7PU9+Q@LH%1&T7HQM=&9Z\U:02[\XWV7VWL&,LC4W M M\C]XII>7O;A',IBS.M>?Q.HW:.()C;Y4Y,I^R6K-.PIZ)*V5%D4CC!X4O%R/ M[+G)0T<@=H\(T$: 6K_7AJR7[YEFD[$4*R(--VHS$QNJE4;G>&E^RDQ+W.4H MIR!F>J44:.60CU@D_0>SJP;CH4;S M1LDP;4Q-UZ;H$5,)N1.E7BIR4V:0[W6=[KQ?4I/*IQ!=4Y\UR'4I>X) M?7Z;"]_J\W]0+DZ8#%J3@349' L!FRRK4:V8DW2)-D 17A*]!)(R*5]XN2"L M$'6I#<>B3 *WZR?, F$*3(7.3:M(GTK(FJ%B5&#"_+S3S%U_7?_ M^7@'QF>>LIS,0'[C*7J_V;LQ?2T/[[T>9[! '-'MN*$_"(WB4Y:S,L6 -7D/ M*12/((GOF:KRXI;UC% _=+R8=BAFYM%W!WBNTJ\U5]S@CK+55-420U% *G09 M365_86L;7S"Y,P#R46@@P:!5%8Z2=IY$3A1'>T$E(X=&(;DM*D0V\_=4$YT$ MQ&A,V]_,XMYKN;[G>*XWV*-;\L$4FAA/)"G9$Z)^X$21>\CE43S:(_L^=8)@ M]/U9VXPCWPG\P$GH?B+CV/']L!LA HMN0FS0I?./?3=VW"CI4#R/.B// M[U "ZF*D] 1 A"U A&\'"%%4HK3AXXIW 8IO 8I9@#H$$:4UGBB%D'K3K0=(U_86@+Y(R"U% M+7FEB$=^(5ZX SZ>$R1=@.ICPR7=7L=:C7VL7J_+%+M.[/D#;(#T*1<+JWBK M!6L[)Z>/:3>*MRA&V6F<[:(&G5;/^/0B9*PHP\Q(7$[ M^CPGV=D/'1IC"&NL/O9SL2UIL@,N9\95@S=)-WP:(=2$T0Z7BZ28#DXT:]0V M:_3F9IW7NC:G:/=/PC/>I17\N^X];?KJ$&HYW^<%X>I'W@),S1,P=[]N>[T^ M1-LSQ+1C7X)Y6&3(V>#."RH9X&\;.7[B&:9M*5,\=#RWJV!;Q12K*DZZ>WYG MX81^V-T+MM6?X'F^W<-K%+Y\YAK]:3GP.*#Q]J*P6Z=G!CRPH-O]0U4V[%S? ML<\7]I%B$!>O9>N;?$MMWT%7Z^O_EGW]B+IC&PO=V]R:W-H965TB??<D9.-5%_T&L"0KR47>AJLC:FNPE#G:RBI'L@*!/Y92E52@Z): MA;I20 MG5/(PB:++L*1,!+.)TSVJV436AC,!CXKHNBRI^C8'+C?3( ZVBB>V M6ANK"&>3BJ[@&^1?_@8L=8%E3#C>1_ ML,*LI\$X( 4L:0-\JX?V!B4X>?^#UY@E?)7RW=7$'! M#%G2G'%FOK5K?R27<3^+HHXB&?>CCN(%5$FXI.+ 3YQF.RM;?1;MZ'^3!C0Q MDMA^AISE1H#2A[0O^U'V9C4<]X?CM!4?Y!=I*">58B)G M%%=.ZIB('/#+:'$9WD8Q' MO4-M.ASW]EA:M#X1X [=?W5C(T@ZC+N18+Z.19+72F$%DZ919&VCR,XW"G_I M62JTP-./M) JJE;L>&\X#_=_5?C^>(,M1W)64(,Y]]M[+^Q>0B$P:[:0#DQ\ M=7_85O=U\2=>8VA^-[]_N;W>R3IV+:SE>( %ZCX(%P]&F?^@D RP"-U'*K+" M1P>F%0';_7NTHA!UB:SP%V!S_.2VU"Y"EY^1J_I^_7".US]Y0A+DH^U!#]7. M&8T&24;>X8!T[3"RD@OK';FKE2RP7U-UVC[V]K&WC[U]XNR/'<"P<^EC)UNY MIXV])+"9^/N_U;:OIVO_:'A;[I]>?L\TX;!$4\L\(,H_9[Q@9.6>$ MI\$'B MIFM\ 8*R"_#_4F);;03KH'U3SOX!4$L#!!0 ( )*"6E%2"O#72P, .(( M 9 >&PO=V]R:W-H965T--<<.MD/9O^<<)TTSUI6+Q$MLG\MWKO;)8JO- MG2T!'/M126670>E&V::JN+D_!ZFWRR .=H1KL2D=$<+5HN8;N 'WN;XR M> I[E%Q4H*S0BADHEL&;^.Q\3/)>X(N K1WL&46RUOJ.#A_R91"10R A0/]4-TK?]CQ$[#7D&F5"2FX[S5=,-54:S"TLR4W M8!G>".NXRH7:8(U=R5P)CZ4:"SD3BF6ZJAM'LMAS(F.HR'(A&X=LX$8AQ[(: M5;W>H4(==_@6C1=:XITD&X[JC7>L#0+=..C;_XP G3%(SDI"(ESD")VC!&*" M(J67".I*W5A$LJ_.V/-GLR0:O?[OZVUI ![T=<_ZA%D]S/EUQ3YVX#-%S7R< MNENIY?$3SP>["UU5V&"/*W+" !.,R6L3UX.,)B?C**)E,IW\AGI9%/A8$DAC M?9']FX91\>]@\(FFFAZVWD/$Z93%R7P0PY@E<;J/^*DF>=P2I!(GK]ON&3B> MH@E<9E$ZI$[0$%'G\8%P.H>%M8WO] 9KA5;H+6"Z]E>VEEQ9_\!C%I5O08=3 MSC;FOA.L +MOG]@X25D\BP=GBO20=33MC,A\(K%&>,DH8FQJ>;]WJ7-QISV9 MLP]V]&^1KFF+YIR=1&C^@SJ=$C:?1K]UXZ)$,!W.G K/QT]6B M0XUR[0CJJ?T ?]/.K;UX._T_0J $^^M$WG5E'E_?Y%'+NB@E:["[.'#E^VQK;:X]7N8K>WH,O>J6UB MP5@:M[KNHO6RU]W8]=(FK591% MI(2M/C3^UAS?PJF>). 5IG']+SD.MBJ/2'%PWK0G9\R@K;OAU%].?9@X9.R, M@S@YB#[O(5"?Y6OM]7IIS9'88(UH0>A+[;TQN;H+I-QYBZ\U^OGU'>RPQ9Z\ MZP:"0Z=^>:\W#;CGR]ACA& 7%R>TRP%-G$'+R;7I?.7(KUT)Y6/_&#,;TQ,/ MZ5V*6< [V%\0R2@13+ 9/#F6*WL\^<_+G4%5(ZKJ4=4YU.&+)F9+ZDD?]0:G M +_Z02M[7Q> 3F'^[&/=E;'8$^T!IY4*IO\,JNDCF466*WT4FO_5? M%D^6@Q;LKE^!'"G,H?/#GC!JQRWKU;!<_&4^K&C7VN[JSI$&MNC*+A9)1.RP M]@P7;_;]JK$Q'A>77JQP4P0;#/!]:XQ_N(0 X^ZY_A-02P,$% @ DH): M417"3;#Z P +@\ !D !X;"]W;W)K&ULQ5=; M;^(X&/TK%IJ'&:EM[-P((T"B4*94SXG,_'_BZVASNI?F1;QC1Z3F*1C7I;K=./EI6%6Y;0[$JF3,!( M)%5"-735QLI2Q>BZ("6Q96/L6PGEHC<>%M_NU7@HX5RO(DH>KG-8OE M;M0CO9:#-1ZF=,.63#^F]PIZ5F5ES1,F,BX%4BP:]2;DXQWQ#*% M_,;9+CMJ([.4E90_3&>Q'O6P4<1B%FIC@L+?$YNR.#:60,??I=%>-:"7!ZTKP2X+?E= O M"?VNA* D!%T)@Y(PZ$H@^,5SN(B@O)E13<=#)7=(&3S8,XTBZ H^A D7 M)C^66L$H!YX>+_=Y@62$EGPC>,1#*C2:A*',A>9B@^YES$/.,G2)'EC(7@TJ M*: =,D@9G:'W,Z8IC[,/ 'Y4;%.AM:&E2;N:VP5'B] M5V@W*+RCX@IAS[ ;']H?5T'+\U,#MP'><4=G,.\P8.=E_!YC6PP /< M*>Q3#*>PNW.8.PBPVZ]@)UYQ*Z^XK5[Y MS.!X1"9V?HP(7]YUZG5ZETVO5^2UE MBA8Q&1>*8TY7/.;Z9YU.[VRK8*?PJ]"9>^= &MO^!\,\F'_OC"DA53?[:D6+^:O/]&21Y4 M"H)?F.3SX,Q1E]Y1/)U(&%02!O^3!] _:+)\-!77OS1QT+@;!!_N%_B-/$*. M[CCD%_KDNK1V4H\PKO<).1P_Q&X5<=CNK/LV'XX6XKS5-A\**6FOI L1JJ(T MP20TAI<7!0$(WG!H+?.5CO(8GD/%W/7;?EXV^XW;?JB:I+UL5J+ ^S,6,:7 M^]_I,YHT%?EKD;Z7]QY1NGDMJS_JK90-^+[+B_IVLFV:Y\^S6;WJ[N; MYN7K[01-WDY\S3;;ICTQN[MY3C?R23:_/C]6ZFAVM++*=K*HL[( E5S?3KZ@ MSPGO"!WBOYE\K4\^@W8HW\KRC_;@E]7M!+97)'.Y;%H3J?KS(N6\S'_+5LWV=A)/P$JNTWW>?"U??Y;]@%AK M;UGF=?<_>.VQ< *6^[HI=SU97<$N*PY_T^_]1)P0E!T[ ?<$;!*H@T!Z GFO M!]H3Z'L]L)[0#7UV&'LW<8NT2>]NJO(55"U:66L_=+/?L=5\944;*$]-I;[- M%*^Y>SH$""C7X"G;%-DZ6Z9% [XLE^6^:+)B Q[+/%MFL@8_@D56IYM-)3=I M]R,KSE?Y(HN]!!\6LDFSO/ZH4+\^+<"''SZ"'T!6@/]LRWV=%JOZ9M:HRVV= MSI;]I=T?+@T[+HV A[)HMC5(BI5<6?@+/U]X^#,U3<>YPF]S=8^]!I_D\Q00 M^ E@B*'E>N;OIB-A&\Y?\YZ,]GXV&>08.*2S1QSVG+'@L4V/MFEGFSIL6RT= M?J$#D7?$=A%\N8L0A4*-Z.7TE[# (!6*G0KM8JJY:#9]@N!K,"'M 8I>#[P M/MHFR.\103B%\!^VX!U+7(PE)B.(9]/,C]/,O99^*59J_JHLS3W&HJ.QZ.)Q M'Q]MQV/C/AY&*H\Y0T;<6V!8A30WXGX(BRF-D)%%R1#&XC@^R:*S48KC*,75 MH][OD413;@_Z ]-J3WF SPQ1?:0#_H;\,ZF&$%=UJ'75++:+[L(]5D[:1+0 MQ8,>86T=CPW[GGFV\A(F!#;BWH;#+"9FX%MP)&(LAD;D6W!8X.BDSIR/55=- M1*X>_ &72+B6_! QFL;V\ \3[7F3A(AL2#R?:-U"('\/\>^U:F4EN-]G^4JU ML;7/J*[7B%T^#W290OXZY!WR5RK>7S,-&5!0$B=!"3$)%,F3\+=$.!_!W%SS+-F^TRK;P1 MJBLW$A>/?ZQK%O;7+$_\]\RSP.:0F^V/!88P%] ([(4%AV-$(K,,6' $\AA! M>P)@75 QNGH"!%PB[&A*YB%B[.K\0T3BZOQ#1#[%W@3 NK? _M[BG^6+K(J= MFC.?.5V^\>55+]8U"X_6O7@H02GD9) %AAB$)OQ;Q&T2%!*S?BWX6*,J2/^ M=2'%UU>^ 9=L&CG"/\03CN@/\0:+>#^I?EXP]G4_@4/]1'M/[I,*T;I)]U5: M-&H*BQ5(BD96ZJM@6NAZCB\OBK$N8GBT+,9#B;5,=$4CH]4RL:A6%$6&")[;8!1A M,QLL,(X@-W(KL]AO]C(WC+8(\^[W8), +B6*B^PGB[R?^)5_!O"SJ MIMHO [=(B2[=Y/+2F.J:14=+8VK1J BJ?^:6F V'<61J8PL.04)C8G9!%F", MH\C5!5%=/^GUQ7' )74MX?,0D;K2($1TJ>HD?*G^3HCJ5H+Z6XGD>U9W>_QO M=TG?FQ945W'Z-VP3G^P3C]\HMNSM$A:96[MS&Z[MAIB9%D,)+52[MU M\%B5O\MEX]LYH+JPT\LK9*HK&AVMD*E%^@ID=O%S&PRK #>SP*)\(X'BP0,3 M-AR*N>/&*=5EEEY?(0=<6I1G/VNX<13D$4<*A*[3OWG,=+?!_-W&6P;, MTSRO/X&'-"L:6:2%.M7JY8>RR)JR4O7"YTV7>W9YN 2$4>0ST-$YHCR18CH M%,TC/)Y/M&X[F+_M>)#+;5IDRS0'?:KXB@0[>1SL\AJ:Z;K&1FMH9I&S&"%J M:@@+C@D(T2 5+&([AH) X]F+_W2-IGOJMW)X.N].SR@IKK$L='"VH^U+4""V:6!0L, M(2X&>VT67*NFA9D*%AQ62<,=]Y2XKJ_\^G(ZX-*Y\SL/$;DK$\)$QR-W(2)R M9<+LY*EZ-2N;[G6&&G0/QA^>DSZ>/;XR\:5[4< X?X\^SY'E_ )]3@XO1&CS MA_#EH'QQ=/[OX/4$L#!!0 ( )*"6E$Z:RIWS00 "L5 9 >&PO M=V]R:W-H965T5V[N'TSV8Q(!O$YNU'>C^]S?YT1@VB;>MNKT72)S,^#OCF0_&TX/2 M7\R6TD2:Z][6VMU5OV^B+4^9N50[+N')6NF46;C5F[[9:<[BPBA-^B0( MPG[*A.S-IL78G9Y-5683(?F=1B9+4Z:_S7FB#M<]W'L;K0&Q1M_"GXP1]W5<^:&Q]>/WG\M@H=@5LSPA4K^$K'= M7O?&/13S-Z\.O_$JH&'N+U*)*3[1H7HWZ*$H,U:EE3$H2(4LO]E#E8@C M _#3;D J _*]P:##@%8&M BT5%:$=\HLB-X4U1"-DOHQ+ MJ^&I #L[6Y;+A]0:+<5&BK6(F+3H)HI4)JV0&W2G$A$);M %NDE@U9F,.(+Z M00O-8V'11V4,/#V[Y9:)Q)S#>Y^7M^CLW3EZAX1$?VQ59IB,S;1O07 ^;3^J MQ,U+<:1#W 1]4M)N#?I%QCP^M>]#H'6TY#':.?$Z7/+=):+!>T0"$K3H63S9 M'$\\U#//2CF'G3,/6=),3.S:,4W0LI\K:$*OG&FVU:J]!86WG(V[&?A)!A-^_L6 M#<-:P]"KX4.Z@S;.9Y70[\S5G+%0,!!HFY#2Y?!$R+!=1UCK"'^0BQA:?V41 M?P \&H[.5ESRM;#G;0+"AH AQ>-:05E(82-=))C0=IFC6N;(*_.6QUD!/U/4 M2R:A^0LTK!=[[C6 M._;JK0#!ZBH'&2SZF@D81Y&"Q9/R8_&_0%[XL;*MR9HT5(PZ1.# 83CPRH!63Y@QR"JD(!L: MV*\U"$")8"N10%K:%ZYR>[)R%'?T S[Z5B\B[H$==J3%;X]:[%B+7Q>VE;OCC%(\Z2HRAUO\$WB+F\"E M..B0XHB+7Q.YN,E<$@YQAPC'4_R_ 16W$'6"NUK"$17[D?J\OFS!)1ET+9T# M)O83)01YZ,NB?U)FG2C@Z"CJP2!SOBA]V+>K/R M>:*%=K0%<:PD]!5[LW)VVINC<8<(ATSB1^9/[$W2I.M%2#IZDSBZ$C]=7W^[ M0YKH[=SO$(=>XD?O"W8\I,G?KBT/H82OW[Q^=2C#;WC9W;1NI82OTL?1'$:!.HPT&'$H=3ZL?I M\QA&FQR]P!TF>GC:)VKVGIXZH],F;T!_W&VW^WV]LZ/M'QTXI MUYOB-,Z@8M'+,YEZM#[QNRG.N;X;G^.K17ENY]R4QX@@%(K9H(2OP65P.8*D MZ/)DKKRQ:E<<;JV4M2HM+K>&PO=V]R:W-H965T*]/!1]H*6Q1:Q$>DDJWOY] M24F6)5E2 C1]L45JSM&9(6>&G)^X^"X3 (5^9BF3BTFBU/'.LF240$;D+3\" MTV_V7&1$Z:$X6/(H@,0%*$LMQ[8#*R.439;S8NY1+.<\5REE\"B0S+.,B']6 MD/+38H(GYXDG>DB4F;"6\R,YP!;4E^.CT".K9HEI!DQ2SI" _6)RC^\V.#2 MPN(KA9-L/"/CRH[S[V;P*5Y,;*,(4HB4H2#Z[QG6D*:&2>OX49%.ZF\:8//Y MS/YKX;QV9DN*GWZ%RR#=\$4]E\8M.E:T]05$N M%<\JL%:045;^DY]5(!H S=,/<"J TP5X P"W KA=0# \"J 5T2F=*6(PX8H MLIP+?D+"6&LV\U $LT!K]RDSZ[Y50K^E&J>6VW*]$=^C+3TPNJ<180K=1Q'/ MF:+L@!YY2B,*$MV@-6=*Z)5"]U*"DHBP&/U!R8ZF5!F+]QM0A*;R@[;]LMV@ M]^\^H'>(,O0YX;G4UG)N*2W:?-J**H&K4J S('"&'O17$XD^LACB'OQF'(^= M$0)+1ZL.F7,.V;6$'0#%.2#%=:GZD5-) M3=F2R$(QE4OR$G]()91_.U4>"' Y*#6G+P&LD"4J(@-K(C 3%5 MB*2ZU)OUZ9,;7"FY"6?]0L):2#@JY$^5@$!1(4>:6J#'(ULAO%* ?VT2T[O5+@^.[4Z>CLL6IN[);*6:UR]KJ$;53> MD:S%]J43V&^M%MP>LP\-QP2>^DDV'VS_*FH6JF!0\_W MNE+=ZX+>WF)ML9[U!,\ \M;%9+G.M3G[$J'LJO2W]-H L^S!TH0OK0: M_$*O(6F4EY)R?6 1Z"STMYS&17CU+OBXW^MSLTY3?? '])D?:80".T!_/4"V M _'W6#VX=! _5L?8.Y+\[MG?D5OEN7]Y +37DM>B!"%TJ)4MAK2OLVU&LKRIM&.5#\6)R] M=USIDWSQF.C;&0ACH-_O.5?G@?E ?=];_@M02P,$% @ DH):4<"I/D\6 M P P H !D !X;"]W;W)K&ULS5;;;AHQ$/V5 MT:J5$BEA+UP"$2!!DJI]B(H@:1^J/IC=V<6*U][:YA*I'U_;"PN5PM)6C907 M\&WFG)ECSTY_+>236B!JV.2,JX&WT+JX]GT5+S GJB$*Y&8G%3(GVDQEYJM" M(DF<4<[\* @Z?DXH]X9]MS:1P[Y8:D8Y3B2H99X3^3Q&)M8#+_1V"U.:+;1= M\(?]@F0X0_U83*29^967A.;(%14<)*8#;Q1>C\.6-7 GOE!"?:6) M7@R\K@<)IF3)]%2L/^(VH+;U%PNFW"^LMV<##^*ETB+?&AL&.>7E/]EL$W%@ M$(5'#**M0>1XET".Y2W19-B78@W2GC;>[,"%ZJP-.(TMT('B-\GC.:$9MC!6>W MJ EEZAS> >5P3QFSZWU?&ZX6T8^WO,8EK^@(KQ[<"ZX7"NYX@LGO]KZ)L0HT MV@4ZCFH=SK!H0#.X@"B(@L?9+9R].Z]QVZSRUW1NFT?';:$/5]VLC9]B[#%J705C#M5-Q[;R:FE<5QM6)?.PPB@,,<0RCU*ITV7$N M;:%=#<-6,^C[JQ>(="LBW5HB5;9UE>V_8%3O.XP@=^^W)F&]BF?O;5P@^&D* M%J?Y,J]A'0;[RAJ\VF4*#^IW^&CJ9DBS(4V#8\;+DR+ MB=(>,/NI$'HWL0!5TSK\!5!+ P04 " "2@EI1"*=<3AD" #)! &0 M 'AL+W=O?,&<_86:_-@VT1"9ZD M4'83M43=31S;LD7)[$)WJ-Q.K8UDY%S3Q+8SR*H DB).D^1]+!E749Z%M8/) M,WTBP14>#-B3E,P\[U#H?A,MH_/"/6]:\@MQGG6LP0+I1W^59MHL0+0H$E>0;F?H]XBT)X(B?C M]\@932D]<&Z?V;^$VETM1V;Q5HM?O*)V$WV,H,*:G03=Z_XKCO6\\WRE%C9\ MH1]CDPC*DR4M1[!3(+D:_NQI/(<9P/% *GI&9RRVXGG09D)?4Q[/Q MDFB:<(DLA,J'29M6IWNZ'<;S;_APR??,-%Q9$%@[:++XX*;<#!=G<$AW85B/ MFMSH![-U;PT:'^#V:ZWI[/@$T^N5_P%02P,$% @ DH):4?I%]Z8C!0 MM!0 !D !X;"]W;W)K&ULM5AM;^(X$/XK%MJ3 M=J6VQ DDH:)(+2^ZE>BU*K?=#ZO]8)(!K$UBSC:%2OOCST[2!$ABV-[>%\C+ M/,]X7CPS<7_+^ ^Q I!H%T>)N&FMI%Q?M]LB6$%,Q!5;0Z+>+!B/B52W?-D6 M:PXD3$%QU+8MRVW'A":M03]]]L@'?;:1$4W@D2.QB6/"7^\@8MN;%FZ]/7BB MRY74#]J#_IHL80;RR_J1J[MVP1+2&!)!68(X+&Y:M_AZ8CL:D$H\4]B*O6ND M39DS]D/?? YO6I9>$4002$U!U-\+#"&*-)-:QS\Y::O0J8'[UV_LD]1X9JFY;=0" NRB>03V_X)N4%=S1>P2*2_:)O+6BT4;(1D<0Y6*XAI MDOV37>Z(/8#M-0#L'& ? W #P,D!SKD:.CF@=M!KOTNTVXW:'?0/4OD2J!Q$D)8@Q^9\3T#OJT\4;C#?G/'G6TDG,'Z"CG6 M!;(MV_HR&Z&/'S[5+&MX-@ON-;.,?GTM#VN]'VNXQK]E11,SRP@"Q8(-+ =. M=XH<=%):IX%V"D( 7&3I=8%&( ).4T/1MZF219\EQ.*[05.GT-1)-74:-#T3 M3LD\ A1I50AVJD"K?Y6\2*P8EY<2>'SXLBZK1YD6-]6B:_?+P,66U6^_[$>D M1LC>$SHPH%L8T#4:\#6ME! B\@)<57X44I'N5,2)A+H-:.;K7-G6'W46O@\V M,<.D ML.\TQ=HKK/1^+=8<]*B@:W*6H3I9ZZPWTWKH%0@7R$-Q5CM=%)+7VC3_7403 M,Y&?$^&,J);GP(-^X4'?2/P$:F.L"0V19,I[$='>7!,N:>VVOO.KP:ZF357( MJV1-5:932:UQC3:O*6=ZA<4]H\7C'142D@!T0V=9#56VPTX]K.VO9CK)-V"( M [;**<,REOB],2/+7:)*ODP+;Z0J,HUH-2:'JO8&&GQ&<>!Z[URRQ>7F35G] M>((K.[?7]7'W*)ZYF&L6F]2(^1W+<^ICBNW2)-OHO8>U*@#I,):WR&GNLU?T M[78N)%?SN:D]XK(38\?HO >Y J[F3L[UUFD,3>X\IV(N=AW7/W;>66*37.R@ MB'8L[#8XKVSYV-SSFYUW@8:9H1=H)E5MB+7-*D,G-"%)0$FD9E]!LSEDK'>0 MH'IVF*HM]KW6'R<6DOIV6OJTT%\[^/X>LD.GE6,&-G?J*4N6^\/0J4SH5A-? MQ;B2"6>)37*Q_4SP;+?G-61".35@\]CPR$'H$#^3:),6R*Q43$_85AT!>FJ: M<(]M.TML4B/FNQYN*A'EK(#-/?1>#0;Q)C8%O^R:V/^?YW%<]BML[C!3XR1S M NQD@T/M]GD'\O"+L>QMMF7D^FL3S]5>+!JNR*:-!+;H)VK\8!OEK ?UKCX+ M[++WV>;>=T]V)[+ +IN.;6XZ_ST+[++MV.:V8\Z"$V!L-:?!NZ"9$>V]0Y48 M^#(]_A(H_=K*OFV+I\41VVUZL'3T_ Y?#W'-\Q&^'F<':"5]=IYW3_B2JCR* M8*%465>>2A*>'9%E-Y*MTR.=.9.2Q>GE"D@(7 NH]PO&Y-N-5E <5 [^!5!+ M P04 " "2@EI1*>C+/B8$ #D#@ &0 'AL+W=O:\./#"(\^)[ZQ?:STA#6?'KJGZ<5@)&%F5ERU+:289SY"@NX?1 M(YZ^8%\+C,5/1H_R[!OII6PX_Z4'_VX?1K8FH@F-E'9!X-\[7= DT9Z XW?I M=%3%U,+S[T_O+V;QL)@-D73!D__85L4/H\D(;>F.Y(GZQH__T')!!C#BB31_ MT;&TM4D$EIJ"24T%->T)X50C/A/ N MA-!Y0C?T(TKRK2YG%5.4@0U*B[*@NBP0Y$71=$-%E=O;KE(M0@4FE#ZSW^>^ M:P,:JOPJU7X0ZO 74"%RC^+A4,W'#>(AJQJ2$&%% PA.5U(03M8 MX/IN VG(JH8TKI#&0TAN%]*X'!-&150YI42),A)*\+:=(.Y@1CW$ : MLJHAA152V(OT/:9P!]DI*KK PE9(;QR$S>T;LJJ!8?O4C.Q^-*Y(4C:6%?D# M-QC5W3+L=F*P[X?-+1VVJX.>=4W<"_I*I;Q;"2J!$/TD24[1DDG3,SMY<8OC M#H_]2?/H&+:K\SHG7J>7MX[:U;P[L9T63CBQ6P?>=68OI=GYP3B!8KY4-*<> M@ON;R#H_'!*J:P5JAV7%;;NX^"9$P>&N>-%:>OL)/C44W-]1%D3&Z$#8%D$H M1%*]Z1("ZPX#T>"ZHWM,"A%S8; Z>UMGOKU6(GTW:!3U K<;C.<'K4UI^\(^ M]NRZV7.',^QX;GAA4T[]"O%"8SQB>H51H _A]Q[GZ'.@ U<-V_C]02P,$% @ MDH):47W3I9A*! )1( !D !X;"]W;W)K&UL MM5A;;^(X%/XK%IJ'5MHVL1,2J"A26^A%FM%6I;.KU6H?W.0 UB0Q:QOH_/NU MG9!02 *K*2\0V^<[E^_8QY?!FHL?<@Z@T'N:9/*Z,U=J<>4X,II#2N4E7T"F M1Z9Q;# 5^JA&7P+)!OK#NYL.E[8;*Y,AS,<+.@,)J"^+YZ%;CFEEIBED$G&,R1@>MVYP5>/Q#< M*_$'@[7<^D8FE#?.?YC&4WS=<8U'D$"DC JJ_U9P!TEB-&D__BV4=DJ;!KC] MO=%^;X/7P;Q1"7<\^9/%:G[=Z750#%.Z3-0+7S]"$5#7Z(MX(NTO6A>R;@=% M2ZEX6H"U!RG+\G_Z7A"Q!=!ZZ@&D )!C 5X!\'8!?@/ +P#^L1:Z!:![K(6@ M 2[@* !$!: \%@+O0+0L]G-TV%S.:**#@>"KY$PTEJ;^; 3PJ)U"EEFYNY$ M"3W*-$X-)_F<17R*)FR6L2F+:*;0313Q9:98-D///&$1 XDNT%,6\130*WW7 MS;,1*,H2>:X'OD]&Z.S+.?J"6(9>YWPI:1;+@:.TA\:.$Q7>W.;>D 9O,/K& M,S67:)S%$-?@[]KQWB'\N!W?/X1_.. _:5'@Z-24^2&;_-R25HV_1^H2>?@W M1%SBUA'2#I_ 0L/=1OCH:#CNU]'Y:];O?\WZ0SM\!-&&NEKXX_'P7DLFO7*E M>5:?UZ"O6CQH_$[U4J:V>/_]5]*JUM919NW23*=096I]GM5L.>Y^J,K;;9WA4%R'Q'0H/X&*VLK2W7#&.U+^<&N MT&.-JK ITJ",-&B-]*E, 8)W??*0@,[>((,I4^=U*#?H^WTI$GA>OS[JL(PZ;(T:A_T1&IDY:=+9,K][I<+>"5=1 MO[32/\$JZN^E3+/<,&VP6VW0;JLO)M2_]*0W=2AHB0UO;?GXA!QB4MDAGSGE M;PMUVP1>!+B1P:KP8N]H!L.VR*HBB_U3,EA51]Q>'O\W@]U]!GO=1@:KVH7; MB](U4M(8=.;--E%J,HH2R5B"8)7^N=1]^C/G!=.E![!Z@Y MO_5W-_CQ(:GG2)_D\@;BB_L#?>-*WU?MI]S MH#$((Z#'IYRK3<,8*%^&AO\!4$L#!!0 ( )*"6E%P:X$G?@8 (P> 9 M >&PO=V]R:W-H965TYID\F*P46K[9CB4\8:F1)[Q+'.[;> M*/UA.#W?DC6]I^IA>RO@;5A96;*49I+Q# FZNAAD M75EP_E6_S)<7 TH8+;H^"7"OZQ"D&I4+@^W/M>!"XBBDS/ M!7]$0DN#-?U01+_0AGBQ3"?*O1+P*P,]-7U+F$"?29)3=$.)S 6%+% 2O8BH M(BR1+]$?B&7HTX;GDF1+>3Y4,*K6'<;E"+/]"+AG! _=\$QM)+K.EG39H7]E MUP^?TH_L^BZV&!A"N*J8X9\QFV&KQ7NZ/4.>\PIA!SL/]Q%Z\<=+IFC:Y=O) M+$5V2Q&-P9*K+;EA::G#RK7=R@>^J_"XG58: ?.J)/,*L][SDLQBV:\L^X5E MOP]PGBZH0'R%:+I-^ ]*)8KYC@JZ1#E,MT )6U'(8!B49#%%6YZPF('4?Z@G MT+/]B$$QHN;9W73LGP]W]5FUBC0<"2I' JLC5SQ=P*=Q'NZ MHPGR;(7$-33IVGER1I*""6'P!5VS+ .,&NX/ -DY<6W"PQ,_'!_P22G68'1O M''03BFMXT;43XUS*7,/M(NPKMTV'H1L$A\C:4FX8]'&=:\C.M;,=; %4TK6J M2G#CUK"OP\EH=(BN0\SU1F$/.D.@[L2*[G+Y+_2^^U94\5IJ=F*==("88/\0 M:UL,AZ'; ]4PLFLGT%I&0OG3N;BE@O&N3G56FFI ",(1/BB!QXE%76*-W&YV MMX;(L9W(@1Z@ENN%!5LPIENE3[S%BTW;AMCQJ8D=&V+'=A8NVA#8I "1PP/] MEC-(F9X$GY6V&BO>"?S#;N0XL:A#+'#&DTG/5)AJ@.W5X'VC_WL=']EHE5:; MG18.#WT[1BKJD()>JX<:L:E!V-ZY/ZO.E5ZUV^ZNU7.<6-0E9ED]ID)A>X5J MKYZ_M&Y^H[2BSJ$+.M/E.%L+T*M:>R[[@$R/^.;KG0 M*8TBHBAZD/KQOM8.(I]DQA\.R%X1?9J+3Z M!!L=)15U2/6SD6?*DN<^UGBE='C[UK-4.7TZXHRAGK,WY M74Q[G%A4BO7WX$W'3 GQ["5DGBDJ*.S=[O2"NW\D6UN\#(%[P:GGPA"P9]\0 M?( "D' I$6R[8,T 1>H2T#D%[;Z_?9KSA% 3I&%RS\[D[;C">OC %8JHWNR1 M8N\LT3NZ7.L5,\^D$KF.T2MT#=M&GK*X^)&BOV^H/I_[QQ8[P\;>J4]5/,.: MGKV)!^]@+4#9)2G/,]4Y(1W=MJ/_'<[)<7+7I5Q]54P:8LT#44/2OIVD.V>O MIZ7_C?/J&^[U3[TE\ VO^O8M014,H8,A(1B=?.>WV_<6V=EEFO@,-_MV;CYR MLGYKV_$[DZ!VCF\_DOJ%)#"$[ML[\F.3H'U4U$X"J\P>W[!V&Y=2L2ZN0?6U M!!#+_F*N^EI=M5X6%XQ#([Z_IX6M #W%8>M1_FB!Z@NH*?_ U!+ P04 " "2@EI1/33OZ. $ M #-$@ &0 'AL+W=OBV(&G79T:B;:Z2J))4G.S7[U!2) <2&1?H0U]L7?B= M\_%-<]NY7HE:IWSDMU*I.JBH/+Y@N5B?S;#LY<'=WR[ MT^;!8KVJZ);=,_VENI5PM^BM9+Q@I>*B1))MSF;G^/2&) ;0C/B'L[TZN$9F M*@]"?#,W'[.SF6<8L9REVIB@\/?(+EF>&TO XWMG=-;[-,##ZQ?K-\WD83(/ M5+%+D7_EF=Z=S9(9RMB&UKF^$_L_6#>AT-A+1:Z:7[1OQ\;1#*6UTJ+HP,"@ MX&7[3Y^Z0!P <& !D Y C@7X'< _%A!T@.!80-@!PF,!40>(FMBWP6HB?44U M7:^DV"-I1H,U<]&DJT%#@'EI*NM>2WC+ :?7Y^GWFBMNLJS0^RNF*<_5!S1' M7^ZOT/MW'] [Q$OT>2=J1!/S2 M#;]GU0GR/0/'RPGXU='P2>_7;O@52P&.K=YOCH8;3A]RAJA2#!Y34[K2 MC"LSE,,KGD,=,V7>UX4[*&'/)G0&Y7S#X@7)Z2??UMAXV&^ M3X(@?CWL9CR,^"$^L/:*?]3SC]Q)/;]'UR63VV=',.+>6/SSRR_IC2=.II=4 M[5!%.:13HS07BI?;*;5)1G'"7K@,+56W[+TOG=Z_PO('#E%**V[:@&;_@O;" M"JJG.+2VPL.4+F,<3E/ WB#%GI/$7T)#]7*H7BAJ+9#9-S")Q!X2.*V\WH@( M#CQ;!^*#-0$[B5PKS6'1!A8;RB5ZI'G-3!>".&B($D0%,2K+.>Q4(&7/)DS3 M_/"(WQ);Z0TJB,E/5JJ+SN*K2$5)'-ER-H@F]G\!N<*#>N+@[38R'E)SP< E M9,^:GV 4E2 .(EN"!M'$;M6\ ,7L)EJ7#]U-FK;AD2QE0 HB,TDI'"IM4S+I/QK[#R,_L/@?I!/'1_C/1;F=:R8+%X-X MW#2^K4X'=<5N>;V5"RH ML1_8?))!4(E;4#\>MB$O-2VW?.C(*29DK*@A,+%T!!D4E;@5]1.#TP^2YI@S M%YMYK3H2DQS&JHF7L1]9.!QL'MVR>?[2@2#9MO8C8YV)>W=I M) &6#F5.$^PI94JU"XHRRFA*LE]RS,IB1D[2\\?T2("7MM@,LDG>D,U.&/(F M3P?J/,EB+)MSXONQA<0@F\0MFY @:99^]E3!T9VU@1&OA.LM9F/UG =)8&ND M03V)6ST_];IU7(#&(CK'L;],+#P&%24_IJ)O\1A+Z9PL$UNB!C$E;C%M-R!' MKNN3Q"9VL5/;D<7!P=Y\Z/F3RBV'@WK.-@#T3F*8FFR_G;0W6E3-6?]!:"V* MYG+'*.R2S !XOQ&PQ^QNS.>#_@O6^G]02P,$% @ DH):48D-S=2V @ ME@D !D !X;"]W;W)K&ULO59;3]LP%/XK5K0' MD :)TZ8MJ(W4/W;,;&8]%K1GE<".1JLN2R-<9,+&<>-A[>W!+\T+;!WX\KD@. M<]#WU8TT,[]%26D)7%'!D81LXDWQZ0Q'ML"M>*"P5!MC9*TLA'BTDZMTX@56 M$3!(M(4@YNL9SH QBV1T/#6@7LMI"S?';^B7SKPQLR *S@3[35-=3+R1AU+( M2,WTK5C^@,:0$Y@(IMPG6C9K P\EM=*B;(J-@I+RU3=Y:39BHR#$.PK"IB!T MNE=$3N4YT20>2[%$TJXV:';@K+IJ(XYRF\I<2_.6FCH=3Y.GFBIJ=TBA(^2F M$E)TQ37A.5TP0%.E0"MT< Z:4*8.S;*[Z1Q=<)#Y*_J&*$=WA:@5X:D:^]J( MLM!^T@B8K02$NP14\A@%^#L*@S"XGY^C@V^'_Z/XQE+K*VQ]A0ZVU^7+&KFD MG&HXNC;9;W/UY]H4HBL-I?K;0=MK:7N.MK^#]D)I:GXJEI=0B1X(JV';GJQ0 M!@[%_G&>XZC7#X*Q_[R%O-^2]SO)9R1Y9"+OL!&U2-%7[MZ@I1U\=7+?29("^D5*Z#!RTH*= M?&6>.%AWEV _B7Z $T8N4]4E:J/EX;W$VL!LYCK:F2M>=R8<=M*?N:X.$MT" M(Z[Q%K3J=+;N/KCWI3FO.P_N;CV?S[D;!P9\)H=\F M]BQOKV+Q/U!+ P04 " "2@EI1SR,OX H# #="@ &0 'AL+W=O)$1NII2+]=C!SF[AGJUB;1;]M(LORBF@R&4FQ M1M+L!C0SL*7::"#'4G,JY@A6E4*U&]/LK MK*%;31/UIR5'M\S1M3EZ>W+4]*([O3(JF8B:9&C'\@8)'[G,#N: D%WPP M.?*RCUSPAMRPF5R_)-=O)T=4C)9@5BAB*A0YD)3 JREW.Q >= ;>YY:S')2, M!JU -S2BDO 6I&&)-#S8C3@K'>X;2K' 6_8RG_?FO?0<)!QVN]MKAR$MSN +,FVWJ- M57D 'AQ.QLH?\/##9&Q'\KN=H%E&M]:LF,9O1N2*0?/!Z1*0O,X SD=N>ZGM M1(O,]B\+H:$;LL,8^D\JS09XOA1"[R:F)2H[VLE?4$L#!!0 ( )*"6E'" MW]$/TP( () 9 >&PO=V]R:W-H965T[H1\5 F )B\IS]3(2;3.KUQ7Q0FD5'5$#AF^V0B94HU3N755 M+H&NK2CE;N!Y/3>E+'/&0[MV*\=#46C.,KB51!5I2N7?"7"Q&SF^LU^X8]M$ MFP5W/,SI%I:@[_-;B3.WIJQ9"IEB(B,2-B/GVK^:^U9@=_QAL%.-,3&AK(1X M-),?ZY'C&8^ 0ZP-@N+C&:; N2&A'T\5U*EM&F%SO*=_L\%C,"NJ8"KX UOK M9.3T';*VXOA.[[U %%!E>++BROV17[HUPKA^TZ%T,NXX]V,<^ M"5J!"RH[)/2_D, +O/OEC)R?71QP:]I.^5ED2/$,Q1]4%*8A/4":?=H??W $ M,6]'+"'_X$Q+IL+ZE(06&W[BE+3@NC6N:W'=([B;(EWA,1,;K!.-D_:/' EZ M6N(BBS.E[WGL#]WG9F;;=KSQ,:I]C%I]_"TTY20O9)Q@'2*Y9#$<^AXE9= P M''1ZATWW:M.]5M,/E#^";,GS90VZ/,5GZ]>X_BE2,NU_3$D8=;J'DS*HC0]: MC<]-:T&+Z,$4RX#$#B,DN1%2)V1*I<#]M"5&WWLMB-XIDN8W*JQ_BK1-*DPS M;UW_PUER&[4^!;FU35:16!29+DM?O5HW\FO;OMZM3_RK6=F.7S'E[0#KT);A M_Y'#!I%>YQ+/N"P;;CG1(K<=924T]B<[3/"2 M)LP/<;(?1^8@S4UY[Q?U!+ M P04 " "2@EI1U'T+RM0# #,#0 &0 'AL+W=OYNTGOBRW!/KO/KG:7U?S(Q3>9 2CTH\B97%B94N5[VY9) M!@61-[P$IM_LN"B(TENQMV4I@*05J,AMUW$"NR"46Q1+.?\H'+*X%$@ M>2@*(IYO(>?'A86MEP>?Z#Y3YH&]G)=D#QM0G\M'H7=VJR6E!3!).4,"=@MK MA=^O<60 E<07"D?962/CRI;S;V9SGRXLQS""'!)E5!#]]P1KR'.C2?/XWBBU M6IL&V%V_:/^M0@%2\:L&904%;_DQ]-(#H K6<8X#8 ]Q(0C "\!N!5CM;,*K?NB"++ MN>!')(RTUF8656PJM/:&,G.,&R7T6ZIQ:OD[Y^F1YCDB+$7W*3!%=Y1L8:O3&@/S-^D-JV!XV$G#]K9FZXZPC=$#9RJ3Z -+(1W MKZ?QV)U08.O0M?%S7^)WZTYJW$!Y@SSG+7(=UQDB- V_@T3#L8'C>(*.UQZG M5^GS1O1USD9E@)*7\R'M^>R;\YDPYK?&_,J8/V+LEN2$)8"(0EO84\:,)6WB M&8@8.MM:6U!I,^WE:>EYKN^'<_NI&[&^F.O-<.2V8F=D9RW9V2395?+]0"4U MO4-6R5X>1)+I!H!*08T3Z5^ZVG2#4A)=;0#01ZX ^==#CM269AV&4>1YLPL_ M^E)QZ :S83>"UHW@G\8UVJ-?G^=Q:RQ^U3R/>P%U/3\(G(NX M#XF-YSEV3AW=^=\RO3'5)1EZOA-?N#(@-@OC$4JOO(FTK!-' MSPUZ8-%9]9,8[P;[/^XQ>8>Q@T>XN"O+723*.=G3 M1P![DV0_F"%)G-7>1!G@4[_'_J^O.GSJV'BZ9?_;NL-#'3>,1AH9/K574E/%T5_Y/)17V*8]7U*F#X^CU*BKJS008 MNR'V+L/6EQO* +LS+Q<@]M4U0J+$9'$].K=/VZO*JAK0[9-X?<]Y($)GID0Y M[#34N0EUF$1]=:@WBI?5]+WE2L_RU3+3URT01D"_WW&=+,W&&&@O<,N_ 5!+ M P04 " "2@EI12V_7R($% -'0 &0 'AL+W=O$-$Z(<=@KO&F3,#/^S]CY><"C-^9)2 =Z3..47@Z40J_/A MD,^6-"'\C*UH*C^9LRPA0MYFBR%?992$I5,2#Y%EN<.$1.E@/"J?W6?C$(_HU L+P;^ (1T3O)8/+#U M[[1*R"GBS5C,R[]@7=E: S#+N6!)Y2P5)%&Z^4_>JT(T'&0-\1[,K!WG<$IW)P]G5P*P>WK/VF6&6E)T20\2AC:Y 5UC):<5%.5^DM M"QREQ%JRG,NQ^&@HI/Q"Q'!62;W: M2$4[I&)PQU*QY. F#6FH\9^8_0.#_U"6K:X=^JC=%3(&?*2K,X"MKP!9R-+H MN=[;'0:Z=#XW^LWG1I^:W2=T)MVASKU52URO0US&PSOB[;&H#*/8]2AV.8J] M:[5GC'-P)3D'?I XI[I%N(G@EA$*+K^-,0H\WQL-WYJ3LY_9M&N&7&0[;FW6 MRL.I\W",>5S.9GF2QT30$%PF+!/1/Z0 M2Z?322GH> ;1)[G!UL)[6DWU=E9 MR/:1/B6W3LDUI]1( [ YB)H+(E(+@I0+0I>HVQ'FR_VUK?[:[XSZHE"5IJ,[7Z1"'MQF9UQX-!YQ7L-6O+:NSQL$\6ULJ"W?$L!SO;LOK, MVK*0DH7Z9-E:6:@S'@R@WY'59]:6I78BB(VRGI94]NAS03.M.-P=U?*1[V^K MZ[5KRU-;O84],D%BKS-9,$PR"CK)>N[8RM2E!\ZYT7;:K$AH/-"[)Q9?1 MR@0EJ#8'Z!ZQ/8"*OM#[=(-0A6C5#T,[0-MUWL]NJK&#OMQN=@ 2*I1#,\M_ MI4N 749_"[S VD9Y9>?VV$UU\7S+AWA'4@K[T,Q]_2(#_X*[*(V2/#'U]8KC MR#KBDON>'JNIQ)3T18;M4F<0K/ MR(SGW94F[WV55K!%Q^S[D:(F,E/S_U3:'!$Z9:E-?$,*GXW9PA1+ ML1(=DY5(L1)]GI5(PS;D=AKNRLPUFTTUT3S;VM&U(<5)=#A.(@W7(+(ZFRS2 M<%)C-]7%<_&N+@$I3"(S)JL%M1<7L>(B/B87L>(B/C@7>R+VE&>JW$P8WDJ-C^8UT_KL[O+\L1JZ_D5 M/+^&FN<3>'ZS.9E3X3<'A7 MO[Q<4CF[66$@/Y\S)CYNB@'J$]#Q?U!+ P04 " "2@EI1';*% <$" !U M!P &0 'AL+W=OBPHDU,G5ZJ\<%V9Y%!@.> E,&W)N"BPTE.Q=64I *<65%#7][RQ M6V#"G%ELUU9B%O-*4<)@)9"LB@*+ITN@O)XZ0V>_<$.VN3(+[BPN\1;6H&[+ ME= SMV-)20%,$LZ0@&SJS(<7R\CX6X>?!&IY,$8FD@WG]V9RE4X=SP@""HDR M#%C_=K 2@V1EO'0\ M_@9M/"/#EW J[1?5K:_GH*22BA24TO8U=IQ69?-VG573;J_#?4!>B:,Y5+ M])FED#['NSK2+EQ_'^ZEWTNXA&2 @N$9\KWA^1$]BW[X&DH-]PS<]X[ E^_? M/>J))NB*%UB^X _%ZZ$*.ZK04H5_1=6DM$&.+=*TD=TL"/PPG,3N[C!UK]U" MWYM$_G.WY6LW/Q@-#]R>Z1]U^D>]^N\PO0?1DXAQ1S3^WYQ..JI)KZ85B$1? M*-T]$<]0AHE .TPKD.96P&,"4AI#@H5X(FS;&,V*JKENB \5$9#JWEIRH8R] M8D0=O43],OS)P/,^]L03=?%$_WI&%M&KJIZ/(\][453WH%$5(+:VX4N4\(JI MIF=UJ]V;,K>MU/WMWCQ(UUAL"9.(0J:AWF"BSX=HFGPS4;RT;6_#E6ZB=ICK M=Q&$<=#VC'.UGY@-NI=V]@M02P,$% @ DH):47MNP&9F P )PP !D M !X;"]W;W)K&ULK5==;YLP%/TK%MK#)JT%0R!D M2B)MC:9-VM:JW<>S0VX2:\9FMDFZ_?K90($6AU5:7AH;[CT^]V ?W\Z/0OY4 M>P"-[G/&U<+;:UV\\7V5[2$GZE(4P,V;K9 YT68J=[XJ))!-E90S/PR"Q,\) MY=YR7CV[D$_G['3!Q7'C8>WAP2W=[;1_XRWE!=G '^EMQ M(\W,;U$V- >NJ.!(PG;AO<5OKO#,)E01WRD<56^,;"EK(7[:R\_B7WC1"]!#PYD1 V">%S M$Z(F(:H*K9E59:V()LNY%$@"67J%;I W^Y6Z.6+5^@%HAQ]W8M2$;Y1OH+,I&.;CF>/TWU3;EMSV-8<5GC1,VL>@8Q: MR*B"G)R _"HT8:B0E&>T,".2BY)KEU(U3E+AV#-V6(9A&$^-+(>^(JZP9))& M;=@CFI.6YF24YB=0ZJ+DAIW4] ]LS(8W4E"E2L(S0)E0VOEY:]2XQ^8B3*=/ M*#N"HDGJ)ARWA.-GZ,H$WUUHD#DJ+'%S^L6VHN[B&@]H&('#GG(U6U=8@J/8 MS3=I^2;_%C@KI02N'\BZ2":#U0<[8!@2!BF>NOE-6W[3_]'S->+@%'7J%!4_ M%=41%L01/K$)TI9T.DKZ%@Z"'2C?H4S"AFJT)1EE5/\>.;BS%GMV+B_ 0>>I MP9G=5 M>-RLKDNMM+G1[N#B=*@G@@:S*XLB;IR1L+=XZ%QRWK6N^-ED.W M?PS7>0E.SZ9D9R)X-LKQ;?:KI+*Y3YT:SH;W^=/]YO>Z.-M"?R9R1TU'QF!K MDH++J?D"LNY*ZXD61=78K84V;6(UW)M.'J0-,.^WPFS(9F)[Q?9_@^5?4$L# M!!0 ( )*"6E&>UAE"! P *]' 9 >&PO=V]R:W-H965T:D"@].#HL?G;- MCP[9.H^CE%YSE*V3A/"?)S1FC^\/\,'S#VZBQ3*7/Y@>':[(@M[2_-OJFHMO MTXV66930-(M8BCB=OS\XQN^NL!'(%H7(/R/ZF-4^(^G+/6/?Y9>+V?L#0YI$ M8QKF4@<1_SW04QK'4I4PY$>E]6#3J6Q8__RL_4/AO?#FGF3TE,5_1;-\^?[ M/T S.B?K.+]ACQ]IY9$C]84LSHI_T6,E:QR@<)WE+*D:"PN2*"W_)T]5)&H- M3-S3P*P:F*T&V.YI8%4-K+$]V%4#N]W Z6G@5 V!7 M#?RQ#8*J03"V 3:>,V>,C1/>)'MTMO%SNG&1[VDYL(I1>49RG*?,/TS.[\NYOHNV#T+XK(HYP\(?HD"LZ,HC?W-*7S*.\$ M;5W.0N__R%+ MRAD2_DN_B_'?!7^>YHPCQE;+2EW(]EW<;:2_,=('I^8U%],B6I$8S:-48$PD M/H7L@8K/.81BP49_ ;A0_0DW5\2OJ"%8BX6 XC+0'1E/M 3T4HH)-&P$!NJ M9#) &V_H XL?),Z&)2S-*U@"_,>U@@SOBAJPHAML@B:?,"[:%":3E;"V;6M5 MQYE:L&R!;$8/G&-%31CFIFOR4RS=\DQ">35NI"DL$S^2LO+G52P)YR1=T$*\ MTT:K YAZ+52,@^WQ[/D#8DU#%3%AF)E&TCS6\=OT MC;:5YQUBG59/?\+6:8Z8\K(S!SH .XZKFSTDUC1; M 36&D;JJ1LB#6""1^[BS1L Z^EJ6&>@V#LHUC51 C?>#U%A!-8:Q^LLZN1LFWB6Q5=H:5KB3=I$V)-6TM;8X@=E")?;'FO#-#"6K*!>#J"C) MQ/A?BXR_+8JT%6XMFT4,T$[_.D)B]*),E#>)TM>;",6&> M^:O8%A0NDLJUYM1Y0T3@T(KR4$2IL]8=T(\GMO&/SA!MW:[IH2(H$R:HWNI( MY.]NR=EZL40)$:,'+IA,12*FNQ>@,Q7>FS#>CX 63U\WM."J(M&*++ MRJE6.,TIS8;AXW) +9Z8#@0#5FTW"B[Y3UF21+F,3VF:0'Y9*B$!\^NT0/\5 MX\^H+Z!6#=T13L!=&Q,3Q#)+H;4%H^*(^24^G58S =W0'^N(%VL7J'L%I9:S MGVFGL-.""W"YSQ4WT*UD9I&">Y)%64'1K&!".J3S=2GY(!4 MTP^%T!:,T&"BR-, $%H*<*W]%-66@EH++JH%9(AY4U0(U5)HCD@HQE46E56U MF!A( $F:D;!G=^B\ZJ*Q/:2M_2Z'I)I;MPK);1C)CQ<+3A>RF%%5GQ@WY1I_ MS;E$A)I#19W8<#!*"SQ8<1K28IF+392P-%]*UR-6EHTSFLM I?+W*SAD8R)6 M^=3>56B'K!)S>\6:,5.,8K\6H]B*4>S],,J 6G-B@&!L*T:Q7X]1!KHV)A9( MBW;M9./EC'(BYXI,>,$I:<;B:$;DL+YC+.,2D0%*1!D M1,KA7HR!2LA6W&2_G)MVG7*9:"F()YX#&:\(SX8);X\)5Y1HPY2XJX3#O1@3 M!P0J1S&@\\+S@;TDW'.DH*BAH!GN*"IR7HN*'$5%#LP9.TKX0"^&"!V8<,5, M#DP/?V?"9:*1*(!$D274<,A^14H.?-Z^QYS7#MSA;:-=Y1SN!0]4(XYB(0?F M!RCGYVO.9BR."7\5.G<4-3G>:R5>,8P#[V'M*O%P+T,;&XYB(P?FB;\_\2-) MW54$Y1JOE'97\8P+GX?L*.T#O> !4G<5)[DP6[Q&VD=1NZMHRH5/-/:8=D4U M+KS^V57:ATXS8&IW%2VY+S_-V$_:QQ.\6[M/!1^1[#'SBFM<>!FTJ\S#O0QM M-[B*E]P!7A*1FHF\9#2-F-S^W/[2CZM(Q84/6+:X].,IF/?@=OO7E M&OK>UYFG[WW91O_FEZ>8P(,Q^H96I\+%SA_E27':O%(#47QC/!+#0PP=HG87 M-UNQY:Y?UY7R@9XM'28J7X=8!2XF/,4JWL"F6_/RT[V6,43"D/%9L:NUZMF] M//'TXV\,W-OR%&-X\,+FP^:NEMRE77$V%RA6SF%Y>:O3EH[[67:O)8HW/!C1 MOZ4BRSR/_EM?J=*VSU]JTXP(,YX$Z,210SDD(I5UCLC<#BD5.] M=G44AKV14UT_@@;'B<)*#\9*Z'Y?WAV]RB)?O[C1:XY"4P\NT4?>D?/T6TBM M<)2' YY^4(*MC@.58;GFE5L%Y#Y1=F^7=-# MA:[^P#TFEM.BZ)+/%>79QF-*.1@\A8S^[FX'^0KE?!CE3M=)<1=*%&+IY@Z6 MO M.TDAX4AQJ":;HOPEU7G70?1.J"C\DTC1<0:2_DUNIOGZ/U/;UQR=^QT,& MUW#:\VU0K.F,0F@?WMJYYBR)LHSQGRAE15W_%XF_@Z6XKY#:A[=V;M=\O*"0.H!+;GWH MW!W?HG,!.PMHH1 HT [@[?EMAD^@@#* @7+D\*FT-%_[:*-G2*IIHT+< *Y% M?WGP#.BW]*VBRI^MVS4]5.@?P.BO#YYS^5B=1Z&HMT]96BS&Q5+TBRB$E^B4 M<"8T$*AKA=\!?*Z[U;!20!K 0#IV6'6\W^H85@-231L5'@=PY?SKPPK6;_5A MTO;MFAXJ;@@&BG,=DQX9ND@2N;TD+S =UV[?0#W6WG#!NQG;C"9!+!NU\O,. MQM.SFA9_M1]>#$BUK*R]WS+@^E6/M[HJ^++(8Z/VT,N 7Q9O%_O:"RYCS_ [ MU$'O1'E!PY:7M5=@!@S!ZA)4N4\+JJV]V3)&7)L9^:;/J+V>,F!\'?FJS^AX M^NH"S_J,VD,H T:I:K0)]T"7:H^6#/B^R7;#M_94R1BX0_*\=-)M?1Z>^NK= MU#$#%"JMF];^&H?\4S:?BZWM#,5T+AK)6P<'B)=_'*;\DK-5\0LZ3X MN*1D1KD4$+^?,P$CU1?Y-S\V?Z/GZ/]02P,$% @ DH):40WTG3)# @ M!08 !D !X;"]W;W)K&ULM53?C],P#/Y7HDI( M(,':=3\Y=9-N.Q \3$PW <]9ZZ[1-4DO<>GNO\=)M[*3MO* >&GCV-_GSX[L MI-'FR18 R(ZR5'81%(C571C:M #)[4!7H,B3:R,YDFD.H:T,\,R#9!G&430- M)15E#J9A$,@_/%HS@4Z"["95+Q ^P OU=; M0U;8L61"@K)"*V8@7P3WP[O5W,7[@!\"&GMQ9JZ2O=9/SOB:+8+("8(24G0, MG'Z_8 UEZ8A(QO.),^A2.N#E^RYA;4N?XH,BT4P#U@&.:]+?-3- M%SC5,W%\J2ZM_[*FC9W. I;6%K4\@4F!%*K]\^.I#Q< XKD.B$^ V.MN$WF5 M#QSY,C&Z8<9%$YL[^%(]FL0)Y1YEAX:\@G"X7&LI!5*7T3*N,K;6"H4Z@$H% M6/:!?<,"C/>LM,HL>_L R$5IWY%O5QO ER1$TN'8PO24<]7FC&_D_,@VE*6P M[)/*('N-#TE_5T1\+F(5]Q+NH!JP4?2>Q5$<]?"-NJ:,/-_X!M]&*"%KV<,T M[IC&GFET2]F5%KTBFG1$DUY)6S I/1+-"=,YV]>6_-:RIA!IP0IN:4">:V$@ M8WOW3M<>I3_!<#*(HC<]2J>=TFE_\_CQ+\V;=4RS?VO>O".:_^_F]2>(;S8O MO!A-">;@%Y!EJ:X5ME/:W78[[KX=[3_A[8+<<',0RK(2HXF M8P, *$* 9 >&PO=V]R:W-H965T>IY*,%D2YHJ0Y3SJ:ATSCA]E*"JHB#R^PW-Q6[F!,Y^X8EM,FT6 MO/FT)!NZI/JY?)0X\UJ6E!64*R8X2+J>.=?!U7W@&X"U^)?1G3H:@W%E)<2+ MF7Q*9XYO%-&<)MI0$/S;TEN:YX8)=7QM2)UV3P,\'N_9[ZWSZ,R**'HK\B\L MU=G,B1Q(Z9I4N7X2NX^T<6AD^!*1*_L+N\;6=R"IE!9% T8%!>/U/_G6!.(( M@#S=@+ !A*> X1G H $,3@&3,X!A QB^=8=1 QB]%3!N &,;^SI8-M(+HLE\ M*L4.I+%&-C.PZ;)H###CIK*66N)7AC@]7VJ1O&0B3ZE4[^'N:\7T=_@+/O&$ M4YUI.:>AJU&P5>TNB\J76&9W3&\""XSA3<\92F'?A%/SX8AST, M'D:M#5VX#]U-V$NYI*4+ _\#A'[H=RBZ?3,\B+L<^KW=[_KAG\76A2 ^N_M] M/_R!2!=""_] MU+*E[JJ]FF%L&]$K_7!4KO!?$>G_"<82/E])X[!G?0"** A\/93TDEM\+=YB=-=AY+O1 M:Z/[VFATG/GNK$=MZ*)?*DJXP-NQCN)EE[]1E\KAB;\=1K%[1FC<"HU[A5YO MJ<0. W/!DEIE*O*<2 4E)LTJ[A1'WD(]\_V=L[>ED+*C>V!U)8V177]4O1KK9]UK7M+D[6;X*KV[I;.M#4 MS1M>I1O&%>1TC92^.\$RDW4_5$^T*.W[O1(:NP$[S+"'I-(8X/>U$'H_,1NT M7>G\/U!+ P04 " "2@EI1M:Q'HYT" !"!P &0 'AL+W=OH(9<.Z(4,9CQQGT*1WP M<+UG_^QKQUKNJ8&9XC]98:M)\"D@!92TX?9.;;] 5X\7F"MN_)-LN]@H('EC MK!(=&!4()MLWW75]. @SW% T@&2UX#A&X"T Z3G9AAV@.&Y&48=P)<>MK7[ MQLVII=E8JRW1+AK9W,)WWZ.Q7TPZGZRMQJ\,<39;6Y4_5(H7H,T[LGALF'TF M5^166G8U9[QQOY'X(/*M=K_6D(LY6,JXN<0X4U$-9O]BDBP9YRYJ'%I4YW*$ M>:=DVBI)WE"2DJ62MC)D(0LHCN#GI_'7)_ A=J5O3;)OS30Y2;B&>D#2Z#U) MHB0ZHF=V-CR^/E;._V5?_'/V/YJ1]CY)/=_PE$]Z"[R0)=TQT8@3S,.>>>B9 MTS>8%U1+)C>&K$"3M3/2"=)13SHZ*=?[M]C[UT#>:&896A1V.6_0'Z342I!< MB;JQU(\L51+82ZE1BO61QP?EGA)0?:!>#W4BF[ MW[@$_;69_0)02P,$% @ DH):497ET:.J P &ULK9=;C^(V%(#_BI67;J7=R062P B0EDO5/FPU M&MKMLTD.Q)K$SMK.L//O>^R$+!,,16U?2&*?ZY=SG,/L*.2+*@ T^5Z57,V] M0NOZT?=55D!%U8.H@>/.7LB*:GR4!U_5$FANE:K2CX(@\2O*N+>8V;4GN9B) M1I>,PY,DJJDJ*M^64(KCW N]T\(S.Q3:+/B+64T/L 7]9_TD\2L JZ8 MX$3"?NY]#A\W4R-O!;XR.*JS>V(RV0GQ8AY^R^=>8 *"$C)M+%"\O,(*RM(8 MPC"^=3:]WJ51/+\_6?_%YHZY[*B"E2C_8KDNYM[$(SGL:5/J9W'\%;I\8F,O M$Z6RO^38R08>R1JE1=4I8P05X^V5?N\XG"F@';="U"E$0X7Q%851IS"ZU\.X M4QC?ZR'N%&SJ?IN[!;>FFBYF4AR)--)HS=Q8^E8;>3%NZF2K)>XRU-.+K1;9 M2R'*'*3ZB6R^-4R_D4_D]Z;:@21B3[8%E:#(AS5HRDKU,VZJ=JF[,$[^*$2C M*,_5S-<8D['L9YW_9>L_NN)_1+X(K@M%-CR'W*&_OJT_O:'O(XL>2'0"LHQN M&MQ"_4!&P4<2!5'@B&=UMWHX=:7SW[QO_K7W=S!&?76,K+W1%7O/D F>L9)1 MV]58#KH POOBZ$H SQ^E\?TS?L#RU85;JE&0FVK)1%4WVLABA[.,H"+)6=EH MW 8J.>XH4J.JU;N1Q;C/8FRS&%_)8B6J"J._#/8C ?2-$:(W)ES5MVPMQ]:R M.7-?%Z-D'."K>3VO"9=4DB;OI=9WV=K\DZUW".(>07P3P6:_QY/9I-HH^Y;L M 8K Z2M(_!Z8E^)FY((27X08QND B4,FF@Z 7,I$P7B PR$3QFX820\CN0EC M>ZT>+ZOODRU1%X/$\9KB"PHNJ4D0#SBXI)(+$DY;T]#-(NU9I'<6QNDX5ZJA MNQ)(@PAAP6#ED M)N& EX33I.4WNY(20M&29;1X\/?" -+4#7)=O/^"U,%T<)A>Q M)9,!!H?(L&(<(H/FVMQT]([!M&6#86B7LT57PD&*LLAUQVP%OBO *01P/V] M$/KT8!ST_S,6?P-02P,$% @ DH):47.LT:#Z P (P\ !D !X;"]W M;W)K&ULK5==CYLX%/TK%NI#*ZT&VX"!41)I$C*[ M?9C=T:3=/A/B)*B 6=M)9J7]\6L#0Q(P*&WG)>'CG.-[KJ^O\>3$^'>QIU2" MUSPKQ-3:2UG>V[9(]C2/Q1TK::'>;!G/8ZEN^IX4U MFU3/GOELP@XR2POZS($XY'G,_YW3C)VF%K+>'KRDN[W4#^S9I(QW=$7EU_*9 MJSN[5=FD.2U$R@K Z79J/:#[1T0TH4+\G=*3N+@&VLJ:L>_ZYO-F:D$=$C@BM: MW@$'_@8PQ/#K*@(?/WPRA+6X606%PRK1C\XPQ/[*,A%J^-Q1N-Y84>:7&@IA52$\G%6#YR81BV ]859X!!$J+@ M&A;U81AY/@D[N&4?AX+0(Z%C]DE:GV34Y^^<"0&>.=NFIL3.22^QR/512#IF M33#L0]PQVX?IQ 5NQVL?YBBCP8!5O[7JCUI=Q&4JXPPL7]4NODGE@5-3!XS\ MOI?0]3K3N^RC,"8N,H<8M"$&HR%^83K !R&H-#;GH!\:\?V0=(*+;L0]!OVB M\J 'T<#B"5L;X:B-OTK*55,H=FK1/M%D'Q=IHGRM*#^F"15@95K(5R,A>-[N MX#NV(G2QC:*?;0 -\S*]!"/5 SJ+PH#S0@A19_%$!AP*8.C [KHP =6\$F=@ MOA ^N\6_U 8:^M7(3D \KVO9@,.!JJBNY3Y.K6_'Z3DVX%QWV/!Y T/.S26Z MU%_%_*I$QTKHO)TA]SU+\[PUH9_>FQKF9;Y"'':;U\( 0XB$O7YMP#ENX(2] M:>KCL"IA,M .T7EW0K^V/37TRPX6>"[JVNVCU/;4+\H^#!/BP:Y9 \SUO:Y7 M^^(;/J=\5YVV!$C8H9#UEU;[M#W1/53GF,[S.;I?(,/S"-TOZ_/:6;X^/C[% M?)<6 F1TJX:"=[Z:&%Z?R.H;R6QEQ0!^>+&=.?_TD MR[&3M"ZA%UMR$YT/Z3FOK)-8"4N]9O"8 VA4^X+E$B*Z$C/.U"R W?TPC[ ML\\8.=RM3"'"3VATP.@%^-AKLD- MH6>'H=]D#\(O#X*_@1X"7^V">]#.0J\]LCC,I.A/;H)=P) )![0B+,*WA-&% MHG951CAE:Q<.;""13"JD3(PX)H#4K<&:>9W 1?I%!KS]>%4;A49.T'4]PO: 939"%5"JHK MX^--* X99%:.HLO*/IMJME42$P"%T0J4ILEVY(\BQ1QJ MO6FG.AO6')R@YG_[G)<@0!&V+=KT_C$_Y71(]>77\(B?71ZG1:]_?6Y>$G2M"%T7V*A;AG_92Q_JB:%%1IJEH MO9RF*8@7-P6#UV1AKOH[?#,_A8Q43,^[9(1[^QY26O'K;M:#?1#MK-[^8;?G MSYJ"_?^)^"]02P,$% @ DH):49>*NQS $P( L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU M1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'?P# "\'P #P M 'AL+W=OA)_-/W0,BE+W#52%U=S MU-N*V"1!Q9 !;M?^^H-MI7O3N:_.##BG(9?/VR M[^M6#V!!6598KJ2K;"KN.'LR?^XW1?+(#5]QP>WS.&C_%BP@%9>\XB^L' ?# M@)BM>KI6FK\H::G("ZV$& =A=^..:(E_K_ M#*-:KWG!9JJH*R9M-XZ:B090FBW?F8!(6K%QL&]"J"Q)*JT;)#*775>N;?.F M[M'SLGMKZW#!&.I+[F[H>=F"^X.<9HL\NYG/)LMT1KY-;B:+:4KRZS1=Y@ P M0@"CHP&23[<40,8(9/R!D/G277ZD"P>879'L-OT)(!,$,CD:9+[,I@#R%($\ M/1KD=))? \@1 CGR"_FM-EPR8]J5G>D-E?SE[9H^0_#._.+E=551_4S4FN1\ M([G[&75A:%(4JG9A"$">(Y#G?B&O*-?DCHJ:D1^,FEJSY@<&P%T@JA7Z;O2I5/7(AVTLU+U]C]8ZEC<%*Q]$ GJ$\\"V7&5I9D M*\$W]*_APS02^O:(JBINVSG6CN#4;4?/Y%85#ULE2J;- M/R1UD] ^0S;,'J%G?>1LT^YFWMG"8,X(/4L##7CW$<3$K!%ZU@:.&4-,S!ZA M9WV\$YG)IV43;0[6"N:/T+- 8(S>LWV&<)@_0L\"08/UP8R,,*=$GIWR-ECW MC6.$V23R;).^@-@+B68HGM72$QE[&3&S1+[-@L:>!&)BDHE\2P;%/(68F'"B MHPIG!#$QX41'%W;/-F*5<0$STF,RSA0[W;!W; M@2-C3#ZQ9_D77&WAN$F/RB3W+YPWF:R)K24JU/(&8F'QBS_)Y M@YG9+=/D3R7$Q.03>Y8/OE.'25F,R2?V+!\<$^[?8DP^\5'S'KA_2S#Y)!^> M]_3$H@3S3O+!QVBO*Z@CA9B8=Y)CGJH1&(L2S#O)$<[5W(C.9=',T$>(B7Z@ M\9W]]&-.'./)[,#B"2:@Q'?VTX^YJ*N5FZ PLB>8@!+?V4]?6MZWSC'])*U^ M!ONOQ25;<\G*A7N CN9U3O;_?F@$02-R@>-(6ABOJK01Z*^JM!'HKZJT$>BOJ MK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM!'I;[["$0&]#O8U ;T.]C4!O0[V-0&]# MO8U ;T.]C4!O0[V-0&]'O9U ;T>]G4!O1[V=0&]'O9U ;^\==A/H[:BW$^CM MJ+<3Z.VHMS]2[Y1/NYAN/=7!E&UL MS=G);L(P% 707T'9(F(\E X"-FVW+8O^@)L\2$026[:A\/=UPB"UHJB(2KV; M1(GM=U]LZ6PR?MM:\KU-735^DA0AV ?&?%90K7UJ+#5Q9&Y\B:]]:9I)XJCR2>]Q-['-FB3:VJK, M=(CC;-WDWU(&^X0TKNSF^**TOA\G).QD0COR<\!^W>N:G"MSZLVT"R^ZCK/8 MIF(^;"ORZ?D2)WHT\WF946ZR51V7I-XZTKDOB$)=I;NB_?/)(>XP[:[\ZORN MS+G .'/FC/7QQ!Q='G&UL4$L! A0#% @ DH):4<_EO_/M *P( !$ M ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ DH):49E&PO=V]R:W-H965T&UL4$L! A0#% @ DH):4<^J[5"3 M!P ,!X !@ ("!F@T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DH):40C9]9;S# [50 !@ M ("!DQ\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0# M% @ DH):48U>MU*D)0 [7L !@ ("!GS@ 'AL+W=O M !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ DH):4?S/YN&O"P [2( !D M ("!_'P 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ DH):48\BOMY_ P YPL !D ("!)9@ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ DH):440T MFE#Y P Q@T !D ("!W,T 'AL+W=O;'D$ !=# &0 M @($,T@ >&PO=V]R:W-H965T&UL4$L! A0#% @ DH):49&PO M=V]R:W-H965T&UL4$L! A0#% @ DH):417"3;#Z P +@\ !D ("! M9N8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ DH):4=6M77'W P ^PT !D ("!T?< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DH):4?I%]Z8C M!0 M!0 !D ("!G $! 'AL+W=OC+/B8$ #D#@ &0 M@('V!@$ >&PO=V]R:W-H965T&UL4$L! A0#% @ DH):47!K@2=^!@ C!X !D M ("!U \! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ DH):4<\C+^ * P W0H !D ("!C1X! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MDH):44MOU\B!!0 #1T !D ("!XR@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DH):49[6&4($# MKT< !D ("!,#4! 'AL+W=O&PO=V]R:W-H965THXF8P, *$* 9 " @>5# 0!X;"]W;W)K&UL4$L! A0#% @ DH):4;6L1Z.= @ 0@< !D M ("!?T71HZH# !S# &0 @(%32@$ >&PO=V]R:W-H M965T&UL4$L! M A0#% @ DH):4>D6?YQ/ @ 7 P T ( !95(! 'AL M+W-T>6QE?P# M "\'P #P @ '(50$ >&PO=V]R:V)O;VLN>&UL4$L! A0# M% @ DH):4;DCVC>R 0 5!P !H ( !\5D! 'AL+U]R M96QS+W=O XML 60 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 61 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 62 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.2 html 263 376 1 false 74 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 - Fair Value Measurements Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 9 false false R10.htm 10401 - Disclosure - Acquisitions Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitions Acquisitions Notes 10 false false R11.htm 10501 - Disclosure - Goodwill and Identifiable Intangible Assets, Net Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNet Goodwill and Identifiable Intangible Assets, Net Notes 11 false false R12.htm 10601 - Disclosure - Debt Obligations Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligations Debt Obligations Notes 12 false false R13.htm 10701 - Disclosure - Commitments and Contingencies Sheet http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 13 false false R14.htm 10801 - Disclosure - Stockholders' Equity Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 14 false false R15.htm 10901 - Disclosure - Segment Information Sheet http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation Segment Information Notes 15 false false R16.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 16 false false R17.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 17 false false R18.htm 30303 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements 18 false false R19.htm 30403 - Disclosure - Acquisitions (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables Acquisitions (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureAcquisitions 19 false false R20.htm 30503 - 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 20 false false R21.htm 30603 - Disclosure - Debt Obligations (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables Debt Obligations (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureDebtObligations 21 false false R22.htm 30803 - Disclosure - Stockholders' Equity (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables Stockholders' Equity (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity 22 false false R23.htm 30903 - Disclosure - Segment Information (Tables) Sheet http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables Segment Information (Tables) Tables http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation 23 false false R24.htm 40201 - 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 24 false false R25.htm 40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) Details 25 false false R26.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 26 false false R27.htm 40204 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details) Details 27 false false R28.htm 40205 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails Summary of Significant Accounting Policies - Remaining Performance Obligations (Details) Details 28 false false R29.htm 40206 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails Summary of Significant Accounting Policies - Service Maintenance Agreements (Details) Details 29 false false R30.htm 40207 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails Summary of Significant Accounting Policies - Leases (Details) Details http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables 30 false false R31.htm 40208 - Disclosure - Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details) Details 31 false false R32.htm 40209 - Disclosure - Summary of Significant Accounting Policies - Income Taxes (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails Summary of Significant Accounting Policies - Income Taxes (Details) Details 32 false false R33.htm 40301 - Disclosure - Fair Value Measurements (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables 33 false false R34.htm 40401 - Disclosure - Acquisitions (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails Acquisitions (Details) Details http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsTables 34 false false R35.htm 40402 - Disclosure - Acquisitions - Acquired Intangible Assets (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails Acquisitions - Acquired Intangible Assets (Details) Details 35 false false R36.htm 40403 - Disclosure - Acquisitions - Contingent Earn-out Obligation (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails Acquisitions - Contingent Earn-out Obligation (Details) Details 36 false false R37.htm 40404 - Disclosure - Acquisitions - Other Acquisitions (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails Acquisitions - Other Acquisitions (Details) Details 37 false false R38.htm 40501 - 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 38 false false R39.htm 40502 - 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 39 false false R40.htm 40503 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Additional Information (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails Goodwill and Identifiable Intangible Assets, Net - Additional Information (Details) Details 40 false false R41.htm 40601 - Disclosure - Debt Obligations (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails Debt Obligations (Details) Details http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsTables 41 false false R42.htm 40602 - Disclosure - Debt Obligations - Other (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails Debt Obligations - Other (Details) Details 42 false false R43.htm 40701 - Disclosure - Commitments and Contingencies - Other and Bonds (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails Commitments and Contingencies - Other and Bonds (Details) Details 43 false false R44.htm 40801 - Disclosure - Stockholders' Equity - Incentive and Other (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails Stockholders' Equity - Incentive and Other (Details) Details 44 false false R45.htm 40802 - Disclosure - Stockholders' Equity - Anti-Dilutive Stock Options (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails Stockholders' Equity - Anti-Dilutive Stock Options (Details) Details 45 false false R46.htm 40803 - Disclosure - Stockholders' Equity - Number of Shares (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityNumberOfSharesDetails Stockholders' Equity - Number of Shares (Details) Details 46 false false R47.htm 40901 - Disclosure - Segment Information (Details) Sheet http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails Segment Information (Details) Details http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationTables 47 false false All Reports Book All Reports fix-20200930x10q.htm fix-20200930.xsd fix-20200930_cal.xml fix-20200930_def.xml fix-20200930_lab.xml fix-20200930_pre.xml fix-20200930xex31d1.htm fix-20200930xex31d2.htm fix-20200930xex32d1.htm fix-20200930xex32d2.htm 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 65 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "fix-20200930x10q.htm": { "axisCustom": 2, "axisStandard": 30, "contextCount": 263, "dts": { "calculationLink": { "local": [ "fix-20200930_cal.xml" ] }, "definitionLink": { "local": [ "fix-20200930_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-20200930x10q.htm" ] }, "labelLink": { "local": [ "fix-20200930_lab.xml" ], "remote": [ "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml" ] }, "presentationLink": { "local": [ "fix-20200930_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml" ] }, "schema": { "local": [ "fix-20200930.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/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": 532, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 8, "http://xbrl.sec.gov/dei/2020-01-31": 5, "total": 13 }, "keyCustom": 50, "keyStandard": 326, "memberCustom": 36, "memberStandard": 37, "nsprefix": "fix", "nsuri": "http://www.comfortsystemsusa.com/20200930", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Acquisitions", "role": "http://www.comfortsystemsusa.com/role/DisclosureAcquisitions", "shortName": "Acquisitions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - 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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Debt Obligations", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligations", "shortName": "Debt Obligations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Commitments and Contingencies", "role": "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Stockholders' Equity", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity", "shortName": "Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Segment Information", "role": "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformation", "shortName": "Segment Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "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": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - 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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "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": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - 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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - 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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Stockholders' Equity (Tables)", "role": "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityTables", "shortName": "Stockholders' Equity (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30903 - 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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - 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", "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_1_1_2020_srt_CumulativeEffectPeriodOfAdoptionAxis_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201613Member_JWlpzKz0lUGQjX4RJdWm2A", "decimals": "-5", "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_hA9CviI9a0q-iw8mJqKvpA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "shortName": "Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_hA9CviI9a0q-iw8mJqKvpA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "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-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40204 - Disclosure - Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails", "shortName": "Summary of Significant Accounting Policies - Contract Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "-3", "lang": null, "name": "us-gaap:ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "fix:RenewableServiceMaintenanceAgreementsTerm", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40205 - Disclosure - Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails", "shortName": "Summary of Significant Accounting Policies - Remaining Performance Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_fix_cnst_2019-04-01_1nTZAAyXeUygCBUKhkdvTQ", "decimals": "-6", "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "fix:RenewableServiceMaintenanceAgreementsTerm", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40206 - Disclosure - Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails", "shortName": "Summary of Significant Accounting Policies - Service Maintenance Agreements (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R3": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "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": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:LesseeLeasesPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "-5", "first": true, "lang": null, "name": "fix:VariableLeaseAndShortTermLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40207 - Disclosure - Summary of Significant Accounting Policies - Leases (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "shortName": "Summary of Significant Accounting Policies - Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:LesseeLeasesPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "-5", "first": true, "lang": null, "name": "fix:VariableLeaseAndShortTermLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40208 - Disclosure - Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails", "shortName": "Summary of Significant Accounting Policies - Maturities of Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "fix:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_hA9CviI9a0q-iw8mJqKvpA", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_hA9CviI9a0q-iw8mJqKvpA", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40209 - Disclosure - Summary of Significant Accounting Policies - Income Taxes (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails", "shortName": "Summary of Significant Accounting Policies - Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_hA9CviI9a0q-iw8mJqKvpA", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "INF", "first": true, "lang": null, "name": "fix:LifeInsuranceContractsNumberOfEmployeesCovered", "reportCount": 1, "unitRef": "Unit_Standard_item_pcTdRTh7kEyUCENkegwSgg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - 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-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-5", "lang": null, "name": "us-gaap:CashSurrenderValueOfLifeInsurance", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2019_To_9_30_2019_pWGYO_ClP0Cb1aPXpdh_5Q", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - 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-20200930x10q.htm", "contextRef": "Duration_4_1_2020_To_4_1_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_lcJEpyHOckWCeprStlDXpA", "decimals": "-3", "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_4_1_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_zgpuEs5RcES2vsrZ8tO4yA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40402 - 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-20200930x10q.htm", "contextRef": "Duration_4_1_2020_To_4_1_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember__Of8OqtPKkOCVY33twTJ_w", "decimals": null, "lang": "en-US", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_4_1_2020_To_4_1_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_lcJEpyHOckWCeprStlDXpA", "decimals": null, "first": true, "lang": "en-US", "name": "fix:BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40403 - 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", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_4_1_2020_To_4_1_2020_us-gaap_BusinessAcquisitionAxis_fix_TasEnergyIncMember_lcJEpyHOckWCeprStlDXpA", "decimals": null, "first": true, "lang": "en-US", "name": "fix:BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Gg9hyXrMEUuDDmPnU-vflg", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfBusinessesAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_pcTdRTh7kEyUCENkegwSgg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40404 - 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-20200930x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Gg9hyXrMEUuDDmPnU-vflg", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfBusinessesAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_pcTdRTh7kEyUCENkegwSgg", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - 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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - 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-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_hA9CviI9a0q-iw8mJqKvpA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "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-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_hA9CviI9a0q-iw8mJqKvpA", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40503 - Disclosure - Goodwill and Identifiable Intangible Assets, Net - Additional Information (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails", "shortName": "Goodwill and Identifiable Intangible Assets, Net - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_10_1_2019_To_12_31_2019_dei_LegalEntityAxis_fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember_I-cmaMD5DUSpSx4SZ1Eddg", "decimals": "2", "lang": null, "name": "fix:PercentageOfFairValuesInExcessOfCarryingValueTwoReportingUnits", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_H3BUGb7yLEGJkCC054u47Q", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - 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-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "-3", "lang": null, "name": "us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_apupCc-jDE-mLDjuDR8snA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40602 - Disclosure - Debt Obligations - Other (Details)", "role": "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "shortName": "Debt Obligations - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2019_us-gaap_DebtInstrumentAxis_us-gaap_RevolvingCreditFacilityMember_eLviasN5x0i9QsazlBQ80g", "decimals": "-5", "lang": null, "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_eBxP5V0uRkeZ6fW3GMzO3Q", "decimals": "2", "first": true, "lang": null, "name": "fix:PercentageOfBusinessWhichHasRequiredBonds", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_H3BUGb7yLEGJkCC054u47Q", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - 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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_srt_RangeAxis_srt_MinimumMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_eBxP5V0uRkeZ6fW3GMzO3Q", "decimals": "2", "first": true, "lang": null, "name": "fix:PercentageOfBusinessWhichHasRequiredBonds", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_H3BUGb7yLEGJkCC054u47Q", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsForRepurchaseOfCommonStock", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - 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", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_11_19_2019_us-gaap_PlanNameAxis_fix_StockRepurchaseProgram2007Member_lcoFt-TqIkOtKgH46-jKEA", "decimals": "-5", "lang": null, "name": "us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_5iBsV494zU-5lU-ouHPNQQ", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_0i3cyGRX3kK0E6DmmAsA5w", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_5iBsV494zU-5lU-ouHPNQQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40802 - 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", "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_srt_RangeAxis_srt_MaximumMember_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_fix_EmployeeAndNonemployeeStockOptionMember_0i3cyGRX3kK0E6DmmAsA5w", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_5iBsV494zU-5lU-ouHPNQQ", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_9_30_2020_-rPVOpZMpE2P8P7hUb8p0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unitRef": "Unit_Standard_shares_5iBsV494zU-5lU-ouHPNQQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40803 - 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", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_hA9CviI9a0q-iw8mJqKvpA", "decimals": "-3", "lang": null, "name": "fix:EffectOfUsingWeightedAverageCommonSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_5iBsV494zU-5lU-ouHPNQQ", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_6yeawHWDbEyaUP-pQ6OoXA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - 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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_6yeawHWDbEyaUP-pQ6OoXA", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_B8DKykTyE0uRnnrG1WRrjA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "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-20200930x10q.htm", "contextRef": "Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_SCjJTAuh_Uazoo7dbpm0Mw", "decimals": "-3", "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": "-3", "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_PNYlk9XPlkiZEqWrJAf4mQ", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "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-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Fair Value Measurements", "role": "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "fix-20200930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_-U4quVsvSEKz-HjXVNsl0Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 74, "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_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_DocumentQuarterlyReport": { "auth_ref": [ "r488" ], "lang": { "en-US": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r489" ], "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": [ "r490" ], "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/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r490" ], "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": [ "r490" ], "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": [ "r491" ], "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_EntityRegistrantName": { "auth_ref": [ "r490" ], "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": [ "r490" ], "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": [ "r490" ], "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": [ "r490" ], "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_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/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails" ], "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": [ "r486" ], "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": [ "r487" ], "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_AccountsReceivableAllowanceForCreditLossPurchaseAccountingAdjustment": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of purchase accounting adjustment in allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss, Purchase Accounting Adjustment", "terseLabel": "Purchase accounting adjustments" } } }, "localname": "AccountsReceivableAllowanceForCreditLossPurchaseAccountingAdjustment", "nsuri": "http://www.comfortsystemsusa.com/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_BilledAccountsReceivableAllowanceForCreditLoss": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The amount of allowance for credit losses on billed receivable.", "label": "Billed Accounts Receivable, Allowance for Credit Loss", "terseLabel": "Billed accounts receivable, allowance for credit losses (in dollars)" } } }, "localname": "BilledAccountsReceivableAllowanceForCreditLoss", "nsuri": "http://www.comfortsystemsusa.com/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" ], "xbrltype": "durationItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "fix_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilityCurrent": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 9.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/20200930", "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/20200930", "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails" ], "xbrltype": "percentItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "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" } } }, "localname": "CostsInExcessOfBillingsAllowanceForCreditLosses", "nsuri": "http://www.comfortsystemsusa.com/20200930", "presentation": [ "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "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/20200930", "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/20200930", "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/20200930", "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/20200930", "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/20200930", "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/20200930", "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/20200930", "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/20200930", "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/20200930", "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "pureItemType" }, "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/20200930", "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/20200930", "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/20200930", "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "integerItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "fix_DeferredAcquisitionPayments": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 9.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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails", "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour": { "auth_ref": [], "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 asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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 After Year Four", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour", "nsuri": "http://www.comfortsystemsusa.com/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "fix_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": { "auth_ref": [], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": { "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 payments for operating lease, due after fourth fiscal year following latest fiscal year.", "label": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour", "nsuri": "http://www.comfortsystemsusa.com/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "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/20200930", "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "fix_LossContingencySuretyAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Loss Contingency Surety [Abstract]", "terseLabel": "Surety" } } }, "localname": "LossContingencySuretyAbstract", "nsuri": "http://www.comfortsystemsusa.com/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails", "http://www.comfortsystemsusa.com/role/DisclosureSegmentInformationDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "monetaryItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "percentItemType" }, "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/20200930", "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesServiceMaintenanceAgreementsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsAcquiredIntangibleAssetsDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsContingentEarnOutObligationDetails", "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "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/20200930", "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_TwoImmaterialAcquisitionsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents member pertaining to two immaterial acquisitions.", "label": "Two Immaterial Acquisitions [Member]", "terseLabel": "Two Immaterial Acquisitions" } } }, "localname": "TwoImmaterialAcquisitionsMember", "nsuri": "http://www.comfortsystemsusa.com/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "fix_UnbilledAccountsReceivableAllowanceForCreditLoss": { "auth_ref": [], "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", "terseLabel": "Unbilled accounts receivable, allowance for credit losses (in dollars)" } } }, "localname": "UnbilledAccountsReceivableAllowanceForCreditLoss", "nsuri": "http://www.comfortsystemsusa.com/20200930", "presentation": [ "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsOtherAcquisitionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "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/20200930", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "percentItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r142", "r155", "r156", "r157", "r158", "r160", "r162", "r166" ], "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": [ "r142", "r155", "r156", "r157", "r158", "r160", "r162", "r166" ], "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_CumulativeEffectPeriodOfAdoptionAdjustmentMember": { "auth_ref": [ "r90", "r98", "r180", "r312", "r313", "r314", "r337", "r338" ], "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": [ "r90", "r98", "r180", "r312", "r313", "r314", "r337", "r338" ], "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": [ "r90", "r98", "r180", "r312", "r313", "r314", "r337", "r338" ], "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": [ "r171", "r275", "r281", "r469" ], "lang": { "en-US": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r298", "r301", "r426", "r427", "r428", "r429", "r430", "r431", "r433", "r465", "r470" ], "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/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r298", "r301", "r426", "r427", "r428", "r429", "r430", "r431", "r433", "r465", "r470" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r171", "r275", "r281", "r469" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r168", "r275", "r279", "r435", "r463", "r468" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r168", "r275", "r279", "r435", "r463", "r468" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r288", "r298", "r301", "r426", "r427", "r428", "r429", "r430", "r431", "r433", "r465", "r470" ], "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/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r288", "r298", "r301", "r426", "r427", "r428", "r429", "r430", "r431", "r433", "r465", "r470" ], "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/DisclosureDebtObligationsOtherDetails", "http://www.comfortsystemsusa.com/role/DisclosureFairValueMeasurementsDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails", "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityAntiDilutiveStockOptionsDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "domainItemType" }, "srt_RestatementAdjustmentMember": { "auth_ref": [ "r86", "r87", "r88", "r89", "r91", "r92", "r96", "r97", "r98", "r100", "r101", "r103", "r104", "r125" ], "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": [ "r86", "r87", "r88", "r89", "r91", "r92", "r96", "r97", "r98", "r100", "r101", "r102", "r103", "r104", "r125", "r181", "r182", "r315", "r338", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483" ], "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": [ "r86", "r87", "r88", "r89", "r91", "r92", "r96", "r97", "r98", "r100", "r101", "r102", "r103", "r104", "r125", "r181", "r182", "r315", "r338", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483" ], "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": [ "r299" ], "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" ], "xbrltype": "domainItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r236", "r299", "r422" ], "lang": { "en-US": { "role": { "label": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "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": [ "r176" ], "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": [ "r26" ], "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": [ "r194" ], "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": [ "r188" ], "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_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": [ "r216" ], "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": [ "r16" ], "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": [ "r86", "r87", "r89", "r312", "r313", "r314" ], "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": [ "r91", "r92", "r93", "r94", "r177", "r178", "r179", "r180", "r181", "r182", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r335", "r336", "r337", "r338", "r437", "r438", "r439", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483" ], "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": [ "r302", "r303", "r316", "r317" ], "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_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r173", "r186", "r190", "r193" ], "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 March 31, 2020", "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": [ "r21", "r173", "r186" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance For Doubtful Accounts Receivable Current", "terseLabel": "Accounts receivable, allowance for doubtful accounts (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": [ "r194" ], "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)", "terseLabel": "Increase in allowance for doubtful accounts" } } }, "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]" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "auth_ref": [ "r192" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "negatedLabel": "Deductions for uncollectible receivables written off, net of recoveries" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAllowanceForCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "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": [ "r53", "r75", "r405" ], "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_AmortizationOfIntangibleAssets": { "auth_ref": [ "r75", "r214", "r221" ], "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": [ "r123" ], "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": [ "r123" ], "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": [ "r123" ], "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_Assets": { "auth_ref": [ "r81", "r150", "r157", "r164", "r175", "r361", "r365", "r394", "r442", "r453" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r42", "r81", "r175", "r361", "r365", "r394" ], "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_BaseRateMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Minimum rate investor will accept.", "label": "Base Rate [Member]", "terseLabel": "Base Rate" } } }, "localname": "BaseRateMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r85" ], "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": [ "r38" ], "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,896 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": [ "r297", "r300" ], "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/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r297", "r300", "r344", "r345" ], "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/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" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r352", "r353", "r354" ], "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": [ "r351", "r352", "r353", "r356" ], "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", "verboseLabel": "Notes issued to former owners" } } }, "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r74", "r358" ], "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": [ "r357" ], "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": [ "r357" ], "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": [ "r359" ], "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": [ "r347" ], "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": [ "r347" ], "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": [ "r347" ], "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": [ "r347" ], "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": [ "r347" ], "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": [ "r346", "r347" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 11.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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": { "auth_ref": [ "r347" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of long-term debt 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, Long-term Debt", "verboseLabel": "Acquired debt" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt", "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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": { "auth_ref": [ "r347" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 12.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": [ "r347" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 10.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": [ "r346", "r347" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 13.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": [ "r347" ], "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", "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" ], "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_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member": { "auth_ref": [ "r286" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r24", "r77" ], "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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r71", "r77", "r78" ], "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": [ "r71", "r395" ], "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", "r25" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r34", "r235", "r446", "r458" ], "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": [ "r232", "r233", "r234", "r242" ], "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": [ "r253" ], "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": [ "r86", "r87" ], "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": [ "r15" ], "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": [ "r15" ], "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": [ "r15" ], "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": [ "r15", "r248" ], "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": [ "r15" ], "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_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r263" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination": { "auth_ref": [ "r261" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r257", "r259", "r276" ], "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" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": { "auth_ref": [ "r262" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r257", "r258", "r276" ], "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", "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination": { "auth_ref": [ "r261" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r277" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerReceivableCreditLossExpenseReversal": { "auth_ref": [ "r260", "r274" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r55", "r81", "r175", "r394" ], "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_CreditLossFinancialInstrumentPolicyTextBlock": { "auth_ref": [ "r183", "r184", "r185", "r187", "r189", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.", "label": "Credit Loss, Financial Instrument [Policy Text Block]", "terseLabel": "Allowance for Credit Losses" } } }, "localname": "CreditLossFinancialInstrumentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r350" ], "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_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": [ "r247" ], "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": [ "r11", "r12", "r13", "r443", "r444", "r452" ], "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_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_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": [ "r32" ], "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": [ "r32", "r83", "r249", "r250", "r251", "r252", "r403", "r404", "r406", "r451" ], "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": [ "r245", "r405" ], "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": [ "r407" ], "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_DebtWeightedAverageInterestRate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average interest rate of debt outstanding.", "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted average interest rate (as a percent)" } } }, "localname": "DebtWeightedAverageInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r320", "r321" ], "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", "verboseLabel": "DEFERRED TAX ASSETS" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r75", "r82", "r333", "r340", "r341", "r342" ], "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_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r320", "r321" ], "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", "verboseLabel": "DEFERRED TAX LIABILITIES" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r75", "r226" ], "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_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": [ "r43", "r44", "r372", "r432" ], "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", "terseLabel": "Interest rate swaps" } } }, "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": [ "r371", "r373", "r374", "r376" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r275", "r279", "r280", "r281", "r282", "r283", "r284", "r285" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r275" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "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": [ "r253" ], "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" ], "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/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r51", "r96", "r97", "r98", "r99", "r100", "r105", "r107", "r120", "r121", "r122", "r125", "r126", "r448", "r460" ], "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)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r51", "r96", "r97", "r98", "r99", "r100", "r107", "r120", "r121", "r122", "r125", "r126", "r448", "r460" ], "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)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r30" ], "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_EquityComponentDomain": { "auth_ref": [ "r86", "r87", "r89", "r92", "r101", "r104", "r127", "r180", "r248", "r253", "r312", "r313", "r314", "r337", "r338", "r396", "r397", "r398", "r399", "r400", "r401", "r474", "r475", "r476" ], "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": [ "r393" ], "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": [ "r378", "r379", "r380", "r387" ], "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": [ "r383", "r387" ], "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": [ "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r379", "r423", "r424", "r425" ], "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": [ "r386", "r387" ], "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": [ "r378", "r388" ], "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": [ "r378", "r379", "r381", "r382", "r389" ], "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": [ "r386" ], "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": [ "r289", "r290", "r295", "r296", "r379", "r423" ], "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": [ "r289", "r290", "r295", "r296", "r379", "r424" ], "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": [ "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r379", "r425" ], "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": [ "r383" ], "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": [ "r384" ], "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": [ "r385" ], "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": [ "r385" ], "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": [ "r383" ], "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": [ "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r423", "r424", "r425" ], "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_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r386", "r389" ], "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": [ "r79", "r390", "r392" ], "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": [ "r220" ], "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": [ "r215" ], "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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r222" ], "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 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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "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 remainder of current fiscal year.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year", "terseLabel": "2020 (remainder of the year)" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetIdentifiableIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r222" ], "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 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": [ "r222" ], "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 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": [ "r222" ], "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 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": [ "r215", "r217", "r220", "r223", "r436", "r440" ], "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": [ "r220", "r440" ], "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": [ "r215", "r219" ], "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": [ "r220", "r436" ], "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_GainLossOnDispositionOfAssets": { "auth_ref": [ "r75", "r225", "r228" ], "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": [ "r75" ], "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_Goodwill": { "auth_ref": [ "r207", "r208", "r441" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails": { "order": 14.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/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r209" ], "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 4)" } } }, "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": [ "r224" ], "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_GoodwillAndIntangibleAssetsGoodwillPolicy": { "auth_ref": [ "r79", "r211" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.", "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "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/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GoodwillOtherIncreaseDecrease": { "auth_ref": [ "r210" ], "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": [ "r54", "r81", "r150", "r156", "r160", "r163", "r166", "r175", "r394" ], "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/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r370", "r377" ], "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": [ "r370" ], "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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r84", "r150", "r156", "r160", "r163", "r166" ], "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": [ "r323" ], "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" ], "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" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityNameAxis": { "auth_ref": [ "r323" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "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]" } } }, "localname": "IncomeTaxExaminationLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxExaminationTable": { "auth_ref": [ "r324" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r82", "r103", "r104", "r148", "r322", "r339", "r343", "r461" ], "calculation": { "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": "Income tax expense (benefit)", "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r47", "r79", "r318", "r319", "r327", "r328", "r330", "r334", "r485" ], "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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r74" ], "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": [ "r74" ], "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": [ "r74" ], "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": [ "r74" ], "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": [ "r74" ], "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": [ "r74" ], "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": [ "r74" ], "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": [ "r74" ], "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": [ "r109", "r110", "r112", "r113", "r114", "r115", "r116", "r117", "r118", "r122" ], "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": [ "r108", "r109", "r111", "r122" ], "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": [ "r286" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain": { "auth_ref": [ "r286" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r213", "r218" ], "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": [ "r48", "r144", "r402", "r405", "r449" ], "calculation": { "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" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestRateSwapMember": { "auth_ref": [ "r375" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r3", "r40" ], "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_InvestmentIncomeInterest": { "auth_ref": [ "r57", "r143" ], "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_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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r415" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r413" ], "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_LesseeOperatingLeaseExistenceOfOptionToExtend": { "auth_ref": [ "r414" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether lessee has option to extend operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Existence of option to extend" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r420" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r420" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": { "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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r420" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in 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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r420" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": { "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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r420" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": { "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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r420" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": { "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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r420" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails": { "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 having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "2020 (excluding the nine months ended September 30, 2020)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r420" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r414" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "durationItemType" }, "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": [ "r29", "r81", "r158", "r175", "r362", "r365", "r366", "r394" ], "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": [ "r20", "r81", "r175", "r394", "r445", "r456" ], "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": [ "r31", "r81", "r175", "r362", "r365", "r366", "r394" ], "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": [ "r13", "r444", "r452" ], "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": [ "r27" ], "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": [ "r27" ], "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_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": [ "r13", "r246", "r444", "r454" ], "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", "terseLabel": "Total long-term portion of debt" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureDebtObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r28" ], "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_LongTermDebtNoncurrent": { "auth_ref": [ "r32" ], "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": [ "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r243", "r244" ], "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" ], "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" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureCommitmentsAndContingenciesOtherAndBondsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r243", "r244" ], "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" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyNatureDomain": { "auth_ref": [ "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r243", "r244" ], "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" ], "xbrltype": "domainItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r128", "r136" ], "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": [ "r71" ], "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": [ "r71" ], "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": [ "r71", "r73", "r76" ], "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", "r45", "r46", "r50", "r76", "r81", "r91", "r96", "r97", "r98", "r99", "r103", "r104", "r119", "r150", "r156", "r160", "r163", "r166", "r175", "r394", "r447", "r459" ], "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", "totalLabel": "NET INCOME" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "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": [ "r90", "r91", "r92", "r93", "r94", "r95", "r98", "r125", "r177", "r178", "r179", "r180", "r181", "r182", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r335", "r336", "r337", "r338", "r437", "r438", "r439", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483" ], "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": [ "r58" ], "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": [ "r41" ], "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 $884 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": [ "r369" ], "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": [ "r13", "r444", "r454" ], "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_NotesPayableOtherPayablesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A written promise to pay a note to a third party.", "label": "Notes Payable Other Payables [Member]", "terseLabel": "Other debt" } } }, "localname": "NotesPayableOtherPayablesMember", "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_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": [ "r138" ], "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": [ "r150", "r156", "r160", "r163", "r166" ], "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": [ "r411" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r409" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails", "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r409" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r410" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "extensibleListItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r409" ], "calculation": { "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails": { "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r412", "r416" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r408" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r419", "r421" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r418", "r421" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLossCarryforwards": { "auth_ref": [ "r331" ], "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" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r155", "r156", "r157", "r158", "r160", "r166" ], "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": [ "r349" ], "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": [ "r25" ], "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": [ "r462", "r464", "r466", "r467", "r471", "r484" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r7", "r8", "r30" ], "calculation": { "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" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r33" ], "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": [ "r59" ], "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_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r68" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 10.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": [ "r72" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r66" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 6.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": [ "r66" ], "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 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": [ "r69" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow for loan and debt issuance costs.", "label": "Payments of 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" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r66" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 7.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": [ "r62", "r355" ], "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", "verboseLabel": "Cash paid at closing" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r62" ], "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": [ "r63" ], "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_PlanNameAxis": { "auth_ref": [ "r304", "r306" ], "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_PortionAtFairValueFairValueDisclosureMember": { "auth_ref": [ "r391" ], "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": [ "r14" ], "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": [ "r14" ], "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": [ "r14" ], "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": [ "r14" ], "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": [ "r14" ], "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", "r22", "r23" ], "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": [ "r60" ], "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": [ "r65" ], "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": [ "r61" ], "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": [ "r64", "r307" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 8.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": [ "r279" ], "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_ProfitLoss": { "auth_ref": [ "r1", "r45", "r46", "r70", "r81", "r91", "r103", "r104", "r150", "r156", "r160", "r163", "r166", "r175", "r360", "r363", "r364", "r367", "r368", "r394", "r450" ], "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_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r9", "r10", "r227", "r457" ], "calculation": { "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" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r52", "r191" ], "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_RepaymentsOfLongTermLinesOfCredit": { "auth_ref": [ "r67" ], "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": [ "r67" ], "calculation": { "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.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": [ "r67" ], "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" } } }, "localname": "RepaymentsOfSeniorDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r17", "r253", "r315", "r455", "r478", "r483" ], "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": [ "r86", "r87", "r89", "r92", "r101", "r104", "r180", "r312", "r313", "r314", "r337", "r338", "r474", "r476" ], "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_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r141", "r142", "r155", "r161", "r162", "r168", "r169", "r171", "r273", "r275", "r435" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r263", "r264", "r265", "r266", "r267", "r268", "r271", "r272", "r278", "r287" ], "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 [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": { "auth_ref": [ "r286" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesContractAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r269" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r270" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r270" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r270" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesRemainingPerformanceObligationsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r49", "r81", "r141", "r142", "r155", "r161", "r162", "r168", "r169", "r171", "r175", "r394", "r450" ], "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/DisclosureSegmentInformationDetails", "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": [ "r417", "r421" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": { "auth_ref": [ "r39" ], "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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": { "auth_ref": [ "r215" ], "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": [ "r123" ], "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": [ "r344", "r345" ], "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" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": { "auth_ref": [ "r344", "r345" ], "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_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_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r378", "r379" ], "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": [ "r215", "r219", "r436" ], "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": [ "r215", "r219" ], "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": [ "r211", "r212" ], "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/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetAdditionalInformationDetails", "http://www.comfortsystemsusa.com/role/DisclosureGoodwillAndIdentifiableIntangibleAssetsNetChangesInCarryingAmountOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r211", "r212" ], "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_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r150", "r153", "r159", "r211" ], "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": [ "r150", "r153", "r159", "r211" ], "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": [ "r304", "r306" ], "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/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r124" ], "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": [ "r219" ], "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": [ "r137", "r141", "r142", "r143", "r144", "r145", "r146", "r147", "r148", "r149", "r150", "r151", "r152", "r155", "r156", "r157", "r158", "r160", "r161", "r162", "r163", "r164", "r166", "r171", "r463" ], "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/DisclosureSegmentInformationDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "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": [ "r137", "r139", "r140", "r150", "r154", "r160", "r164", "r165", "r166", "r167", "r168", "r170", "r171", "r172" ], "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_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_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r56" ], "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": [ "r74" ], "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_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" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquityIncentiveAndOtherDetails" ], "xbrltype": "stringItemType" }, "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_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" ], "xbrltype": "domainItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r0", "r137", "r141", "r142", "r143", "r144", "r145", "r146", "r147", "r148", "r149", "r150", "r151", "r152", "r155", "r156", "r157", "r158", "r160", "r161", "r162", "r163", "r164", "r166", "r171", "r211", "r229", "r230", "r231", "r463" ], "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/DisclosureSegmentInformationDetails", "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r36", "r86", "r87", "r89", "r92", "r101", "r104", "r127", "r180", "r248", "r253", "r312", "r313", "r314", "r337", "r338", "r396", "r397", "r398", "r399", "r400", "r401", "r474", "r475", "r476" ], "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/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": [ "r86", "r87", "r89", "r127", "r435" ], "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/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": [ "r14", "r15", "r248", "r253", "r305" ], "lang": { "en-US": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "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/StatementConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r36", "r248", "r253" ], "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": [ "r15", "r18", "r19", "r81", "r174", "r175", "r394" ], "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_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r80", "r253", "r256" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity." } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureStockholdersEquity" ], "xbrltype": "textBlockItemType" }, "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": [ "r332" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TaxCreditCarryforwardNameDomain": { "auth_ref": [ "r332" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TaxYear2016Member": { "auth_ref": [ "r323" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TaxYear2017Member": { "auth_ref": [ "r323" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TaxYear2018Member": { "auth_ref": [ "r323" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r348" ], "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_TreasuryStockAcquiredAverageCostPerShare": { "auth_ref": [ "r254" ], "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_TreasuryStockMember": { "auth_ref": [ "r35", "r254" ], "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": [ "r35", "r254" ], "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": [ "r15", "r248", "r253" ], "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": [ "r35", "r254", "r255" ], "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,723,672 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": [ "r248", "r253", "r254" ], "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": [ "r91", "r92", "r93", "r94", "r177", "r178", "r179", "r180", "r181", "r182", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r335", "r336", "r337", "r338", "r437", "r438", "r439", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483" ], "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": [ "r37", "r434" ], "calculation": { "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", "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/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities": { "auth_ref": [ "r326" ], "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", "terseLabel": "Reduced provision for income taxes" } } }, "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.comfortsystemsusa.com/role/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r325" ], "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/DisclosureSummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r129", "r130", "r131", "r132", "r133", "r134", "r135" ], "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": [ "r329" ], "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", "verboseLabel": "Increase to Deferred Tax Assets" } } }, "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "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": [ "r106", "r122" ], "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": [ "r105", "r122" ], "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(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "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" }, "r11": { "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" }, "r110": { "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" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "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" }, "r119": { "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" }, "r12": { "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" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "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" }, "r13": { "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" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r14": { "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" }, "r140": { "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" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r15": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r16": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r17": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r18": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "30", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121647444&loc=SL120269210-210444" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "30", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121647444&loc=SL120254536-210444" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "8A", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121648281&loc=SL120267834-210445" }, "r186": { "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" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL120267845-210446" }, "r188": { "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" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447" }, "r19": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r193": { "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" }, "r194": { "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" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919260-210447" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919272-210447" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "3C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL120267966-210447" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "3D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL120267969-210447" }, "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(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121614247&loc=SL120267897-210452" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "13A", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121565518&loc=SL120267917-210453" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121565518&loc=SL120269220-210453" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL120267853-210455" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "3C", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL120267859-210455" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "3D", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL120267862-210455" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r21": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r22": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r23": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r24": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r248": { "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" }, "r249": { "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" }, "r25": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r26": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r27": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r28": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r288": { "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" }, "r289": { "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" }, "r29": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "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.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r31": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r32": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r33": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r339": { "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" }, "r34": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r35": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r36": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r37": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r38": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r39": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "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.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r41": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r42": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r43": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r44": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r45": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r46": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r47": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r48": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r487": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r488": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r489": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r49": { "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" }, "r490": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r491": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "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": "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" }, "r51": { "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" }, "r52": { "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" }, "r53": { "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" }, "r54": { "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" }, "r55": { "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" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "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" }, "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": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r61": { "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" }, "r62": { "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" }, "r63": { "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" }, "r64": { "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" }, "r65": { "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" }, "r66": { "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" }, "r67": { "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" }, "r68": { "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" }, "r69": { "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" }, "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": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3000-108585" }, "r71": { "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" }, "r72": { "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" }, "r73": { "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" }, "r74": { "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" }, "r75": { "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" }, "r76": { "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" }, "r77": { "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" }, "r78": { "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" }, "r79": { "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" }, "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": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r86": { "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" }, "r87": { "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" }, "r88": { "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" }, "r89": { "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" }, "r9": { "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" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" } }, "version": "2.1" } ZIP 66 0001558370-20-011739-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-20-011739-xbrl.zip M4$L#!!0 ( )*"6E&_,& Y !, *K/ 0 9FEX+3(P,C P.3,P+GAS M9.T]VW+;.I+O6[7_P/7+GJU:6;[$3NPZ.5.R+)^HUK8\DG)RYFD*)B$)$PK0 M *1MS==O R!$BG>*4F+N\B61B>Y&WW!K-(!?__*V=*T7S 5A]//1Z?')D86I MS1Q"YY^/?-%!PB;DZ"^__?N__?H?GDGJ],)*-T@ 9B,6HKDV?'I MIJ0?4&7TVCH]Z9Y==L].SDZL3]>GGZXOSJRGAPWD [ Y(\6@;\*Y%O8"+Y'E M(3['WB-:8K%"-OY\M/"\U76W^_KZ>FRSY8QQ3ZR%AY?"%TA^411/KLY!+\CS M.'GV/7S'^/(6SY#O>J C^D\?N8H/4)V+I6:V "+%H&LJKH&=K7I?SX\9GT-% M)Z?=/Q_N)XI3 SPC;Y68#*IXYJ[C;1#EGZ:.BZXN-*"44>HOM^K8@#L>[WKK M%>X"4 >@,"?VI@HW'0>J.._^>4_H=P/IPN\<6%G\#-ZP8:B8FS@G\0H"C9Y> M75UU5:D!Y7B6R.93.?>GR];5"! M[>,Y>^D&AGG?-3@P;M=X[0:H,V0^)951<4I*-('8M4'%62@N1@DLX: M%*37P9F;48"Z[A4Q57W4E9C< ,UB">UGR;(JBE4%W85FJPT"4,@]Y MT"VJ;^;K:D7HC 6?X*/TKFM9\Q1(6?+'U_&P1(M5S$Z@ M5A]!D5S"6.9/T& MN=+TDP7&GCBR"(A< F[#D>')P3-"B>(??.ODQ.I8&S+PNS]ZG(SNA[>]Z>#6 MNNG=]Q[[ VOR93"83G[MQ@G$:?O0=X_H;^KWBF,!))6F9*L/L .0/$P;N;;O M[H 8L)A/*$/\I[MP1TT MG1_K$Y:JM/6,O7G& _)\#IQBZ-F5LN\)>B:N^E*KYRA#N,AW/M7RG9 #":]X ML"),M!U-)7?JV?_TB5!,9#E&&DB^B3^Z>?[QP7)V=QYS <6(@Z5K02*ZS% MTM7\MP45 4H9J-;-*@TL'K._+YCK8"X&T%B]]:._?,8&!0BA/_3TJ3ALZ:NA@I%O[5R&2L'46_S/S3U 30?;SVD@+)4L@2&+0.9 MOT(\N9(K1$,@^E,V;TW-BI!K[58CQO8$;8!Z"^S!E,DM&W#;1BJ*OEV4C[Y9 MOVR1;IMDC0!.LF,M&U@/(%N^:]?A]._M68N M,;[>^()0+ 3TJ",^1Y3\*]KM%H+EF? 46FEBQFT(J5XW2JJUUMZ6V;NMH0ML M>9:T9?D%5*+ *@7AB-84>PU"[!Y>*##C1=*,50,'K:E+F/H6/WNC9Y?,46K#BQ?G M&^TR:31)P(I0:(U2PBA]MEP23PT=T)!@ZB]'?4S3)B%YH/G&^I@T5H28:F1; MY%K+[117*PZA%=CI4\H,,25:UIIG;Q/]>A/^4A-_F:ZCM;B.Z_ZT@VYJ1[,Q?L'4Q[6HOG6? [A/SW79JTQLN&.\ MS[%#O'LFZF;'%Q$M14 M%S6G20$35H2+[>52ZU8_WJW4*>_#>M=6%3_;R0)V6F<[@+,-*:#B*7JK.0*F MT"ERFZM:;J,KM%2-K6?4CXYG6#\7-M_"Y3.D6OOMG"NE?L/"(1[=+G' JP@U MW[H?DHOGK8-?P9] /QD4;^V]L[TW21G> '$Z\B-!\!(F+X%=9/7$BC=F]; * M2];187XTP-Y:?F?+C[P%YA7/<&;B%%DYL1B-65D1;D]Z_HA-SOX"OL@)5A]Q MOH:FU5O*Z=!H9DC4/NM9NH9\K]E#TJ;L/S0S%J&68 MXRA>D1LYME?;PW*I%GE5_>UWZ+XV#$2/([9>5&=C/L,K,J#RK5PB=[@U5AUC MJ0&[G,6V0(O,EE@$),QF)@NM^?:4!*XG==2Y8=3):H15T?/-7#59?&-S6:+J M::U?,[%F2&7& GG!\K!H3ENN@)EO\Y*)YSH2IRO0QT_;QKX'<_= H;?$]:5: M5>EHE;NG5)E D?&3F1'IQI?U=$Q%&L@*JFJ=H)H3X+GL3HNGW=F ^4:]2FG1 MFE0[)]ZCU8K-57#DIYR=6NM4C)^EIZ:F0.0GI19%0-MDU%JM)R.!. LNWU97 M*?E9:3U>:[)];RM/,'\A-GY A'J8RAW]WISC/60/ER%# BK!@ MA3S\OQH^Y3_R280QGEGJ_8)K>5']YR-!EBM7/@J@OBW4:P8S\M8QSS_\':0] M?ENZ!D*2SWF;0'E@7$%!O88$XG:"2N)Y!2#"5IC+A+BNX?W(ZNY+*K!$5:EB MQGN'0H&75!5JV['>H4PN>JXJ$Z!@]S#B_-J-O]@0?-E^V4&]ZP"200]MT<3# M,+G/6>A'9>Z9K:AI')&%)']T0NQCJ-;PFL]"P2,H:4P4876DP3JG9YW3R]I\ M1)^&J<8+HX_[8B?E 9 RO+B<;V'MQ$C^ZR49;"@64M]CZ6+7$QM:]3TF]@Q- M&;4H%/G7YB$:J9ASJ9@J;*0_.U22 8,@:[[8JK.4(1+/V^QN!_DE80;UO$R9 M9YQ*,RVX5YUA@Z29E4_:U&546C1XQDIQ^_DHS#R1UR42)WBP)+(7\8#EA;)Z MX@D#PM_+8^B!1;]!=>TPF;$ZA$FRG!.!!OQGX1'/EQB_<^:O/A^IYY:N"8 < M60A*96K^YR./^P!.B>O*!8?Y6\/"^$"8,U7U.#X/0@F9PF[N#@S7GAG2;#+X M>E[T9M!;Z$="3>R)G%:3%FC)*,R$^7H'/0,*YVCEA5%\X//(]24@^,G<4Z'TW MU)@@434)!5Y:27G.4K4)Q=4BBQW?Q:-9N%W^@/BH(=FXY!YFG[W(Q9VG#4Y>L/3PWAL18:,I -NRLL?!$PK%<[QK MAP C\I7#X>$ZCTS&;U7/5D)" _B3^\6X!TM^A]#XN:_#11Z&MN6-@>%@3T)? M*7X4T4,Y\)P&+*, <\S?10L>8YM1F[@D. XK,S#![\0-GC&.C8!3]':+83UM M:[ >=7I+&/2#.V.G3%[_K[+K>X&%C+X.1SZO@RS7=+*\ZO ]1>A!=T2&@PAR M39L1H8CI+IJ'L4(PM#.:W9$W[/07\E576=-&!^8!A;_ZB$/K$44*_.GLU>GY#NB% M*NM@C&4SL57/_83YDGAR;A;.:'4:*91,.:("V>%N7;;":Q"N-1DNF/LZ^+G< MU'=G!?:"FPWPD_$?*)$SO<1%O1645XYHLQ4'PUNE/K$$@7?83V;U&$729N/] M5"'O,31IZ.CT'0QW&,MV+M.:@+]0I'RH8"X,$^&5_OIC.\:0E=',+.>_+8B] M^(+$&.NC6"H7+Y2G LI/%BZZ$%'^DKT2BQ0W8P6F&,Y;>6T!O+M(5(+3L3S M,:(X'FTK!&R(:--75DZT"&!31%MP7-)N6Z -$>^.^;R<=%'(=R?-F!7QZBQC2^Y35)R I@IPAVRL%Y=%HD8A?^@N3(T%E3%+ MCSJ/P&;P5R1;/=Z;E49X9WV:XG HA(^=6Y_K:W< 6VVCF94?=D"JR TX"J?W MBK@#/ JQV7+9"ZF&]7XE]:EWWO:CT*JTFK'#=P]+/+-\O6&& M;J@WQ'<+.)MSM 3DCS$]%,,U5 ,F M9GRV=I9R J-SSGE/P+;UUP$-SR&2PF MMF_[A#)_B9V^S^7CN)&"&]"*W"L=TL&;#;5 E\J$.IT[ 4L95:?V4XUJGY/ M##6[6^\CL;B#%:+,^I=SY+'*5@K2QM++TIUXA_CG(5WV$;_*Y"Q@T8Y.?[5@ M684-;9Z#-R+D,O;&)ZY,J\H6O!1D0[40G#[I(]<5T4,PU'E@E'A,SF!C'785 MC(9J9>#X.OTTY@B)SPV5;ZS.%,G5")+K?MU+RW0;^$RCP3R3IU,6O*'Z>/!= MC]RA)7'7(!H(2M1HB-QM/12#-53^Z,9=\.; '( D]-;K/^7Z2[J6K%;'T\9H)EDU3\P%[[X2NWPTV9:<"#B M/VG19,)TM3LBBE\E_WGG,*>8+\.NJ#Q"CFJ,7._"[WKPEX.="::$<6A+S'V1 MLPR=%(!D?F0\2)V$) H;*NN0.KZ,#"+W29_L6YLN M8EOL$G -UD/UU?>7*J_X!9OMUSY;KA"5L:C8KGTYT(.>O0@C3W5#,8$$P$ZQJZ,$T[9O9P)1\XNF)AY1:QF' /)/C>G!$I[ M!*KH_%QYQ/=[CBY;+>7\H$A'.U)ICL+^@/Y?LJJ=@3J3!>.>7!NI#S(Z;Y12 M"K+9*\V!"_,F3FSD!FN'V+B:4][0@3-ENV?KY+4Z7*+W8Q/O..1L&56AT? = MW73ITTZQ]SB7(1L5?0C$UWD?^8JL2JHI$8T';"]@VA5I3,'*-1;'* '7T,:7 M[$[2-5 "KJ$:V.=N\VBE&@>=J_%H+&])D%3E&F M?/W(J*TS! YOG?1*FYU@4&'<_<;X=YU!)T_R]IQ_0.^QS%?\#J0:/I+K'94A MC;7D36I,3GFSI[UJ$L]0;",[\;6A8\P8KW3ZX)!*D<1H%MV6''$R!X]WPU/" ML.2WR0J^!)GM9D^I)I5&[&XFYUI%<[&F>X=)+97W$:AK,63JCM#;@]+[-UO9 MQ7 -[_ZR)(SF8D?7'46:R<%KN*:F2 PHYO-XJG;BG6T9JLI<7NJ@)5\ M$,O89$_DPS1B(1==G&YNSXT>NPF>N57?IZ\,EK?RND0Z_TI)9&I?ETHC=+69 MMP^IG3&CCY8T=/S^ ;'5_@^/YO;_CX1RH>T,E_+XFTS;C%Y,%_/'0K"&.NW)&VN"=@1N=F=Q9U\Z ;D?(%>-/;L>?328W5?JTA7 M7#T2C=[8G*(W*8HX.SF]G#+X]U-\S,\L;VSGZNC(U>G'*V=;V/2B)LBIGRO2 M[X#\]K]02P,$% @ DH):429AI0)D$0 KAD! !0 !F:7@M,C R,# Y M,S!?8V%L+GAM;.U=6W/B.!9^WZK]#U[F87>KEF @]^J>*0*D)U5)2 &]/?LT MY=@BT8ZQ62:4* 6SAZP\,OS9>'6=QW6J]O[^?O'=/;/1"\JOMUF\/]Q/]%8I(=NUBC7UHT98NG2 \?E^1:AP"X M^HA'L]$"((\M>T+**ELBR'T-O]Z:]OL!$$>*/A[@ <2Z:6,7@8D[GVMH.9I- MX(M%+(^N64Y/UVW7.*YN@ M2GD%]* Y+H(.^6LT\UI^#[5G:'I?CL4FKC84(<*>_C\78NA9N]V%D5A:$;"^ MV;;Q3MREGF7<&<3&$<5HSR:XL\A(_0+)7SV,R9#V")R,GW>7R?Z;4DA7_!9 IM7OU3F* M"!=\., R@+'Z"AU:&?&!555I*JOBR-_]T>-D='\WZ$V' ^6F=]][[ ^5R:_# MX70B -4#2J":MAYKB$E]:AO%U1P4YQ4UT_"S5QZ9DKQHVL)S]%O ='#XQ6-$ M4VT'3O1/P>???5Z&)9O:,S"]B4WLQU9A#>N["!$)I[8O2//[>?>B>]4]5;N= MRXO3<[5S=19I>80]/10'H2$]+)_\N46HN*Z"%"U,!PQ:6A,2$H3Y9\B>;XLO MJ,P6:;B-2 \B,\Z&XF+2'GM!Z]+,AO(.X,NKX_U2A%JHCTEL(/V'=N\WS:2^ M9\_I:P@MR5#Y;\UT 4-=7'EE56.:LK85G!\JC^(7"-K$#UD6QH(;,A("@YA1 M!VFZ,P8Z(!#)*,*T?!WZSD&"J]1,72'STP!HB0-GW,96>HAI8%\05*/I5MG+ZSWDB3;;0D4PZ&)J-)JJ&[ M3$2!MLYDTU9H4GY Y[7O8L>> ^0)@ !)[XX<.:NAV[Q Y6?2VV%GQ!8:- 8 M?BR A0%Q'$?.:P OPQQSY*R&_O,"#?1_(5N7?T+V B!G^6324*-ET&G"@D83 MV 8[+8NL2DY6I2 .'H^Y"!T&2TS6BQ<,'M.VC&;?L1_L8R@Q-4\<_87:Z72D MU:(XD%(XQ&&@EZ&^\. M9V3!FCA>VXMU#,UE9RL83':[Y>,9KRZB#,P").NR4:3=Z?/9[812*RZQ<:EJ M2T-5BK6?>]MZF0(T'X#GC-A40DJIE9G6Q@2=:(8LJPA MA)"6XHL(FUDKI/?<<'EB)86;\@DP9W<6=A'=UC8&&*"W#'N>DJ-"6A=%*6OP MQ)N$.YJJ#S/!!+X6=MCCM\X>_$#'$A7*F=B_+I61"= MK-X5=TA\.Z'46N2.,'/B$MO$7-@>F\#X>*#2CB8DI)1/G9RJV=8I+SI95P_Z M]GQN6YE*W$Q6(0UR09/5)YXBXNZY:)FIP.V$%5(A)[A,;[=9D!9[A@']MCQI MD+AS?6T!'QF9XS)X4Q5.V?=LBH])UA^'_A+:^/T\T&/1#-O48DH@7DVNI-^-GHR M)?\\#!^G$V5TJXR>AN/>](XD:$A]2IH>Z_?FK_,Q@ M;KT\6@ODLQ^)+(EOY"Q6.F);$\6\K+@N6K H;@S=@NH]3ZEYJJ1P<:"E M6'Q^M"T[+I/TGLY,'Q=!6^VVU4_W>8-#8L*3-2:_QNUC"(7%G-/,&+J M29JC"R"5U>,.&YUN!C9255&7V0"E'@G M- (3 MV$-((U\](]9_I7_>6;TY/<$PFC&RK/9>M1G<.%+MU>-D0MBXXW5,_ T$=2*MX [8^(=(RB= ]$FG)G1C"!@ M_U_R__[-'L,/W1L4QD1BP]D,Z,S36T=N1"$S7.#0AC\A^XT,AL;-\CNF6XI7 MD8">[L"WM)L ^ N0S](4P[+8G'3 /S4_R+=YBQ)KMUIJIAIH/H< 9 UR#< " 1UZ4!CJCB:)8R-E=J^J MIMQ,N/L_W;[U' GY\'LXW]VX-G"S4Z8EK;"VA&&78A[HR84^I'AKHX'M/CLS MUPQOVF /N0\>>@]Y$ZG083MM'IJ!IU4V32]'5U- MO6*,O?(E4DH-N+$/B82DD3OXO(TTG.=EOKO&DS4NF2Z1S&GUN<(IAI @\NT MVH84/G#%7N=*S5-+&F3A#_4OWZZ9;2S!(TAA6"#Q,21N8O 45DO&Y!9,2"5V M'%8>*C'?4]O).]E^_*+"R(*0U+^B9T=-@$F%" ?3:3=!,@KO7+<&*DMOU8X"Y /HKMJ."$_0N["2-SDV%1O@^!H0-@>(=)$];B>&C"7T)<-*=JIU,] MGNPH#5GW'T9Q#: G'<=%!%ZX7.9=@>V?I?!_7Q^<2"$,;U$U8\Y.8I'U59\M M$YH +/B%21V!(NI F5W%D;G9LJAAB2&JU<:AO/YQ0@'R\41:_YA7>F(WC4@P MHH6OM=S3WD/Z#>DOS*V>.%&3FNP2ELS_:?CYG(Q M"]?YTPH-F5H1$5D&SGX-(#U37!IG:E>5=%/;#FZ N RC_44%@@+L-S:B)#; M1<1-QH#NX^5E 3MCC9@@*(3, SY%LR%X3WEJ3[4/NAV"/JE Y$-@"FV)SEM< MC9BS%]%DGAJ2(LQ.N\/(:QH>?@"D0\P5*TW,5P>&Y))!YCFA_9S^#G?6>6$V M_Q+6D-$;*LU(76%%YD&>>1*F*44,R8= C%36>1_^R.5.9<9E>:Z>GI]5A46' MDT_V81S&'.5@5Y8-(-9-&[L(3*B(T7(TF\ 7"\Z@3A<1_7U3!-B3;4*=P/(> M(<8#^G:3R7>+&1&O>J$TE75-]$HSOS+%GBF1ZI1U?4I8(4GLUZG\(ZCUGPVI MKS=CO-?,Z(/,U!*]P]W/\PAWTHOR4IB)#/UP/+V=!JT4=SP=Y[WUBF@[ YW8 M#BW)#7J?5-\IR*HK8>42V_9[NN(-&$0)OJCA:MT8S#5(*(+H-4Z84/H_0$.[ MP$TL,-X;+]33=M'/:!_,((G+H?QC6D1>C\3D3-^!^08>;,MY947%\A970R+Q M2B'G'&FG<#DO@-[, 8AV@%O;W;0NN#+7M&7 MXG9>$:134O&NWMJJG/H2A@V?YQ[?10QSQ6 \<-& M?]"KT+4%=#2S9_S7]=_LW M_LK(5AV&[(2X%#/=!,F,@6Z_6/!/8-P9!#2<06WUXE5X%OR;;1OOT#1[5M2( MDC3N'!B/S'L3#U;;80PN3]L2VQ3L)(K\<$.:3XP'&6?\)4-ZL@&34BQCB!TX MIQO7J7M#D_"9[6+:5HJNO4\"IXP3$FF ZW*@(W@HN44BNG/MZ/5_$K\P*1_Z M+/B1R;WQAMU1B;U1]R>I"Y%P*>8&>QWP_!MG(G?,[-<_Y*RTEG0O4+15G@"E M.79^2N]2@V/P?*O23YX?5[2E6* \F%S6+\H6+]>[NN6)TV0< MDSYNY;4DM 0B%KQ$I *VW.O?ZXALZJ-6!Z^WEK0O5KI<[PI7BO%WEJ-9+_!( M$]A(;9_L/I),!9\]K@"GUUV] *><7?DGXXL1,=^SSI7J :*/$!VE[D_^%R+A M[%>M96!_*%,&0<.?:\VA5"%DOSA=V.F?"-:H0-:.BR\:@CKC9[&C0V=J9_/H M4-@21;,,)5J9LJY-\:O[ET(J)%EX4I7D$-(MM B/[^%;U&E<"9?1\[(R%6$L M4MK4FQ,ZPC\]X@;/M7->D;!;H;$^>:ZJIV?=@@T3G[:C]N4 $CCPR:3$J*@8 MC*RK$G8HK#O%=T>$^#T%=C ,(T MH.0L']WY,X7D/2 C>&W'I=K=NN\R4L'?%;\*\MFOQ;L%TZNG+)/I'Y["@-%[ M TA[ :&P!M!TR5HY#H+/ MKD,C(U-[_"TR,#(P M,#DS,%]D968N>&UL[7UK<^.VLN#WK=K_H)W]<'>K=F9D>SQCIY)[2WY-O&M; MOK(GN>=3BB8AB0E%^@"D;9U?OP!(2J0(@ "?34=5ITX\(A[]0G>CT6C\_!]O M*V_T@C!Q _^7#P>?QA]&R+<#Q_47OWR(R$>+V*[[X3_^_;__MY__Q\>/_W4V MNQDY@1VMD!^.;(RL$#FC5S=CTT]=/WXZ/ MOWXZ.OYZ<#+Z^#$9ZCD MIX.3GXX/1_>WFY:W%,RY6][4<_V_?F+_]T0G'5&$??+3&W%_^; ,P^>?/G]^ M?7W]]'KT*< +VG]\\/F_;F\>["5:61]=GX26;Z,/(]K^)\)_O EL*^34RG1_ M>\)>.L#1Y\U'7QZ(\Z'!$3V66.2M#G[ZH2;#MG& MQY_CC]FFKF+H#-IQ^P(H";D.3D]//_.O'RBA1Z.?<>"A&9J/^&\_A>MG],L' MXJZ>/386_VV)T3P/Y-PB3WPT*FX+RWKF3/R,O)"P7]B(Y"/[Z>/X(*'0_T3( M67T8L4\_9M>;T0H#L0:?6=O/EV\A\HG[Y*%+GPHOYAR\<4E($ARU"/W9#,FY M^\8!'Y\>C3G8#R&5;+9TS@.?!)[K,$'?_$BF\XQ M9 #:P6H>X)"L">U*(F*Q7V)T*\W1'0DN7&)[ 8DP>HA6*PNO*4#NPJ?KV+;\ M<&+;0>2'5/G<4]!M%Y$9LE'N=QSX]$\[QN8"A9;K$6,BM00%7#+2]M9B@=&" M"_YT/D,OR(]05_0KFQXNX2:>%[PR77@58&J9'#>\"0A!G4E>Z?QP24<54(@M M.YQ0>$,R\9T;UWIR/3=TNR.?%@QP23BC_H;KLQ\0IB19,4&8/GENO(XZ5']Z M8 R8D',K\D(P],Q# Y>L-\CJ4!?NS :7+-=T![5"C]9;=[013=D'@:XL%_]F M>1&ZIB$YOZSL1M2 \+1^L;+?XW]3FN?;H;7+#-4VQ&FT6W M=):^R"\NIY' M_<9KA[*%:E^+RN>NI-ZA\'Q)?V%:^-S">$V9.%DQ!3V=IT/4)U,;P, F:LGG M+DFJ"PIL@DX!GL)&=U2R 0$@QY5KXQCF1^T# MS?-@M7)#[A)2$=Q84>86Q_;$=\X"WVF N<8S];)'*01XZ>: +IE6/2C!X>Z7]N+^\>'T;3*_JO MZ?G_^W5Z_BWT>5__KA^_(19S.I>SN?( M#N\1=@-G.I\X 3? DS>7[("LWVV#Q%;X)CB/#EWHZ?#)FJ^HR@),Y>Z7#P?I M:',B] M3[;]\?7HV]'IT9?QT>')MZ\'X\-OW[K@9&HH^V"E$&6@W)TX?T:$;WMO_.^9G76YD5:6[D6\&R>I]5M=NS(G >KY\#G08RB/=3LTX,Q/#0U MAIJH �#F!";5K2MF>[9R1J6>9(T'D/3 %IU9IE5$=6S)AW+% ;^'P/)S19 MBG9]VB4MT4Z["SX MV0TM3\F-DCZ=\N6H)E]*< ' H1F+E/O(8KK\@2M;(&G?*DR\U>2)# @ S M-N;PA@)XS<*%97YQIF%+3.#'$)I6O "VT %.7.0=>L>AY)_LP _16WCI\:9T MNQ.?[6R_>P%!SB\?0APU$](S9M*USZZ<$72!XO]>^\4H[2SPO*L OUK8D7#0 M>!0(]DB/T<:H/=/=*Z8_<@$#L0QE4??",BPVA."Y5131_&HMH@:-3QF_\V%I M842N"8F0;,5)6T-860UP3(H?-+;EG-485!W'/&T)P0%L@%U"W*"QZAX'\_BR MEX1#V080O, &&)-%"1H_.#+QNKZ(<'QWQPT<+C[L+-9A_B_R"3_@GCP1?NU, M9;S,Q^J4R\?MVC=S[ -XMKMXI '[&B-V*C=?6W,G:]$ FHC$$LY.+"C0 M]62CVE 0O(D&UDG.KZA$"&B2D2'*8R YW!(;WAF*K].B!X1?7!O%NG2&[& 1 M,YAKZG(-T]*TG4K?/^7M&#=T]:JOZ8(8CDMM)7ZC$'(P^CK80L*M*,1"C M8#[*@#':SC=* :&-8UAR'W/0C/Y7 L___@#Z&M,=>I41=(KC AK7?K:%Z]ON MLX=4MYYJCME5MC_;/R?)!)+[4(46<*X^-<*W-)F_@&=/]R\R<$@OT@C: +CJ M))$E 8%[OL!4B<3Y[.;C\='X:_\)W%7(+D2D?TYHW"M2MN[["I%4J$0*IH.+ M07_+.[*2LXE&#<7^2FW/=N9O>*5V?^ERV)TAM'S'P@[Y\'*GOO.GU!1$%5T(G7UI;(BODP M$*[8M"(?YJ2 )A/#N9LHN:'3"E^'<%MQ^LP+3_H+_H+,S%TLP^G\!XGKDDN8 M6-('PEV<5OA9@C=LUJ:O>\E6IK0UA%S8#MB9P7@PV0^E;P=F>*1(>SBLE?:0 M!X+U2< 82KZ#A(JJ= 9UEZ["Y'0A.)$=3G&2'2DYGA(W@Y.WH$/_--PMQJ6G M8XH$&/;>00(.D1XH*=H".$-22=(.Z448#)G^^<#=M_'AT4'_HM,_PBA&9 MY2BT[&%K*9U;Z\\ GT*']GK=!TG@-(JNX5 M;0&86[D,I617P#]DZN?-TLGX\ 1(UF -C@AQ:MX&7/M.Q"[W6AY5I'3)A^L4 M#*DM*._2M^DM%:K4)I2CTK8)IK;+DIZ%"UOT;7"UB5N O&5:3N=S:M7/(I=? M-"T58W7S/D\%C*BL1J-EDO^*+"]$??Z:4AG)Y4W[C*@;$5N.0LMDYN5S/9Y3'F$K?H/RT@^IH:!02A-%C7KV M&0O1Y(=Z(!Z68@#LL8L^2 M*E64LF6?]]2U&:/$ !I#-E6-SR+B^HB0Y#U1K8=IQ'W@Y$#K1B T$8/ KA@@ MY4LH.VV )#%K"5J.&7DTADC\_)[]E.[9C_J/0S3#$"%JS1OW._3*G@<-<60K M=\62=A!RAH52DQIP"=QM1QDHA]GY^F:7J$-BG4X0*\B,623L(Z8E*$DO@[H:JYY;GD5L*58A\EN%(O>+;@%(I8"4,RTBMU1E" M&J$._;60@>:-2ARVFY++!N7=^KM+H(M2OHZ5RF\=ZDV !(LK2AZJ=GDE6E8( M,-TA7;[97L1T,LMSI/]C6TYT8%2YK@38XR. 3 MJ%NCWA#LG0G;C!$<3!IH]G[).49._$X$,BY_=50K#W0#Q8CB-8KA&,6 #"43 M],%>(B?RV$W"Y'K.71 BRS8?A89])TUH)]+)$&C9!\ENW9.I747&HKIY MWTD4VL16HP%M/Y>@M<6*GXDHSWW47?I.P]#BDQXJT'B5LVH49F[8ML:L; ^N MW[V_O;@IBKGH=U7S/]3MNMYU:Y\[+7".!"VZG5DI0+*X+2!%@JU6 [C M>*:RF)LS'""7"S"FMUSCBM[;;?[E&WLM ;%H!B9S*4>GNDH$([*.E3O M&DJY[5F$\$./^'1)=LXB8+9)9PBO?-5FJ0G"@SE82\\%>8$? MOM=,BL2XYH=K7VH=KJ60C&)01I;OC#+ #.6 +3ESO69,W*1]0RKT@3 IL <=&7B<_7A M@"2HUULK]80"4)([$+'(Y9>?G(Z/CK_ 29WO7U2$Y $@/>>69T?\P> ?U$'! MB<+]'KD.<]&N_1B;,T1=)_08/+OVU_%7Y7%@G0$AA)?K+J>LL-2A!0#9J&Q] MRXX>FQBXOT/)YL@BR!JM[.H,]=0RC;6+1Q@7@V9&/2&8%&,1S[%6!\O!,'6WC#V+ :7!E"2.>^VG]QO/ M@]63Z_/582H"U>>!H"3:$9CJ-!F">&5.;PW/P"N/!N%PM'%1T<*\_4Q1?1'F M!+B(J --NSEN#,9O%-"(_/#M[4_B%-,VYH%PC%I)+EJD"3@5HJ#/IN1[#==3 M, 8$==&]^RD@!#A94(%M[H,6NT)W0J4"7V8LBJ@.BK<=>*,-S 7=(ZTO/>_; M,]TNDH2(C^X*S;&U8D][S0.\8L' Z9/GQK=5'^C_D[F+G$174XXX%2==@?0@N' M%U8HNI+>UB3@LF$:DBO!X5-C-.OI=OR,V7%)M8+,-S@O;C3/T1U4^V2$,$V@ M\!5 *8*"V.0(V=Z!?+.DS&68G!Z,#[^<])^ HTM>(?!]O>1#";6*5E*:[WSO MN^R#0$ VC_3D(>WM9:0W-3WSW_NN[*"B9QY2 !N]V@:DL.]IVINZ 92RTR"9 M&O6>!I["HX5_'?F"$0,%($3P(DU:8&_+Z]61@NPH$(*2 .0A2Y)!2H:*/''( M[J MP[09'E#<$JJ!VM"J];N5/GIEQC"IOY0MA[S *'[9_1'AE2"9PZ OA-O1 M[7#YCB0-10/M8XCZ6N(\E[F.)^UCB/I98+99XPZX8&.>V?JL5*XSG'$H@ M\(:]2X9NXBL9Q,;N_<5O-!'*^KQ*/=U]I$7H[OYF89>_<\*@9"\8+:F[Q#PS_L-Y0$2UIW4Z M00B7&/!,%RUH6]PI]1XLYC9R&']'[F))G?7)"_UU@9CCR;S*F16B9)\N67CF MPT (?U18D^:(PN9X4F-%BZV;MA#"#;5YM\$&&H-BS/+ ,BTRG:<70I763]T1 M0MR@LBE4H]9R8.)!"8-UD#2&\E6!HT62H0%LR2JV\B4]M MI$86D#4?!L)C"4U;,2&BT#A^;ZUY$/ JP#.Y6U)HU2F_3AKC5P$/:.P0Z>?+ M-Y>$B 6#$_WQ&%SR0*>!^5*,T2DK3UNU9 HLH3%:]/9(C%))U3*=CMU&G,:- M\50'-VB,S$O@C%F Z?P'W;?+6M^7=!W&U)V[4 MB3 @P$,FY"WR[RL+/]H,03FV.UUG,!L)$,];!B*$V MQ[ !Y>%<^[0K>K3>S)-Q3FLEX\03C_C,0TG)V1#K\LU:)>5/50DYBO;]/%*6 M@#.)PB47SSMKI:KBINH )X&GE"OYI\/D* %0IV+P2MZ*4W4!\TQ@F>B5,PG4 MSU[4+ZQ5]H+P@941U#S M["M!"@"[*#9Q^KK"_!TY2(NZFG*<,(*G]*=]REO>!XI6KI*V44L.A(*^S* M.X''XR_C8U >;6,L%"+:O!6Z0$[$KQT??#MUI 9(V J(\ZHC8ZDM$N(!S0R) M-/9-R1VODC[]W?#20D88.2S:JZ'6T?GAX\V#5!2Q,^13+H0D?6&/S!"ARL7U M%U>4= \H#&-4"'OBBK:G']*PG8MD M#P'! V2,:BTS -H.D%"7KI@XUY].X9 M\+%;SOSS)!?$4'H,AX:PNVM*: Q1AR8K8C)L7LF;1[XS# M+(VCZ4D@;&8;L5=UB !8DOC5P&2!E(M$OC6$*W9U>)O'!D!>SY7EXM\L+T*W M5$W1?W-+9I:[+/;DZK5/J#_,>#MSR5^*&)>Z"YSLG\8Y MG]4#:B( 4-); -.;OX]T2F6<1=T%2$Q,1V#%C!(A]?X8E0\2?1L?'1S!B88U MR3PAH@#XR1-E$.'%+1Y>K>?R5"%!8PB!-!W!+&0("7 !P).-*3A;9WR8*XS^ M&2'?7BN,G59/.$E$K=H\+5I XK8(2J5BU>H)Q! :R+20B2H4WSL301O)]A@+ MU60*-ZX;':4TH'I=(9A3 X$N8VL104A,/%MO_OS519@2:[F^02_(TS.SRLYP MDBBZLK1*U8^BT ;:VS%&/ ,L(; EZYI.;Y_1RX/Q4*WR7GPYOK:?XY" MPA$^T+/2HAY0C7.I? L9*\(0*,\.C7EV""E;NA6>'0+GV9$QSXX@95JWPK,C MB#P[6V\K#LN(?"24TS_8NX#J]D$_B9I].E6>'Z74%Y_6VOJS397)\\D+1.+@[-B6%\ M8);IU8,[(TG^ZN&P+$,' !R^#S G?[@!=O/'-@5,N>$P&@&>DZ&2ZUQ=:1,T M_VZ,S5NET_'1P2E((]X"LX6H ^#_)0G=E16BZ;RR )@- <&:5Q#Z+-O-$ ; MY%^1LZ!FZ (1=Q%G+BO,LJQQ#]98\N1&J]98ACY(-BKW9/+F0,RK6BS53 &T MYVZ(+:"-8WU6036 =T&8PHJ<"4G WR:=7M*]6[!R;?9!;0'F],P^T>'FSW0'MRCPTUHM)N2\A4- MS]%?N8M6B"6,--:W+T >2Q9=$Z(N"H=JLF(EXP5'#SJ=0*6M-"T/ND1H^?W/ M+0AW*+P)")GZVY^4?!.V!Y6UTB[+A/A#N_Q_;I$EQ8_]Y_*?$073RZ7P;"-E M$KUNT!]"\8?6M;A=+OWJF M!CJ4:H*?7*TK"UNW#ES,2/,Q"^]'T[2=] O5\]> ML$:(G R4O4K>Z_DT)T@N#KRP;27=@Y5TZ9:+D+>H>F)@E M 33]7'0^IO,<%MH.7*%?MS%*R3/5/7AO!4*TO%1_1^PA9N1,J&:P%E3L2#B= MGUO/;LB#.+O+5-V\6Z9U'3,KQQ_:^FPP1_7<\NS(XW_. L^[BDLCMY_[+9NW M6U'K.AS7(2'!RFPFY8Y5MBR@1_+XD=D.61-OEH]5)J?-S@7A!+^SI5]V0[D! M>KX7$95@>4U()"W$W=)C9SF)@1UC#-@8530&4%([$XPWK*3]I5A) M.SO84,IG/]A+Y$0>FLX%YQ/D;)WYEZI*MODP?>@O 6R**Q72UG!*8%?E7G;! M2]$$8'!$L+$_,5(74-;H!^0V18E(EC%J!ZGWS++L5823\?'XZ.@;G)L63;)1 MB&@;CY&22Q_AQ9J:9L4SI,5&$$(GVE*V?9*TB C,U5((-I8OE$R7_O)@=5#) MK@-SVS74Q^!2_,Z#U5/R!DTNW^,16SZ9(TS=^LD3X4>*);PW&@E"',E4."HA M"FV[?&^M^4;^,4AT4XH5(M\QW1-)F%S>#9(&KB#4N[G!B7'4N+^;:1Y&BZEQ8S:GA22#_ >)#@AZWN678[B71!OS%.\.Q!? MR;Q ]\I#DF )9=^S$-_CX!GA<'WO613AV(]Z%H1^.YX;Z)9_2,*LH"XT@4Y) M)I&Y[6<(5^E[$(LM :!QKDF!O?9#RU^X'6UF!J5X/* U+&16S.*(W9G8IK__+-IK-,Y^S6.[OLG+YZX$BN MU@"##41)B0%K\YKD'] BR-NM[>-<,0$Z=4F*DX,HLC%@,2ZC[]_+*^DXXE^< M&40ACW?G@C0>_.]+YVYCP?VHW>S\W8IJ_T=4/9#X/2O?+9X]Z%_5Y-W*]?L\ MN%+1]YT(=1FINTT>[%IL!W]$54Y08#434L"W<>T8(=-:"H?*6@K)/^D\H^U$ MHWBFH11:N&+DIP;UI4BLC=(B]Q8.M_5VC8 M5VC8W^,?S#U^QP"F!TZT0"$D!0"ZFC$93?(\#)[(9 M(&>6_9<7+)1O$)=U@F"I*PI\EL5E: )@WR.V',2P($J&%9M!N-O3 (N*B %@ MRGE$PF"%\ S%%2S)TGU6\T?9 \(EE@98I<01 -=2]T^!ZDU)J2NS(?HK?54% M54W;I^]$#[4ZE@;Q=E[T^$'0//+8&RS5Y48Q) 157E>BZE'@G1R&_*WSYR6& MIZY@]9@,W^G!1J'"S/3)G],<7^F&)HQQ0$AYDE0/^U*_[TIS]FU,8B@7;:^0;G2*&.+MI!JD^2 M"X6\\+5G[2$4D!PA>Y;>6TJ45;22$G/G>Y_*0L+YE)H[D/9%3^M-3<_\]S[W MPF7TS$,*P,F@NCY8H4?K;1*%2[Z943B%LL8]Z&')5K$)GU"&)4AN*3U!>7,@ M#J!:^M1, 72PVA!;#!P?T/RV62#4]*JW/*B%Z +A'H4,D=.US=KD6KY6' M-)*V$/S],B',LDB"!@!F/(16B%CDC4[A_=\(N\1Q^;FKDBVEO2#$QTT85(H0 M %8)+&S9X9BZR_X=&'@G7=N[50$AYQ;&ZWG\#J.,Q:H.$%:A*:M5^/12L#^) MN^>*BT\P9IL._BI)$ON_1Q2XW4<;&AL5PK&0+B<;0WH 1XP:2/'MZ71.\6+F MB,2/M0:O^@>+=>: 5,JRWKM.E4GP?J7H5W>Q;%V,XDD@59'L7HYB&K1L?5CY M]2LO>&7'P&R;,*,>J<"H8Q_$6 [W^?7?K,_F)[J?RDYU><3[)^$ MWI_D[T_R]R?Y[^HD_W?+^POAQ[=? \^)*XO9GR:^!YZVGKSYR'J(G M:H-="[N25/I:(T&($1KG!%3&MGD67GK(#K%K6Q[SFE@1@P#?4?NYI)OR@':V MI"S3[@DT/J%FD39V,!7A/F3XWD*&=Q&3MRV>:)-1*V&QJ@/0):EDM0J?8>S^ MW\N3C^T]R5?K;VJ8F?K)B^]_I/!W" M;(]Y/#[8W6.F XTLWQEEH2G6Q?D_(PH1RRZ/@1JY_B@%:Q3#-0KFVP$'MS=- M(=?;@NZT[NTTEIF7= 4\Q-9&512BI _$7:>0+X7C6#E. /1X I!R.[G3!LC6 M44O&$7UV;JT8F(+#=$KPN$[9]02-)]1#D*;>[I MM"E=W@6"RZBD=#D* !1*JA/+]F>"=OUMRJ1 BW=B.WI_J!NN%(U9X'E7<7)" M";-R+2&L%RW&":&'MJ&"^>)9R7H12,XP7BG;;'22#?9%A.EF09C[HM<%TF+0 MY(H8$:B,U[Z-6:WN"Q3_MX15DCX00@F&O))@,JB00*U:8>"/[6A7[6A5]6>5]K8IF+>7@:E74J,H* MO1IKU=*&)EI\J,<;KR&-/=4]6 0[=?_'MKSECI0-!N$K:2O%L";[0F)^%;CK?14/" MZ+).$.YU5JY?78(;- 8J\+R*0G;W,(/0Y=LSW?"@W?QQI 0+HVVL*(U M,!^0: CPF"%&8!8KHUXHL2WO'\B21:(:&1EX;%A[]>B:!&W"#%N.[N@^Y/$5 M>2_HEFY*EA6\0*U!@;O['4A/D2;#%APF_(^O02/RLAD+^%:B S'9D.(=2 >= MOLI;Q,K1@.] NI*0F!C#EY&K(&K&:]D.!GP[TY&$Q+1HN5R-&5B3>8BPA.FU M1P.^CS'B>FUB#$@OW*$*^UK>J5..?^M]G7.^FOKI^.#+ M4?_%X@U)+,1A7_RIX8BE3+#ZK?&TOZ4ZF%NJPD5U3XT:GI=-30P((:RKY&P32$+;3<&\[5IR M5T^Y[DSNNK:^P;E 3YE'7 WKO7XMUN)AXV7>:1U,>5<&][5/]ZH14VJJ/8>P M92^ORN0 4=QF$S6$LQ514#[WH(P "0#J*0]6Z6TS>7,@U\KD0B5G!K!K8@VQ M!.3VIQDV-;\K:H9S,_02>"_4%SG'R''#*\MF3Z.KW\LJZ0,AD:-,(+,L*T&G MA1>($5[=!);X]2M1 PA>L Y%1; W3SZZ:Z6@LI*-W)6BN]I["JE+2(#7=T$H MOD-DTA&"6ZM+;EV< *@:)A7DWEHS=T.I7T0-^U0JYD*752\B; !P@P&=@L4+ MF"1_J^^O^8F,E",C]IX%?!;T<8<_IMOMT$_H(97$8UB3AT M# ,\5T4I;AU3!UJDCVL__B+IUD:I-'^A*3Q72((E^VWG4[PS/4I79!!RV(O-RB^,.WXGP=Y*2/DMUCM'(CAA-O M2E6)Y=OH/""JU*7:HT+(8:SL%53 %YI8:!CN'NVJ)/W0@&&PS5X6NO/89&LP M8=,20F)@15YL<(#,DJTCI<&5;.-.&7/2*&.R:, [H^0[8].#RD(-T,)!9?HX MY?[ P]&Q5HAK^$?'OUF8'U_-J!I0[/Z*S>#4--;<^Q51 $9^Y9Y/U!#( M;D\F0C+B ]KEU2!_+E_S\&A\?'H*)Q6U&DN$* '@TIE%.)1*Z[';",)N6RY> MN12#'<@!4/PRPH$3>)Z%E30O-H.PL]:C>A'V_1L"._96:T>]?RQ@_UC _K& M_6,!K42$^8ET\()\RP]G[$Q0H"<5[7K0F5J1L(+.5.#0 5&%GJ^R9<\JLU0T MI#1M[_GXVE3->]]?QE^^ KC;5I?20J0Z(#Y76E-?'D8O[=%W>+9$GJ1TW\6C M*V(_O@:&Q,[TZ-/&U29V!H_.B,VJ;YJ2.]NGSY.Y^@3/8M(5R5E=0T.*9[OT M>1Q7F^!91'IRFA]"NIMGOM.#38'#0D]0T:X'3U#K@$>X>Y;@T!?E$R!^^.09 MV>[<18[0M2EI"V"7K92A#?'E* R9 7E'[.OX:'SA?S3?-"2&2+:0[+G$0 M+9:W5AAA5>:II!VD ()"MC;YCV(LH*7Q^45K$E-5GK8B;=V#,="ZIR7- M7I%B I0G\3UX=5*%1C\@*2XE4E?&J!VD]K6.6\JWT!;$?HL@BZV-12Y]A!<* M.[/; D*RA3')"U@T3\I+CQH[[-J6=Q[X_*6+ -\%.%R>6Q1!U[>D)-;N">%F M@S'IM;%K^Q[):W"]6E%/!+N6EX%>KI5*>T"X[6"^%,JP@N9\[>M,#;3.%,,T MO2>PN306)V^#=+I,NEW)DH"V10M&M[(J?8,RR##A* M)27-M(<86 DF,^1Z6EXRF R6FWR(@91FJH8-^O/PJ/_^ MRG<>C!O1@$.LWQE?PB>IM$VCD(26SZ+)2C:6=^N6@?4#)N48@6.=8-<_0XP\ M%.@Z<1'5(-VRM9W0B J_UH,C=N S*'B%P.G\TL(,$'*&Y@%F;T CC$CX:+U= MH&>,[+@9U2?99[ ? ^I%7?MVL"H\A9V+FK0T4[<24#>>TA(1H.F">QS,76J MB'37GFG0=VI'RXL@M\?/H V-9S'T%,WD7?LSY%-^R"RNM'7?ET\ZY*:4!M!8 M^["T,&*%$1SJ_S%0+4%(M*QQWY=<.F2LC 0M6^.\%4EVP^QX.4X[(PKSJM^U M6VU;+Y"MCU6GG$EEC97$B*/HY"Y2W&72ZMFW%305/C&/% AVRJ(4[!OT@K"U M0/SV52E[)+WZ-FG-L$:"7"]LN7+?J&ZE6G:!V$_F')(/T+>9:I99'7F)*9=A&:N.Z?P_(PNS:(BV>/0.)X0+JLU)8>_D[$78>9') M&35FV+6Y);M'>.6&(7*R.6D\&D>_/&*+^HFV)->@\1GZ/-QN7L!J$ *&:&QS M8%*YIU_0=)[-0ZPN%GJC]WGDWH%(Z!$!ACC0768USU-CI#[/XCM@'NP.JK@I"#S6E_\'M[F;3M9(-RL:[>\;?;Y M0CE6+:O0\VC%M^\O*-VDLQ,2RV?//=0LTJ58O"#;/1.A2Y:J%'+35-:R7 MR"5Y-Z;<4F,$C44,J]^1NUBR*$B\(T[YVJ,IWY]P!GA""PHV^8+))?V;FFVD10JAU<+9/UF:^:3QL MW3$,W:KQ^LG-'9,'P&/#6Q>0*4%V>=WU%\BW*:Q\,=(?SP+?(68/$'\;'^P^ M0)R9:&3YSB@WU>8U8O:%SS>4=XE9^E8.%=73Q++&_;C4.["]8@2*V9=C\ MO%84 #(9H(>:0%*G3L6OO(NMCQ\ ZY('-P%562-(V0-(=2!S*96S< ?#]\:S M7.FVXX/QT=%)__7I6N>C$&L K'V@$(9K9LJ4SSP5F\'8^9;*92Y#LH#$_KTG MO?<5RZW1_LFG_9-/?:F#_9-/S8:J.GSRJ:4]0F'S7+8GR'3HKS15.1I*O[^W M E7B<\N\;8YMK^(R0$E[&*%;'?YH(--V\89,O:,T4O3[TK67OUHD*=L>!TL$ M;##HVW?ROY:$;0HVZ.,%(-K%\U&7@4=1)Y<4N'!][3/PW1XXFC70&)<#_82.9%'.2R^"Y4MR'&VWK9)TGTGKQ9V M5&&Q!L?OY7ZK9_GLM7I%K"S?!$XTK''.YNZWYI &X,ZD "DC++N-@ 3"1$(F M(C:@Z%8%C.8?CH_$W.#$L,Q8(46GA^9R=&Q8X6&!K11M]D[^>4]H%0@Q* M+#V;5W-*<8!V^ENJ8&7ZM6S/U<3 _>W-FB-++B+9G%T;:EWBK4\ZG6\7RF2! M48QV62ZZ=G<(.\AVI$B?!N"4C5 ]IBEIG!1D$H5+"O2_D/,8G*%MX]VJ M9=XCS%'08:2R.X3TP,:XJL04&HO3F])7 =XBS9.)5X'/T9'MIS0Z@JA>7H.M M.CB"##9._-"]<+V(A0'YUZ0JBFG,\5 SYLCF^YA.&#<:)5,.+_;(D'%2XB&; M/:7G(G+Y9GL1I=(5E2[F^T7A3D6H=(WK!2";F:0/C5$3\K.U> !%4+/5&2'& M2)N4P*P^:Y60 (R9&+S2T&!Y-R"QV0Z67KFX O^ML3S?%25_P=.@!B8' AI MU<*3@*MG+U@C=H!Z%_@H^5?&O9$_":C;$T+L0%>@-R\"ZB*WSY74RY5LSP[O M)3\!X1?71N3:=R(2XK4T/ES>!4)@6"@D:12X M'(66[ZS1+;S-RBD;D+V\"X2=K9+LY2A 2_A1:-*RD)E>UQY3O U0DR1QZYN9 MH<:STD32&$>&2ZJQ)5Q7=0"T/HVYKL(+VJ*=H1?D1TC&HNUG"(F451FRQ0(: M^;_C@)#X%4T)!W(M(*0]5F5"#A%H?$CS,1^#),>6 DHW%>&:W>$*)[[#$A*? M$X4K8I/) 'V^=5.7BR9X0F-R7/%2=F*2?.SSU9FZS$EQJ'0>\?/GF"Q)V/[? M_S]02P,$% @ DH):41B.$]SPAP &98( !0 !F:7@M,C R,# Y,S!? M;&%B+GAM;.R]>W/C.)8O^/]&['? ]IVXG14A5U5F]:MZ9^X-V9:K%>.TW+:S M:F8S-CHH$K+939%JDO*C/_WB 0)2@1? HE#UT;,=#DEX+R$\\,!<'#P[__[ M=1N09QHG?A3^QV\^?OO];P@-W/?R)G9QFE/W[XFWF\R$>'K M%DQD<_C6KVFOZ"+:']'/;/#QQQ]__(Y_^QMF/4+^/8X">DL@CK^#_M^%]!%^5M#U1]#UXQ] U_^1?7SMK&GP&P(M MO]PMM5K\6**5=>+JM#+4=Z/I\\ \BO922NW963,QTJ'S-?NKI"!]36GH44^J M"#QK2'.1BC$ M".W1# /XCB8Y,EC" GEE#WV\?H^3N/^MPQX8\S^./L^X_9 M6/\?[*._740,@.;K)(T=-Y7TN!;_\9NJ[SM:!60'8O.XK( 3NY(9^[/!'EF+ M[]R(N= N/0NR7XAWW\31MEI4P2ZJ^/)OP;K'+RQU*2D2TR3:QR[M]-.J\NML MG4G)$;9QDS?FPF>G1<79B6-$@ M3>0GA^,K^_AO]RES+IBU'IQUX>>9XMI&2$=:O5(PW*I;(!QS#8+V'7@Y.?*5 M$\0P\A@DTR7[,VDR@=IP*B/P2+G*49BWFL)(/!;6P&@$HH13/1J21C1+U?!A M;/7Z.EGGB.$R6X(\,+H5D]C!UTA]2*>(#!?4[Q#ZBU;$OL-($B- ;?2A]->] M$S/G"=[NZ"Z*J\)0?H=C[: 9\F&GD_;D$9@3)H+RZ*/QEL9^Y"U" M[Y)!:XT%#MM-8"16JG8X#DN-D(_":EE/'H."+&%T"1 >?VZ-G3#Q8:>K$1$K MFDY@(.H4/)I_#]HA'XY:<4^?EW/*8\/B(DS]].W*#^C-?KNF<87Z%4T0CT&= M0G+L'7Z/=,QIQ>P[U@1! A2)(#GR&+NCCSYL5H7IC;.MFGDUS="/M6K%RN.M MW ;UF-.(>N*X*Z@2(#ORV%N&;A0S7.7'2WQ1?1'MPS1^NX@\_5!LZH5^9+92 MNSQ0:[N@'K?M)#]Q&)>8S AG0Z*89*P(\!IY;#\XKTN/!1'^QA?'IPT3N;X] M^O'5*F;R<4F'L>LUV2_0>V2S]J35+=%OU0K5&Q M/$PK&J(>HG7RGC@\,YHS^0?A6_JK<&Q$/5;Q4P=S?)KF\/S4=GA^FMCP_#3L M\'QXB>P,SPOVYRI^B%[")F.46DYE:!ZK5SDPBV93&)85TIH:E$ :(E$@;F= M\F!X%=_&T;,?NOIEE;;Y5(:F1M'*\7G0=@J#5">RJ9&:+YHD!SO#]39*4B?X M?_Q=[1Z IO%4AFJEDI4#M=1R"L.T6F!3@U10)XS\N&MZ@/%Y3!W-H#SX&O$P MK%(D3]=4OD,ZU"I%[)VLR8<6HS;N6()\^N#V*0KU9SL531"/*9U"68(:$>1&1Z[%J_O$!*>:4VE-,\3#JTZQ0Q13VR =;+6B]DZLSH@22=7& MJ?3%/HYIF(J,'_ GMC#>']YA:-$<\5ALHVAY.5K=%NG8;"7RB4O2C#K)R1-! M?_04BI3"33/_F5XZJ9-)I;6)MCGZP5JOZ&&V1%5;U(.U0>23\R-RZI!;Z\C1 M:R&?,;YP4OH8Q6]:4QRV0C\T*]4Z3FS,FZ >B-62&DAOC(FD.O*HN]\Z07"^ M3_R0)OII_+ 5^E%7J59YU)6:H!YUU9*>..HX42*ICCSJ%EL:/[*PX*DF? M+J+MS@GUF*=KC7X4UJI9'HV535&/RGJ)3QR=DC@1U$E&?FQP?*)!T#0Z#QJA M'Y152AT@H]("]1"L%/147 2:EL8;X[J%/.#(__?+JE9^X3O#?U(FOV"=5RQQ] M2\3#L$&]PYNK!\V0#L4F:4^^MRH($Z!,.&E+PU'*!V:1@GN:E:8=T6#:*VSO]*SO! M4=%R].(3<^87'O>ZP*E: !U^CWC\5:HB!UWI2Z0CK5K&OL,KIT: '()R?*O- ME1\ZH>LS<(]$60M-#=*.79&.R3X&J"SB5],/X4CN)7YO#%W=W*^NEY?SA\4E M.9]?SV\N%N3^+XO%P[V]$3]/$IHF#6/[J!'R45RME#I>RRT0CTR-H+V!EI.K M*;IK1*'&.I.FM;J_1^!$68S4RI>.VT["I30J'GO604/T#J:3]S0_F^693S@< MSK26%U_N[A8W#T3XWY_M.>"%DSS-0P_^L_CGWG]V J9F,D\OG#A^\\/'GYU@ M?[AX[=H7N8-V,H'JL*TZ(G;@;O+W'NJ,/''8BI?_H3":$2*>B4DSFG/2 !U/YP@B%[@P1^RB6)X MJ\GS4Q)$+$I(X(+4O_TX^]./?^!^_F]_F/WX_1]GC$2RHSPK-NA]8G>ZKW\) MUR6C)875-$:N[X'-\_0HZO;W_#_^Z7?" M[[_'XO,WW% >50"R^NI&JP[(/;Y96=7A]:T1^WL+H?N.?TE:$3AIAP#O:V[3CRF":@@DG";1 !'XL[W=FJX1<_?;K8 M)VFTS;1F@%;O[NUZ(G?W#NJ7]KB;NR%V]R[2]][7S7B(][HEEYEP=CYA#^OP M._E.4NT6]PB&.'<"'CH[*:'@[ALB1!M0Z_O4B5-$>J_IHQ^&<)PQK/;-1QJC M#/PD%5B,YLX#)*A!:E3M ZY>#T"EO CKA9.H7#:=M<=$4,%].W6Z9-RH)/.'#= M0?Z@?O^BH0MR1VNC<'E]I6^/V U;B=U_.2&(SP@GSV>'G('%/9%AE;Y;W2[N M'OZ;S&\NR>*O7Y:WGQN\$#E_MC(G!M86B))8_K)[V/VR''#\%$7>"UM_:.RA?(T< MAPX542%'?H<878Y$[#O&)*%O[>VF&-,%XY;)$,J5]D7>J'.T#3P.U)L;@ZO5 MY2_+ZVM;*&[8*=,='\=B"DH8:'SXM4-]E!BI0&[6W9%CNM=#% ^"&_N MAW@^Z"1^_W-FR20_>V-\R(><$Y&LOK%UJCZ&%2[9PG%YM9R?7R_(\N9A?O/3 M$OX4ET\LKR@OZ8;&,?7@<=TM?7!>KB^-6*_;B%T[P(? M&6DB:/,7;16WMC49#ZGQXFIQ=[>X) _S_R*V[VHJ>0(W;*C7GH;HVB+WSUH5 M2WL\50T1>V6]O*>E4>8NF!.VM)$SC(X/?UGR$V&7;R]YW M7$L.9[%@0:H">3N>/+SRS*GC/=/9C;9P2=2!^95O0ZQI2#>^S9VXJMM3T@)O M]8[>LBMR7^]B@*;;HH?]$'M\)_%-WQ?-&2&]+FK<$!B3'\=6'/6%4?.*9_= MR[=#W9I[I!8?-*#!9ADF^QA^JCN:T/BY8=55WP,YXK=0M_1J@;XY8GQO(W7? ML0VT24Z<9-0M1W%#*BSCMX3Q./,E$\OI2:T79/K6R!VU06F95 PP'2,V?J\"+\SMO/#2;G@ *-R/+]KRA<:0+ER>04<+J>< MAC1FZFH;8W>]6B5U)Y.32-9M$+BW&^9'=4!X1HI+,/)H[W-^M&?_V-*DXJN; MG\X>%G>?R>7BO+J"@HV#2H,:"A JSF*SXTI877O\MPZ/KT?8*AJ1[RHT7R)H MT0\Y2K5675] HJ(38NQJ+[NQ0A+*QJGU*PB#:R_J22B)3S@*20RB:@YG 2\K M@2*V.KKLI824'>XL'O5"CF,MU:Z]O5CN@AC#VDIN\AYC:8V$Z3*C:=W5&XTU M,&9OW[#=W49=!^1^W*QLW0;B-"*09J$-;B-:CS@&U);??"P63RB\55&U>8\' MOS]6J*/9.43L<552&M@KM+Y%:&I9CB%NO8BV6S^%VI1PJ0I.^UGH3D-7[T?U M/9#[50MURWE+VN:(_:Z-U/VSE'+:XO%6E?HPI==:Y*@,J._J\^?E U18%7IY 7_1#!] ^9/!%/M%F& MS*8T:;HX:)P)49RD4@F$U&%(FE$ MRF(1*9?U.Y38S%MQ0=KBQZF^NB5RF*I1[^!!KL-FB &C3MJ^ MPS*G23C1F7A+GOE]DNSI,/FT+7;2AM4T$9K^V[???R0[)YZ1W\^^__Y[^'^2 M/#DQ5'38IT]1[/^+>C,21B$E/C>'>(IKGR8I^X.!A-TE210V^FY%,^2.JU/L M<,6AMD'LLEI13UE;L$D8D[,.I>.1FW[\_M/LQS_\./OQXZ>UP9 MR9([FW7C'X5B(7WD5Q$MZ9>YLI/R"RO,56=_9*[YAS]^$IXZ^]T??C_[W>_^ ME#DJ%@^=>YX/ZP0GN'5\;QE>.#L_=0(%[S2F;-41N0>W5[Y46Z"Q%V(/[R!\ M[XL?.0L"/. R5\9E1M2IW5()@E$- *_U+NO%=7[?YUZHCY(/"A61L+!7. M'U-_!)=1C_8!6V\8XO=>O7+U6^J(O;-&6)-;VT?[V+>.W;H! ^A]/K^>WUPL M;!8%F)A6/4X53G]B9+N#DA9L"![-&G;2. ;0461S)"4_I)PTBG2HREJY&NNT MZ(9\TFBK>)?:T(@GE-:BFZT%;3T%:QAEC_*RN,JX/'L>!-$+5%2XBN++:+]. M-_M UL&[HR[UGUO4@>Q( [G/]S)):6>G"P'$:-!/C][;'9(;8>R(Y$?RHHP% M1\O%)\>UBE0_SDG/B).;:L-,Y4E3.;+M!S]DGP:!$R='Z^8VT++Q7SE>?/_C M#]]SM& ?_ VJ*E'O6%/5'AXG T)&!\H&QV2-9=-\9UA4DJK0-2":02[ M*L2/H. Z)=P?2J,]B"!&$C[&D1":=?^R,&T MMSJCP.D^M RHHYM',D0/JO8L,SJP#K?PY;<<"\LU5!+K1@$I!I]@CJ8EKZ;[ MQ!:\35J<=LE7(4S*"V!K:&+/& 6 ) T(LAP@-+N ^L#+<,$+!J\VLHAP-7P> M76?L1P$I*)Q@#AF7=>R./"SKJTWO79^V$5GA,NS/30")@.$C8=[$LP>)+V[I M>R)X@R<0 IKRQQ!$&>Z#$MGR?8BU+*#]\N2[3\1/6!M(,F1?I1%9 _$@$/^& MZO*,!B3^OU$G)DQ(X!Y&\=8)2)0747+?7(@+?/&4$XW'C1O'_OTX/["MX$A6 M&R)YSO0X/W8]/'N6J:["7AZ,Z]Q@-3Z Y5;8K1.OXOL4U.'YP+"PQV2<7RNX,:<7 M'$C! H.C#ZAVYN!'-]=P>;2X2]C!5GF'"7IR6=DF+Q:M)^;!!T*;]MX!KY[V M\ESCZI:]UJ]4UZ['KHH+Z1T,5>XU0=^M4+O)@94N$_/B*LE-N_)*7]C GC\/ MHWC9J;%5=.BX[F[7$[F'=U!?4PIB@LOM+M*;*1B!<*$]HA'0+[$56[1<7]?W MF([3MUE9US2?AI,;7UR6G1O)@GH$A?$MI8^4KEU'ZUM/S6/U*VA-TREYJJ'% M9)67#EJTJ>4[U<-HFUW/Y'.K<-!AKKFW?I5ZVFIVAUNSHQ;7_D>I2)%05V.6 MZI;(X;5&/6W=+-$,,:S626NJ) M^/(:TL(:"IOK6R/'T 8U51S5-$6,I4T2]R_A?W._NEY>SA\6E^3^@?U'E/-? M79'5[>)N_K!D#6Q6Z'JFX5X[URM?(Q^'$H1L%< R MI<;BY\7-EV%*T;2HO&OZY["Y?9*DJTTFAG:A4VZ#W-4K52IOD"@-$#M]M9RG MY,I")JQFR(VU9C:JTNK^ 6;*^\7=S\L+FT_>_!1'27(;1QMMR--1P5ZU]04;&8D8\2O MOY19D8R7I4J-(]EA<7V]O/F)V6%QPQ;*U_P%O/GEY^7-\OX!%LX_+\CBOVX7 M-_=6 P/'#^&RTRJ\])-=E/ :W*O-/$EHJEM5-_5!#@&M5"Z%$W4=$#M\.[E[ M3VJ,.OD ]+^!"Y<*"XCBV62WHW'Z1FX9^917/MS!QM0,+@EF#\>M? $./SE) MT1X^>/"W:QKGG]EZ^&)@^\V7-V1U0^[GUPM8),SO[Q M^I;(O;Y&O=+K[,?-$'MXG;2]JQ/DMY@%T\3/Z1)7U0V9?M[ O5 P[B_;,[.O ?^126,J/^C5:=L0=6*@+JETGZW;(FCHA MG[W:*5W:HJWM@7BN:"GX:65E:W>![*#&&'HCW,3MNA&&WU<[N>D4/72X06K! M+9O.5H9&(C_3DFJT'/N""QP>7;'Q+,*//=,Z.PEBD_XYW40Q%>T>G%>:?/;# M*&:QB%QMST.O3$6\FO>9ID^15VR;Z8Y,QY4 .8Q8^#F.+_>,PAXQU-FP0O\M M+^4@FL!@(H7 I)"8K+G(\B%G(0A1))E)Z.7Z0"Y*&CM1[+&U3/Q&EBG=L@\9 M+O**X1%/$QMX1[X)I"?U,XFCM_/%U>IN(0_B'N;_93._+;=+-K>=TY#JD^#U MK2&BFJ7U5+C!=,TFN]O%';G_R_QN83'W[5#'OO<,FLZ(<<\E/@4U_0$+>FBSH:YS!DL&#%[J2D#9'1P>.HO MU']\8M+,V2+:>:0W>[@,M]H,5Y MSY-F\G=S\R#T;%TU%JQC:#;OM7V#JSN5:>)HDUE:(*F.Q/2PM%&3<6,T5'@Z MF&U:K/+&.8896_$NF.I5CP@K#Z9<^L^^1T.O6.]3-V#_:?%Z2EU7Y/C9Q0": M=U6T_1 C92?Q^Q<955]J%5-LUX2C1![GEY6$RLA M\E40M>1QPRJ'Y$W"6A>K;HG"W'5[FN7@"G87 M$HB=O:\F)UQDYGS(!\GQ&SC15IG^5I9_^ J,2<;9$DH@MH\]8!$/H=5:/-:P,:KKG8^5 MNCF*,F.>@S(86R;)GGJ7^YB-E5L:^Y%(F (I/=A>IV$B*I VI0CTHX4I(1+,R[P M8S&A.@O$A;7$X/R?SG;W?\/HRJV6]$V%Z3(+B%G/^#30E>STYH%>AFN8"#K1 MG.9,T$_%WFEE<(^6A/D%YBSVTJ'Z#/:GLZ.&(DS;4)\).B-.0ASPVWW GR]K M.86@F"G&M7K=EH*09#;-V6)<,_:9+G#4'YM[?]]G3P+,_"A%;]DQQSWN2N6$1 V7^% M/U_2Z\YA;+UD:=-L6=&(F+K4?Q:%(P*?[@'/H"SDBV*ZG?/&'S&/0@*OB;#& MAXAG<7>5JP'9KL4 Y7V6'O008Q8)ZESHL_Q%'3 (RU&D?.! M,:KU=JQ%,YF!)G1!UT.D2?JO/G6_H__<^PE;Y-S3^-EWJ0AV[Z@;/8:<"M\E M:9Y@AF*+'/[&,KPFQAN$)V)8'4UU$]$BBQ(/+P;Y^0T9?=8.K(\S64DFK-QL M5<2U=9\(N?WY.CPSJELSO8T'S7D9)N6>\H63/&DL7-,<.10V*:I"F*XM8NAI M%+E_7<&\C%BYOAA0M[5T'%Y;)!?K.>S,709.,0!6DHJ'+35F:=D5N:=V,8#V M+KZF'V(/[B2^F
    1J=Y 0^GJ39V[*VG'L40XB%9DQW3($G]@D2?Q>+/ZEO M&P,=]9B2=U>KJW7JV\KL0>HRWDQO_\+N;I>_6+W,5_0^3:.(!#V MSM^^L+7J,LQ>9 \?YV[*0N34ITTCO1W6PT1:Z?D!+;S@_1&:@:"!6R,%J2 -K]_L-\4$,>(.J:VA?/Q>+ M'+_8SKZ>&GA.P>1Q;O*P> J8?0[_.\7>46YE)Q?LS"(4;Z%VQ;_X2<1J MLPQ39A%_'=!YDM!45\:DL1-V>&RE= GH:GM@AJQV@O?V!(4\9"D4#(C@8 DU MQM4:C@U2?^/SNB]^80*GT@0C'O#1'<,FOR[UZZ )M4JAT>*=\C]@I*\7L M?6RE$+/C;8.I0^@K')/WVJ"OO&UT\<2$HLOP#IXI6VU8I% YSS4T1>HD;124 M-WUT[9#?WFD4^P1$WX?\_HS+64 Z3 Q,SJ+-V3Z14#[NK9G!M+W(=>2D06U& MW,J,/9*>%;^EU3*!SW["1OA5%%]&^W6ZV0=SUX416%,XL*X+4D3JHO!!<4%M M>\33>BNQ^X[EG#C/E9;DB:1OK:;@"\+H1LYT(R;138U LY2K54N[S>J.V"&*O:2MX_C!?T MY0XD7/A8R"%^KAGB8WGT:,K#I8U=#MP(7+N\,7+EAT[H^N$C)%>UV^P[ZH+< MJ=LHK-_H*[='[,ZMQ#:UW963YQF#*+;X!M:8S]";7&VW2NWQG/@GQP_AX&,5 MWCL!76U8@+*C03 GG2G*V0V8./S2!PIB6869(&!.PA>T-A>Z7O:=ZG;O] MA>W)7Z#;QX$4?.EVH'D!)=-?JCI]&R7,1LGN(#3E+G0@@]]KNQJA_3TC7 M&[%W]U#"\"LY169/_O:?Y;2>$6TB#@$2L(.2>\-G;%XA+?"=M1_P/)P93]EA M$SK=;*C+OH>YW16W@WE%7&CO^5!OP4_WL=7$G1H+BM.3_B!SU'^Z&%-MBI80 M4^X\3831Z# 8P A^F/'%L$4^2%;?$"]CQBR""ACD8<4=+RL#24JMK5;9=7)P MH#= /1(<]YL4"-2(;]C_)2=2L+)U@W@4,Q2D1,R R=N7X3,-&3<6S[0V4;G/ MY/R[0N5ZQU8Z3,JCJ^0V[,H*"SPN;%9OK8(VW?8VICO']^31878B.0^]5?I$ MX]IT_-[$)N?H78Q4CP!M*$T*&CHI9!@S,M[Y 3\LDSG;05(*3P&24:PDS9&E M](AM@XC;P]TSMF%J_<3@V#(7\% M6Q!!GK6U;1V%R2--HCGIX MT7:?%*8T:W$RD%P6:V8BV?$ZIT0R1(?)#+L%B[#+.Z00D0>+ /TW[_IKKSY("ES@@- M^Y(5/2<%)[4*F-Z1Y-/MX;XD'A 9Q!9"Z9 -2[1A1J[R=7'LTO^DHIK(]#"A MA5%:GEE44)@61K119+#3"X4IYB.,86WC*;9!>8YQZ[Q!:,-6;>R3>,^@M[!' MYUWA!F*3PY(N1FIW^E%':5+8TDFAH4Y(,N8\<,_8J["#!6M&L55NE)UB%"24W8)ZBIHS Y2&DT1Y?MDJG&+,U:#+QQ@C V&1]*QXAA1?WQ',?I0NW\]!KNHW>B0!R8.ENC%+-J]:]$0-)#R5Z)UEEK/A; MEH)9?B=])BZES_B:?Y2;Z76P,:91LC=R^+;'3M[0YSL?PUBA=:&P\6P@KSCR MW#Y/W-.S6NO/I=1+KAA45-0D: .1G2A@Q\CNYC@H#-BV.V:4[*'%"64#.2\" MOP.YSPI6C F4'6H)6K(*E/'H@)AVP..RN':\VISO$S^D"0-Z%I.*EZK$]]IW M WN2FA"<=#60#E?:TID(P'16QXQ/*6S!LPK&,_XN"?N(K_XD=_N08\E.LH30 M.N.(:"U7882&QTD[DL .+CT,4KNBJ^F/&4SZJ&%R5:?#CF$>/3UA73>D8;C& M_%81E']6BY+D14OXIK2C,0K&S>>3M]GP8TAW8_3;9$:,'SV4&'%3&=5QU5 V MXM@/BH*J_G>NI153VA::)'"^.T0)$:*M-#DS;*#(0J135D_$=5 M0YKI\*CJ:GDSO[G ?L= MW66KL]6FB[>WZ8?]O[EOB0'<.V1O+W]1L3P!LBW9:(0 MN[??T]"/XDNZ;N/BI<83\NMC)77.7+2*1BCI7S!M.Q!./Y37CB.*2!18_-*>EZH:BVI=7 MH>/X!WJKS:4/NP"AEUQ$VVT4\B<3&@XUM)V0>V8[I:N.Z:I[(/;5EH*?/IR9 MR\:>'SKQ&\DYS8C@13@SVT=P(YC DPS@:#(!\D]1X+&EN'T'OXIBAFA9ZB>+ M^5L[>6W'B3AZL_)5SJ[O-0&';R'\R2,>3ID+)GR-B\C?![0 ?Z:(+7(E=;OY MTA85'1_'[FC 7WF+'IQ7J \ .N'C\P&G1XX.X'<1#"OKZ&JD+ KK0G@8V^5 M3D;-C#.$"/#@L<*< ^HX#[)UA]/1#<;)RC*E(BTA\.D>IAEX,OFED ''@2%' MW-6.YULM7FGL^DFK3&M=/^PXTU9U[=V,JDZ8D:.U[(;N80 /DC$A.1?[QX5C M*$\SNN#MD6#5Q\LW_BMWW>]__.%[[KCL@_QE]WF1("E![D#[YM9(G;2EFN": M#4TM.Z07N7N0HRJ6:RMYWQ$I::N9M$1N"GX[B!]6X<]H:BK$B:0^=M1A]3>U MOKIAP134/F,A#?L'^ROQ/5XR) KS\F<5V5GU@5MOFDBAS:C)*A8[_0ABCEN, MZ'7BLH'$B-F7J.ZSS&438[*CWW82YML4S#C\K=1"BDXH2 MM#.2*T"D!@14($('._@^L=_I9O% EC<7=XOY_8+9=B'^^H9]1O@MG?G-I?AC M\=#D(YNTX*BW"VE6R9?/IL&I& M*+RHNB%"B0'M^7+[[1:N7\ U1O\Q]#>^ZX0I*3@2R=+><#YW$C^!HJW%E,IF6$7<8_L MT'"8KWKI)VX0)5 IOF$*;NB"''':**PB2EU[Q(C12NR^ QN($TZ=?*8. MT+:!MF(<:NB#WWS8*ER+;FO:(O;>5V'U'L9)!C6OH%C[;N+QKVWEZP[G&" T# MNZ+GM(9XG0(G[]XI?)0Y"\&4-9(A<'C]3U'DO?A!P):32[:R#!_]=4#G24+3 MI%"Z80;K2@,Y!O0RB0H%G0@@1H1^>O3U!\F-;\DL/1;'^1O?81Q)P9P([OSQ M".0^TS1C=B;R'KRF=@;M1F'J?F-N(BD[SJ&OX)I;K9H&,Z9 V;K6$ZZV,7*, MJ%=2Q8+JEHA]OD'@_A=AURE9K0/_T;$<*)85;)K=]*TG-41KYRM-T\D,4G,P M6Y31YN/5_C0SE*)XW!'*A_FI2&P+O?SB*YS"M9Y&NM) [KJ]3%+*G.]" +&; M]].C=^)RP8V'625^R!VD:1KK3.0]N$CMI->-PM2=Q-S,4>LEN-9HF"QC#S_N ME;K <,\C?;N)TJ89M;$3,O9KW7GR0W\(9"]R@<(,,,UW]DUR%&%NA%1@3["M'M'=U',GZIMF-ST MS;'[?(.B)1?7M,7LT4TB]QZO@C!9AILHWEJ^8W.H98?9JU7/B8WAMC-6<[<) MC>Q!0#D;Y#D39+/3B"9 X>?978>#&PUOXG];7C-J[HS+J4$-/Q#[? M48&3KP,5C&;B(LL;^9K]U[KSCVT+]8*1/03X N^C+)+49U"D+45YU BY1UZM M?0U3+A';C09BC^^M2O_2J"^E"Z8EEO@ 8G3[W%&7'MS!+7&U^63P,PWW%%X@ M@9, =X@N]DD:;6G"6OU_A!*1@B \ %83A^5Q\*_81E$91#TLIA5N$ M$!D4:4S3MB]RK^UD@LH*0W4=$?MS-_D-E-Z)-I7Q-,)]NI%,4V4,E-?5Y5>U M>-"E/W),Z&R*EO?3RYT18T-W'8:YE3XC\GM\(#&^C2S>ZO43Y_$QIH]9W?QL MV_ ![L@WWO%MV1G^;YN.B+&@F_R]K\R6N$"L(+>FOW).]OU]'#O< MNT_4VP<\6O*.;!(+GM8KV"=PL.@_@^KYOB \K)MO2+9"AM[$D$/%:4:JJ(K? MD1)B,#E1H?Y%U 1;4O"=$>V.-AK(L60M%8.R-V7?B!\2IV0P5Q@LL'P$4'4^ MRJ,P%I?E+WJW@J-^E)!CT0GF*=_G[DP&,0J=HDW_^\M5*02[W_\X7N.(^R#OTF>JPT_+!&+.$5' M>">A#D'ZTD"*'2>9!%"C%P'+>.%%+M^!X[&VB=_W9$]@Y/:!$\,R0-XS8CX1 M\.>3JQWBZ)+H8$AJQR(J-G">LGBA"I_B*1:[ &K?/'7#Q':^1O;(6_C(#9-/ M))_A#;BVP5H_2D@!UX!YCO,^.I%!'*R=HLVI>2(Y5P$WLR)&FQ')VCK8V#24 M"CE;P0+P-P>@8:.U^_UN%_!,=CB?RR^EWM' 2:GW$(G4EPZA6T^"2&'%G+&. M@[H^U"83X9VDG-EP+U%$(7XA"XF%,"2-A*M9"_ZL&$O%'54 ]6XZN2M,)!/^ M4,6%UBW7?G!9K.>1FRO/RJ@*I;-WG;P5,Y^[CV,V ?+KRJV"2=,\D,X'@YJT M5$W$) /$H>DP>IKP["+M:J9;(TNI"$?*3"XB[OC;QDFD!BY>.-V ?9]!GFQU M39]ID/"]73\DZ1-56I GGX7DL?O$#U%>GGSWZ;#%5GF5CGT>!/R$I7KU+AOS M'\YA4"U_NC6HC""75/Q"NM_D2QBM$QKSTZQEN-NGGIV;$Y3-? \HRH@A$N&2F+A@:YL5E:G1SCLLG8)P=P MG!T]\?+"*:%.')Y%S-114=&?]7!2LD\H292WKO?JS^.#.@GY< U3 _GA&PPA MM'RS3GU4[OQ-^5?[2+D3*>08>XJ!JN/>]G00H^5)ZIAP5,F6J'QG9/VF?H & M\JR;RU&,XK'U^S&D);['=X=9@S1VPF1#8YAJ(,($"&P@ $U\]74L&:!"-TE' MC539]_LM]68,"]U@[\%$YK"8=0M)33S"?;2>V5S\:/-,BRL_]%-Z[3_3H[SN M\[?/SM^C^")@BK5'RA,(3P8W3S5>-8KVI3H)3#U9.1.0(84@0HHS+D;%ZX , MWFN$\=O/'H1H0MK@2ERJ<&\KLN.ADF[NZ.&64P$LDP:M K+3-"? ,@957-X])L1(1-1A2*95.B@ M$9UQ-\)XCFH\FAEO B"ZVL"CP1W#MSAH6U:VNPNK)@QLPZ<(QNC2& ['E$88J!?J/_XE%)O M_DQCYY'>[+=K&J\V]T].W'"/XU1:2!'8B(FJPZD.A"819_71QP2J2+XD8TP$ M9WXS@?.V#C)V;75WE&T5Y@9*A(&B?9JP%1E/$.#E$6"".FJU3_C)6C:UR8Q7 MEV<=>'ZPA]\ V+I2FPRT]3)3-;AU M(C4)>.NGD9'[543:6;($/Z$:V6A%?J;>IG#5DC\91OMUNMD'Q^4:;VGL1]XR=&.X M17U)Q7\UO\:)))$[IPF#E4JCGD /L4L:46N<,JDS(L0@4@[R04IR=-EIG+C? MJO%R*QQ52O4R48B3R6(/MN!*'E^4Y*:ZI.(2R(/SR@_O<]CGJ8X:0_<@@QR> M^AI&A:2N-!##4&]5^GI/SK# FQF1/.&9))$E,U,# LYY$*1YIO$ZJL>:T2V4 MXTL:51C&(J9H*HYI[*9OC1PA&M14@4#3%+&_-TG<=]#J"^C9B1"&U[-<]VX@ M-:/4"6RH>_$$O487U&D-MT;KW.31F:NB"')#:*-SV(1K$T-1*[*&> MG;&X$:C1NVF?KT6W:8[KVEVZIC[3&]_F]MAJQC@P(9P+KD>51E#>GF-G ERQ M05_UP,+B-:N5 '$]^S]83VBLUX\28CN M^9*<,Y&L84UJ:U%NT4S&&RD4]#2#S#SOT!5Y M[GD?37IGGS]1R)K+^"FO#0H <$L X&9<1ZXZ/:8];DNVJ ;#7U0P'#]SW)XY M6@P-\L%)B".'%(KR=_(LZ"9*:7(=.2'4DX0X?BQ.BNCV#_M20@JTA,^DJ M.'4@A3C^.E4C,[6:!.<9X;QGA'/G24TY?^7DUOX.1LE44+$9Y"T$;-K)Z- = MN6MU-435$[!-?1$[3V<53LU?:.TA-?L?V%*)[J(@V$3QBQ-[)V4_E.E@=YR^ MINF>*:00P>Q*O77I[5.E5!;)DU2D"I&OP)=<"<;H'>HD"[\7U^GO+Y-WDI&S MY099'>YX*MN"3:GVS7'N!%QO)X7;U>X3^>'CC("'#JCY?>K$*2[=U_31#^$. M(H3L;]0YVA88/_XN%)4I29]I^A1YQ0/R67D>V$.($ZG?T2^RE=;3;:S8'.5+ C4#^S= _<8D!?&,J609[&9,>A)Y7,[ M#-9,/@'<3G]9$[[BY*0S :3HT=\8\K"T6V_DYZ4]E>E_]+\3";&)J-)5 @S5 M+92' 8A#UO)9&^6]E7'/44>V4X<]),ES[ P2"U;)9I1BU*@O2$"1&R?D;ZF' ME6_SF,/28PT5.Q0AZBVS]A,3O+B'._?^OD]2\,R-2_I##+F.C+I*&T ZTRH[2(QK(#[D:$"A.CV/9$# M<0]%3H=;/9C&N3CB :V(1"SNB4L/"GI[_AIN*E(5_<@;%VM'M-@A*[+:*(!Z M50;4XY7U\) YOBU(/B3@!6&8G ,,]PZSQ,MER.1P@OEN%V06$74F+O;;?<#^ M_4P7FPUUTP=X=U,\ EIS"GTR4:30:]9H%?<]>E)$O!=J2+$3KS?,2"8 4220 M!6 *&8@0@A12V$]#[&W ZX8$12.$WZNC'AG/B+->3R#=T:!R]ISV&D-FI#PM MK;K0P*N>S-<)_T+S2W3IC]P/.YM"=;?6G1%[57<=>N_+YKD%NDN/G!_Y*CE: MNCL]HD6D'6R7&M*J>EC-#98@65NY7[\,S[-SEXMHN_;#JF7QD'RP \Q0IBT! MD6DFF %K,%U/=N,J.)M5E7$4.[>Y]RNGF%(^H@AH"0;QV5E,(-Z>UVI3#NX2 M\AT\[K2+$B= AJ)*BEK'K-#^U":(B!W,U(1[+4A-#-VZ:&0:PTK)H0A30:W9 M2V!13 /(*>,OPQVD'1@[5^H$Q%RLRSU]B%@W^139STSG??(E=(N/*G:>A^*# M%(X&-ZT\V!J$"?(SL&%U/OVXS,]C,B^/R?@36)45%\1CQC+P>;R M\A3._,-Q3]%PVKQO<"R,?"E,KLA(A)"D)*6-K#:$< <\/;28[@]R)PGZGW( 2PC[8&BZ'"MSB-L M2IK@A1V!AC1QTR+]9$:8$6U0?4W'8;ED[VJC$H&])[A9F5M-3CT/_I9N8F<+ M;_OP=S<9JJS6@2^J_MZS_TT@K3 [%H<7B1]#_U]'-\/&XCEEQ#5E\M;(>RK# MJ2*P,;T'1.(B3,VEY*^"23E)(2C))9WEQ30+86T5#,;]"^!<)->9S C"OC?( M/!T#WPVH64&ID>#FM #0O&6DVLK9#].IV#O&E#U_1[>.#U63*B$6#L53CZ^224QN/FU[;>;4-FUWIS8 YQ3 M+/Q.,*PW/$T=><8#%<0P81 !=HKNT600H'A>Y10SEJB\!U0X-DMG?"A(3!TI M*C09(1 IN"+&#X.FR0.OP\>PI@TP=8&8N!'Z<:@XKR#_'B"I@R&-+K4RVE,' ML2XJVE]FS;+;THBA;PR#YE9*B^2RQ(W]7=.Q67T/I(#905TU+*MICCC2:B-UW\$N:,\(ISXC"GW[ M1TO5>C>=%S7WFN28KCW9:>@RN;%M[JR@;GS7G*GT#F1_=F*?/W,)_.:A=_\4 MQ2E,2_R#BRBIJI[=JA/24=M-:1FS-O= 'JQV4.#T>Z'/&3,2\$1XEU'GSYPF MP/2,QRK%-S-"7]U@[['U&W^O6WP3% E2<9YT1%Z>X/6.(FL3\NIWSINHA0TA M+Z^]Z?'/-WX6\##&$5L/.KQD,:<^^ M9)!"\JF&42.+KC00AQJ]5>F=T)VC9 88DB?)F!+)E0#;_/#%SO;CZ.;)K>%D MUO"D->*>+YX,@2=9B9961BO:3@H9#E34NW_6<#(^?BBO,4?."&-P5%,Z7JNS MN>TU?UE%"&Y6&YE/7[N0;.B(W"W;*W^\^*_KA=AA.PA_ZA; D1<_9)N\DI,= M=Q[% N#;:<6^?>]]CIO]=DWCU6;%]U*2AXCOSUY.KMRK4XZ3'WPX87,7#7Q!+8'ZP M0LG3)G( U64X]2"#%*M.-4SKA7X%#<0Q16]5AEOH%ZE)8BX>_PS=FG&.EOE% M;F5P4EQB!E1NQ79W-6R"%!HY;J\0=-$#NT3M+>;R]F]/BYQIVU M'3?3:@$1LG-\3\S5XA[XSHGMWOFN6M\L7OTDI9#8F,4M#]'BE7V@*R#1E09R MY^QEDJ8EOY8 8L?NIX?QC8"<91'2@PL)MN1K&N\IV3A!>14FFGLAQH8.PO?.L! 5M.%< M6V$"R4+ QGJIU1$L<+_?;IWX#3Q=!..\J#BW"(J",67,:UN5N;D7V.F]33-GZ$+\0KQYWLUG1:9H#_$#I%N,[ZS&]X7THN/G1/2,9 M#PP;3>;UQO+W&]RE;C\-Z?[6YXJF4OA/<1J+Z+H_<$Q^R^ORC#.$!R$\: M';H;LCV.M*<]6<3IH>* V#0CN3P0A.82$2D2^5H(14 J=%,UPQRYDW>Y;UJ, M=B0Q24>M-TBS,U;WGYS#-:AAR*G**]=\9QN>*+*]?AW5+)^==!]SZL5B5HD* M_HQK SP'0FD*'[&8$^UN^1-UB+X?<-?4T?7FCP3#]S74XQ?C6Y]P!8-8;J#%<5 MM*8.5G4JC0-5$"Z!"$3(0(00MMZIL&8T!@8?\6,.8/+#2W2B\0HJ[P1A#LS2 M!U@R$N\ 3PXU&0]&@#.#D0AQE&/0/LR5/TT$,1CC^AHXW>B\)]103=,;-X#( M>T&.DBYC8P\#&JKLUM13(/\[ 3[HDJ7._7ZW M"WC.G1,L0_ZP T2,=^+*Z$/$54TTF6R]""#%B_[&D"N;;KV1+VEZ*M.[QDA$ M/+KQ0Y'GZ3P[?@!51\==5HRLL\J.*/S(7?%NMV!I+7W/ME5\Q2K*:^9\M6HS MCZ\\$\@X4#-Y:!LC1<)V2NIS=V5+Q+%/@\#&DMQU*P0;2;?&M+QPDB=16P+V MD!P>Z_ "X:+2N!_RI+8MX[F/\VS^HRQ9+0OFMVM4Z=?R0>LN0 M!6]/S"3T*HHUH9[&T*=11 X#!LQ5>@ZO/SG$@&)"J]ZU7H#W6;0Y8]P)9T\D M?W!&*0'W5MV-@3=+[]Q9-)LP0"R-MY%Z_. MU@^=IJ>=ZMHC!Z!&555XT39&#![-,O<=XX(R8:2)0MO^" MH_A(Y::1?#V!9YS:R6UZ1%^?]H"3F6'])2P>U&$2GM.0;OPTN:1NS%>L=S39 M!S"57;&A<4_35"QTDU_\](FU9U_,]^E3).ZN:6\L"[;$(BDDLD'J]29"(O3"@BI"**6':"6%R6O:/>WH5BCW'T M["HN==@9*4S#0[R4 ] M*-AQ _*'F+$M=K)MC#NZV8?>W/O[/DEA5BC/$<=3A&X+TC@3Y$@XC%&;UU]] M.2!&QX$4-;O"4TOU?1!"?4,*L0Y#Q,H(T=(F)S+["H[$#1Q_FQ 'JXJ>?Q?&2MPKO*%1^ Q.%WDT$,Y3XY[F3^$G=EJA) M^LC1TK@I5: T1APQ1IK7L:_[@B19,MCGXHB5EUC)F/&2O2IW^_N]N?G.WQ2A MKV+ZSST-W;?YJZ];U[7K.17W:U:_TK'TW:;@,BVD[UWI2TDRR"F3KT ;PVBO MTOLR@K)"33:K[3F5T=ZL?N5HUW>;PFAO(;U9Z%<'OF!DJ<;?N":8=;2!7?=/ M\MGY,Z_KU<&$%5TG" Z S0AP&&_B4& 5GS#X9\2_7T5G!"!@'$C%,JN(;!& MX.KG;_F??_%IS)SEZ>V:/C.?:Q7:UG>>BKNW,H(FP*WI.067;Z> B5DO)X\R MS$V.S= YX*VC,157Z&*2QBE01V *CM%)#].3HO*YXC;H@N11#--L O(L0QW M^S3A0/FQ76!-KI#8PC 5U(LACB74'4/FO^PC.L#\[ M\3]H"HD +DV8\F3NICX4I>6?BRHN2X]AB ^56+)'[#YP2OZAU(8] M_P>$GF]*9=63OX21SHM_P.#%YV_%HV&!DR3M]K,J^TS%D^M4UNQ>'7>8@C?7 MRMW[6F6>IL5IXMFEJD_8X!D:JC-R7V1?LX'#>O%4J$-[M=O9&I#O5#QJ:--7 M>N503*?@V8/K;F"V5V24 ;!'5J%RDL7EK)@A25E4D<-C' +*F6-M^R*N)=5:C M_\GP3M3+2W@1&K5^U([&4-:!/[H6\6_=7"KXLQ!+J9P,9-B"_,EY9HY":2BN MU65E;ARRWK.E.90G=*/M.DN8'K=FV6B6+1B1$B>BL+*T9K-E!^K$X5G$YB-E MO" (=$](4;YNJ,%@F@=2Q![4I*93YZ\G4!-B&#U-I%-D1R:0,E\9D$9A76*] MB%#KBD^,'' BLV]I9]M8-'E)8__9@7.P99BD,8\\;B* 7R>H+''=NA-2/.JF MM(P=FWL@CQH[*-!WJ!8L6$ G>9 P8Y(5-QPWHAM7ZX('D4P&J;7=)H8;0?.; M\B\[ "3=T/0Z2I)56'Q4JVIU^TD 48VJQQA4T7@R\%,G^^FO]X0T)0$C3Y3Z M$"SL\')>MO!G"+45Z&'D"="'3;_B8YNP,X3"-_+7+?VD]I:)4+V7A7_PG\4_ M]TR30.X&8C_-'4O?<)6O/"ITXAOKPT'[<=1H. M,TLIB"(&T9X5*ECOI"03AG!I>*KS^(L_'%9$>ZA8+(1S]5>;XL.FAU$Z=$"T@**!6^![[[Q"(T+.O);].,: MBR\>.2[4)"2VZ3 XNCQ6N M!\BB_20AL4)\0R"X892S,VK^>F+U\"6I\P\:0@8W]($5;/K&KX2S?[* *7<& M#(AHT%9:# 0>UK(7!E?[@N<8,TCC@X-O;=2,#4P'":M-R3BM=U^/^R%%Q,ZJ MUQ\>''1"O"YL+[O)0P,8]F40P')>,(CV0QT._$+A\4OJS5FDY#PRS$K2U>;" MV?FI4P5P#9#22O2^(_&6,FD9[T?N?2\9*^((7BS<3GBD MX@IVXT8<@RHNB9.,.@'R9+4A&8/Q(XUQU-7\L@@NN)Q^J_+""=Q]P/^\BX+@ M*HI?G/APAVM,ODC!$45<\A4$ M)IG$MJ_6H/TE#F[#9R?=F_S\FX-W_0&CN.4*3Z G2FV:O?IK^?AJTRB7B^"A MI"/K)V7+)'<']YVR,QI.J^G7-\QK*G@_A(F;ZMV>S&@*N#Z(OJ9?5>"/J%55 MJ#H0;G:,]$5)B9^KUJQ&#+WCCTLN0J\5?J.RN$Q]8:C+5O8\!8DK,Z"=[E,G M3B=MJ35]]$->P('9"Q[UG-X@5B8V,0?5,GJ']9;APHDA M-A\)>6OY_[J N/FG&!"7]?:;R.ZKU]<.TO1($5WX,3?2BIQ);BQLL=M<"J7Z+X'XQUEC9= M+.4/[&*.*E(O-VRVPT)')Y!$?MO"I(:G%Y%]$2QDECY)\C.'[ :T_:=*,!BL M*OBJB;TR.>15#U)(8J]2D4WS_7(PRARM/5"N^Y04[F4(N\5'54V,$46*]F:- MUG-A6$$1<3QH2+&1EHOERQA2"EO1I&7;W40I,X(/Z5(>/Z&)XBW4"7D)&=#: M"#J+.F]P"+7:GQAM5I%#"CRF#-4COCRB]7X"2[UJIT>455>&LL*84PPIS9NJ M8RRIU'@$"0@3 740:=Y@BR3UMY#'U>)RFBS!.HFX\N/IT]]'O-!]BD%Z1H@? MWT<\^''LZ&\80(G84L]0E'>Z11Y FH,:S.G %C ;Z9JRP8ZI\<3^37:Q?UP! MQRI0WN4O&2T]*$NV\2&7(WN<4.PK>S]%D??B!T'YL4+6A@5'W@U-NQ_2&N8Z M/3@>PNP-"&Z2Y;1 ?Q#-SBJEG!$IY^SH(=1,UAE_K0OA432J M7T&QMZC=R-\=\%73.]E[LYEHW-Z!8F]'2&7QG+NGD2N-FSVHI#RF9/:7;<_T M?8)Y1Z,;P/*6'-\?E'=5W J2Z^$[?W!,D752(#Z6_1&^S&;48KR69"I:,BK4 MYQM?$SHW_ "#8;2&[Z\%J9O4QX;70MZL RYXS>(92OTB<:C_W32::_5O@N&7T4X.8BJ1AOA1]+Q_15ADX?GH?Y%82Y@BA\/&/:;-\51M_&T8[&Z=LMLTV:[1OM*BY]C,W[ M5X35C3_!4'BM9?PKP>QF_9'AMA28_04BS_+=Z]WX]R^F]8-(RMQB5&>Q:4+X M,DR94?R1MJS+W'Y%,%UAYJ& 66'U*X'B*HV1@>^5'_HI/;OVGX%$(>_T8=>D M\4NV]7/"FIC98BHB"FL5Z=]%5;LA+^'T7UCM>-)F^'A-F>!W\![6:O,E$5T/ MC#XV;Z1SD)6?H.8NT#",IW=Q:& [G'[+*(#2$O2W"8F!!5S2@U>(^/VBX VN M&G,LS2X<15(HUHW1L7[7"*EU*R\FM0T)YM4A H7V:'[K?-64V9T;!F03IY6?Y*!CZWU M OQ*%GOM[8!L"2@/M94O9T3*3C+A;57[G]8OE%MM5VTU%*N>8S- -A44REZ& MBU>7<5EMX*GA!/8JY5).4_0?FVQ(@1^;F09;59TDV*]HU67&3JC6#173")%* MD65(A%JP%.2*<3K%3M&@3Q&,L=+[]?ZBJS%_T>;(X9W]L-+>?DAH[D$NMS<_ M]Y3MUUQJ.1U/?3X=^$>104MYW/LV'S\=-AH9 M^4)0!6>DTZ<%\X^WQ_HKO!^DU7X*^ZD#W!3"LHEJYL>8NVX,U5OIZXZ&"16K MFZATB^A$,+>UR"DR]^W,K"7^2+':VD\QXFJG8/[_+W@J;''ZFH>!!;EE!@&L MR&N.Y@LAST_XX0S#F&@=^(\B7-]$<18JRD*D!$;DX1IH1MS 21*F-R!_0L)< M_G>W.C+XTXR\0"HD?Z=K)(,_S75^[^N=+I0*6UE8*]4R1SH%V_D1AEHQZ3G_ M2A9-+0R ;-VDW-Q]GTNG 7^2P\N\4X;SIBJ>9G^I%MS>)V"W-?,(=8'?'R2W MUAAU'6 T5>91F%P48W>$*9OJ^MI#77&CCU_H*RYU':O0_CLGM%VN62U3+AA4N^", M2!%()@,10A"0PDX=!ZMV*U*0:^PP'C85>_D1BWJ<.'[;1/&+$WNZR;NV W)< M:59610U]:\28T$+HWKMXQ=%6!%&I2MR.(P^H++PSI)RR@L)NG<*&G^W-'J(L MO=TVCV.F"^7'P-E;F+2TTN=Z*VAZ>=JY=.K MY4B2,;H]KNH>N&WTAZVW_=MLLL=_+7:,-.XT98F MO(C5=?32?L_Z)!Y(YX5!3=K\A'!/!HB#R6'T-/X(<3/\S0@7"G95I5@S4?EM MQH+9%S3E!"U:MPH;B^N;6S]@_XC"/!%QQCX*_>U^^QZ0\R]LL3_XCY0Q^=5@ MIVK48< 3./PJT+.D*#+X!-FFCI]&[-L=0)W7O@!:N9, 3T9>!='+999*?L<8 M5P3BFF9(<:E),;EXKVJ#?#5>*_+I]PUV<;3FZ37\!=$-8U3<,B#,+T:^.3V( MMOR55*!*)%D"=,=?W0ZG'?QPY=_-7L1UL]^N:5QD2= \?T(#T;4=D").>V75 MJ$;?&G&$TD+HWOOGG+2:QD*++!<[\<(HVO+,N\0'R+>8VWSO/E%O'[ X1^8= MUF7.Z5LC=]$&-57_U#1%[)Q-$O<=JY(NC%9)V7Y:F93DNB%WK*H=\E&J54T= MGT>-$(],O:Q]QV0Q#J_U"5OCS!+#*6??N>ZB(+@2!]@-VI=;3L3!*M2KT8_(_ M\5H8L>]2XGA_WR>IR&[X<$\IN8E22G[WC7W/YM==EZ$;0^V"2RK^VV!"79^) M^':MRE7.7=EA MY=+_?I[BVN2DL&Y(-D<32LQ_7P8=1>;G>.RZ?EA#Z")Y.8 MLF9.Z/^+;YICV$"I21)OMZ?2@@!R)^]NC.J=EZ;>B-V_AQ(F]F>:KC?9WK6I M,<;YVV?G[U%\ 86IYJ^^;C^G&P7DCM+#'"UOX1YV1^PJ?;08Z%;M^HUPAH1S M)%^!)TYO*>QRXVSI9;1U_,,CX_Y4INLU=69IZ3E5)*;I/;6:G.9!1.=!JOL M5_)5\+6T9V3'.CI\F;4WSW@@<\$6Q=&6QGP(T]&J_BVSCR]B[(<^ZX M_PBBQUJ?;>R$W&W;*5VZC5O; ['SMA2\]ZU<($]6,2D8D(R#92<>6/&,FCW' M?8@=C\*L7S^]5C1#[IPZQ51W/&R#V &UHO8NM08$>;QG>YX<4#5C?I7$J>)3 M[%^'_L0^^AO/RJ_8)CK\#JGG5*H [E+Z J&/5,O7=_2(6R*&MUG:CY]*&#[^ M%OL8.@;=@Z\PCR-#.)2-)"O@.I NIG<&6OG%9W%)4^L9A]\C]HU*5:1WE+Y$ MZA_5,O8=51DUBSXRB#XCNX>X@J=WCX/O,;M'E2JY>ZA?8G6/2AE[#R=!S:9[ M#*$/RL.KZX:<_?=1Y[5O?=>)UW4=I9[K"65DS[LMMD7;ZL>,OIGO>9I*L?B#Y4.@7G@LW##>G.J9#S*/J'J)R#TIWG MKKO?[@, H?DVBM,L#[N[S?2$INOR#<9I_9Y*)95IPD*3,D,!A<*7J(QMO<-G MP41M38 "5Z[VZ3ZFJI@+\9#Z?)VDL>/J7LT[D>1TL::UP5JB3B.]:>)/>[6& M0J(;6)^H I!,@AFY\A/7"7CP3CX[3%!X!?JKE S?1L8(QN0,!M M%U_=__ +6XM'[5 "6X6U[BB<\T'JTT:, !@ />:-]I2G"W-=S=NSYM"/ZKK!,9[3^,'9(\=T@F%:Q<<$+Q"!"#B($F0)L&3<>@XR/ M4T$F@.B'E\B((0M:[PJ'#DS4'WXR0N\&=0[U&1=L^,J0L9\"Q)BR%'/Y3Y-" M%L:^^[EV$[7WARZJF4[$%R#UOA"FI)$-C $!)H,R1JS% ."'*>',%3.],1-F MQ-X=RJA&.@UD@-*[PIB20A8@!OA/!6&,V(IY_N^,/=W238?YAAE% QJG4T.* M&H;,)-^+.8$4\F=E3&C6^U ZK[-;.N/91+$XQ)D1^NH&>P\*EV[\T E=WPG$ M5[S$YV->!S%PW'] J]W36^+#%G*R7R=,&Y>2%S]]@MY0MR;P-Y0?(;EP#IY& M9$U)3-WH,?3_Q3YP0#O&?A_S+GPO&K9=V4=!$+T WZ[ M2)0X)1[[FGQ@OW# "Q;O=G'DN$_?C/M(C\VQTU")J&KN(5P"6Q.0;8,]/-&8 M\A&.,M"]H3VR.D0GI%-0-Z5;!JBLQS0#457P ;,KAO'I*'6"GD&E";T?@+^Q MZ/&6,O69E/"NX97CQSR_-%DRU'%IDJPV%UD9?/[YPTMTQR!:!.5RP!?Y0P_\2QYO MIB\125A1!LWJ+)LQH(]66T("" 2T!,&N$3( %](*<27<"Q! MFHH5M$,UKVFAGAEPTF-5EU%\.-6 MDQFK1@I*'0Q*ZQ6\RRHVENJN:3ZIX5E??%O7=C)#U6#!Z,,!BZ!F]EBZSK!4 MP(9WH));YPVF+_YN3?9W?9G.YE[(7;:EVJ5'J^N[(';@MI+W'=N6L[(';==G+W+K8HJ1-!GDCZEKUV+*U=H?4FHX\E5+YN*!&F;XW<;1O4U,?) MUQ.H_=4DL;%EW;7M^EZ#:KI:!_ZC>&K"GC^>[Q.F59)<1-NU'W)I[O)$";7R MF"Q;(+8OYZ%WS3X&,/%IPKYC!O)NF%^(M ;E.]A*>J#Q%E366'EL&9!CAY6? M1$6D405 C'-V[-#[X8M,6J*("]=N\ZRG4AU!F3XCCR,@DTF1C&1BL]5[+KCZ M_>Q@BW@0>'ZF\3JJ!^AI_42YM>TNH_A2$4P0.:%<,M:M*H^;(D?0.@6/-CH. MVB'&HUIQ3]O2X.X/9.5VAL5-#-,:KO8II(CR[-*U$T"RJ-WU#V *("=3]/XI MBE/X6P 8+P:U#W6!4NO.R/VSFQ$.%TO-/1'[<$<%3EE@J',T^#?GQ?\Y(Y(= M$?SLK:Y&L 7/JB.[V ]=?P=YY<.IW")B&4EI=*!7+*._A-DM .I=^HD+ZM[& M=.OOP1Z\*8O'0."+**G+%SZ=Z@1@TH#9])M-G4DB!U83FAD[]E1$(%(&\B&3 MXAN.R*)/)@GAH@R0W-R^7J5M&UZSE=S97K$;K).(+PWD A][*-9B)VM:&TU- M^T 3V:8QND07P<)@6QJ-,=$ R@1Y%,@S3J,0,OSZ[D!4WC28,[CPJ'=/0S^* MNQS2=NZ,U*/Z&4'>%FC?$_G-@!Z*]'X4)=Q$\59<^]O1.'7\$$+=-.(U]!PA M"$FX)"36G8..F_$_HGDR5D3P(MB.ORU9HVDX& -$0'#8P]*"WE$#Q,!6K8P$ MK_*WR %*(VS__(H=DY*GQ?MZ/(*9-V!,R99S'1=S#&L,Y/A&L47@&$(E^'V, M>?_]?AW%'AQ'40CCV&KIECD36\9$\1OL<&M1H75'Q&C137F)(NUZ(4>7CDKT MOP#I)X0&HFI$7$"0%VUIDOHNB:"014S]QQ#*8TB1LM4T[#OLN*2#R@A/7].VW25:= MO8I=DA%G+&-1;"/9[[+:&.LW]L4+8Y;2,.M' 4094T:*1'G*S+@H.M(OJ[ 1 M>T.,$2DX$6!E$7A'LH(XD60_.LRH4!?[):0VWSG[V8EY"L$=T[OFNEE%,Z0P MW:28N@=TV ;Q/I!6U+X#41(D0-'Z)3-5O=KK994-)S04]5?*CEM-9#@:NEIU M,""MWA^SIMYX'K?8QY$7!8$3U]XPJ6B&W-MTBJF^=M@&L:=I1>T[$ N"EJ^' M#*D9.)FQ)2_$@Q?1,PV=,+V# +TB4*IKA]1A&E63Z]?*1LB7J_4RF]B89ZLY MS]]L*,\>CN&S!$H8!K[+89Z%^'RMZ69"C%R 9QC]^;I-DB6<[@FA8SMGJPP' MZUM.R>&. \*:9E-S.D.QTT]QM-\E\F0W=RGA=>Q_PT=JV[U,UA93 QJ-] ;.OAPW]9]A?SBFXN'A-$,< M$H6\G%16<$_N+4MPLHQ'A@U2Y;&WA)>J(;VJ/ MR>';D;KU^)8WGR2^'4L_*+Y!14?<^&;.('I\@Z*@V/#-G-XF\ U0#1I^_/:/ MOQ\:W>"=I*[X5NHS/80[5KD!XXH.TT2Y"OF'Q3E@B!WI#!JE!NNX)="AG4'= MS>#='W\/#3]]^_NAHSEX,Z,CW)6Z3 [MCA6N![NB_22QKD+\0:$.7@5"CG0& M3:('.F""#N<,:FX"Y@#>(-ON,::.R?=VDCA53JG9OPY/J-E'?[N7+T?=N\Q* M<>616UT[I,#7J!J@G;81PE/J9EG[5VP7Q$RG)K4;?AGS+V&.E)7'4$UM,0_# M)A7SH:AKB'4X-LI[\I!42%LZG1E'T5DK3?M?)VE[]WE,='97;_B.P3$>_ZH>>[D&D'>?MQP32!"TS\0[BZ ME,C,?G%[@(4ZO-'(^?>#FR@'KB(8+GC8S+D?7/,JA0=9LR\V&PK++GI9G4C? MICUBW&JE:M52_:@QG MW4;HYJ>M4LNJ>TS15YM3S2J:3]5?#87"V8.,?N3!.4&T?WPB+T^^^S0ICQTD M;>O09U%DJ:%1NW]U!3'*/COI/JZK+*-KAQB8:E7+2RY4-4(.0O4R&R[ (&$H M!Z!MQI:'$R,78!A$\8PJD61MEF,85$'YRUDL^^:'=+4YJ$OCO/K;_?9Q?ZC'SK!_/$QYF4U;V5UX-INR; M+[/9,B1< ++:$.5!>/8O*03)I2"Y&%;*K:.RVTECS1BZJ[/4T;0T=UTHG: M(E[%-8K<=S!+PC"@<]*BQK^=E=E@FA;:9<7^-C1)F'.R:1LJ]AN;M'4*R'J@ M%?#5H@M2]^NBL)R0F]HCGX1;BW^R2ZZ.7)+DA6U'G5[?LHL99\YC?1.#R-[Q^U)X$4I@[Q2!'[QJU[(\X&NFEQDF' MMH>O#QUL-*L\!WB:J-,[W&/917VXJ?>30YTB&)TV'9"SA@12US_%($T1CZ[_ M1".@1G6&" \X$JPJD6#^/46,;.X7V+$TN\:%FG MD.YP'7&@4RFF\<-Q<7I!E+=0[1^*FWW956Z1VG0Q"N_7)E(_1;S:MZQ;=,/N MBBT5+[EG0Q_,+MM6]-YN+!@HGJSPF%E]J7I,W>7\*; KTF.7W12X.[H5;UR= MD@172P2[^_!>.Y.0"!')5RFDA7L1$S'W\3QZ6.<(;!I22-T# M.8Q>.5V&3"GNO-D&EA/(6V1)S1S1H2MBT.]J /4V:IM^" /&7N*?=KZ5F!RLZ^ITMBNYV2\N5']:F?6 M=D,>8G75PL#U!4B*#3E5F,)\&2'$D#1DO(IC9 M!K7AK'!3_],/A&H2FZ_I,XV=1\HK4S9:0==K,FA6JW8UDE5VF12*U6M@",%$ M00S8]57+D::\'"F_ND^!C*,&ER3>/83WLWSGWV/?9U(DGL0 M6%9IC.F._0I/3!^2I)'[#_@,E$GVVU+TPUFP1D C<9^HMP^HI]R@W"FI.[Y: MZ'K"$\%@ T<[)W".1+ DDB>N"6(PHPC=7:&[&XTX<5P(-UHH7O3@O-Y*%THN MI0?-0^\>G.0N=QJ9L?:%N=-5%%\X@;L/LAU9G:7$VF*U^>O>B>$':&UZ^W). M;AJT;[(6LZUE(2=-?Y&]\4?Y]:^(* M4FQU25VQA!I3_\EO1G3J X>N<>:!@ZD5PY+XCBT98M_E>Z6W--[Z*5L.S%VV M$DA\?@[-5R'LFX?8"1/'[03]IW"87 !SLCGK0X_>Y"<9-)RNK:'I7F;?;HA3 M,!9560JF\&\A'?ZELCW+:N=5+A)192*Y4$212E[C8%\213 LDZ ]RQ;6JARN MR>%X'7MB*%P)4'F?LX!C14IQ>^_:OZ+Q3+@^+Z,74IO^^5OM#@F9)M%*9/LN9^'F%Z M%"I;B/SW5-3DKX.'H]EL>G/8*#]JE_E+*?F8+_WD+ZX*A7;N&L6B<^-^\?%3 MV2<.W:&C*XP]4=[0GADE;2A-?P+4F:?C9'=(YGU,;%JM3&U\TI0$I2P!XB3, MN3;\B##SQ(H)(WL#QL^V0%@?AS &/G]95_HF0;,=%1U:^N MA!!>BS"CCR$HFI4SBF?*%TTZ#M2'V#1E/-1,O5=R4J<]<(=M_4;G]&8Q&P^&W=E-88I"AXR M:QQ*E>=FD'S&7V>-K'S=&+"[7_T+]1^?(#=0'&FI>_PU>WOUO9""7D>U#S>E M:[H@#E':2G[*8\I#?UF)0RYPQL1C-C2FE%'XQ*9 M^I<1%,5H9;3#'I,:])7JZD=YJ?EDAG6UU,;'L:!O;8-H/(UG32J/Y[SW3(ST M[3P*O<^THM1H33/D;JI33/7-PS:('5(K:M\Q*0@2H$B^"IJ6/&\@U;!,B"PF M@'.K94JWK6-"M0-R/VM6MC;FRULC]KT60IMRG.YP(.:VOA-[9&Z8&M5\\2WNL8(';"]S,9BT6Q:M%GC?EB-^T^.U<\S MYSD6J\WY/O$AB>\7N,7T%R>YRZHDPM1>^2YSA[Z(7;"S"?*7F-MV1'Y@V5T/ M0QFJN^)N1;0AZXQU=HONR5'J=*Z!_W2F)2?I( ML7#:=C[^ DDP2.5'/IDJI@]V9QRO5VXA=LV>*WU#1 ,9H3JF$]1X#%9 M?TL6+&BQN:-9),NN-D4]TKF\;M640-ZA.W),ZFJ(4H)6R[Z(\:6S"B>A2%(J M!QQ'C[&SM9Y(/JX)*BQ@,9HY*$(GF^_3IRCV_T6]A^B<%HT/T]-- MT42.%T9,5@I?3B&(&%G,Z'72;%OA:S.ED'@&2840V>,OBAR6HA6KIBL,E @# ML;^B?9JD3LC+S+G1=LNB/U'MVSDT7G[)0!12="JJ@MM&O8>8.@SNW[B99>)] MEJQ[$250H);;6//K=.B.',NZ&D*%K;9]$2-49Q5ZW\W)&&5/(DA6LSQQ';CQ MRLZ98S%R_95K=.%M:D_![T 2YDUA NM'@)KU5%NI5FUV[5&CB0PY?0YMN<4$AIVAO%%EX%G- MC1U=K=[I"-6Q,&OTQ\KTUI9=D#I0%X5ESD%3>^2I!JW%[U^N;A/%6T=6N(97 M/7EM>/& Z&?VJSP18*==J(R;9#"X/70K8VX#.WG#5O7F/SZ&M(%YF/J>'^SA M[O8]=?>QG_HT6;RZP=ZCWA4#"#B[V*?9^V"+[*%>&9>WRQTPQ 0I?@YKU.HL M A,<$ = REJ(I] %8@4$A$I$H%!012AH),4JUANVT\J.-&RYV_5!&J6L,-R M1(X.(YA;A8H!V2'&C3&T[KT#I0$.VYL!U2HW;@^TZ#9)CZS?0FCJ,SG?,+@> MUPUP!#L/MG2?#;0_L=CN@NB-TGGHW40AS?[%%QNK'6";=INB?4^DWMM#?;EI MT;(;\KV+KEKT']+$47+M7IYH3-=OQ F)Y,FOWHD'8-(G]7,_$67> G% "V^% M@5_(%XOV<&E]1I+]^N_43:'%,TW@GI)"4'U19D89!^A3M'Y_@5"J/P[/#SG?,F[I^ IO\ M[L&>&\EUDB>Y5>0GR1XLDW6.SZ3"C&AF5R; _]?=U?9&;AOAO\*/+;"7YAH@ M=P6* C[;E[CP90^VKVD_!;1$KY5H)5?2VN?^^O)%E*B51%)<2AS=E^!B#X?S MC&<>#=_YOK[:,]\A=BM?YT=48\:6R4O:,;N[2:C>X^(/4M4O9-,>J0_Y)>CU M,W#UK\6"V4O"G%6I?Y9E9ZB6BGK9#QWGQ4CIJ5Y%%7T%G+%:R@\JW(#G6TXL MZ*\-^]\]J@?ZN9S+D1['FM:$XF^7XX[P!2:X#1+VK)+;/+KR3>/+LO4EZ?@RZOJ22%\V M&^/DR\ULUYP84 3<*G=TSVUW?_*VW3%\P7"3N#UGP3\6AA-&WI0#YTB_3E1) MTH]FP"SI&>#)5S++C:V]$P:*+>B&L*!(4C&[$?SP$Q ?'GFE?G*G-].D'D-@ M\R##4OSU'C9YP]F4R=).DHA/U,0"QP"UAN/1WX?^;,9F@#G/!O M*I/IY 'SDY79I]R[1C.%:]_41+-1F28,GRR!N4\&&T38=/4#R^8D=WK<8GAQ MAS_ZO'WX4M).CJBR1FI(6'4!NR:) M?B*/'XN(QA)HX16$ *ZZ;'S#>^T_'B()-323AG?0U. )5SE=95'!UQ!QJKKE MK*J*Y)X.I.]3R MD&H%6[.^D---;68/7M&C6!>F9@3@U=9%?"L6HZ18I_6[X%8JU M1/ 321H'79LN,K5K"CV!)CB@DS$6[2"GR!3SG7-"EP< MD,MZ@1%>;ATE\M^ M C*O*H1Y8TFN;0 \MEP:26TZJ0?%&R3ZX>?JZYY\GX?U$N:#)V$G-5QQJ/=/P]JW6FFX>SH5V@MX M&>];-=Z#G(P-Z87AM/?]AJV?[UO\^Z'D#PT.GJAU5+%B,AASB/4W\*C]2@EB M%,:L5-'V&N@$(@S7#/''QL8Y\W+)#2DK7/'I])&RN"\!F E&X,A$/_HUT#P> ML])][]-S4M:;A3_3&"QD*(:H6A5PHP7JD,PZ@FZX[.P)P \\3V64HC%@S3@' MKK&4"E(1JHQA+O[TTNM(-%-)IQ&%GWS>JQ$U#4'48W.";16&O .B->)C7OQ" M7LZBB)U'3++=YR+/Z#^C^LTDS=6#$W4 S=R37-(YRSQ% < L/PV'D8H+?E>Y5JQ]YN9;%TH[1N4"=+/R '(=X%)5] M0=BAJ;'WY/@\Z\1GL%G#!9!B&Z3.9_(_D>@19TF$4]G'Z W+&E&@268#4!ZA M'Y,#?D[>:+9K_+6*E>B;L^X:(I-O"Z'VD/J2,/W=Z)&2B)UNLF /C2A@]C ! M;"[@&)$#SAY&LYWG:1Z3$NVY+L0O-BCY==S\6HVF3U36G2Y\7\9.F!D?#HH!)1I]*#D** O ;3\UQCJOE5*: LR%&5/ MG6P?.JA&AZ(Z6<#19X0H@W!4$&@LFNUU/LS"'L#9/B"N&[4!&FPL.A]4(SCG M O(JBP_L?#Q.Z7B7O2?[*OL:+20MF@!-M"F 96%ID@=>8%J;[QJ:'PY)RB\P MC4F9[#+Q+L]C?BC9@S.R;\2Z%N_?\.F4IR)_3F(B[CLEM'XIACC] \\==V%JU<9_=FVP&2/2C,%JR471"WOZ%Q?(BP_L6RG@1@ MWAJ!TXQ_N[\&SDICUGH8[9;J<)?(?A8>X'J&U^@+.9J="Y.WA-\^/-"AL/P> M&V/!7)'A=)^MH4'ZP>.8A+I.[9):*T3-D( M6OF*]T\IV= ?5RC+*Y0F^Z3BI<\&X7B?9 F[2%Z<'HI2TIULV\A[J,I#6@5@ MIUG]*I2CQKT BIR%$:4<#L9 (H M>6E,#C@C&R M'S+ZO\ORS&P>:!5#H)8%8'HCE1M2X23E)] .!<[X!J_+C,*C/\Y&#TY.:PF8 MMK.9V ->/1 >WA749>^&J>[&W9X=P\4*E6I*H-.'!;!J"_/8Y?Q:INL[G!ACNL&@$F M$GO0S>9(8PO@%#,!@&>^(77/Z%[NZ G'/@MX07:A;&""04S!L7OCK/K(XNV+,G, [76BJ3:@$RR M#$#?='&.T[3\1,=:%$3RP0G'+&-1'9;W!N;CCMPQQV^ MN; \$_MQ7TV\UQ>$SW$CX([X[$AJ'=PU9K3[/I4G:BV?B$R4%V>?Q"85EH=5 M+F\(D7NX%]Y9.1/RYG87J3<\X\P$T1MWJ&.YLV8__RB#&,0!\X@-4,DF.EG@ MG&)E^JS,HDX$!3LB,JL;.G,_K?: 9+,8W'!+P_6]F^V%GGRWA78[D:$)4+*: M EA=1];) UY6MC+;-71KY>JMM$AL0PJ[^VA6T%Q7CVZ7R]0K.L!)<'KV])0F MXBR_>%_K^!W'NP)G93+RJ/?)RH!G]VE.4O/>31-@1C@1D/M=,[Q;I/0K'X;K MOY7:]AU\S]1T=VFW5YV@[IM+N?%-6ZZZOJFT\[1MRCGQ@FX=^V;,T M.O [!+YD,2ENR#/)#N2G0Q*SV=&K3-C\@="1);G+GY+HQ^]_U!;X)RD$SE:G M.TOE*W=M@!G+ RCG,7'3->)]H[IS)'M'5YG,06$ DA8$'GK <-IAV&E)X[1[ MQ6E(Y[7EZ*NV]H;LQ607)5T^!T8-W]ZGR8Y3\>77)VH^B>^2/179/MS2GY8/ MF$^>W%:XJ"XH?LUXQWLGP&EN'J>JU.>W!\!T.!-0]\EB;@X[+UT;A!2+4&O2 M!DFCD+"*7?JAVK5!W#)T >'9TZLLRO?D#G\]DW>4L/N=M3,8F@; L],,MCLH M&I,&G#461KM7ZDPUHKI1HWR#^/WD,*/8,#&@;;+*2-8-\,?E5Q?-WD:>_7BN MPSGP4'QAT!L]ZB73F#HGPVG]K:T7$ZYN;K7#9G,K\,EL!;N;S]HFH%/:SG+W M !?ZF]&87"B[0C?H-O!H-1CX/]$^_APNL2G=B#D]36%Y+ ,\:0OHV=%'8 -/6@7VIM03>>+5W)+*&X/-4WJCA%[2("P!LTS=>6YD-R<'/KF%H1_G5%8*=82.VGA**4F7@>FH^<(CIA)!A[RPS[-WZ M,NR=38:]6U&&'=OJ(@V7!5^453OF18M;C&];ALH=F9@,L\XMK1D)UP-,R\^'D?\$& M;?MW#/K5/B](G%3GN"A>:7"]X,(PJ3@J#Y2*K*$>?PC-JY4FUNM,9+UZ]6&)FN+:H\+N&.Q#6#A.A!T#\O7@P7O!7M7EQ53 M;]_]+1ZM=8>E@&:D 9:L< =$@!>W.HM/";=8ZMT@JOEBV0)V#E =G0&+UCFP ML;\0:A2'^\Q?D")YYN=6KOA1H\SZH"1]4=[5);KAJ:K":4QP$/AW)??A6AK#';0RA+[8BI M#UR>+HXY_$(]WP]&RNH&5^3V!3^9]U$."0-/63W(WJ[)GB3@-#48?-(V0:H6 M,;V(*8:P+W()G.%2\2-.BG_A]$ ^O'XBN#P4XOT;7":Z!XW,K8 GIR5L-4L- M30"GJZWEKO&L*$5<:_#Z\'->\!M+J@9Z\X^+I(S2G-FKO]5JD@;@T>[@CLZ= M5_;- 6>!"PKG&[%$7^BL0JP3Q'M1_]GV&/J.K !>P1VOJ.P1_OCY95DE>_I9 MWCXX4\=$%<"YP\4A*GE,:0^8/9Q@N":*[ QM'Z#SQZ)^X2O_X;CA9Q+ODFQW M0QA2< Y;##8-2IKM4C1&[P [D/53HYJQ%<7KN.3 MHF.RJPI93Q.#@T$;=!X4!-3E,O27O)(&D?BLK(ULUU@N:?#G^R1BO]#7FVZ: M@.?U">Y14]Y!#6 V. 6-:_;0/E';*3HKD E/.2EC:V; MEB,A^<[Y6?3?0V*\)7I<&CB9&&"JA#$B"I@43!:[AK34BQ3%P>O:(;#LGP71 MK_[;M%MA$ ]"-X5SI]'* GO8=J\A+OL(7 Z'0;\QPS_AI%9YF9%B]WJ519HS M6@-"0#-3#ZH]EW4L 7S3JL9@]ULJ+9XTNCN[1:)C6C1%2Q_*\HZ9JE3@!#V( MY1];\Z>"=+GBI.M!UU&YZD'JKU($7K<:#/9Z?6+HLK6/=>(EH&LI4DU ]1$+ MOB0UFNPW:H'=]QD"ZX)[RJE1995$Y_DAJXKAYWU-LL"S4PNQLWU\2!!P7NKM M==X\76M%M=K \YKS@/Q(8E*$7%6_K=A=^%E\3;M(_WDHDC).^$DI;0::6P'/ M14O8:E8:F@#.3UO+78.8Z^?O3_(>D-I%X*Q=!+JW.9I?Z^_IRG,1V6 MEVP@3HV_JLI?'_,T?=V^9"2^/=R729S@0O>&M;LFH(GKP3UR2LA1#?!YHU-1 MS3JY)(Q#=_]&TKP-GV5"F))&0IN^_)(7U>,YICY(,CS*L?8M M 7/J1/B20RV; >?,J2AFY4C2&(.BQAK$S4'2GF79<"GWM/V@\S'D 8D.DAN\ MT=XG$CWBC'56OP9!^3L^E&-3+Y9- !.=+6#)<"9YX-1F;;X'3JL>B8;7]HTE MJ*Q-H=+"EF7Y;':?M!W(-U98'2>Z"$A@07#?DAV+SQGJ-&O"LF@"F+!L ?=+ MLE42EK7YLQ.64H@%)JS9?:*4') (*P1NURGX4L[!ER3Z;I<__R4FB9A^I_\X MGG6G/_KMFNQP>IE5PULFAB6 TI0&#F.E@5\#G"776>D:7UP?$@I/W/XP.;Y$ MKX,[' 9^#3BRAH#(L%)_!S2F!DUT)JPZE(+L25@:S7*KG]]AE=]JDZPD!3[=A4)W35QT)P"DV8JCSR2+Z7W&Y8=BLF@N6_R-1YO-0 MT+-" Z=W$@I$/E@?@_)^9B;0T2;_YYH G&D"<:!I.+=?\JL]NQJK2'"J'+$< MWS)G;@$Y]^W@-ER@%X?.#9;6>U@IV'.-1PL$U4N.DL8 A!4+%B:7F1U!]:.V M _6DZOARZ)2ZG?Z?\>U._W1;^>TQSQ-8IX'5Q79#UT*K14$REAF M<(RHQJ4 UO(6QKK&8T,B +,2EN+72.VT2MW884J MUQ8#JL+Z^U]:$Z[IO^@/Y8_JAO_X/U!+ P04 " "2@EI1P(YJFH]0 "H M\@4 % &9I>"TR,#(P,#DS,%]P&UL[7U9<^,XFNW[C;C_03?G87HB M)BLERVM%]TS(6Y7O."V/K>R:OB\=- G)[*)(-1LOP$4B1:PD*("0HKK3 MM@2 _,XYV#]\^/-_?BR]P1L((S?P__)E]-/PRP#X=N"X_N(O7Y+HJQ79KOOE M/__C?_^O/_^?KU__Y_+I?N $=K($?CRP0V#%P!F\N_'K8!:L5I8_^ ["T/6\ MP67H.@LP&%S\=/K3V#KU[RD2RN".0-_D!9Y]--H_!;<4I6J7L'R^A5Q0P_K9^%C$%^NMKD>PK^NCKZ.CK>/331^1\ MR5\1?VEY".OG5P#B2-A$GB)U,O#1"N'7KR!V;\=D%XJ>G<&7[N1[051$H++)')]$$6P49V&"\MW_VC82+-+5&'><[)<6N$G M%)B[\.'8P;9@_V';00([$'_Q" FQ72#.JO@#5!A_:[GA7RTO =^!A?Y.%=?" M5D)Y*DR;V+"1B-QF#3&I&!6&_!($SCLF!*CP )!W&J^0BU,WUYP9[VAVEZ1[QUGJ('L'HKB,=H, M#UK;32U5]5"AM76XPO0>-K0V6?Q1&@PA6EM-*$^/?K9]XT0L4H\^M[V!Q"+U M[7*>@ TJGX>!#W^ULR;T&L26ZW7?(W&^A;XPPO368A&"K.9.YT_@#?@)V!5^ MK,?K"]S$\X)WM 9[&X17(7#<^#Z 3?O.E,=\OK[0H=E8:-EQUA7"GO(>]I&N M!\<)NX./ZQWTA? )+"W71Q^ ,&VTH1!*'?#NFC^^U] 7R&<0OKDV^ [-B(&/ MWG\"FZ/==B)<[Z OA/=PZK*[BKOU-'UA^6[%29BV)]-Y^M(*6CFN=] 7PCL? M6@YFUL?N$,,]4IOEAO8@T(M5O>#0WCYL::K-2G^'0[3M10"YYC*?HAJ&]2)\ M?&.%_C0IK1C(18+G0:K!F,:O(.Q.^^3B]5Y_NWJ%GZ!6^,H*PT](XF2)&NCI MO"BB/4Q=O(S>H#*^WB6DO*^B-Z 3QTEKE>65ELQV"2/]!31846X/!JE #8Q+ M&U?I%E9+U6PG/NM/?.8D_BP]('E(EB\@A#/+5RN4,E7E?8(>^T\2#":7*6SB"@($ MRTI+N8=?YG:A)TKVH2]A"#YBX#O 67_JQNAQ0PC@4[J_#47[* MXE_@1W^_"MY@6_P2I2OE17F>]0*\OWS!?/^M^S#'#]82US[ADO6-!8ZWSYDX5<<$VM0*83U-<4N/4UVAAA&(N.53.S!7\=1K.@G>?Q\I.SQ6%!0IF?!7WO8QB&++^W_NBCIX MPR7N*3UL&PIRE"P H+H]"8%%H*/\=7\(8+YU ;F2V3V*,>0]O@8^>7:_G:0_ MT'.]>0&_DNG],["15^GGZ.AEAO8Y,/!O)^D/_%QO7L"O9$X_"RT4?^SY<_D2 M>!CL*]_W!WCV:Q>H*YF2%[JX^;!3MS#"FA8N6<684PC7Z;&F''"_?4&%PHGW M51(B.[,%:"0<"&$2$0=$^.3]H4;8BH(BA5/P.S\&R!;W#5Q;L96_/&7!$9>\ M;Q0)6%%L(BJR7+WA0./]^7EJ>5P0#(_)0 M2=4W'M@O7_"@<))]LP3A C:LOX3!>_QZ%2Q7ED^N%]C4?>.%WXB"'R7S[%Q$ MK\#S6+24$_6-#>:[%R0HW%='[KMH%RVP?\\<$J=)C*+GHO$[>0!&R=0WDH1M M*4A3N!U_!=")=^_.=\#'?P%RY=E*USMJ.%Z_8$/)]+WPH;EU(]OR_@:L\!9^ M@NOS"2G[PXB( 04G2B;WU1?-',[X6"FEK9HU@C_ZP0O+A((9)7/]?/JT41#9 MW9&4M#^\"%E0T*)D?C^!\G%2"7D6KLNO?-\? MBO7;B:DJ;L?_ZV??Y VJD$ MKK#W)?"(9Q)&0W0F85T<_/UJ^O \O;^[GLQNK@>7D_O)P]7-X/G7FYO9\Y<. M#R04JIM;T4M:7A)]75C6*I,>\.*H^&1;@_G'?U\;,9W?NBATB@O;LR!S324< M7!#+*EZ7VAN5QR2BOWXUD395K DQJ/8)F$4\#0'-G /8@CKW&51$,U(;8A!& M($VIDN6\R>RNM=IQS<$BNOR:&ZQ(7*Y=#T/.$6X.A1O$H*0!^?$2828O@K2D;IS6#)D M(68E\;"6F!3@P/$E6(MA!6=-:*\T/>&B0AD__)<*"M$&!H(V*#F,4H>HG<3S M8\V;"N7J>$AM=T"I;N#W7]D9C-*&H)G$0VS]ZD7N_#=H81!^9K>6X/@O)S&* M<:9AQ*-R_>+X,00KRW5N/E; C];10RK($:CGR&F4(IK:2SS)UR^A%-WB;V[\ M>I5$<;#,C4JA%'$:Z2H(/B:S,HIUICS"2Q%FCTYL/V M$N35Q"";)ZL90FALJ2&SS.O\9=>!\LNWH>*D01';"O?OTXNVLK>K0^T:XK8R$9F]@\00C8:4B7<;-<><$G M $_ 0_[+=00)BF#F,T\()GA&Z/'H>0P3RNBQAJR=IDNSW#W.(34YJE!Q%!#7&"X1; / M_(M1WWK)4O4Z5VD.QERKQB?660)2UBKXK39D5E+=T5\/F]A[&:Q\5=#0CQ.C MI-(, !,=[FO[@"6D!79'J[E,ET\3\R7-5T@[J&=ZC$WYME&Q&4P7C:#EADQ> M2@:SQZJF2X!EJJQIBN*Q*N6>7.+:%S&'Z9H0-=T0%PSL#<*9/]HC"A(+Z8SC MT'U)8K3#, M0:XF6"@,/OLHBC58*(M:^K=R'F*[$': ER^E$_9FU[&U3R&BA M#S IM9/1#GBOBXT7&$E[RM5ALZI.,0^^2(V5L96L"LK)\/CB? _5PH5*)_$2 M5$AE%@(K2L)/IECJ"0]R$<"E[7K.1288'RS2C6Z%_JR.XV;O_FBYSIU_9:U< M. 4HU1J2PPHSXT%0+7 RY(3-$X@MUP?.C17Z$,-H8MO),DF].Z[!W+5=TOB; MG?$@KQ8X&;)$5(><>SIWD(\ +H:L+K%FO0T]_;634G=KC_SV$^_#;2L9I0%G M'U/L7T'LVM;Z:"@S^NP)?_39P9\JC_BW+X=HM#L?$GM>\(XHOPW"ZR!YB>>) M5[@M;X)H,=RY1^#VJ7&8D7T'L]2#)9N:L-5@Q%K,46I!E MLR&+(-7],#A]F(8IHDZZ?/T(PO3&+JY=1E+FWDM&@KF&' 2H(I!=YC9)XM<@ M=/_83%ZI*MG.9*@ZN,PTQ*<&9_E=%"5"BL@R&*T&BHE&.JBP;KODS&6T)EAV MREH)57X^>;UC*3C&X,AIC$":VEHL?-6O6>NM2CC'%I0<)JI"9%0QZGLTG)K= MU#$%(;6Y*F"/)D9]/V=8\:?*K.;Q2,M2&L,\KVT%Z_+7-W>]:[K^,)K.\R.3 M\%O.'=,C^GV=SS/XX_O-P^QY,+T=3!]OGB:S.YA [[W2[,3?VBC&]B@QM1HO MKC?@)\2:6WQ=E?39<(Q&,RJK*P/RJA\5Q0;ENY*R>N,(-ERYI<0^N)2FSX2R M#5&^O2B'U5_"((H>PV!.]*4LI>@SHRPS9.T-*G92>P;I5L8OP(>]IC?QG8FS M='T7X1*[;R"_PXGD5<.5N<\J:&&A\OT_217>#"^)I04O:9_,],+YS_B7-)?'+M^&]&:ET<0@8;,KDK;*2/#[=2&:P MMIUMYW_:# 0ND\CU011=!KJQ4E6)GS''F%,W4"(CI&$Q-9.Q@FM@MHD1LT75 MLG]"::21UMZTBF=;FSGE+00U:U83",!F$^L2S(,0K ,X@NB[ZZ=27I_!]9UJ M*=DQR>\@?@VM[A,K03CE2Y-!<93OMPS126-Y0\QY%$RQESU4F!(LA'I.E_=>OT_OK MFZ?G?QW<_/>/N]G?]#[+4#H'0XXN2')1YM:!14 P\&>DXLI,CH.EA:KM] /%G&?90,Q7)#9@;K-C?K+N%H>!7X:"B( MZ5BX\F@CDT:]2G,3B7I0/-_#=AG$=/JRQTT$=8K7NY9?F/K*P7LJ^9B41M+/ M:ZC5)X+99U745*2P98WD=1*B2T,SH:(*@=Q$ M'#2) WYDX6*5XH8HHF7MB;3D86/,C!D+2!KR//UNFAH6W7R T'8CXGA'N!SM M!"=/&MRR$T2GT\,NBD;5--0C"0*D%-07!0JJ1*S1$X!&+_EA;V.C(?@$8)5U M;>1$[3OP\WD0+M.K@5&>">I#TA"E6_*25&I?M-:JM>L2JT[/= D/^D3$EU4S MZ>H3*E8;^74I$2XAMH=-KV90UCY[X4X(H?&0'_TLF%D?O[GQ*QIP0_3@,+LX MBEMM&XB[\(U+U$:LW4Y%9"/4-EZJ-M' LBJ*7!D@ .U4V*0H[>0G6RB8 :(L MF QO&V:QV,N^\ ME=T=C!T$*E8><&]]H+"TMW-E1:\$^9*2[XGLA,QO&XM,FYZ[LIF35H^)#0$, M4<6*XBPP&\\.&"%K%;P1!&]DHG8:0]$VOIF>.LJO7,PAX-] +7)HIYK&_'+M MGE+-EC0^JT; 4SY"D^6\HX,XE#CO;,NC;2"];)?]QG=T48A\WQUSM2)BO:P( M?&3!]-]UQUBA\%HN*X06621KSQV5T4;0\/[6"]YYKTD]%@DRS_] M3?-K4DOQ*]9X\$<4P611%%X7OA>[@&6: M>$':-1T\A&Y%ZY5ALB%NY8U]^XZ&XU/%"R.2F.1W[\MM[GB.HFA 45F'1(N( MONUZH!+;>A;(:76Z>-3^J'-GZ)ER1'L)!TSN'RGWT_D=5(&_<%\\0+W0E)Y) M.['M3!,8.8HC94C?>0W@^]HN;7NWG.0@&@%JXE:T)Q3K=#J':& ; M$5K2@PH:X-/!:>#->&ND;.3]YD;0CML@O Z2EWB>>!/;1M?M4<;BQ"P'7;7 MR<3[YZ[S-Q>[@(F1ZZ"R=E!).I-#FCHJ.B!8'0+>NKX%6? 7:+.0;WQ=S7(0 M60N<9%U*KWAL_8OE^@C7J?]L>6 ZA\A"+.//1\_* LZL$!T$JJ%V[W+N+K_>\&JB$7-9]GZJ/ZPI[OS,A24--V@VG^JHO6Y]J+KYJ?NVTUU( 0HKB@,*0/8(Z M",5"%*S>P'VC7 3#D[5/*N(@G4=$G""TU8\VKN9U!-#-\3Y\FDMT^:/FJ<(U M'HZ/M7/^DZT9EO5M=YLT%LMC"%:6ZQ2+E?D:Y<1WIO$K"*E[X,T*VT-Y-8:E M[;Z6QKI#DV $*CJI>P4'M7#XFB'!+39B"7NH,#$LVFYG866EW$$-@S*J7EM0 M\X_+,9GW4%G<,+3=NM*XK5J;7RS1L5T8Q0KIDZZD3_9X\5#N\M/UC._1^D33 M%3@N@)^$";1G@XSP')!66)_DQJL.D:FA,#;&+C;@Q@WK?8A6([%U*?LJ-G%0 M.HT0I\B+C36@:-+$$4O85ZF) 6+(U2G\YR=:GVW33E<*]X%:HB;KO'4/C41=_"7LDKY:@F-)TE6"X M=E-0XR2$:!1.Z2ZMJATLNFD]VB_]2A_?^35$A-9=QF59I4:26M]K*?M1))2D'92DS21%#79 MD-6Q\B#A/O 7,Q N[U%[#=&$-A#/=S+S::<32;S3QUG\4!BR5?0$5GF'/YV+ MZ(>9;W_TTPR*3EP-E8+>G> M%J=8UFFK6)W 0>?1'FB%;G['3G^*I/*XMAYW80%CAH_/M#_B:8"#,5Y^A>VW M00CK4!+:KU8$T-E<7O&0,^Z?@ 2Q,.:BK\)^25?.-2UN_P0G!2&YD2DTF>R+ MW#C,S+='PFH$A?*8#-@HA,4YHW0Y/DIO^BKJS980&*G-I[\) )U<4K092(^5 M=F6P!66%)\&@3>_/FI5IOOBZ@ZEUM 4])WO\#+3>%JG">@I_'!NJOI:8=.'0 MJ>2")8@!^C_RU7FSO&R06=RQG6YN^T[U@U+*[&;-NF.V[25H6'KS8:*FA8!OAPO+S4+E?*@02;C@;#>%_ M@Z^#36GPCZ+ @>4[@ZTB-;[6K/RFF_O?D)A]Y[$$^#J&L.5MKH9C.!M)*EO) MC,+*7&?SXTOPY4DSAUI"[7HHJ1179@A\MG?F^;*3AN(Y62ZM\',Z?W87OCMW M;>2ZGYT7AZ/!1PBF79I7,MJ-HWJ[D9<_".:#TA,&FT<,2L_0N"&I8\*ZS(N2 M04G09BMR(W1&HU1!?8?*^@P2?>F1MP3;%*E=,\(FN!(16;;I_6Y%;BTW3"]$ M_Y[>+ LJB^Z,1F-<;S10<8.TO,%6@1JW$&L,-J:PV@AZ%A6M!.Z-6,T -4]5 M[&?#\4AQ/>>AJ5S3Q:WK=U4N;0?QUN#C>@W>*D7C:HN);<^JMO0LFMS(L*&# MV8US9=:N(O,0Q[C$@-?,?M?H7X+ >7<]#PY0[AQ8*ARAH#!0VU=2/FQB4#+J M^TF]OA?/2)<'RD\9;!XSR)[S[X/L21JW"67$ME J-93T1D*H#*BZ4_@N)T.D MM]'XZ.A"D<,ZUUNS&A2Q0K1K6-HS5V]\)$#2[T8(^6=/7SQW88F,+$[K+0TJ M:% M2>.6!+TM=Y-!2JSFFL3RN[!J/"&U=E6;3D?U%D-^B_I=,Y'7LIL%U8*M MT]H51V#9[ZQ>2TN%ID."[6(UKK(4/+AKLF 92G8B>5Z15>_%"M&N.6A$=67O ML;W]_6X\4I]AY(4.'X^V53?14QEMQCEFJZ!4UK\.UJ5IW%34K7\(8E;;P,JD MY'8Z[#OQMP/<^;5K O@HK%P]U\K6GE=WL$"-W9T/DRY%/ HN,-4]*VM0+4SG MVIZ]\!-8H;N'_06KGA.3*ZGA6V\C4+?9.:M*/Q^.CU77:@95E?K]&P53_ *V7NLS^Y?3 X"16;OFH=%>?Q,C M#8F*\P.=;KZ)8A=VT\1#)M5$/>>,;FU8PKP,LQU1:WIYK MHKF-RH.X=.ZQ5'Q%%0EW_IX+I9V=;8._].&0TPSY*_*M;HZA%L=M5C>S9QW6 M-CMV8G(C:[$(P2(_ )C/P5+PF2Y-/'E[WB8TM]&0AA"GB;E08E]51$LBU6OJ#*:%:>D]7*2W>AT"+ VJUJ'34X6S<4:&.:%-A3 MK71D>&<+L.K.]0O-D\?U>3+A=']/)L5&'//?"'W];KC>-:?'F4+AVTD8PBJ4 M.L-P=3-2GZ%=HR(:1J![- R9DF_!0P+DAQ^\1"!\RTXRKY(8?AWX-H0Q50%W MS HY3^F]/'>!1V?S^YW'Q1#J 8_K/6"YK)YT>T:$R=@TPNOXB"4F+C]+?_'W M;OQ%56K%.63T:-BO$!K2C-Z-[[PJ<17W0=^ZOAO#B>8;J&VY7<)IYS^"\,JS M(F9\I?8%&R0\J1!TT".I.L+!'^1%J/,ZJ7=>HJ%>>M+![3SFB^I6JGA9_N:G MEJ-:J4;#\=EYCT*WT!L:/F,-F7259J?D=E5TUL];DLDJ:@>"(3NB!1P!#8[; M!$5;GBS1(N+[%TR\O:0 MYO;V]7L)MAYY1:BI/L>X[&)"#O6DN38G]M!:T;\!=_$: V?R!D)K 1Z2Y0L( MI_/T:F/1V8= 6=JU! UB$DFSV[3X1$(MQ 6FA:A'*>I+ ]'K<$4;3YRM]RH1 M7T.EA:KD]G-4NC#:^\F!-9HMBC?"E)3D5U_I%$:4#G[P#- MG!B5=BNUKD13:"-72![;>DSZ5;),/,C%6W[->78O.EI6RZP@--D\V;21P:[: M\<:@4-8C%33N+#.(+3Y?1FUDT8HR,>;-[#"8X+%[$=$B>B4>[OY&"@IZ"DE\ M?KRV-;H-0DJ3C>F9&I6AC:1VT4W)0XCBZR"WSQ)6T P^8%-WL$T/+:EV>FC/ M59U_;L--:576D#W'EN]8H1/]6#EPC'\T')V.QE21<.753C7<#&,:A\8&&Z*6 MIBWPO>N#.[3J+GF9!B*^Z]RY*#K('F)YXE7CR^4C1'O M?#M$9_"O0?:3U(2U*+**WGAX='[63\W1]8!I!F6#UNG^X;$:L:+3LAGY!5K7 MN2TSZR/UJ%TSLD3($00J6LS>BE(*4)+\W]Y ^!+H(T7R)7Q,]Z^]E1,G%!TX MMF_D7&;12=@"O9985OJ)'8\#9]!^.;:@+#5CDNF'7'"5%0WP+AMU))!%+PL?_&( MN#E.3*L-ET)$8/GC-$[Y*C'VN-UW8,/!#.S_O,($[*X +:F.5')RLN%3V$ ] MZ;SQ@!V'7'22DAI#IY"!ID1;*#SXBB!+^1$/FM\ -8\V:I#0YS8W>&>N:DT/ M>F$[8&R:JGUP>J3^P*,H&QA&F1;JV5P_@/>K(+VPRR9Z;1#3Z<,MUZ(X+=R9_RL7=P_6$DSGE5[$ M3--S+'7G._#50]?R8%^S F'\69A";)Y96;0B5HRC:N/.14(*QM[-K^]KMU"9>[-Y:2]?[A+9 R]ST^@7+(V_8TG-4 M;3^!MI_VD^LF=N8@J8SR(,=_@^=K2'(J$%)?5$6 M719U=EP@/!Q$^P8Y!&$*!ZEM0!KO$B&8\8C KE-4XL,\SN]L&RD MH?M_^2CJ%33/C>\#5(M$_?_K<9U%_/_7;S& =@VR]QAD+[*')P"0,H]&%R?C M\7!X=G%T<79QHJ8S*]\*F)U.1G'2H_O \M%<[]9%&YC0@,V99=IY@8:E5>OI M*:RG([7-E"!Q]>Y,)A!:NJVW/WB@ 3D ^N4PV.>GD26'?]R(US*B01:.DBZ+52[[ 5$^!Y\%Y^KL5.B35B):CG7Q:$8S1BQ1 =C8?Z$@X MK=2BGT2D<-I4*UT.45=IY+GGV KCVB*FHJ6H.@!%@)CO('X-G,W:97ZI,EK] M#2-D.[5?$RYO?V0H%:%.%]85]99P2/GF1M .#/+DX38QR]XH2Q@$24-QS8)Z M\<'[&WQ'.(B=$P?H8J7LC$BTYV/=C3SM/+WB_D,G=C_3-P0; _8 MQ0NH G4V/+HP3$"2()'DW"JMS<)KIVX3=C_X,0GM5RL"FZVOS=4!.$5)*'8_ M=-854!VXUV+\&%KZ6=N>%46I8T#F[T'R1<"Z6O-FW@L=M82C T?=%FKIZ8J$ M@=*2 (+&KP^BUNL1&CE5%>YF:9CB=/4PCSGKBCM6';=RK"K>9)"] MRL#RG4'I9?;0N4JI6_"=[Z(S$Y/5RLM;ZNR2A^UKVF:AY4+ZZX$TSIG(XQ$>+. M;XZ>Z%1CFKY6$'5Z]=Y8D>A(2#R ^"H)P_JJOT!.[836CG^,GAIB8*[S#A&1 M[+ZJ3)$U=?T.?NK5:F(F>C\@T.NY"HEZ([6 ML+2]U&=37#J]:E+.?KQ0=4RAOD[@= QF<]S,FK_"MTNB'[Z]^0A_"DC^0[*#R7+K9QV$*Q6Y_6LZ M<[IF[A+,0VL)8'OI-G M'C3?"8(='_H1/GS1UX'#WHF1AH2DR;5^$R(:(E):2?V;O=U-B=KCM)NU2(U< MHI\ IV#7_1N'6SHZD"+^W8,'#B\@$F@ MT-*!A&5S^D>W++Q:?R^&PU/%MS,W\I/N @1]/5I;&YVN"EQ;,2Z"93OOR74T+=;Q,ED3Z*M_K1R#EO:H4LNWH,XG6!YW$\O=])I%IAR&!3%OW,_=\ M_O<2'J"-G/HY;J/CJ)?+U@ZUW4:VYBF2+I*&JMQ5)ZC^1_*-PPG+5J&+)G'AJ '1EPC^Z[!?>9PVED MA^Z*M2E.R5&I-;#2C(\N^M R-+6L[QN".C DBCG/+I_&_ CO\JGDB(TPWRX? M!Q_:;Q UWN73@D#*>_'N\IE 8N-=OIZ1R+3#D%T^?.?!VKICY-*&^/9=9!N+ MNW"1P&1INX M)35=@=!"X_K4]-^ NWB-@3-Y@Y\N )I\HF'_DQ6#?'^$T!2(%F.8J*3"8.)6 M4Q68/$8,EY;RM'LA&)JMG6[3G*L<=E0Q0,WP=%X<[*&./&@9#=5+0\-WLS_3 M:O3RD*!!]G0^3=\MF@7I$C-FQ()/:!C?@H9*BB[3GY')>E-T70-(7@BBQ1@F M)*DP='J7E:JK0ZW/=+/J-@B?R./;K52&BH3'RDYOJ%*D 5RO>O/A1C% OA9Y M SP+;M*M.H$A";$,0_73'@-)EU3AU:7JPFS,W5,94JPM3F;&*H:CX='9B0DZ M:FAX+IX+DYJF:F5Z0MWV=/XC BE$7$.>K3S:2:8AV:PA#H_9DA;T2(%M%+4W M51QX@S R6"H(U]'A&]$S:4=^$,6[>:49WN@&@5VN1P_ ,B4V= M^:;S6Q>Y][F6]QADP7K285SDHGT4M[:W)+OXO11A2W@X6BDMUG;69C\$OMVD MH=KDVR^9,.SN.&Z?HOCE!"S$%+-?.J&IH_6>0!!;'CFFHT9.V-^M. G3<>)T M7L&GP5W0YZUIVPUFA$BM"NT1'SZFYMJHG# M9]R2Y[K=+8#)]E<#5?+!LMD?4G!0I9? M'78Y5L=.\8?OY =B@'/S8<.DDR7ZJXG02&7MO>J$@&GK?'>12= '"RL&]0MY M%-WSU,%^D9E"$C%=EJL=??.HU7#J.5FMO'3WW/+N_#1R&GK))^ A=:?62SJ%5>[42361A22:&8U&E2[.UUL5]2Y;'F93E]B MR_71O:*PLTVOV[L-0K$.J$6)YJM--CB=-EL7&OI W/DP*YA9'^(N#Q>M7!ZR M!P_2)Q_\&W9DP)KMFP]KF=]N3(M(1TRO3UB-'(&[1@5XXC",9^I?2/Y.D ^#4(T9UFJUH^A]8HOAQ4DBI=IBK5Z1EIK M( SX!O"]\[C@>>3=NZ=G;!PVSEP]D0>%79Q Q$TV1",0MRS6/Z53J*31E_^& M_0#;.GT/;ZW?G=K:;Z72CD$V Q36S&_&H:EH?_%H.#JE-MRU=/H2+=0Z\]EE M'-EGG&2?&4HVS2Y#HJANC#WG)/O<4+)I=G7@="AAMRA_]P@U2[. 2"$M:<]9 M%#:M S<^1;7V"KZK&U]98?@Y#\)W*V0,G_'IM>-?PE!:P%)*O58_K*[;P5Q4 M8>32CFTQMCC9UGUE!=N67P,G22] &YU=.,1F').J'YQRKX>(6*FYV/.X9 M8>RI>;23A+1U D90LD)%[Y-2VP/3J1^)ZGW("N"Y-\T3F">^,W'^D40Q MJLS5JEVOV21O)[D/,5*T.X!(KRN@I M14557[\1+B9HSHHS]9\ "I:&&D/?>0C04"#[\]**W(CF%B>M?.V:$Q[ZRTU' MMT@0A_DJ1'4-1WYOD(LW<.=#0!)4K9_WZW5FS7O%IBC>7 MR25NR,EMJ2%"6#>OEY^E<>%M"/Z9 -_^I/0B'#FUD\BN.Y.F&!'7:91*!&<" MM3?AR*FO1 0IHY O:+UI+4MYOKFN6=0.AR>KOL(1I)M/.%SFFZ:@S?@\75+E,SZJF?W/9,H3,156&U:F;I%PMT4L0Q]E2/.)&?3(P2% M:6W0G;]*XBC%<<37:=5SZ*N9QC13I,-IO\%".1(6RA$.J)/A>*SXM.NNA$*S MWQ"O>YS98V&AC/=<*#3[E7OL2Q_^;BY:\JPHXAOUUO/H*Y;=#W8YT2'N)RL5 M!!VE%)8??O 2@? -H9-6&_AUX-LP5TKP-@!\X^*NGJNO,+F%0A';3E%3/IK" M>KBCA7AH*T0=_A:Y3AKQ*/"G+YZ[2'^+B&[OO%GUU=!.^=_HL#5XRJ74Y'$M-_H8Q"F7,5KLS">)M0QND )^FI'@,NZ(MHB M8$AS6$LB16@GIK8RJ NK-1R&*.M7X"Q@4WT-(G>1>=)2^B]\ M8NW4LNMN2P 6RKT)BGNKNA'4Z1LIN79B$""'AUF=9TERA/ 0Q(6]P)E$.00; M)[@;.(D(EJZ-OJ!W.0U*ZH%\N.9)LB'04UM1&)=T!?_:UA3\Z.]/*"0QIE.I M?%/0,I[52EDV]%G$JT/.HGE[_M,(M,.T_9N6W0U]XSP M'E*?H8VHE*]3=H9FVUNHNHHI5#\3 T>XZ:MA[RWCRV2DGNC\5G=4&D+4:400 MX6-E#,4\@/@^B**IO_F(*A9,^H-.A-'I-":'HI.'5U;T"I%$/V[^F4#KO8H[ MT&;UEM 7 [L4$[OK0\R[?!\RL \;45XSI)*>56<1P/Q\<&K+B)=*;= MH=C!->MJ3_BO 9C.-Q^R[O#CS;[70I0"EJ3+V"5%KL(VA??N',UMDA#5GN($ M??20H+6=Z?QFN?*"3P"BJ^ -A)N80Z4V3ZR O=:4)+ADW<4NMT_%&W9KV8"X M ,'*-U#)\\Z5 C)%4(< M;=,<9N0 5KJ-8S?UH?3 0Z783:5@0=YVG_(BJQD^6"!';UUNKY ,XB^6ZR.O M@SO?]A('.'?^C17Z,-F.Z@WY^8=JM)MJ),C ;BY.Z$>=TGEB&%/X#5\'R);^$AG5K""T+U,GI MQ=GP[.+\[&A\?'$V&IVJ:>">[5?@)!Z8SC$>$M'E9^DOVGTAHL54Z\G)\/CL M7&VK)$Q6O4&1@H%6%X)@[*"<%R>DUHYJ*3S5Z1J^+ MOZ(3ML@/A2]"93[$ M9K\%X>^NO\@]C#8W!5,.5[0H=0_4U252)IY9%,"JM @*AY_(>9+DQ]6NT#U0 M:8= 23K82&HASW?=0FZ./J$=G6G2LFFL%;<':NL$HDZWT$;:-X:C]DW?: ^D M)PT664<7 ]C-U^1VIHWW,I^JK:CE3H0[AZS3P:8B%X6&.&+QR\,_E$(_R-4[YT.U ME?LNM2JMQK0!W<15)JDPIL?=XBPE+ 6XJ=_(3JH-X=&'RM-]Y1&!_M#G"( Y MC5^) ::[?6B5N]/AT?G9H=HH ;V#*%)&59@4N8<@6Z\JX-Q!G<$^]U!M.J\V M_+B;Z($M$\G',%B!,/Y\]"R(8S;Z76%VAG;Z[$,-ZKP&B6'?04 OY;6H((<@ M].+K@Q:Q6J3"(RD>E[3=<_V:W3NH&7_A[FA>7'K:0?:A*O#LWNX0^PXBJO5U[XVV6%#^ MPK91?+KHT?JDG$3:Z3L<:M6N%HT$.6@;5(YQPE_XL%[G'4\=IDO()SJK?>?? M?-CP*=,Y"KR&HF$5MZ$ZA /]6KW;H8IUVG')YZ9U\#Y&W=-]T+<^$)Y#N]-1 MW_;##[5GA\,^+O!;A^QC5 ]S-M5+7^QX6W#[R8=:I&"8Q]P@'#7>4F=4H9.^ M]#";32$UGSH;CLZ-]KB%ZX%_4DZ[BG"D*62(3V V""GH;\L,/U:GS M#D<0_*(N-=Y;ESVKT=I;?K=>\H?:LDL'>VKUZ.8HR;IR[#S660'*9ILK TLT M!MH1-09:_B=\SF#SH$'VI#T-D*8HW*/KNS$<7[W5&5]W)M&C%<:;Z"*EEZ<% M2)-0%8_D+HP'D7ZIH(, :QHH M0X0O/K;9]BJ/R]5=@#5-&65S4ET)X313.9&=CR$N/[];_PC"*\^"@)+[ 8$2 MM-/+[OJ&MBA1SF6I#N1/MFQCUX.UI/<>@J54,3H?'IVKOI.\);]"BN%&Q)!& M:HK,F(:/8> D-C+ATK)_]X(%MJOBR]0G 7'371=1 Q ,TZX#+;D*"@5TD4!TL0/H'L\H7HU5W114')L2?Z$$6@@U.P*J12#/HHH-XS MP@^+%-$G,4D>#[>&B:@X376S=:WPCPC,$P_=-]U<1\0BM=-5:[8;"4@,GTZ# MQ_1KPU3G9I>[H+FM\\=#X<78R.1B=G1V-%03RUN"9*@X9*F*QZPR0%@WYM=K7< M\M2 =RFD-=S?["7E'>QO:B #$;Y:[V_JLGK8W?ZFIHRR.1';W]2%2&QMC\*X M5-/A7]NU''[T]R=Q/+W?2:1:82(#"8ET$_$8:HH!GR Y NP/P$=[_ M34(WJ!48NTU31Q%Q#A@:8SI/EV$#+HITR=K<"2L> &.-:B1OE^EQ^ M$$575AA^SH/PW0H=$N7D#-H1+LQ,G5Q!:_7R%Q"X8S'?N*QG5I@/54GCB\W,B MF:\]R_(=V71@7H0B/H+9]BK?", .^GZSO-]!./OX-?"<+.RY_=/$=^[BZ+?7 MP/,^I^\^<)Z3%S@$=JW0)1Q^;5%2+[3!9KN;7EHIH0Z MQR!\@&/,URL+/@YVG$2=<.8T4A=M;#]L%#$G#"CH&ALCE(4$58@,F M6!]5(XB%G$$[J0AS6I>%H+6=;C'I<_5"9@NW=R% [W)$JT63N=%$6++9B?#T?:R M65'0P/*=0?EMZI%R_WT WPB=),U>:N#Z@^*U!ME[#8+YIL">++>5R=@.0KQ9 MNJ2OOPF6H7;UK7A9OD6V2NIJU1P-QR>*[VEI1!Y^)8UM*,^)YN?/('QS;=2W.TE$W MD8&&+"X4G15K :J63C_66W7 ?/891OI3X'FWF3\N@_922NV(YZ..3#G+MDY7 MC!2-QPO;&;1KRS6+,S+;75*\2KV.X>@QC#6HW<4RZ'42NOX"ZWK.D\5 #7"; M:5A[G[JJ5_0I M45WY%OE9!50K\=%P='&N1[O4G#':5D C.+1RM%1W1Y(.ZFC)9%T:;<'HBS9V M=/N1#AII2ZF02+@14;ZJK?O])9I+AYOHNGQ$$3!$*EU?E&6N8!J 8,B"BXR+ MLLS5!9?9>MY^U%&L7!VXEC8F99M)K.5Z!\95R1(;5 P!O>N<.PZ,JP6!E/>J M4LBVH\\D-@Z,VS,2F788,N1I<;V?\)U/1G67K5'0_UXLFHGH,9\ MBTB'8;^>'8C,MN>7,(@:M#MIMOV4#,5V\[NJB6TGR\2ST V7RR",W3]2?L4% M1"AH3R4E@D;;[NPB$YD/%NAQ"F56MG0ZWX:$("EZIBI@X^')Q;$Q\FE@>:<1 MY12=Y:4@>IO$:-.XA-/-QPKX$9E';39!BCCE]Z(@,#'BZ_&44L[*+$=5!U, MAOJAQ=L@D3/>+ H[*+$54LIG0=B#[V(&3N;P\01QM2QMG]35!52YO$[W9!CX M !HLZ\!,^R2S%HCD:CIKJZ8@MCR=SWA-',?-3+OS8;G+]/FB)[O&$DYV;5YD M4'J3PV$NTV.QP1]C19?*MR)/.!9;;FA7\;FB@MT(V#\M@K=O#G S8N$OVWS" MC_Y^#Q:6=P-K)O:J:DP*[7@3@7U#&J]EVA"5O2?V3-/VU]I0Q MRE1:F*<18YY>",+#9EX/8&WP'N#8\0K M^,9N?&O9K@=[=NI9?6J>*E@GP_&)XLT6(5;KHA W5KDRL!.R&0B7]X'E$Q=B MJ@E,H9'3,N7'>;"*@O#S(8CQQ_;Y,YK$<0N+ M#?%<0PJ/'JU/-&JA-M_UA-H(H263]=:;TU;E3;8<"2!X"FO3(+[Y[_30.XQ< MVHA#4H?>Q%Q#' JKR+'6V@FI-==#\UD;W4+E(P0Y$L!<[O@$[&#ANW^ BN-, M<5HU"P\/6^%[^#$:^KH@@M]!Q)R'P+>3,$RA6W]W'_@+-.!"V!*$M=-WT%RN M=-'5):L>.TE])7-%64'7B5 J#1AH_>564L-4QFVB7CN1\GI)5 O@2RTA!L^O M01BCW[,JEQ[;3WS::CL[LV%R:6%TIS=(:+&E\<.W,F]>X*"= 83$8PB6;H*@ M2I/"UMCR;7 51#0?YY:E&B@YV6BT'>5CPVULU'BJ:EV .2 S>+S$.YR1>41G M0_FY>LJOLA$>!_-Y2H,%0+-0TED:TK!6@\J_&>YSB&&3V& ],(R4="!&2]^9 M=.5+U(&F=IU1S8'FZR M>(\<:7088K;RFH&TGA^IK]%\QTYXK='8T:*%BXPF M5/$0(.XBHS]SDEQDM&.1R$53%QD6E?U:,N_8148[.3!8;>4BHXLRL.X6DV4Z M\'D&/ARBB; NEMD4^B58K5<<*_E^4_TFE\.R3I=OY1"X4R>J?A/>PN).X\\J M"D4BS:-*H2I:TBKN4:5+#R]) @!M9$WG68]&%P$FJ38RD#32X[91>>"KWCC4 M]5\43D+M M>.-"GTZ:^>LWEU:46DIMLZN)M"9:J''FL,L0FF^2,' "S[-"*M';R:J0G W' MQZ.>4LUEF9YNS%W=):L!G>)=*]L>XJJ+YI?&*J2##2J& '8]TJS1[/K26!T( MI+Q7E4*V'7TFL?FEL?TBD6F'\AX-N^J2Y#&;98:=RH-7"/",[K$0I'F3Q6B6 M&6;J&7Z :Y[R##D!:-#X;$.;0^PXF)BN"L8Y'&,JOB*ZV6(.OVW$;=.=T96_ MX0\_6@';G;O P0Z7J6FUH4T,_"W2A*S3MW*TY"FK\X-ET_..5N8?EM[#0.O2+WT2)43QJ#)TIO M^J+X"!%2:Z.(]JY"(A82C][J0F065XGN0,3,IQVY(A3Q$F]BLYV)VR] ]S)BZ6H@"EGA'>@6YA(X[[D$D)'%6:CU8>?,7^DR M",/@'1V%ME;PF_B3H N1(C07"YWRNF!:F][IFH%PO"YL+_($5M8G N?.1X>I MH^F\?(??-'07L&_T)HM%F,8,? Q=WW97\!-M,K9),;!L=\PW\:?KF&/6(9#=(*ZW-I@Q16]V+W;X+>LPJ 93_+=0[E#@T M#(4X)70WI.05JQ$OY[TDNY&9G48N$ X BK],EV!/$: #4]5960QAO+&IG89] M51BXO!+HN-SP3<(0>1JE2#&"3',688B$I)G>P9GVC:1..FU(2*8*-"RD(@Q1 MB333)065U>K&[3( '!-=0R3!;9HARQV[OA>C_\IH872NF0NS;MG)X@=%16V9 M)G$46S[:"J2*AY6MBN!H.!YJY20AW* T,;=8#1OVO)7!+0L^ ;0? >UOLZQ* M+L0T^;0WOA"39IOKZ*8S'QF4DC&=WU@ALBFZ!/,@!'<^?!R(XIGU<0W@>]I9 M,MCP3K++8=(_9P$R)>Y MD%=7=@P@H@R9>+-JHYWV8Z!6)A==E6:.;U6;BMJ#@M%E&Z310T(YPI2=J0ELKOW0 [_I>OI%XZVY=3]@OP=[ MP 5 'XDK@53 ?HE""(4>7+F!M_+*6KFQY:6C;L>-$T@B')3!"=V;&Z'V\=I] MD_EA7>1:_#H&Q.6C <6&T<%G: M:$VB5Z44#(HU$MRP3+$7?M7(2RMRHV?(E.5,_?)M#B,NG9"S:RZ--N2RA",( MBE[A9/!'>2I7J=T"$&V@PAW=H22O0@!_#"]TTH7(BKJPF073W3CR*VI/6X1R@S!F9V=2,I'CU\)W M_P#.G0,)<>?IK' 212!>-[BHGL&/T5 /-<-1!/MYYR'P[20,TPY__5V9,X(, M=_H.VHFZW5!)/79%-]OV'![I3-6ZI_WSMS([$*C?LX^W/\U1JA%D!\MY$,;1 M9X3P32(+?9(]>]..;&8JJ"]!8==#K8/,4^$?I00/+=P:51\'OTZ>EWZ3/&_PI?^*_ MP<*7GA]1X$3/?K$B\$5!>T+!;V,^8\8C6(::^1RJ>@?:W!GC9:(URS)2:7G]^Z11M M.<,(FZJ\V<9''2Q%9BZ6@7][=>W77ZTHOW0Q6ZO$T,V=5QOJFS%79;Z=U9VI M8"<+V^DIG]? @S9$-]#4^//.1V"X;V#B.]ENFM":]GE]3;O\C'\=9$^!'Z\? ME"YG9PO;/5G.KJ.&MID9Z]>L3$H6+NQ7X"0>%#X^LD(YP.;EYR9-?AIL\FZ% M#FV-6UKYVC0X8A*H+(UTB@6E&5*\E_SH6?Z#M<2MFN"2Z,=TI[S5=<($0ZL% M\N)MJ6OBU43:,QARZC595:.%(#QUHE:%^P=BK;=;_0$82&K%MM9AS3^:8F3Q8AR!A@G1[D MS*Z?"KM115U^K1#JM*U4=&X(WVD4SN@IZ-$DB5_A6_X!G%EP"3:)MWWYI919 M1?Y\.#Y1'>NMC60P#:!T<)0/T>0H<18""Z+\F0*4XX _,\*1HPK4Q7"LNH63 MK")1TR7UCR0_U@L-)+-V_\T\WM$U*X\@3+'AT0\E^UZ)210'Y5M$DE8 \LA0 MMT&X030]C;4,_!08TJH ,Z/I\FF(0*>7Z!TKWG^8^+%[[7H)VAE(O\T#>HIN M0QQQ;D.@YWTM'I@E&N2//&Q'*-N.0*PXA0J G83IJ9.;#]M+(-VWL%*BZ4X2 M;T6A+MI;OCT)&0_1KHEJLS'1&2!:+5FWM/+R$U\ 97^CPR?JI[_NU527\*X! M[H&>F9LRK&S:*6O7)//*C &9\D4&[#[0S7+E!9\ >7D\!#[(_RH-N(C;09PY M>R(?!GG5?:(VIBN7P4X//6C ]TX[(C84E'4DN0O979Z<4$@K&V$,&V;6QQ9. M]SH02'FO*H5L._0D<=\\@G:;%_P M?@NV(_R47Q2X0]FNC[/'WN==%"7HTRQ=&\V22ST(5C9X'=PIJ&O'GW/ .UT1 M+&6_I2D#+%GW# :P?BA8D0.+[+XKF'29%BFV!G>!"4B1%3DHE=F;];;LU9_ M"@('"6>MM!&3*XXVL?5>)28N/_,O.>-*\):D73O"HI(0.Z*5O1Q1(G;HA "[ MU"CP7"=]^ZQUQ#N9X!-6+1P-Q\K'^B+2DVE L2 2+ M08IURI<@Y;3UTQ4&P_8Z/)Y 7I967I/ M;R,##0FD0^G([EE!GCBRZJ>-[KKPIG!T>J.@HK7C8N4R0R-=/,^[4(*8R!GT MDU!3HNN:$;2ZT[A*BI3R!-Z GQ!WNHJO358!U<:. ]*Q2"I.Y9YG9L3.'(OJ+2"BS((^B Q%8@3#^1+$\XXGO(/_2%4I"4 =_ 2:+ MIR4*NPDLL^.C*.D-MZ2S).F7)BN"8N%N7!2PF\1__I:QD>^D_L?_!U!+ P04 M " "2@EI1UI%@L"TR,#(P,#DS,'@Q,'$N:'1M M[+UI<^)(\R_Z_D3<[\#M_SWGF2>BY=:"!'AF^@1(8E\$0FQO%$(J0&A%"]NG MOR6QVL88VV"$FXF8&0.E4E7F+Y>JS,KZY__.#3TV!8ZK6N:__\$>T/_$@"E; MBFH.__V/T,PBR?_\W]__*P;_"?\3B_WS_R)(3.UD&N688LF^ 4PO)CM \H 2 MFZG>Z#'6M&Q;,F,5X#BJKL"DX0."G'D;Z2P) ^.E#Z MJ7B*5#!YKR?XOW]&'B0O)+'I/OHN,I0D^]\?(\^S'W_]&DAN_\%RAK_6/X03 M05 ,(; ?ZT=TU=2V[6>SV<.\[^CA,SB*$K^"G_N09)OF0W4^9,^9,N S3UWX7K <'U7"KX)Z8&F M"'3SE.MX+XD'OSQ N&?][\T)(_9&NFGN@,&K9*9^P5_W::4>X&[5IQ'$L<>\&JQ?J!0]S&4JG4KWF N^V@7\#H2=/@UQV"/@ @B(K# M(WX+$CB"4T]0J!Y$(;5"H?KC]S\C("F__S& )\5DR_2@[OGWAP?FWJ_5?(.' M$3#QU>F_/]:_(]["AB/]]?L?3_5T\/N?7YO_K_KJ6\KB]S^*.HVYWD('__XP M)&>HFHAGV8\$:GM_P[?^@C\_::.HKJU+BT?3,D'00)T_!KT!9_6GJBC #/^$ M#;*.) =SCOFFZC4"H GP#Y&')%0D1Q$%GA&Y:E?74AU.U]0>.VD[Q?0@;M0A M:=Q'4]7A%!T?SB&C4;6EC V'?K$S'GY\DNY(J];K M'^.> F35D'0HE(5J]OD\.:B7H(D%"N]9LL:';Z_Y7B";@?5^,E= )>>T6+-R M6JUC-$"Q5U:K(F0H^F63/8&-9YLM45?S,[_=++(ELI@E%(*=C)S9D=E6H1OC MJ/*383.^$^HJ$1.Q%9>:UC[+A/C$;[E3GBTMD?RXTZJZ^D[@H'I_9"'PO 4- M<>A(>L%4P+P$%JMQ-F5QGM,\OSWI(FB.&H"R-TY90J4NXB(&QPGU+4J0J22Q M&?!Z@!<=+^U#\II>5G5E2>\"R6%-A8&^UG;(=KR;R-F@K*(+;3+5LNFAW2/3 M(A$,&4$P'!JRKQPOL_8^=P/.PF_<[7 33 ^=IXE!2:.':=*I6EW9R0_%>##< MX!77&RL'7V I3T>[3+.>U@8FR>9FDL0M1<(8M(H'QON!2;/<:SA+J8",8W@$(+7AEBE,S?4QW2DG0?/-$;4DU- M3IE^=Z1->KJ/2IK2;/.?L A?:O;>FMQ *S;GP;">3&3*X4G2QOFV(''EN(6I)6/9@=J= M([KO$)./(>CI(,NJU%?U0,FO5"=D/%R_P#]J@ZQJ0A=9A;)NN6I 5G8.O5%7 M[>OP*??IA))(4VL5M!K)EG2O 'H%F> D.*'M2[T1<#;O@E[,^FTO)OOKJ>\9 MX@'Z/<#]_4_@XS^ZH?L.9Q\+??['P#/^]X>K&K8>^/+A=Z-P*0379\AF]?4P M=Y4 )4^[6+UM_Q7A1]?RG?!3N%!Z7!,\G.Q.+Z%[B@E^(-:?.G7$=94!.V=S MC9252[2&+",' %WU!4)SNOFD*L'G@0J<6#@F<'!-2A=*3ZWI\X=_;[YZVKL= M*NC-)^AC.%Y@"4.S@6#!HFWSW.ZW[3"5)TT);/>*U2^;SYN7_'I"J^.D"RF' M)4/*;11$4FQHD]9X-,VF6 24$GHIA58<-VJ4PY+!6O$+)D@P#P=*7)OF:0[HPV4+)P<IE8O\<5;JLI7UD.8$^E]>:9B/4\BXQ-Y9^08KL12"80B6 M.A4[BY H:P:7>6Y:3N6L$8ID[%Y"%KP&4HNLL3TZ MS]WB[L!$OZ?OM4(%U-4[5.PI[H^C8EHS_79SQK98PRXN1_5A/4G7(ROVT4,% M5.6GHB)H>EE7[.,P(#.5X7PI9KHHC8@VYUM%Q$O=87 EU^RCG&T 3U)-H+"2 M8ZKFT%TSUQ'87L&1)(&5VB2=%/U<;>'=NN8_/-?OS=^THH2[H9+.2:I2,&G) M5CU)W_CB]F*Y-,5^4E!)@DJTRFFAJT36%S^1S4>G?!OOHRW&Y[_;Q9&=1F*&((TQ+# MY.7N_.):]JJ3)[:!Q,\;*>!Q2;-B.T4V)Z6P3+;?9/N=6]=C7VJDB+WPW;4X M^XJ1JGAD1LF8_:Z@$I-T8;08LBW]UK775QNI*/#WN)%:8F(Q7NXN>P*/S,OQ M^=12\-7);W/R@EPIVC=\ M7?+4*6 ' R![J[3 VB"M6'; Y&U2U9L-E;'OAAG/:^SO)&3S@YNUG"J8I679 M\L.$:,ZQ3/BG#(R7N 4%EU.'^SG\7Q:)':)CE\C M%)]R'IB>(O?)E%C4I+I4RPZD\C2MWU'_3M1'T*D)(MKX.37]#M:?7X]@R]9D MP(]R+91OT<5,WUT8I?*MNZQ?MAZ)#&M?T2E:QEC@@^&88(TJ@C6:_=20L"*G M4^ZR^]D520GOH2:5YG*:ZJ'L%(C+%%JX=3Y?845R079?U@-1A7:W61A!EYG. MUSMLLJ/9V;OS$$5(G#-!1:IF/#HC=(KH@N]B_#1K)0K&K0>OO])X7R)R?2[; MS2_[=:%JC#&V72GTC1PG+O#LK7MF7VR[(\'?XZ8;G92T0;Z^: C&W$45K%0: M(\RML_DZIOL2F0EGT=.J4"=D7A.[&E\@C&&]"C)8XZZGW\'9"\0RSZ6GW9Q8 M%I32P557Q:GI>4DC4B7-KR-5BC=S#*RH9-%%WFN.DU*6R"\BIX(/2=4^Q>Y2=9>JKY0:S&SV MTNE%!PB+(9T12B--F3:O9(ONV/Z&V-X59,0A[K9E30[DC3&@[Q7@>YRP_.\6 ML6&-7:#PP%0M!Q+0TJ>0+*L:?5E)#HN*KJU-!M2GA::/N$)IDF>*B\JDF3N'XEOONT3HGYZX_>;@8\\>+75%SKCX3:886 M?G7++^*YJ M=-RW#%NJH2O 5 M4W)9$SC#1<&4G[F=\!O+ $UIGO:]D>7 :3]9TX?KX+2IE"U9THN^H[J*&JK9 M=3?FM"O'>]U6$@6S;$MU2XTZ4HO<0FV#G%=HM +12R*]Y6F^_<+#U-WM'[Q! MWLOL( 10C)_QS,T709&!/[J>*M/!625G8]"&C+"PJ&*A);3%;)/DJT=I4M$@Q)ED==/5&T7?<0)]'HJ'G+G-;R])>SD,GK5H[,D^.N_W M+4=134C@H 74^=!+,537M9Q%U?(V@))3+6::Y>(S@6XW>EY_RJ>*A*9_3^%Z):#7Z'!A%-]+_)L\O MOX=TPSRG-CN(.D>XI=R\RDKXJ*/UA!0W\R*[#_0FSZD[SS<\7VW:A(1Q \HT MK3WUCK2[F%"8('-V0>;E9+%K!TAV$*8$W9GPS'MSA M>S/"2@.6Z5JZJH3M"L$=Z4]8OKV5D%]-Y?D.V38U;K.=M&FW51<5((\D4Y4E M?4T]MV JOKO;M!4U B@MN\EJN8I5YJ5F(7LYG6)#@(*WV;E,\3*S/[Y8= MI?)*=[U%YDM&O:Y]\\=5<,WJ0/:<([C."=DD@ZF#/LMS7'F42>E"JQ0YLOSU*( J[?UM?) M63XOH Z#TO5>7)[D96$N1V[5&G5<7U-?7P_7AV\@BX:^-IE$@RTN]!HZ&;B* M4%1$@XW>#4=1Q_6U]/55[E"+ J[?U-?RO-&M%8'9$9"!;IL3K;PHE^_KQAO1 MU]?%-19A?3VGK9E9[6=J;#N5(.A$4JXWS3NN;TA?G^B'?"]/56A5Z "(' MSAO0?U'<7SBC$D-R0[7,-/L K8UK#9TLN6VM&+G%U WHDRC@Y-6C=6=0** [ M)"AJQ(R%6EOJU=H62_KJ7:%PJ MZ1IPFO.\!6=N#B%)Y(>TJ10\ MMSVR='U1FYE X?V^JRJJY*A@XW\/9HVI0V!MBL4+:;9JJ!VJP$3.WL!9/SZ; M]0H+'YQVU/,JWKRI_.-V@US4F/' 2PAHR3-&B$4-)29]MQNWR.LW57\S7N8& M'89(H+13SR\+5J7F%&^9UU^I^K_T'-K4,3T@W.:6T819^ZX&R.@5*P81#&:I]':1=%WAN M9E&1QI9#ZY+[O&2MI( @CWA[);B;FXAR9TJC1DF'[YZXO%2-'#@^6[SP;=B] M@YC[=7&?4O,[;T9])4IKC@*/G/6**&:/T_:.X/,@F(;FR#* TP!Z. 1WI-H;E=OM,SKNB@[#EK++ M648U"4_F[RKW-/@>(>P?CMV#A5K/XB.PXZS627269:VT:+:*0)QWDM&K\_'9 M4JQW'^&F4/J&CY">(,EAKY)-"J6Z01"R-6?)UDWX"!' [-U'^ H$'_,1EG2] MFFY5ZGG4(.ME/5MM G%0NLND?43877QH0/(L)('II>41:U1Q+9>M)N95$)Z;R MO7C_-2;@"X*"%[ !:J65F@XCMT]U!(":3]:BV\N[MDNP.X;*3EP0B1M%QQ476%)L63T:V<='3BJQ#R MJ3._70?@?,Q'J],42+70CF80VD29+I8$68SN2C#JS/^"I)$S,E]&REFK6ZA# MR$ZF8VM*M-UBA/W_R#/_JY)(+@ %9-AOE,DRU48NR[$;BQ3<-3 MCXZ<$3CI7"/?:TXSFH;@PVJ1]EMIH-UUR(T=)7FCJ-V+A,4/W:^MZ" 7+PYM MUICR W52*C/Q3&1=C:-3_ M&$?WWK?(8B-^.C:HRT58B1>%G#^%C46]UD5LL3! 2Q+'35JH9O#L'1L7=$:( M2]B4YX5!SH*-+*=GBWQ7; N@/4#F+L):+2NRH:Q(8N.ZQ9#B>]B@SHR-IMT8 M$<5\2IN@RVZV4&+D5O2.KT8>&R?:E*#I16S*"AO$ZR>E/H(-GAX7FVE_) K2 MTK(22M\VT,K=IEQNG7(FF_+:=C@#>YA"U$S![L*PANIJ+Z\0 *[7@._F9Y+] M/,UKMS;<_IF'?),<>;0H@RG0G_2V;5,P;=]SPP;XZUU6@.3Z3LC%K ,F/C#E MQ>'^]EJZ#2#[C@.9^:SC/%"&\%L&N.K0E+;W2VY^KEK>YB>@I-UUZQUI6$A3 MRU#EX(?-A7^J8TD874FW!0EWE(53\8QB]$J_;;!^C.'/KE!XP?%7)>(CVPA' MH+(;QQ&LG'4PKX'LP$B.H.SS0SH,S]TH/H#/VPC67%PS[;$M([GJ4V/'NIX: M7)Q:&VR?V/[!J*ZL6\&S-ZRC+++@-> , M%Y_"8G>Q:!JF5DR@-=:F;6X^T5K1O33\N)Y\2I [QCZ/L5UQGB!P[DBR9SE5 MR_%&M.18NFI*G\*>WZJT-'MA6BR>[Q-)0@%Z9A#9[(*CV#N14'=,GKJN?H&C M4.4!QP@FN<;/LK]0-+I'YK725/5'I:+08(:1U5V'.!>JK2>3N@V.'<@Z.B+Z M#3"U]"ET#V@'**J7E>0P-6?-15">JI);)>>HFJJ[TE+/U)/H37%QMT5_9)Z7 M8>P7'$DX31:-J3W'$^VFPM;T3'M>S6&EUNBFN/A5LG@!ED%NG<*R-/RD0'<< MF*KE'!?*%%&M549=,2.4&,X:%B 2+W ^@MW.IWO7OF,I<#TH M.>LG$J".8HJ1KJ"@5RG;V6'!*]&1<_T"#!TDZPI>;]#ULL[>Q^!\\JN?LW)O M1_D9+R.2UO0E146B+F<9R0V_W$1]R=$L,:=;AN"G9D.VFU!KO6;DM/A=R@Y( MV5-.WF7L#1D;.>!YZ/,KK5E\6.T7V4&9I;N:N"PTTNTW[M)S5S"M:-+\Z(>,E MNZ,*!JM-7SMWH;:U^2,ZV=/VF4G:W9]&5LV?6;$S07:I+(T.42LTS0S9- MH5GR>UBS[RYE=UOV'AG+6KYS/6,VY<5<1N]CEH832KXY'J-R[XXJRTYJ;X$"IM3I/0\B[64+/<]MAN_O9S].?;LM:/*!5/U@@1; M.YAQ^ 7OH+V#5\/$_W9P0#(7M.1S+TTJJC]5->$7&150_2X M2IV1JQ^M?/*2JUI5!7BE0S L8F8;0B4+6EDM<@N2Z'*5^*)K6M_)5JZ&T*.A MP^;923]M:'S'TI?NG:U7R8K[:"F:EUS-=$ITFK&LA$"U*I*$<-VR5;\;UE.Y M>@G#>@:NF@3.\P+">@:MX;4E@>F(\04'+ M=:>53!KIC>]A)0PEDF(L[&=_/EF,75W'-P:*0I+I9P6C&3;0WI9%L M*[(+\G.H..P/4W&W8AM* M;'M!PS;[YI3B0 53?JZFSG'!J*.,LF)7BR^$7*JK4UJM2XX:D<7&:66#MJ0Z M@_J)[HVFSV^2N&58OG$-*N8Y$WM.8QY;8K$JT21:>H>-K*-X&R"]UMW;WP6R MQRYKS8T3W83+D&6MU"@O5=&<,0P=V6WNV\#K5:X(/P]83[Q^YQSUVV8S?UXH M(>D!JL*E]:183Q.^>YO(^VPEM@\P/SJ7\1R_<.42%5"Q4<(71L!J:CE9:#B M(1= MR[JO "7K6$80%?6]U>6+@\V=)AQP^)'DP$7[X0YV>LVP=6L! &1/U3+!^E,8 M2ZW909_K\: J(2]RC0ZAE5"68@PC[::C=\#N4'WI?;)^WG1>D!]KK7L:0RZI M=:]W=>+ATSNW)BLJFT"[^07&:9-!72XS7!Y@X\AI\KNL?+&'$9NH$T;'22 MU\UXER<[A>C=#'V7E7/(RI>?HCOH@VW_#D4%N)M\S*W ['^GC'W7"_YZ+C[; M']RLY53!+"W+EF\&M\=SCF7"/^55H/#)]MZN$>])IB(YBBO8"GP7G#2%$>MW M]'M+KDC5&HA ,^5N(SXC*TY$1>(I]5:"<81\9Q"3]]!]M\]W$N$CXE+M-SW? M =( V.MM^9K# V>JRD]/ZZ]_A.IA_6L8"EU#TF#\9=->T@,TYW:P:2XA":U* MY&(E ?H.S7&'@V.3O(TX[PD<#VK?B'FV%J0IA!&T]S=V>JNLBM)=8($.VEN_+"#(622]Z M]YX?Y^&Q"=X&)_>2QCZG6D>3BE1/U$> 7>3D97LH3^:2&,G%8M14ZP5OM_B( M;BTRS:1NSE13RQ6ZY5FB5U&3]1N3RZ_4K==BWU'E.C(71A;+@S8+XD9/RZB9 M''E+TG@=Y7H^5KX187K?4<&THH1!/$GG)%4IF+1DJYZDKUG=D;B9U6M+?18, M)3:7&ML]?!@YG_:=QP:/3OE[QE<.[QF?$REDN3ERK'0#99%XGLRVO$6FDHZ< M4K@%I%QWQS2^IU-V17@:BMW+%82L+[1[2$M"N9'9R%Q<#WQ Q$X,]S\O;'.Q MQ)'<,#5:=)P**_@,8W"F@$P'^L4=GIO*D]A'7*0RM*L"5QL+FJ4(P.F#@LG, MD#D2695V&\F$E\S0_H0NB)]E/S%RD'XCNQNN")*UB<>5M!K=ZA*$-VL6QI MO7>R,L.DE7'TM0I&;)M)'D!@EM4:N) M-1M32N0RDMN='TK[*_OCAH7,@98)6C04B,2/6+^+=5FJ$X54TLHYXU)%RO<-#AY%2\TFW3> Y ME2UY%%>H-;.ZU(S:'E"43UV=0\2R;';98AN#NE;+U7&0M+UL:7Q7QC=WJFH_ MH_>C54^/(X4?S>N]\D@ET%*A@2@(6QPO\G>D7#Z?]2+*^#E2L&JMUIZ4/5Y0 MZV-$UAE++8(H5&B+#N'.X1DWG; 0T&*_!NVXG4:I0=-F4*I&,).^G3'K-U^S M_\!$[U[P>U!11C7*LB:-A@9L-DLS\WPYO8ALE"6:J+AMQ^T0*BA2%>DD:A=8 M9&2Y-#W3"\/975?\04[:(50P56+>7I!L'Z4[RPK&+NE!T8[ M*[@7;*R?/N$+ @7#$1P]#2A/FIX'*! 5>T#9?#H?4'QD8G2SQTYAD4M):*T3$U6FF> M3VPO$^7ES"[)]VLG-[^9!K_)J>!7DW2?A^BAP(R![&T21NIYH8V(4U84C%2\ MDG"*($%W(@>"%[[FH5D^"=<_G>8=$4<004NZ[E8D%;[!#&[6A;JT8IFJ9^U5 M&)^V"UVU.\>K6GM6[J=(&ABN%UE'XG28G##W/PD[KUB1 "P-X$FJ'I[HAWT$ MM#05%G;LP*_-W;E^V-]P66W.6K*0:W-#>3D&C%J,I&-QR*H$T#AQIG=+KJ)J2<8D(/3_),0<40G5'S=4[.2H>H+ MJ#NA)EWQ9!M[Q@VRW1?&U2)+^V0/*915'F_S0NN 'DDF4&1 MY4T:[28S>('/W49Q(K)(G)BS-99@L[7(.93',X-?F]R?QOU7M$#!5.!W#A0* M2$+X0F_QS#OPC/*0*+4['(OS2194^B-CG(B<33BF!MZ:XAT)(1+R0-*]D2PY M03DZSWJ^$46VP#RM.:S* K8ZEC."85<*D=0%K^'@^ 3O* A1D+.FP D74,_X M+W#D;)R56T-MDBP[!F/P(IF[J27C:U/[DSA_^@J!A7\$!?BVJZJ7RP6\7E"[ M1+Y@H51U5LS2_M)IRI'S$-^Q7'A[SG\25H[ZC+N+.9[YC+TI)=H*6:P+>$;% M^L*$KFG1N_;FN,_XVN3^-.Z_8B-82#9IOW[VU 9R7S(G&MW+3!J-NH8)[DV9 MAF M"9,.06E9U9(1)G+Z('HQR2AR_Z,Q25'L6SDNEUYJB)=LR(O"1.BW;F8#XMHQ MR1M"PALQR7Y5H%Q)GE99L$RCTU)OK@+JILS!]6*2-X2"5V.2200CF@7#6*)4 M<5DU!_D*BU@WI0>N$9.,&N?/&I/,FYXUS64Z23;7LY-5OX/-YD[D('$S,5C,LT7#69TLI,5E6%E;5SD9R:RE:,*9&,L" PL^21TS$A1G)9&)&8 MY'6O]CCQ$IAWQB3YF4CT^0DM)U'I_.9X&-+_&:L M2@1BDC>&BZ,QR>IPHA39]G(NT,O!O)^+MT=T]*Q+U&*2443 9V.2W4:K0DEU MJH'RA3)M=XN-.AN]JT.C&I.,(B(^$9,<=*HF0"R%%')LLCICWDOI=%: MNRT*]6ZM&O>B>58V:C')&T/"&S')GBW97M\L"AJ>9T2CY,U:KAHYWR!Z,YFC:F!1X?])+)JC\FA9O2 U\=DXPBY\\:D\2XBH0/6E4,1>1< M'.EW=:68B%SXZ29BDE'$RL=BD@N_$N]FQ+++(F-?3,6-97^>CZ2=B$Y,,JK< M/S$FV;.=[JC$.ZR >=P:3SN2V"FU]44SRNGS&SA63[,<;<],GO+%F=)S\ MR*2HG)V_&5?@2C')=]2$_Q*^?S8FR7%$ET_9XSP*/'R^:%LZZTTCI^>C').\ M>42<$I,DC:YBTVF0UPR/2BO]1J;*D9&S#3<7DXP:=LX0DQ2G^7E7$M)#=*$F M<5RP2]U:/'(*)>(QR1O"Q=&8Y,RTQJ7^=#)D)TY1P>*YWL8JRB16S' 63\^F_4*"Q^<]@4Q@Z$G8P;# MSWS']:MGJ!N2.5R9@U!3J*9J^,8: 1LOHVRY+K2A@4D%I@Q)E5E4)<]W0&VP M^WKQ) ;.PU^]1<8RE75?(#/GR!;J-S30HP9M(E=9UHA(;D-M*?+C=ZAK]DGR M*CI.=E].I^4N[/Z,KYO7 '?!(Y1MJ2-IS5M$SR38>)5P4\S<=FIMR6* MC]PFS%O7O#^=U"4-)X[@Z)4,YP<8OOGIZ,WWXJS'%&?CN*2R-;S \G*1H14N MK+88^K/"9L:3Q:*ICHXM1-B>G2*02MV_"NSSO"BARIN26EST? M1F.UG=(6[3B=96OS#EHT7)"TQI%S/RZ_UKFC\80+P$;I%#U5"RD)G2#J+&D4 M)Z6I?7%3]@'"7?OFM.>[[SA;I-#*O-9@U8(AEN)33J]?_NZ*#VQG7_LHU6N% M8!G8X10VG(*=D#945WNBZ0I!PC!PO08<"C^3[+6*Z^HRU6_)"T2@ABD;'Z8Y M(Q[=:ZF.S72GD@Y/]9*Z*&J7U)T#&7Y?G8AVKY'3D%*6)V5EA'+1J],2=61< M:[&&K;& G0<+ZY_S0!E"4\\ 5QV:(0"?/%VUO,U/0$F[Z]:[U[%PH):ARL$/ M8-VUWM:S:*U=+*$27VFV.KH+%E+D//Z+PNSDMQ\F_^Z]'Z#_91:D.(9@V!Z< M/[X@7<'YS)KM]#\S/E?#XTO[6? M$GRSS>7B96!*\$V[XY+K+VAK&AP6]!I@XJL.V#O[]ND5,%5B:D4\:191O*LU M<',Q;%IRY+3SY?9C@JX.,F!]:/,M#GR3M?>59.&\NSF4AC>&E58994M3IS?I MU9?$PHV<0_N'[.9\!:("'1E,=B.=[& Y,#:!:[U+NP\^SFB6C;7JD$[AGR4CT/(% B1TET3J*?8A&=R2>S?D&2R8NT03'1=.M]52RQ=!(O=GG6 M:AC5&7-)O#P@R5B,ZT-/(6;:49 M.=M[>:?\%;*MEY8OZ'9)6QX_W9;O-_U"X!W<\WHG\#A/H'EKUIRS2'U<3&?P M7):6(A?4O_Q.UY\,O)6+L47:!Y&T'-H^ZY(-F>7QJ>OTDEXMOH@ MXCX+S^ G'=0='S5*IW2!'(R+!+Y>!64EU6I+N M@\QB^V<>4EERY-&B#*9 ?[(_L&U3,&W?<\,&Q#/[LM=E!4BNOPIA91TP\5^< M"-RVW6OI-H#L.WOE66TODS$PN\*PE*TV&ZEY<9IR(KN[=!I%=UL11TCZ>:-U M B\.C.0(,VYC,7P4YWNSRTBN^K24..MZJ@%%K#;8/K']@U%=6;>"9R^-^!HV M\9R,PV784KI%FUU&'F/5R.K5-VB[ ]A[B'O'_N(<)YM/+:?E&Z=)"7 E> V]I+@E&1 M7+1!I-@2Z&B$,LT[?#IR'M?QZFO')O@-8YH89/H:!!2=FUI+S2\)R$R=:UJI MTFBSD9,!#$7PRQ^K1H3XQ&^Y4YXM+9'\N-.JNGHD],%58..;ZHIJ OPC2'\V M%L[6ADK*_%[/<;PFN.E L^(7+6K:ZD.IVMJCYVTG6)Z$#=>OE%UK3B.)1[A(Y]XH0W;BWDB(^3Z MB469S14UFD;)N!]/O#;'X(E/O%#U@"':XH42V\G&%XX47XQ/M?R4!EJH"0@VOH MU!/%035CM)>"KY3FZ+C7\UO]W4N5\(']SJJ^ =<'GN5\D-/,^ 4; MP@E8OB,#=_5Q!"0E5#EPE+__@?^)N=Y"AYK+D.90_2O>Z!%#T?_]MRTI01U" M1 <##W[S0)"[[QQU.-I]::TV@^&+]/ R]\_GO7K#%43\2S[$<<>*-O[&](+ M&8&PCSCVD"#A5WLOAD_;FV<'4!TA@_ JAM774)8$?!:\(7/\(_8\&_Q/J/X 52;.2 P;\__J=IR?"C:TOF M65ZY^AAT]&A:CB'IJV]FJ\FNOPH4+"+IZM!\#(@+Q].4^CJ(68-84*XL<*K_ M^14,"3))@O_:!Y@EZT!R'ON6-_K[.=\.L>,\!-55$VP8A\'/&SC 87B6\>2K M@-O!YR!#"#C;%@\!#UQ+5Y78_Z#A/YL6P0/$@9]W3/S[&:/ZDJP-'US46B/M3(( MSFH=&?_N4>+T84JA\A II2\G!_V^* -4$N-):B!*25D2$Y@4!ZE40@*I -I85&H5E@ M^5BZRL38#IU/5W-LC*Y5*@6>+]2J7SCV4(%1._WU=!Y/!]Z6W!$40<\R?\:8 M!_HAAD.G)77&P5)G'&P6JL3_\S\8A?X=#A#:)],R0UNMRK&U,]H(-/7'W/:8 M*05.>5!TE['D,'^QN;#!CU"*JI+CB)JYS'!)9N!HQK+4!\MJ=F+49F^,&BY% MZBN"/AGP$Q$%F!R'=$?%/D[B8ER62;$O84D1(R5)&N!RLH^"M8BNGFC*HEH= M+"M5H$/W5HAWIY-ZLT8U9W#"Z/.6'%P <:ZQH 7@90$^+C!BCAF*N(@];SG0 MRNUF?9E?LCPR $F[4=6-1ETD7O992A41(!!('#6LVJ+H]$H=I9D6XR];3GFR MA09A8%;-:XDDI2#%+IB)Y,NW%YHSOF&0@H%2;$OA6']4%L6A2&W[]$+3MU'I M*UL U;DNV2YXW/SQ''UK&Q18/GEE,=?P6WDKDN]9FR]6KDKXS1./A@@]D:<. MS>J[IZZ(YVP&MV?X@N^5S?=3X'A!S?:U.$!#MNF">(CC_WM? ZU?%PH)\4"F M-IY)^&?0ZR]/.=+URHJN>T]2#V3B?;V?VZUZW:*]P_"&4_[E.0&I+T76\TS\ MF4=\4 N&WZAFL+1_1 Z0ZYA6^:LB.5JL9H+_;I7U-\##_ASOD#A L:1OF-U M1&!^3([K0KK19!OE;JS! G8X4:;& 2VQ@7DCFN'!0 M[&HW=L\?%9M+S4 34Q8MF4@<=MB;NN&!BV-SYH'MK:(=!/HS%HSD5>_T#IF7 MY*LU7I>HN^FYJ.EI.I*YVJ]Z9GOR!B:9BR13$_"26)DG?#Q [%_ABODK%W/OV)Z\\$X8\;[-)=HR@N.H <$'J@YBIA_8R,=#/L!9 ME1L;AG&S\)75\(U[YIVJ"!T#;\:!H.:0;"^A<3S;?'.["<$(%,->M>F7W])[ M:2PN0+ &&*IN("1>%?ZR1[1\JRET2J-B7:.TO$N#;*?%RF\1C:Y5LH'^X[M\ MDZWP,8%/_UQIL4*5?K@@+=^YE_L7.Y=D+R1&$ %RMD2(26[,M8$A5_O?<*S1WSL[R:R2-VL*COM/;E"LS':L:<#;LR\D5C)3,&7+@8Y3 MV%=8'8VV?--S%K2E[(L028\3%C:25*%F5ZO#;HW@\\/Z&R+$ %V:24%*PP%A MZ3NQ7[__"E\9@P;.@A;.B8U]1W45--7HRQJ!MS1E*IKH,/__W71[8 M=:!R=S>'1!3S)<&1DQ_>KP#?XF* 0E<2J> M3!SA<.&A\< _Q%C#UJT%<-8L?3*:6-5Z^.\?[1->' %I17&"LW>K_Y55$V![ MW&^76T;&,!H-80%:*:0PD8O-ZEN;!E2"C&5 D+D;8QQU^HJ4'^E@!86O<:9> MSA_?FS]J#-IR(HOR**!&JM#'^\5E]\U-$Q]ZZRN/((X>WC")V.QI^&?-:5HS M R6O/=D_[YQO[9E]F]-45"\U-S M./@RU93W#5YUQO$D4VJQ;,[(8K-6S>)[X[=\QB:82^Z[B?)%ZXGUE#D+TE?O MJ?8S"S\L)'-XCF+Z6EME+6N5DI_H1>MZS[@76(03=(@EQ5 %P^'@WB71H,@1)(P\$\8[]A+IA\ M!4_T65HHM)))DS?S_?DVZ1MF"+@(7,..%K],9Q2':C7&>]=N* MS6<*/70JOB7:20)%4M0K>O[,"[^UHT!0S_T$/C@K$QXK6*_S@ .7=K;ON'ZP MX/.L& ]6OC.&_]7_;R!5P<916O8>]U-+X@G05TB9$ON#?D*,$P00)11-B+B< M0)6D)&-2:I-:LI(\P:H5D1'=>*'MZ,-#V2?U M!1@-@9(1A!S&E6B-40G!J0>\?MXRY;94G,HE14UM9^7)R/#(N!]DM.!GSO]8 MN9 I_"&!?39O@\ >4JE7/5'R(;[6)>%?;V=M[#K&L4OT&G]]2_JU7M\3X%A3 MXUDBIST_G,:Y M=KOZ[SAE_[>94T^OS'5^>&D=O)8>2Y5@38![,(T<-9A$W5 M6V7V DD>Q61=PN9._H^1WY%"Z[T*!_WEGII9\U2Z[L3_$/&KZRW- M$/I@+H^" E,Q:-QF(Q5^L[. 'X^^WI735VY&K=V7!8;W0[VV#=;*30OU!Z.2 MJ1G(G.>L3*DX&-=?2Q3:@685HH&(X#U+UG[&_C_T <5BMN3$IL$QXW/$;._* M\\O@L5:V*UV[Q096[XN*DINK@HK;:2O;9>?%5GV=J7P4&]E"YQP(N&OP]P0M M CU]D7V;C?)@UX9@%^.#(,F@T\8B7J=(M)TQZYUI0F\,Z2#3$'\+) %=NI:C MK51(;-/[F\!YLOFP.E[U=1%U\BH1]K MW&T>BN6L\U#6"]Z]=?*&H<$B./@Y2$&)*7ZX;1TTM1T@@]#'P_!5?V'ZGAO[ M"W8*P1US?>AKN",K")MN\BZ\D>0]G\I,>CK>,&,@?'@]F__^C$FF$OL+WYMR M'\H);-0?PPD%#X7MX9/!>)S=!41N.))PN)+KQ5+HJ@=%6K@/Z^V4BV\?TK[C M@.!:I& R@9KV),]W][95$F*RTA/X7IZE*$NAA_D9/6\,?_SN!@=@GXK1>LPG M'YM<03N52FVAO?_H*VDSL5C5VNPUO7SH[?>E$O@MB5( )X@D0_4\"$"@0T0Y MEAE8-'T1 ]"Z+6+A[6]2>"=,C)$\*1:DF#P7LET?^_M*#5_?QCK(0(X:8.CK MTDX*>:09^^N)7.($_K!N[(W4,/7 #E(/OD3Z5K/8RA-P__ME@K)'Y8#(:[G9 M$Q1"H"1"+15\%)\MB7PF/3.=RNPN*%\D*!"*4DR'?8&8),M04)S@4L(0)4Z@ MH@]^&X-,00[^X!I0PN!;G(UBA)@R("D6/P.S!+N#&CP8]S V=*R9-]K\_ "M M% C'IH"!:H9Y?6$<)##B./KW:R,,?\;^WC1[L\'KX]LT#*S2NO$K8]VT5,U0 M$4!A[2/XQMCN6]B'L^8573)I"$L&#'J@2*_&%NIMU=NZ>>JXMW6Y<7JZ8#R/YE(J0>*B!Z1JH?T_%4) MA6,/<2J*:6O'Y(Y_S>H\%=''FIB8Z>(SE&S-A'8?-ZO#"BL&%?\S^B!)K-('/A&.G5$/? PV R MZ$FEW!)%4"6##YERCZH>M'[7 <][ B0W[29]>O,LR@;_$[)V"0I_,*'G4PE9<^D3]RB$6B@>("U1MYDX744\J]]_E$[_*" M+K35^6)+X"NR/INC34)Q(""KDJ(QR_="T0ID;"TVJNOZP5IUG8TLKU(CW#"N M*85;BS79LX)N<&Q5Y2'<-E]#)AON6<,'@LJ?(2+>4[/W21$,.%C%\A0@JW!Y M]2/F0F,!*80^Q=NI5:1CZW[/(GA<7_"W74^; 0R1/5GZ[<>:@TYZEY#^>H$G:1BK 8OCM'?KX1*JIKZ](B M@")X0O@/N3H?F.K!=+SWU1=5,%Q&$P-,1/OQA!C'^D"4J#XN]E,4 $2*2/7Q M35+X*G)7TF+=RU M;YI(/1";-)['+;K"DKZK,L2QO;_#/.=WEC?&4P?*&X=??K*\W3B2 MU8W?E_GZ=K&!V*[.P%:P5@RY5EG>IV,N5!FV$U2%@2.OQ'8E3:]4C/=9%:]: M(ZQ(LZZE%F/A8)D8SW*0O!GX^6F=JR\PWB?JSVN59-C?PO^ M?;)S 2__ 4^\\'??8@2;Q;DV:/-,;NTVGQX^=^/5.Q= MX?^MU/1;I10G#<''#_9<2V)>"5L="5)MG6T.>BJ%;*&:KM*%=+E0#=RJ=%!N M3\1Q@B*_W!$_QMFU9\Y)CK>NB15N.^%_9[=[P 5SM2447OCSS%^/BJ@?YN'> M/$-7Z/->W4>%^CU'0JY&$/P[2VALJ[6>BVO! P:VA7M82"1,U1>3>#*>2D91 M7(,AKX,'+\1U-X&[M)[/!;T+Y,4$$G\ND'2MRM?*!2;=9)E,N@S-*,OG6;;) MBQ1!XBDJBA(9W!D:Z/8PU3 CZ5 808P? 7 7PQ/%<"_.9UIAE.\NF5&6S/#: MK@I;;?*U;(UC&Z&'RXMDG" 3D9?0G9$,HZDV6(7,[[+Z#665^#-E=5\^^6:- M+N5K989M\&Q=*#2[(IF,XU@DG=LC@AHF!XPL'2ZIW'5Z1(R=^!#4=\']?H(; M_S,%]S4C2Z?Y?+9<:_/!-9]4(I+[2$=DEY;<42RK6[.[D?V&LDK]L;+*L%6> M9:JU)AM8V3W9W>X 0R&.J*S"V0;YOE7+@R/PK-@3\;UO*?T9HIOX(T3WX+8O M7I%,:;B"-J.ZLA_>$2.92MJ4](6KNM8@&T71W>W_XNO]W]U$MFG#NPF%A0$V M4PIL\4ZT R6P.B$0M&D U]?O:^+O+_/XG[$H/BCT1#TXLZ)Z82H(1#W\J*\_ M!2*C6Z[O1%OHB;70[T\DE-^]J<2VTNT]]/I@GR MSY7I>)!1[%BZ"Z6 QXGL+X!NI3F4PE/30 MP(0%&UV13.%H/)*AH)=Y3N'@8WNCO\OBW3Y^*_%,!^NSK"1[EN.*1"*:R11[ M@IE>2V8P[-AZW'>A_(9"^6>$> [O$POF[I(27M*!:PU6>0>[ N71%M/-/O'^ M1&+A3(+-WM5<]JNM!XM0P06KZ_Q"8WL7ZKM0?RNAIMCY"++=<\5$DB(2!V\A MB8X 4VL!W@SZ+HW?4!J3?Z8T\H5<-=T4&BPO)O!$,IHN+P__EKS[ENPW%;W4 M1>L#1KP(T@=Q$+5A'"VX=)GR2N^KIM0G4#*!RRD1)P= C*.$)*821%R4"#2> M) :8G$K%UV5ACI?""4N ;"IR!>.X8-T+/+ZGNS^A-+ZJ/%0<>[T^%)[:U8<* M:CK].$#H>WVHK[&Y5Z@/M1+#M\_G1Z,N4S#.V/8\_F:\L;T!?W&=IM?+[[X8 M_;OTXMLGL,_'D&?2D#REAL4K-4B#8<>PAU@L9,-+XH3X5SU(4/DE@7[\/II? M^R4\/9T"APN;K>.D+ZN;G7""]VM$['TSW TZMAYU;#7L+Y2S]XSXKX(9:XXL M/\AZ<7\&]84!?# LGAI+&T'AYKU[KM!CJN#)(%85:NBX2+_O$JE.^*R$DPJJ5 MN5(IRM0@%1^*7IN M#E B0=?%Y,N6PW[/->:E9(D%):_?D\?%II2:B:F7+9M"GVO+LW0>G4S, =Y) M>!6W-PR* K]H2IN-O% 4&0DML04NW5ZV5:$^$S'L9=,E:++UP1QI"SE1)&:] M9"?=-R#N\)=-G0HQR@GH?(8:-5*D.)H8,TO8*_&R*4*D_%EV4$RS!C>Q:S6R M 5"(/.P \X')5O!,KC47%KR@X8B5]?IS".<#W!_CF;G'M$45-H36D2Y0 MK@>8-7&4A69D.P*+L]9TFL";=<. O1[@%A(79+^>:7#"!/=-(4YZ;FHR%/$# MW.KV2W6S75F64&H^P[MR)VE:@UG0] 56B2E6R7.->5D <5]2K M,I&&M-.B6:H3+^IQSFG6EL.@Z8MI95DN-Y8,*LO6ZEX-2:.]*H+ I@>0E=$; MCE$ID:A6*XJ)?(::='(J^6>H(?J/?PK.U=#H1#. LE"YJ'(6 M,LZRN4DS+4\6=3O1@Q0X@*Q:PHJ/.+=?UOQ:9UFMIMN$F(6,/8 L;5:%TFJ5 M"*&-4$6(%E^<5&'3 \@2%C.5;JB8@DHB4^?&3#57PF=![?D737M]22%Q;K9@ M#;TCD:9*%AK3M$@

    <$[IL"J%1A)L M3M=%3H19=J';5:6;-.]TLY41-Y65BI2A1MV'!V6)?:O]D1.^-ECFYKQ2X!;W M-4:WEC5GU(*1[/Y(BN&8K%2JS@L#] 6:K%>%0W\3IK:)P=5%RF.ER@9X $X M2TL*#7\JB*B>.Z&4!]9)FD2DV>ITD?B>_/W*J=&>*ZSZX MU-KK#Z>B-69R00M&T@>MU_U<>6PDZ>J0"$YM.QA]T[)33OSEXW.@A%!SSOC:LBWFYQ]U(MTJY='<_OB5#]Z"@@G02 M=$V5!)H#4I$37)XY$'\,KS0?LF+TP]*NG?B$IPD]'E !?<>%1E..K=IQEC/*_@D0?P$I3;HOJ@V9DI>E#Z2V-8:E!#//LA MO-KBVIHPZ9K=JVC=.TZGV;O!4+POJ3C-Y6 5%;.B4_2] M)TWGR1%7Z(C9].FBMVA;."TO .*J*:]8BW# MS'2J4:EWW.!^*@M5G%-\2!%B:EZH5KIU4'@/PLK.CF_[794,W:,(5D]Q- ^Z M&_09L+>J,I+,@C3599ZE4KJNIO@]-<;KM"*J?$I2,?!8F0/)H^-@&A)$F0(E M!BC!2,'L0 PJ= ^63XO8,$= %'(W5L<*I(-WX-,PA MJIJDLYJ*!)[C:79?N:;2%"<#30F<#C2EL: 01!6TMN0<7V"\N!E9<&(TS>FX-A%%ZE1%"I*MX'KX,Z5D06*$:&W>E@ MB&CJ[A-I#G$*D^+QFT$^J6"!R@*8%;K ,"F%8I74O@DFRVD!1H#Q28%B8RE5 M@*^0!K "_*@2U] %/W[-M MSO=NY&+!FNE.9J#GLJW%&)3MGJ[ETBBM,\"?O*P!'EA6EY14.@7[HGA1!0N+ M9@_HV5F5:Y)?K5:FZZK=FJW7728'4H YY)%"12]U2Q0SFL[O*;:ROJ7R*[EU MH)4EA 2PJ'09;$26PU(+<*NP(+H8B@*KGJ,I^D B]TMWQ4)) M+=6+25:>U>G,@08!0YMB0:*"W:E10&:T3(/Y)L"[>88#I"A(X0_6W>JKMX(D MW"K3.3VD!ZF6ZMX+RP-I"^:9J @ !; 1\;MYB@9[&#P5'O@9"5I:VS=8L=G& M&[E\+9NN]M;#IOB04^YURV\=R%!)3BL*)P,- L$#16EIX%<56)#5>8Y+IX&* ME0/;8J4\5.JYYN*FL/8FC)WIU1[:E;.FHTXWQZ"9NI6I:$-%[G48W9[P5C8E M:,L/.0;=H0?CD1YDLO[PC,;SX_- W3%-9XE#Y?_4X*/L1O%Q)_!D6_/^]?-C MB.:9%$%.[S=!Q3 +0\7;F'GH9_QA>QEXUBC\AH-':AATBD.H)-XG![X3?Q$& M^\@W.S'!K42.:,QCU)7GKZD4B>7Y;KRT:$HZW.BKTTT8\5IXLAK$5IAL:TH' MIM$!RS$HX[^3^-4_P[CJ$H#WVW!F%&(F$\=#9<5SS,!')XYC'IKH^+O!P@A3H1]Q>G6:27U=X#!;V/!?PP$8?9$'GPTB;(SR>Y9;<'S M#0M?B/O/OY4+UO>QKCHF_O+_?J1_O!8>W#7SL>6S_I1"CI45NI#*A52.D,J1 M1BG;E')1K)]#L0H'('@*Z6&9ZL-_WTA*G+\*[7E(#\P$3L[Q/HMH/!&*-T*0 M>:T0!'1SI^TC]*?H+KF.YR6RCC.](/M/DM./BGR,ZH:F"%%2,NV+ZP M]@79WX"U+V;JQ4Q]K9GZB9TWPTX,D>Q>3-@WTG.?F!1(T:8+';R-"OS$=)"Q M<*&F!W*1Y4(.%[%P$0L7L?"D6'B#'GWG9%/G @_6A'!!/S.LS#8Q9MXIVXE\ MP)E(3.@G[9%RXA#NT^7 HEE>?5G3/Q,3&+M;0J+WCM4\B;C26Z^4"D^++.&G?+53F:G9EW2 M0^I/+7#78+GOWQ[]]7+"B'75T-%6#;N,U[RS2^W^K#=?YZTEB[+TJM#Z\3>] M7_HMD4R\*2SEU3O \B'7JF?ZM=8-9:5;5;-4K6:MS/A4L,P*13KGE]*F)Q39Z;?)*B]5P'W-]O/[W)0OU[A]E,)@WEQ*"6; M:>9V:F7RXW:7Y7VN]/J"\$\LCT24CQ2*'RU0!J78KC8U;F=4<3">:H-D2V*E M](^_F11]Q8I/%8J_B(J+J/BCE-#WZ.F1^.=%.OQ&.FP=06S[5$?DQ7U595:5 MNYI>*,W+N6*@+>H5MT5M3TDCPDR5JW2QS;.JF,VM,<"5' MF@8/1$A=4=RAM+@(BXNPN!@77TH^/-^ZT*?5C&YU,9BK]O2H72M.Y:A=[(=LV3A129B<^5\Q)5G*Z;'"\-U_GI_63YF<*S MOP%G9IX4QJ-:4>A56E8JI3JK0KI_,G!ZIK*4VIFZ-#60VLIRC95MKC,__F:> M$Z ]?_GP$0TUW]W,>3LA^%W\G[<)GOR&D9,SJ55FIUF'8@*AWAZ8 XMRQ^_I M =T954]@)L,:9:TDKI[BRY-*H26E<7259JXXBCI%(]T+FY\[FW]AS^6+-F [&AF],/L78_;OHM/?*&;Q M&]8W:OV2)QM\4%@'LT6QV[GA%N-W#6NJU5SY@5Y3MY11J)H/-+VJ2A)N]X+# MFOP5>U'JWY//O[!2_VJL_7RM7G:DX:+(WPPH;F%)#:O #AD1:W42N4L*3 M6OV+I:%V71D8'X!\23V]I)Z^77B3D%4=DU7TLII7FDOJW2)'6143YIY[';E^ MLGQ32C&6#TDZW9]V%HR1REG-+$JWCD3@SC:@>0# PGUQ>L??/52GE76W?XND MU9U07IX*@&9O41S?W-I:89UR:(7I M]<>[7F\3=#D0(PL;)=GYHG-#S7VZ>9?J:]D[M'Q/7\OPW6)'8UF?6J=&7G-2 M:5@!AUM5IG_\+:2O.#%]22"YR)AWR#+YZ%U_XECN!XJ5Y_MYJ4K:,[V),J9R M]\MA.\5/[1E:@J#!T5O^BAMMFVZFD,K*O6+0*^6'+2_9L.\6(NXO2T+'])5XL641$#8NO_UXQPI,W=3YG*FW7\67S M]JQ2*-8N[&N=YMSR@K:BU_9]WHVE+B<5 NQ8A7O,!? M,B NG/Q[L_.\./D]XFCOQ[S/MQ2+J<+]M-A_Z/ SN3Q$4> MV%F\9"Y>^/FBF7_K5,JS8)93D_?Y0M*JYN^#?%OP['?-32RA6]9T588J<%V_ M?]-T@QMT@WD9!Y@8CKEBT]Q%-U]X^:*;/Y1]GZ^J=,,N-T)H:3#/22!*F M??\N@QD:AW$H8&CAL$#3?ASGW[X,4_]]D(WSAF@S;& Z_V>*>PLV?8]U=20O9]UU " J6$[R34H^4V$T!?"7^3 IF07?(&C#VDX"-JT0)V\L@C]%\)1?;@'<$,J-J'A:&X M&1XF6"^P9H3>'1W_:+@)!-\ZEJ$F%)A!-WSO*N&X"3F!7X\9)PGSHX2%_(FC M)7 _S<0,(.1H7D)W'2OAV&27_A(@LT[J>#TX"PS>8I 9$C, "'+)A/M3)539 MMAT_X< X=VEX"'[ 8#( =NO'=5\GGH*O$J;]$@@J"&!U%(XYQ_/Q$CK(71CJ M(ZP $G)BYCHS_(ACPW0[6\4;<)$E [CAQ?%4(0"N$]OLED A%C!+D\?\B8L0 M09=- CT-/$2"$A(2QQVGTLL92_QOV\LE#99A/S1+,))1LPMC+(H4_.DL12L MVWEE,=L54>D7B*AM:#3T?2FU$4?<5K)?96TO>"E)*3TTS'*UI)63\\76C[^% MZT,YE #&-3%0,$A/!JGC^9;)'CL/^MZB4Z@\)&_N[_IUS]SSM$X,*?7.;G"H MH?=Z:[[15MG1O5RMDK3(Z\,J%C&HKH!VO1E2L90PUV](K[3X'O0*6O01"_ ' M4[CEJ-JJT2X894NJL(NFV5J]*Q;,\="O))G\HB??Y$:2)\LIQ (6^ ^FUWU( MS0:E84/*F4TJI]!R\VZF3:3TNT(JR'?\GNZ.O0*G>$-^I$KK8F$)]$H] :H] M>GTW]?T:L^+5N=N_DB6[(.^H$Z0%)G+T)RR_8N '+MK&3F0*=+%R[,*"LJ:C M3B/[3Y&DVK#=O*DN&E2'\8\HP:N$ M3G84:_!=007:V\!O,W2#Z'YC XV$3,"1,, Z +/$,4UGZ27^:6#[QPD\X"WO M7S_?D)K^F'A"XR4^C ]=)166+<\\]#/^L#TKAE_4YMR25TE";G:\D*2)=/^G M'/A._ 7Q>,)O(NAXY;FKWF>-#3WW7AI6YW5?SS#)R3O$:AK M6KAT;M^\]H\[M[_:%4]=I[D+(LX $?0U?^&(LT!$ZIJ_L,0Y8(*ZYI],%[D@ MXF6(>'Z*U?.4] EVC?OP1?[D5DMUO#F:>8L[\[]3=R?+L#S68.D-S@>>UAEG M8LF>6!Y_+IS]3JB=$\[>H)K QTB2^ PV03-D A(]_6<8I 4_*@ILDR#T22_5 MG%SCW$4D?GVKP(7E$AZ&J=LRX#;UHX$#BD-00..PM MTYT:=Y8BV(4*UW:0O!QUNJ6EQ$@I7"32_K7,/]K&WZ?C1RG/Z<5 M^!')(^\N=-_.L+T(V'<5L'5857>)S 6JD2.]([)UVO;60U-0EKWD0\H:U5A7 MU_MC*85E*\->GPOC:9)UJS?+I;#E-S%_16QG*:OQ".Y]9_:"#ZM #]W.9VZ6,.?4.I> MA.OY"U>S%#+Z8P1=)?=:2NN@$QV+!V>+#%-T)2[F0]*9=)\??5]4.+N0(@IH6KVCA M?0L??7()?M:"NCM!+I)U'[D7:_@EPO>C2S*=U%K^Z,U]01FMPRI?)I\SF"F? M$-)W24'35N[Y0>:G>TQLU]?F6O6I(0 M1D=PN='GR?-O:W6?S<7YUV41IV((>X_1SK/M?[@V>95GZ6BY*)!)+8 MM$IIL@R"2&5YB65T09)%1$D:HMFT2*N*K(LPW;_E^ F060N9;MQRMX8\';CL MW5U6J)86:(RO9>Z/5-=(N7&J\WYO/;0":1F4:@VTA)'I_9%BE9+OE'E'H!IV M=9)G2P]Z4\2): ?OI,3<0RFI.S=4:>2-F_7!P#8=6OM?M=A[+R M0C5I):?53#X#(P]F]Y:(2ZW+*;? %"B].5UH]6)S++&'LP>5P<-RL:ZG>QW6 M*0_+?06)"]S [&"DDUJ9V7ESM9H.LKF&:=Q/N^N[L<0=CAS5EJ.:QK875))9 MW+>$)K,2:SB8P^V/'&KF>%AMKS(44^-,?O201U,>ER\Y>*?1UG*WU7$'1N:' MEIZC*QUKD %==3#RH<9FLR5'6E-&M5@L9"Q>+5M+4+L'(XOYCMWQ,HS2X[2L MF!ESR_ITT))HZG"HG!F9]TT=!N30P+BQ!R.KVP>RHP^'IF4^W1[3:ZW7F?#3 ML5WQ6+%&AAX@M&$7LY30U>AI3JLD[V\?#%%16GAHC-$3WTG.(\7/&YYJ.E[@ M'KE>W%]9]4Z]X;:F%3Y)E5!*F:3L96C5@-I 6L9_8IR$A]$GNHS\_%1*[CJ! M]YEH*&"%A/5:-GF5YZI+WNDN>D/'D/G%W?+:M%F=*N4:U0N2:2-(9$^J_C.>*33;POB'@O1%#7''O!Q!E@XB*;S@01]+5PD4UG@0CJ MFA8OF'AO(XFZ3E\*4[PAU%^8Y-@R>*?[R M_WXP/UXK]YCK-'_RN[6_ZVW_5(AHMW#=KR[8O[$!] W)@'K2$/EP,M@J8O-B M*GB6JOE$*+](^8^6\B>J%O)F\OP#<_;^E-%QJ/RS2/ES)@/J8QL2_SD9T.)9 MBOF3U IY52+B1\CU-EHXY@*?YJ@NT@P_H<5*GF[CN??6S \'2G^A(+AZ8#K5Q$, M1SJ7OUHRH.K"D+UZ>D498LN3'\QL2Z ^0#+<&L:B/Q4XM<"@XKBK-?ERDEZ" M9.# FR=$X-2N6%MU9/@.L#A86G:;^E-6_@B7U:6)F=<>'AWV'D VN MF;ZTD>M= F:?-6!V3KN_F&Y[\KP3X$,/ _>6Q2- Z#9=QS(\SW'7F!$C.=^8 M9I>+687R>B5E-=)$G[T9\\M7RWG"XC 7UB1>4U[CZP1'I'I3G6I--.W<]60Q M>V/X#][M9+2,:IYQ5U3Z$E'[:A&UE[#..Y35NAB KQ08JMC/+XI-=MG+#=HC M7UETQ-ORR07&/;7(+MA<6B@8.<;,W'(/+2J'!0:8@:QPQ0J'[8@O@;;S#+0U M<-MU(!?%OT3:?FG'?72MJ8\&0FC.?304/EY\O^@TEY'H]D:L M01=NZ=:T8S*2M4QW/9=[O4^?#3QPW3TO].')I=8A P0_9X'&]'JCJT&K@O/;/V& P8X+(&W?$0GW!AN=UZ==5)4 MLI4)>!.51;?;"NLQ,I< X)\% ,^8]3XR8GC&8#F42"]O!;.G_OS$]M&RZG@%>9E?33BRGQ)&BZ!^W'J&,-]K9#6R;6>V1<7)<0R_>FBRPCP J #(T8.8?Y^'A98YX;R@73Z=U0@[94[B7% MF5BSEE%98X$_D/Q'>\I_"_ON$KWZ%M&KTTF%T]I^;RL6%JUROH^J7&[:275F MC)=:>UCI_"5BX1+;^]C8'K;QKA(V(@5!7V'\7>)^E[C?)>YW M/D;A;TXG'Y;%5J8\16O*L*G*@Q>PXFPQQLL)HWO,B?S[KV7]?9GHWIF!XQ+X M^U/C[S?LW^H]I%S.2XH]IC2QY^.\/E@Q+6#_*+Q'/[.M[R6\]TG#>U$Z2V*& MS3SG[&^57L)YYQG.N(3S3FNYY4(V/2+!5;]9D'LN#+IO (6 MW)&CV4N([JN$Z%YP$GN)PYV9*?9K?NY,F^5"=M4N38VZX9O.XLXIF82?L4E& M70GTGX7=O[SE]9F#;R:02!*?R\?V& [";2)REW#;>X7;/KRWZHZD>X^*;Q^^ MXX]WPM_%D'N\07"L8$A7RS?6$_.F(-^TV,D-KVKC+FEB%T?CZ$LT[KVC<1_. M&>\J"P[MOF\I"]['"GQ2&*1UU&B8=XB;=FZC0@#8@BFKU+T:7I* M?T$+,>XN?2[RZB1-KG;0"//[\TP"[U% /J\!O MUQ8.BQ\FXNJ'"6"Y!"E45R6%ZAXW?JX]0M]C764[L6F*@ 7+56*)$B :8+R6 M< (WX2';<-S]0LV)?^*NG'C-#/57#&'R)_W7OQ(SUUD8^ 4*0#WAK6T-&-I' MV&U09'OJ724,&UXH>QA->!*0[6[8WE.500'@"737L1+_>RHQ"A+T.=?Z,R$@ M.@0&3U?5%%/U1FTRE+*]2K[IC&_G$WFL[@KD]$L$LF&CAKXWD[PRK,#*QL#* M1;#:B&DN%--UV74E1]%$>?Q0D'HE-TVEK?IZ.;!;/_YF*>KZ,/Z6 -HR,8!] MYW1 ?V8MA1< /=M2:$WLE&^F:W=03L^J_8SK?2#0:W)C?"^NQZ6"(<]NF,P@ MJ4\;F1]_NR+M;C^)$X?+,JM.^*NF9]-$'W5,:B@@[OU._Z>C(MCH%?TD_R"U8J\H>SS,OK MS[TK;#79T6K.I)DOR+:E"YVQGBFOQZ0&W9.R**XJ>T7 O,,8D8KQ\"[. 'O M+[-@UAW$'& BHZJX)(UC-V88(D<1HU<:';Y3J:D]U%P4)B,VPYINYK>(D>-7 M)P#XD2H'[4[F(0C!J'J45%M1PVT<7B>ZDT=;X]%,,ST'O]0,,'K!? GS[", M,/-O]M$**OZIBO!-I1CX$6KM4G)8ZB%-I9+>HER@EQ)_+WP@W\V[J]&=3TG5 M0E!N^ZF5D$PJ'.8[[DGTDG1*[%E':@4O&$/?)'OV\,=0^808W& .K6:&"SB# MQVYE.Y#=-9B43)HP+RBRHTY&V'9PJYNB:B+9Q5[?)#)4-QX_-EA/T4[QEPUF ML-.7H';\>NS<[K9,_.__VND%>>#51L&)K6U%/2@9XAR-43)L-2GK,/-/V5S* M:^^Q=SM+QX&/GYL 1XHXI-0U(_XCL?49 ^0 FKBM_!;,=IVQ\+'=SO'QE[_I M>1FAQG=F/QGZFG@5\&>T,Y:^9D^$JSU/,?6(F?_(B8F+N?E_NHYZS'%\[91; M7J>-.=?<\3JCK[9H",,6'YT0#@)6R6%)8^.TY,BSD__>HJ%?4?XNVHYA0][4 MT4_EZ4$F?5^GW9K2GPS+U0X$J5P;V1I 9\ M+@,CTP=[MRR--3M=BIJ7B[V,OJBK@3>&D?S!.@U!7BQU.N@%Y;I3LU74N=/P M[.+^2*Y/SRK2HMZA*I,;?S68>%0UP"5\#G8TJ175V2S;M7N#?CTM\%.N7.YJ96IS,L+E@UN821\8Y )6!U;(#*(.J2G@H'2IP> )I&?]WHYEW.!/8CE[/7$2:",,8#ZF!&P=" M=,/UL,.&P!2RL5WC@:7B&[)I8JO'Q,("!T-FH&,=FQ0T<> S4:PJ D%'3%U2 M#BI!! &\%ZPA&'6/5/@.7H@_X.\\F!2>4QQ;\T(7)7QL@DRR%A5>*QO8< )] M[8,BQN_""S(T0W8-%#Z$%[.<.'AYN-JPAH,S6/J @H<)H@L7%@!A?17Y0;!= MF'*S1?R"ER_X.E&V,7IM%%IW2\.?1.XMF(K8$L,6QF'4R@C#UK".&4P!9A), M"$M_:VLQ#UO'[\$&(T.%!F/7.9&O@%J+KW*_"9_NZ[-NS?6\M4&95-> MXY5X#;UHV( _/"V^,7,\@"29J=OT8E&:=DJ3=O_FWNC,1MAXO&:?,!W!_H]? M36@",*$CSS,(09/K.8!*V4_(+DHHB(S:W.7!';@CU\$"ZL0_$A?PP&]HX"\, M+XIW7)T?BO?\\<4@U9W+]RL4QC,>127+5;B[CD&K M5$Y9WRCYO)E:($ E]20J ;X^R 8E(,<4F$LQ%C9.>6S6[V,Q(%%=/!3I.F9A M(C#@,9 T"0OY$T<+_89'+)\5_IX7OEJ.\K?+>U8V"@VF7.BHM_F[%Z0"5W2I=EAOD6,TZMC+/E,P8I5-NAPWY6Q:Y,DD65%]C"5X$ , M3)=490](8 )F$*&6#5^#ZX]L#UTGBE'T9RMVAP^47#QW6,(2/V?)4Y28![(+ MPT!%SR(.V#D6(FL&:RP\"7HF%2>'7U4+I=IK+46DV8/DG1$1, M2:&(>'NZ"I)S:UA3_6SP472DFO+ M7K67+"13WK##BN*JY(.B3EWSQW 1\:\3S960X\D.:B'&0[?9,I;?BFP26UX+ MT'[HCIQ,P:,=<#]":SM%7>%?*,+6$UD[D7Q_WT:HKPW*'I7:@7#?LBC^OD(% MG7)FE6'&]^M>"S<[O3[$X485$]_/QPXA#L8]'HA[6"@?5VD9+N^Q6^$)9;4\-KM9H4Z.[)9T$M*33U]P!6L(["UM.S4'H M>P=;V!+^=D@XLK<5].XJRI&IV@;U&)Z(>O4 3[HA36J+-.E>VEJSC4YW.BBF.[UNKEKS M.) 6_M(YE.$;*]@E24[ARTFT;DN,!X M=\?<#E,]LOCH%"^*I*4EPJ5MSKL+ M@>MHCFG*[L$8XD3#LWA2CV!;!\7N8WD4?J4AK.V)KZ:L0TWO.J"QHP -V 9 M-5/D>U?@ELMVY+6O$VKDVVM@IX,5C@]=PS^7=FB+$ZL<^XKP7[ 0-(T<3H3O M RH,%P.O@M=H6FCP^V2I%W)\)3D6\S=)AN%O4H729'*3RX]9IF=G?D&.!/O7 M%RE(3JY-,\PK-,)4 LO"IFUD#,L'E/N3K&[GB/HE!)?LL?.@[RTZA!IXU M.D?&IZ!J>'KZUW:RM1SX3OQ%>&I-OMDYW-Y./0['/*8/\.*U&)Z7^VZ\M&A* M.MSH\^XKLM0U)3R5CKYUN+OU?AS9 %&]C.$6_TW.C'Z&V0!8?OSV$#Y*C" 3 MQT-EQ7/,P$[W]OWB=ZGQ]='U+=X6!JICXB__[P?_XY7P2*>O MGQ2.?PR/S:WT8[= HDF4G4EV[YSG')O4(,,9KN$Q%2F<%'XLV[A4$M)L4MX2 M?^,[__FW\C:$\K2P>A/ /!\,<:6W[;U=^/_"_V_#_Q]8]^^/Y0,Y7 K9X[%8 M OXKH]T'WD9J%++E;CYS$0X7X?"!PN$U:#W\]XV(.(HG?V+>KSZJ_8ELAY_H M:XIZ(P#]SH7_\/V?F$#"6-(GI@],"[%9&%,'3O;\/-1QH86WHP4^O4L+(/X^ ME:0X&UJ((FJ?F!@PZD.0.&[XW[&+P,-TO[5]^*JR@1]A.&ZEQ361F\C8=F E MXJRO1)CS@W/GD);HX=3 GY>*J2N/_MD>K7WO[)K;O3]JH]*VMNOPKTT2L;GR&T=Q8-C-['&#M%L?977&@^ M>DT 7UDF[7::#7]JX4$##1O%M\C^]U1*/ZLNN@;/S,27O M/([I&W\9C;]/Y8;<,)<<4YRXRHX+&8XJII=/W8)Y2>?O+"XPT)F!:ZLU[.TE MT0=7I'%MKG4Y&%K"M#PMC5UY8*E=MJ;@ZE@,KF9RY,+Z9PB<'++E/W8C(F\4 M&;OPW,MXKKMT/HKGC/1DR:]R?:L7B,MQ8<@;C5$W\S$\UT]+N:;;N>WW2K>V MK-?95+\]P57N6,QSZ>N_#C)V)O6J*\ M;N&#-%V=LU6[TJY)A6!<8(-E3K%F6:SI.,QU1\J!7+CN'=V^K\9V12=P/XSK M&@]-N?6 M$))DS.K(MW7BLT/TG4>XP-!%%BNARMS]-L%9SR8+('KA/"D]A1< M]P&N^C^^P!G+OE?^1*F$R]'*)S]:^6KB]CV]^4>^B)^HS]-L979G]*S"=.$Y ML_'*&X\_1MX.\FF[N\BJC1['WC4G^@BEU26N-\W\H@#=%PN8_^/S'W]\-=Y\ M3Z__@#=YU*)HSG7"US6J/,+J2H. M\[C".XMY\YE^_X4W+[SY6:,#A]S)CNO*;4&O%G+#J?10;I=49'^0YD3E0K71 MZK7G5*GUD,GG[(4;4)@[N3"/\,*=YW]X_-78\UVC" ?A(I:RIT,Z426DW MW?M[2KW5/RAZU^$H(]W/"B4*=>?:PNDVU6$:]SP1<&+G,^,(GS@78#_ $+<4M2@"%\ACME8Z49S,3\+I5BO]H ,"273QH/M:[?L""U?C*EO7QLS%_5_BCI.@1[7'->+6S06#P6EW[5# ^/(%T,7=GRKA,#7'9^@<(VH8ZJRF%O(>"6 M #=)/KKT<2##:WR$<&\M0J'XG8]S8A[!9!.VO7K<:U3@'W]#EA8H\4@,+3PV MAEPLG!T//;[M.M& ITS 6-+EY-0M/(X:L)[K M2\0J)?(,_U4S;-P[]:TLU/R]/.U0XMV,6D^*)55,)VOL[!7>(.GDN]-.M@B0 M>VPF<5P4#AN]2MI!VF**V%L^M\BNC#D[_IBV'<^%?]B[]JW@7Q^(T_6 S14+ MC=4==6MY2'#N7V'OOP[^4J;;8R=WXVG/Z-6X#.:_ MPBUU<$^>J*T#!F'4)G130R1!RH,3L<8W]L8N(P+^HSIQC M688?*C\4%5X'X1IV>PV!MM?O^M%<)V:>&K5$2-@.:60(:FN_5KSC'E$1N&F> MO4Z,#= Y4>GUL #\1Y6\8ACD 2_$P3+SFI>]1=>I<=T M2L&\Y,PMJ4*:ZS''!,%%$+\W@OKN>G!;!(=E:F7X\1V-FMRJO\0(2AW3E&\A MJ7\CHB]2=*=O/*9E;,EN=:90H]ABI)"P\%R IX"[#&ZUKT R-M.]3;<,$^Q7 MTXOD+DC&S0#2ZRK4ATOX&G!!.M>:8&/'4XQ'X\>1^2X=&H M81UX!]H%@]L8Q$N@^;^\K;9CQU )OYF!AGY^>]C]Q]BM*(0__S1 D!@JABP1 M*544!9!(>!WD%%DLS?RUPSJ1QQXUU=T14]AC?8:H(L.>%E?$4L$]J.&;4X>D M]@\7"G$/V7P<_R>1J=!=KLG@?AX>&;Q:D8UU@54*4T>E!KF)F6)\1TUV7^E1 M["XBWDZ,58+4HZU>UKXNVC?\PWIJM7A1:=C!39/*X!: 1_P*C$"DQ31 )XM,S9])M]ANS46U6 M8)I"DY_T%&%&M=Z.MPAN0]3&F/TUFPW*E'Z;O6V(!8ZGQQ58=5\W["8(,B+FC)I6_;+)EY*'MI2F0K"GK@)EJ5_8,_U!>?F+7+,8Q]>_ MY^CG\&]X7 US8'08=B!'A_*DD/56?6X5$._B _=)),;BTE(I+,Y.4:#[ER6D M<-K[)@<^%*:TN%^$^[__:Z>Z^$%"050&:VM;455SAJ0)C%$R+%XNZS#S3]E< MRFOOL8L62\<5MGYN2FFE2$H^=,97X7GHQE# @_'3EW:9!PHE%\KRPI8H M[\JK9BS+O7R,WXRM=3""VQO\-B-4]< ,*SIN3C;5P"3P:.B_TE-A2\Z&W@H] M*.^HWG+,BIDI"ZEDKS-8UWM42EFE%N,??^O@6A_JK<@9\["C1GI'$WIXC.Q' MOYOK#7EL1Z:BB!8Y?L!>?>C3Z<1,5D,S676^E8-'OY^!DLL]E%VIW9$HIN1- MYC-*9-0.&"CZ\5MV7]-X@32VX!N$H#B MM*M'B&:(ZH%?NJYL>R$HC_9L%WM!U^KJ_?34RG#%Y1'\."B8T29J38VQ1 %#*6F]M$$9U9 M>P"0./2U!J,EH3G(VXYA7FCFQ323B='3C+4I1DY#WR(A[RB]Y&J#?K]65NX* MEFX4[Y>]ZIC7<9H*=81@PBH $=5<)VZ<)0Y]7$6G.:8!9"M'_&^#@L3)E.L7 M1D_ [(K*Z&+:LS_D=\/#P*=.R;T5(EW[AE M!/N68H;3-F.OQ^"AO#*+Z9G$5$?/"*RVEY5*![G-;*%TEV0[O?OT<(B/U9DG MHP'?7NL.)@;.+3YV.'?T=-4A@M&; 3)U?*4 &&J,#:&M/)5#=P8\I/!\"U=Z+QZ%61 MS-,XJ^:I_6P.D'5YX;AA=C8HR2B&O 2;.G!=6" A^1CJDY@XH3)A(UE(ICM M.#L2A(^*PT[*.CJ+)FF?%XH<1"@%[;R%=G(BCS/3HI/*8\3YG?.W=V-APMY* MD[1P&&XB(2?N.><_1\JOUQT?$58#U]@"6#>6-E#ON_L,9TK#&2\Q S$6G[&" MPO? ? VC*9MS'6*+NF\?MGGAK8U.@$.RP$X^PB,RMM9T'K\Q MS2X7LPKE@4FS&FFBS]Z,^2?/NI\(UN0"*PAC?W'$)#3&#.1E0JAH1Y6\QXEV M/D!I?YJLC7JJ(+#9.V'YJ]")&K_S"LMD(HF=P/56232"7 [ZF=@_?"WK,\@#CCCG _S(5O^WC-,)OUJ#D_-OUQ M31HA;\KP=TSO=G(SEBLML,JX:_K7_M^OKTR5L5*P[P,[A#71"L0=W'+UX-%N MIK/Q[A \H&URL>!'_"9"$>2&!;XC,=N C* M8Y?D-RRC;WHJ>%ZW;7LZ2U/-0JSW*RYFD_[POCT=%*YG71:0GK1 M*%1*:D;MW??34A7H1'@J3/#+4"4QPQ1PY;U-:/YJDW2]"9A>A0:GY\OAG9?M M>W?PWO>*=9X#4D]^$6^A:RO5=A=V(3D=CK.Y;/7^=M["64I'"@]L*_7M2\HS M%Y$&R?B^&IG.PZ)LC9S;4FPP5B^?)BI;"!2FX#% *0&!Y_1)E!O]:?SM:V4V!NE)20 MTI"9U5\>F'JQN#&65-!3F^UZ3ZXL5A5''T]D'"SXYN+FHY%]5'@!^(\(L<+7/=G*CU(4(^>KO36CW][+F=-+G=N'>KF=NE>ZO9MCP]+]'+U@C4#_LR,;2Q M=%+'98MCPS +UX9P<:!L3[X<2I)/*SZZ2Z>\V>?V$=,?$4J=;SJ%47_$3>5; M*R4M96>8J;^#+Y1KM_M-/3^N%RH3^V2MFS)J..OT1)RD^)+OY\C"8JU324IQ<(XU6S"RB M>( IH-I_8AQ)9J1_)!#@?@:+ <)$)ZH#_50_51Y?;=QLGYBO.P#8=%K]C.<5 M48(OF0S/_J6/9G*X$DN(P:J\] +#OYS+/)XMXL1;+U#NP=,EI\9192,3C;&) M!#!ST1B?36!_BM2T(?F]^"(JJ<@0 11>8Y""19&C%B9.XX->UR,:4XDT%2G* M8\$,9);X3O)CH:(X^Y(<1%A8Z<%6MDXW89HIOESLP%]8-<=.(ZX;1%;W6/4' ME @I!*:1;6Q2IF15!2?4#-.$X5N%:'Z095YT$YJD89-22!@$89&*O0DW4 *- M.I:W/51X>YA&0X[,MZ^//N[!B_-5\&))O@$^(I=MG$DPPSDF:IC3!18FR;W> MW,>&U>($+.P38"0 '&T %7[3YC#?F0',HORNS?5[%^&2&F$Q#">P/61>D8Q9 MTY"5Z _0A\I@!%=_I;#"AI /#@I.""Y#?BU\4XW&6=+L+E(&D186"JQL; 1 MN7P:%[%R9N3$#V8)"RMY^&J)-TGHIK,D-3NVS[#ML/LSK!/?G,"YO?C!Z(5 M&IOK)X <$Q>5Q#?75'R7XEO<+7]O&=H!1>^O+V(S7%<-,X\:>#YPIXOO0LFX MGBA(23;$L %,F2N",*\6%Z3DS!WR+[=)J1&!%Q=,4!U^$ MC)Q24GWLD4]PR,WP S+3U 8'%?L]X+80;($3K&/)HLO@%>-9P@FV\G?")!V< M!KH)\6,^Q&/E]5/EVI83YU&@CAU'(_P+H%P8ZJ8:W>-+K\)3_PA@(!_6X"]8 M8=)0E+\:+AE^FJ*MNX-N/,O^N\/:GK86JA-I4NVAD7K5G=?'PD,-/8YD#'"1F1O9BS)U-3RQ=SP.4) > M?)]G"P.JPX[%:3/?KRMWK1]_TY^K?M];X*24O9$8JUZM%RHWTW:SM11%[>Y5 M=1S^$"?&1!!7LE/H3.<=WQO>S*N-@,7WS(_A)$I=C%T#$)2;$JHAB^[8Q[LI MI*!+'6#@B+?#FY/ E1-C1@2G%\RPR1NEL$;Y3?C:_U4D-(_("A 5Z@0C[/$F M1"3"(^LZ*FI$M'*T]DV\:+LH]R>[]8S+K%UN/5]N/9_OK>ZQ$D:<;PIUB!Q@68\#'0J <.O\(SO N/K"(!OF,6+5H]LP@"ATQ:8?FSM M@44^PWD)*"ZV!=_AA&8[/#ER@]E.B&@!#ED<>,&AL3T07FTN[.T\O0/ D/CP M3ES8DAV@.,:EXV#<%AW&\3A\CP^;L=_!67CWX @NN5Z.0YB7(,E^;!D?D_L& MB1^2ZO0DVHLCHDXH$(&_8PL+!T_!4Y?#* FR9J:S1N[C5:4X8 E"* JW_H[ MYNBMF";FR/ -*($-F%EB@D"^3K;BV(F% =O=%!HVX]M($\ OEHM)?&ZHD;M5 M2,/!&^!_CX0)%,]QE:T:^(\A;+"#L149AC"B6A3 K%AU@#BJ1H%F=S] 3>+2 M*([:!K--2$?'M?"O8$FQNYGPW4UQ+ _B$MW'??+@!D*F]=&@0289E\'/:(@JD*0KCHO:%=D:5&FHA$(? ;HB!ZY"D#VMQ(!H;A M7149BS!"0;3!#GA4@(^!J^EA2&Q@) FS=5\R::K MA;6Q:O U.MWNC#+8[]T?2=\I]_>E<656J S4E9>24$F:X9'<_LC;U:U0&^0S M\Y[<[*Q5X4Z>WJXS$G/X3J9=NO<9*K^FDC?S2862S$;O9@DC#][9<",XWJ2O7&4NKPG>59R5 \/=/L=7I\VU6DG!W:Z+8F5J/V1PW:J,7D0*O."3 U13E'7G;OI6$H?CE16S=:#%XC+ MZ;JL>=/ "SJ:,9:XPY%B:F!+^<4J6T"CG/$@HON,N&I)_.'(O,\[;DZL\? Z M^48;Y"6]O&Q)PN'(L2&U6W)0*TU+4R5-56XLU_26DK@9>>)2I-8>&4,SF6690*\TJR^E"H#VO9VO@P3>'XN#-)4Q"N$]L[CZ5? M"(%+CL+GV.J/OPNR:Y/6!4U0=QUP/BYF9+0NW#=03: 8/K@4BH?AD_AGU,ZC MT.Q$'3O^E2!%P:Q9$-TC)P?78>C/CTN,1M?+#_J,V>3B)2F7@E\?^6V:0B%"XF0[T,Q!5OR ]>.KY5& ,>/ MQ? *07=DI='8_7IP:ER-#",GPL7AJHY,Q>31N-T@Z^@*PG&W'PK=+8?X MUF>NVP*>Z!LE^(&^WD$]J/>"S1F+A@O;;.O2,:DV'O@?I>@++AY<9CD;* MB^V-V4!$74>CSML"?8]U]2+*?A.^.7!U?DT)5X\29%LP/-)$3&.V%KT;K_,Z MT<-^7<298<3OE.M7?B4\CRX^3O[92 Y2(>_;DQC(##>JP6%&D==GUST*J4!* M&UFOSXKL0R^9-GM))[AIUEM/'R?2XI85#'\\]S@Q Q08:YD.4G%]?P-YA55( M%$5 <8XHIZAR8VQX@-U!S([L^O@+'N_$11&5C*W5'3N.KQ ;M$%T6+0>K>U; MII5LSZCYC6FSPT[ZKIQ]_0W[/]Q66)_MZ/6"_/36M^X:RUJO-"L64[ERKN0L M6C_^/B&&^2^!X8([S*%L*V-0.5ZDC$I2HDN=UU\;.QV&QRN.\YA\DJ&0.;YK M3-4A+#]S4@S_64K N6#8*/#4\&9--Z=SO:56\\T;1-^__L;/Z3"LIU:.;Z9R M14JV._UN2LQ.I]G38IC_$ABFC)2Z+K7O4M,*5>#REI7Q,NESE-*E]:+DCE*E M/%7QVS977HK=CI4Y?@GL%5\\WAN#'20W7MJ.;X:#Z*%EM3&4U,T/21%X3#6I[=\N;CP\H7"W!>DWJ128XJCY8FB=[]O_*4[ MIAE6U0L3#''JNJT:)@I]OL-8Q):5OCD<.1A%"FE%9>("/[R7BNU_DF;Z:Y\6 M4RII=Q2YF:%KB9N1@:]LXX?^21QC)_#@3=Z_SKO_6 C0.'6)I!DE2=[#S$,_ MXP_;R\"S1DD^.$5%#5-;=L*/^/0H_B),*2+?[ 0)MZ.&X9C'W"XQ3!?RW7A= MT7QTN$M?V^P1X:0&V8S2;L(LL>@E''7-#P.99.#SP['_ M]K5G;'"KJ(WMD)(V4:;0MQ[_"4I0O+*[?/7PDFWO\DE.'8[XQD) M'UT23ZB%880""2-LTCPNF/_*F*_C^-$I$'\^\OREB/_<\OP Q]]0P/\I#-Z* M[Z-(470OCYZM$J1R1R*^ZW;&$ M!$^1>-C^[/#?-R+V,)SSB44 /FW[+.KAK#!/0CR?&O&XL_D%\1>6OV#^PO)G M9^2]!O&[>SMBO!U6+5%5A'3]KW.SZG+1)9.#3(^K./<_3,@XALF7;O)0Y07KY?HGQI-OL-V:CVJS -(4F/^DI MPHS:;37SDDK>(163!,,P$:OQ2,B;A+[4C\VMUF528$<\/YBBP=(?="=I?QYD M)!;?TTUQ5RQU6,K[B]%_+,9.MZEW.9@\)ZJF1>DN:*CI3"=;HSJ2,:UGFN.< MG5R^%U6/EMG2RI7G="%XD,:-V<,L:^7&0-4LH6J.Y[XZ55^D^G>6ZJEL:9WI MW3?R%&KU\SF]-6X&/);JW$6J7Z3Z9Y7JM6!6-B9>?M)KM&2)F_#]VTX*4[7P M(5+]HV/N7RRH7MAP^2\=U(8DOG^]F2G<RP@1&I5"8&\' 7[0OU_!DMF@-&Q( M.;-)Y11:;M[-M(F4_D@2[P0EV- ];5#)\:)==JR5EE^T@,3!CV..-(WX#$=G MI_75/LT96N=7%Z /KSN3"HG,7^1F]!<+/EV"KU_1IXNC5D^6/=B2?*1@XA'Q M)Z@39F0QPU2ODZ<+?*XT:#/%EL1%1V[I9SIUGY@_+L'9S^/FO175%S6ED;_K ME=A"T)*9F]::1JJU!*H/C^0$ZGEZ_Q-3_44K?$7/[\WX8Y9K52NZ/Z7DN8]* M_%KO9[0,\$=X9,<]T_7[Q/QQT0J?QQE\*ZH?!8R_6HA2O5="_%2N]MS&XA9K MA?!(3Q"/%16['.E]NB.]Z-!N4STZ;->R7=4M,3-E>Z_*M>\BV0O<=3300O[D M>/KE^0NWCXK^?A=I]RZ>7]E675)S73:WHUT9WW<-)2 %S[I.6!<2DW$S;)^< MV6I#=$0$5NJE@=8N3=&TP^96TB@SLI++)6P('_ =:=?Y.>G_;0.^WXNJ3^S9 MG82JG4R[TRO=IH#S%IEFHY.F^I4UIFI\IB<\3ZN?/U5?I/H7\-Q.0O]LPZ]Z M[)PI%AIZDM92\WZRSN/.3AR6ZI=CO.\LU=_%,SL)5?,KRN8XA<_TY/6@/VM/ M;+\_RP!5DY.[DTCU3^Z2?9J3NT=?;:O="2Y8_%3[GR\6@3J[".TEL>'4(V8(QQT1E^D%RA5[7,DJ&#=T?3&:ZH5N.3=? M\44\(LWK]=YT/).F275 3_FBAYHZYA%P%+G+F>!%XWQWS_-%W&259^M2OQVH MA8'NV86DW/1*XPQP$[B=W/,RJ3\Q-UTTSC?U8U_$(Z64N50*R*GV.E/V/C^T MRNM:>0D\(KR[5?;)G=MS\V%?GGT:=>/YG-&W\[A1D@+YISD!#@I\-P'XD>FF M4:/KY^3;%_-NHUDV;CM49SXS!C.]YS5*8UAQF'#*IY]7#>#\&>*4MTJ^/9E_ M3'[I"\C<<>IZJEE1]"F7SYC%:;'7IX,,K!AGF/)75/IRZGB1^Y_'.?QSAE"& MTW1)'PQ-:MTH9"W>I$V:;<&*PY127KS<'K_(_8_V[_ZE,D->H@FJ1W2XG&!)L@ MK46/%E#'GW\:X.4;ZF$1]?!-C_T]G[OYG5:XGW/KD5>;:*-9X*H3V4.)INN, M7=G:WNFY-H%]CW4U[$1-!M"$6H 1<0-GBK]*.(&;R#H@_/"A=MYPD>H[KI?X M)\XLQDMEJ+_(S^0S_=>_$O)LYCH+?.P=)1R[CS"?A3!/^$Y"5N]Q4GAK$>ZB,@"/Q,U%;\UM:'&9/,V-??D M?,8>=ZF5]OJFXL?GV\WYSP3^Q'$!P0V6!4V.CXS>V1W?+7-+,EWT)F9.AP%V35Y-___J_MU1]&3B.C:FM; M45-FALC:,4HJ@)-I4M9AYI^RN9377FRNB=&&09$@J:N&?$?B:W/ M&" 'T,2=IK=@MBO;P\=VFTG'7SJ>@2]!C>_,?C+T-9%9 M\&>T,Y:^9D^$JSW%DWK$S'_DQ,3%\N5_NHYZ3 ^]=LHM)69C46+N*+'HJRT: MPK"%]9 &\9@GYYMM](;\]Q8-_8KR=]%V#!O 2&'N4D#,V;@#_<(I9W(L MLR@5YI5D]:%0']:RM;&$A]*GL=NPV;PM>Q[UC/TH'H@,VA(BRCJ61EBHX5\B M(21O)"QI&+^EH^"14VDC&GP!,;3_7Z^.3-4I^LGNO#QM^)7Q#[>7!P4LU!>?GC;^KZ\%@HL:N)0-, NA!!%/X0WFF*)/ZA M';&OBC8D'R:2'#4G@ >5;71IUXD,T=N[3;LP'*\22P2H6^P,!\M1#:P@ ME$'P-K#I\=,G]-$?S<2=6-3KD:P)PL"I%?+KPGQDI;UESJ+2Y?&KD=R-KO!M M%7G-1);34136AE6)IQ2%8*&!6(UKAL[ AB)* MYG^?QD'>6!@:DGJ=?(R%%G\+Q&X-'GJ!5EE1]Z-1T%?." O,:Y$0@W]3MLGS MF\@EJ-E@A-K"2(&^&P[UZ7V]QYG]8B!9*TZXPS:Z<"T<9I0\GK!N&<:'\N_Z MVWNMW5BC;T''2RR!F+$(LF0-'?%/@+BQNZ,9'E@&H5$3WI1U9LB&A]PI@A$N M)ON%["-SG;#1V/$-&2=S^ZYL>R&:@$W(6;AE^/@7,!P\I 8NV%"P!E->>L2' M 4,+$&BB,4@Q%Q&J(1<#KLBO7J# M0:YJ>(0GO4"=;.V%2%0O\& KN*?N(7 (/(BKGV#X4 KCV6O@D#%<]#? [AW M!FM L445@#IV?=FP?=AFX!+G([:I8-,N;"F1:_3+^20M)H &-&09ZA6&D.7 M"O3 !#AJ")9I*&%B010]*(-*2-"9ZT3;\*:)8KC1*)J0@+TCP[Y.=#=Z'CN. MEJ,9.CBBT3:O0OM/PSCS,3ILP-2N+XG%V9I@_SH!\B9>N(U[$(.?BWL0A_#Z MA8K:UD[O?B3R>@'(K9JMI93+YWJE!]>OIH=)UUN]/G3Q4C5D51_N2_=6P%.! M-S:7[5OCH<2,L25X>'5KSQ(D5CFQYU:P$L*$OU$^&\!C]=.L#\VI>-A;9=^/ K_0Z:ENFAVQA8"C6@6Q9@\K9B;4 M.+^&_HK]Z\1C M(&O;_SY?=2^334NL[M3Y3A.XEP=7^),7E@@"%J,)=$A)LV65F!Y(_9!_'-\R/KD^3_/;;&= MX.B4-IL>B$^!,\P3CQQ^Z>U_?/7VPT6VNPTF+FFV/#]_.?C\\7F\1;:NKEX= MO3RS_$^O)V@,-UL.\WS8_V+N.&=7COGV[$O/.CCBV.>U)7U-WPT^G;_D@FR] M/1DF%^&W+Z]'V/+:DO)WW#XX^O+A"SE)O_03FFWUR7WQ@Z=[^=>+9Q?/S\8$(.&S>;#U4GX \EU;?!QMI6\_ M[SSG9R>'EK,5#+^\.'LU*0IGS;<,LSN.SL?U4O#[Y]OG@;0];7EM\ M7WK9F\'K^./NX:N++WUV$L<'S\L"%_,MZ5?Q#4Y<]Z!"V%=7B2?WV&?UQ<_WMU[M4_3O5WRWB-'3IY9NX<@ MS,[U)3E!F)"S?+Q-!J&[9?O/]YZ]^ESFK)AO&;Q^<\6WZ,N79&=O)_B3"8V(3N>^WQG/ST_>!>7[Y;.MWQ/)Y>G'T;1$?DZB?:= MSV^WPF]/L<_K2]H:'H=OW^[N?B#)UY>F9\OX6[_I>X^?;9_\$S\;_G&^! M.%T^_^#L[P;^X7;QKE9#G-X/_)"[Y&17?GSVH1_Z)X=O?.SSVI(NZ.1L[XWY M>7CV.CVF8;S[^=6!6=XTGF_I6^[.]O;YU=[QU8OM+#@<'#AOC[#E-7Y^E"\^ M.\^'Z3Y)7N[NGNP<1U_./N(\KR_^J?_LY>3#UL77XZM7%V?[YIO)BQV)]S^N M+Y[MV,.#46SO7CU_L__^*OX:G\I)<4-PON7.E_3;Q=MCDQ.>7^X=1N)B[V4/ M6U[G9TH/]P9;O4^$G1]\?'%DO7SV-#PMCN7G6^Y/(GM'QD=/"3/EFXN^^?+= MMH/SO+;XP#7/13(.!#D1+PZ\07+VY<,S'/WZXL^^/3WXO MY%!^WL9 YK4U?8P'D\^3.7SW;LIB]C4VOK>O]5_?-%=L[>K'+W@-$' MSS\<)+O_?'ZS*]_O9_N?1/^4/55SO4Z"WMF[3P=DW[5WMX[]GGLX?/9^_ XF M>P-*O_S\(7NQQ2:OB+.73L[\-_1LZZEJ>HT$-J&][DX#8>WZ" M_+H!I_/7'T(A]]YLG;T^WN8GK_??O)!O5:_72/#2"R_-"S(XV4T^/=V:]%^$ M/;GU 9M>(\'[KY9^Q%)< -6G\6?7^[^L_7N_=GX[(L?1KUO\G@ 3+@!K+,],LJ28/CQ>&LO M"+?_R3Z<'QQM8]-K)'AW^#JU>Q][SX\/O^:]W;.W3[>_@O:E-\#UAV\'HU<3 M,7E]G$R2YX/GQT/:?Z\F<'U=X7#[\.KRBCN[AQ9_;C[[=!*^.H.V-P!V9I^?O7I.SK:QZ;5U1=G!>W?G[=')\8O1/[N?SK>??DEV3K'I MM75-=J)\E)Q:WMGAU=O+O?C9FXD$0XG>@-G_<+!]B'_E'!_N?/:C: ?,T LU M@>N@O2T%>SK<3W8/,[JW__GIJT_;EEK6=1(-<$!7_T?.?Y M!SQ^N48"Z0^N]K\&NV\(%\[SB[-G8LO[1S6]1H)7'T^]Y-OI\)2,/W_YO"6^ ML-8K>*+A?:89OA3Q+W?# F.TCGT.00 W:39-0K@Y(#"5[N$._4&=#Y!3CDN0%=C?-1=J4BA-A(]J7 =!,W M->H8DUXB>AC# L\<%XK1S[M&L0K:!,Z5Y).7)\_"W2M^O+]U_L%YGW[:7O+- MWKUWS^?\\JU<"O3-)VD6P<2;HE@=_1)+WNB&?3/HV2!'G7.)$&/SW-Y"G&%]6-&?#7N7HWJFH$ M5/^!ZTP/A[B#O=<7\4$_>WHV!KU^N?UR\#YZ_^'NQ%61XC(&WR3I0,J1P?O] MZB"XX@%25F3)"+8<+T+$<=KOIQ,5W56]EP*/7)EN;8.'Z;C8 S?,P_A3;;MT MG ./\K^>*!"X;T@5/1F-^_)]W 37&B(]O2I_O ZS[Y_9_IOQEA.=L<_[].S5 MZQ/Y]=EUF"T76MX@*JYG"R 8/\_ED^J/.G(A4)5W;?"FB"ANF,Q=(^7C45I] M4=SL4=_,70"JW_8LVLRN6+E^UR_N%(VR:FKED+3 [KN])VFR+EF8^ZIV :;6 M?PI]QB Q56"K^KR%5Y2?%#>F<'_<>E&IO#RF!JZ:\C!/\?KU/=]0NODVK&KX M W=\9S?-?O%&-S!BX8UNS8@5,8)V'5,SH@V,H%UOX3OW:L?*ZTDG? M)(ACJT#+&A-+3M,8W/2>[QT.(X]ZF93&V^)"^NYW+J1/SR;USKG+BN]]FWC7 MUKN(Q<7K5M?_G>=J?4.PV_9#@?=FU]YHV7\[.^<^+(^PK]'D#G2X+<;W4-A- MN[:WT?S>G5U9^!5^WQ8X>2C\-KOF9O-[)\W.TXR/Y,_MZL4NZ,/ALFUM.)>' M:JY[ZY>H>O>K'O?775J[I95KZ^5_T.4QJI=Z6? MCO-D*/.\:C=]$W!F,U8FQ%YYZ;'L*C@S9?3Q_&CW[,7;],WAA2^^[:4_GT6Z MQ(&;\N&/O_:WN1\/HEWYC)VQM!<%A]Z'P S,W_YV&.U0ZVX)%)ET62UULGBH]4U MP$E92N1^5>(].Y%:B%=L8J\ DUJL$Y=<(F6!-OH\H;(_>K(![3DVOX]AWJY+Z*+SP M#;4LM$_=0AA8M4^]& 9>'>[N6?OBBWUVE1X_-V%2I[O;" /@5GL=V[J7XE:; MZ3P_#A#8,%?X47B\CT;RM/^Z3/]U,?)_]GWVXJ!_MG-VN+/C;7_:.7P6"+;M[1'[FJN]%^\#K6O :W>/UK7HU/W:Y%K]NY6Y-P MKUK9KGW-JW$4V[7F=?LL6K97!MRK\'_:M>AUNT5:N%=GE6PJBFW F9E^(TZ_ M$=>"-^*HK]^(TV_$Z3?B]!MQ^HTX_4;';^*@L'NZ%Y>8=E^]<_ HU]. M?,+"IZ$=D4LV2+'&DOG;W[9/.H0N.G#5;\3IZ__K/Y1Y['!RZ^T]<7GPS_M7 M"ONGP^_GKVY>O/F7MY!.'KKIL.GA[L71+X>^E>1]U2.5'$WY[>_*74Z M #/ZE3@-)_J5N$TZ"=-"O&P;^W%=*6PJ1;;[RB%O+]\?["9[@^"U=;'?_W#Y MX3[4T23;MLG5^(B2UR_8X)^#K/_A_9M3K""*K\01T$?T>IGMC3JDT*_$;<3= M/_U*W,98TZMVSA??B+8'[UT_??IV>/8B^<"]MVQOY_(=E@'&5^*8U[')O;P- MLYEN^(9:%MJI;B$,K-JI7@P#E_L?MSZ\C9^^(.S"WW,"_V3\ZCW6#4>_VNJP M^T&!S?2>'P<*;)@O_"A=J!7:8#NQCZWPY>O^R=[F?'9SLO=HZ>/R;.V?/91%KMV;6\NJM6?Q M8!:Y=C]D30"L'90'LLBUNS._LNQ-,^_U&VCZ#;1[N+_]+AGJDFSZ!33] II^ M 4V_@*9?0-,OH.D7T#:-R_H%-/T"FGX!;>WA_-6=+=(6IWUWY.7+X])]HSL?/ALB:\OQ?&EN)=+_V/K^83G[T[.=WGL MG[]_^L_'W?SH R**\]O?IN5U3'^U>+*9AUT:3]IZX*5?0M-"K%]"^T6MN'5L M?1U_S"\.=U]_VWKYY=/'=WF?W(L^NGAW&@U'[_?L,_9Z:^?SLX$4WQQEX>(- M/M:AMMMQ?/T>VN9[]1OJO&L?O8T6]:I]],6WD*-G=-?VP^'SW:^2G?2M-RP; M4P Q59O-],R.:=[-J'X4OOB&6A?:LVXA#JS:L[ZE0L_)UE4RL8>G9WS/WV+Q MVX/GV=,)X@ XU\SI.#;1;Z(]+AC8,(?X4?B]CT;RM!>[3"]V,?;GKYS1D3/> M?G?V_N,!]7MGIUN#Y -B/SJR%O$[OK?("-P -U:_BO90/%W]*II^%6VC%:1^ M%4V_BJ;E=[,*W?A7M;B"N7T73KZ)MC(^J7T5K:SA_U8>+[4RW?KF33H;O MPJ?O=T]\U]QQ/?'A:'@OQ8L^B3[9WI^\?;&[12(SJU?&>^_*?X#C9Y]G%]EXZB3_="Z*< MA^DW\O7;.#H>'/OLZNPPB%N.>AWBW"UQNWX53>-)&P^\]*MH6HCU MJVB_J!7/3U[\\S[8Z>^3G9#R_4_G42^P[^55M.RS=WY,S?AJ]\2*\V#WQ?#I M9%]9N"J9?,?S[8[CFYM]AT^_BK81%_3TJV@;8U&OVD=?? WYS95WMC.QS;W= MP=[AZ? M)V_=KQ/O:CC0= <['* M^W,4?KSKKEKQ).\XK26*=3*$449/3*<]\_KE:7 EL($7,BX=TPEB8LG HG88 M<-OB@1VZ)/:MV.?2A0'^Q>%_47+Q]W_@GVHDT9<\0_SIE=.I+I68.*T2?0CY MXUY 9O[R"&4S@"E!AK%".M6LU;__^S_UV5^/$I878&K+ZA773Y@"S5.Y%6:2 MGVWQ&$9^POL3?I67RW3]KD6KNS5/II=HD! &)5WF_V'4_D:"7*/F@%]NU6A6 M@O167\:C)^5CU7<*8*=?IGF"&/(DDWU P0N)O<_UJU@S2L^?,-I5(@P?RY59 MM&O=$Z]J^*]TP(PS('N]#''[_XY2<1,"_>R0Q4?L" )T+P_=P6X_*HF0TA; MF,\1@JV1QL8.ZA1P*Z;[A/]=DZ'O2?X\VV[B1K'7T.]A;_D0!$DY+\^27(SS M'!J#NML>\OY5GN1I_+S<;O>!$XLN5^'T:A?-OM^T;FF<9W)+V1JPW[J&H9Z\ MKE 41Y(1$%UE<)?#>8:TM4EU'/0DF3[^?3@!1C&B>WKRB=]Y+Q_W("*4! MR!<9R1#MKB_C86&V39)1STC'F=%+\E%:7+>MW]&K\6KJPN=J +4[H,$P'<&: MDJ'HC_%]!-G/Y:0G,XDCC:!7XSELVD(J*=GZH)X=PWY8]27]]U]=XPCG7B,J6JL\&>;5QN/1&(9$@_ABQJILMJO3Z:XV1BF*))CK(/B\W[\"4L>Q5+.+LW0 XZ2X M&#E"MH(,E$3Z/M6[QMX 18EC#S"%-+MALN5$JRG!)(IA*_DMESTW;,GO&;C2 M[:YQ .V,Y\4P%;^G>R IJ#TO65WC1 (M(Z3EF81M8Z1AOV(G3"23 "U SLPX M'\,/ D@"6TP"^]3":U3DPZNB=?GD2/']^Y3I )>%!-W-R0KR2V] MW>XC\&SF#5^O,=,MZEVW+95]Z?R41@:[9SC*TF@LIH;$^PL,(P0B#5;,<.!C)#VZ=C,;ERN&Q,UF:1="9TLR# M-%>J&15!,0((><\&ZDU(B7[\A)Q!9@V1LT& MY@ @*>IPQ'8M@(?+H33E/8"D/5$SR*HM-<]IQM@BN?I+// M>7E*\^3[=-6 MGQ >\<+0PH-7= ;Z2 1A5<$O*H.T#9]E2W&MKW"?JN)?'-# M=,"4!G]I@$91#^PI8ZR,2< [Y-O+C]L[1E[:#Q&81+ 'C1P,[21.T!C/C%,Y MA-V'9F]A@$NUA_'\%'I.P:XH_BB=8]SN* LBR<2X $ME!R9HMP($ESO[JG1: M)#HJ_;P"5WQ:I#"M8D8&6H#G!7ZBA0;6RCD79^"^3^=0.)#0^]P,,,(/>)-F M4WQ$VQ3FT0?:P0)G^-(!,@& (;JH@1'#P&)$EZ0:4O22?E]!79@FQ1\X(- [ M*C_A>@M* &4G\)U"+=[/P>"].D>N**162\2)#H&,U=S!;0-P"A4^(U0-YL8^ M3\ZG#UU3L76W&#_"3NE',Y97:K76?S\]!38C,E;ZM7.#NCE J4"0Z1-.&Q0\YJY4(@*N*RP[H25Y3\ZS)\HX!KS*^,44S&K&E_) 2[PM;"&8T:27P/:?@*.,P\,3 M,!&TLA*4YL)-FXZH(.&]DO;T"RP33:\ROGE]557H !X^Q?G-3ZF*<)3+*KK+ MDQ%*:P2V;'J%S_1YF"K_M))SI,=,<@$(,9!4@',1LH,&4\-R:GKGZ'?CH^5 MG7)R!=Q=H9^*;FA6AD> & -4R :&1C 64JHJM<_!!R[U3#67QV#I+9[7-KKU MEPGR%*3'<[OLC\K&SXJ+T0H#>38L8FY\RO&08RPV5LISYO+4?1)C*"?0Z129 MH(>91D6MBP_7O1\8N-HQ*+N7"(; YSDS'SPPI7UE\5,ZD^AJSW90"JJ-"1M M+:[$YGRD9&0"JAH%"5997U.G"N4.\9MS#-=Q(TRB,B0UM9"**%RY2V#7&I4( MHBX1A95;B'-]^ZKMS*_42E60J-B0V/_LL2)ZQ%6P>51$?&%PD59"7*TG*AZ"^/9;4S2GYB%*BPKQK+[Q3A M.XP7*D)4@Y'951$"KR1<=Y )P<-Q7D;4IE*DG0E@03Z*B M67J.&Q=--90:9'A!6MR_Q?C330\_RM,4 X&XRF2D1$2 YRE0EZM5@,C.,;OH MJYAYU5DA&- \'Y\7H7R4DUF@%ZRPD6[6>Z[4&#S=A-*"$1/X M$_9%89L4,%_%EBMK\BML'2 8D!_T8Z$>T:8'],R!=>EP"[@HZZ+= 6S-1UM3 M75"2#<<>1]S050@5<5B$TGQD I!O@P0=.HH:4+ M*P8-% Q;S*"Z;I8@8$\C''@4R5%!Q:S M9I715I[BUFA_ 2I8T9(7,:%!.H1>SH;I9%B$A-2!OH(G1_@J/E%S*CG>R"AMDGR@V#SSI:83F,XVS9H&<7$TCK+;DWUU4CNW M'.!_ BZXVA^PKAZ_D.4I 3)LZJP9VTI4\EE'ZO"YLNHP:".*,YPI!S*)<*%F MFA5'$NCUMEN+KV)>;Y1WK@Q@V+@]O$93V," 26H[5CMXP+^D&5K/I5,HRD.@ MTC "GL #ZDH(VKB%TU\++:B3=V!N\JVPJ11K9[8;F(-B5%WEJ#9WS;"L'>:7 M:%'(T[ X38!Y*&@JYU9U4$09DK@4ZD39AE-'L!#9FL,"PC/)4KRFDLVL_V*= M0)ML7*&)X$.T]=6U(^60%?*3?/ MU//"?8-X/F5S7I "EZFZ@U5QV.DRVAJ#KIAW+@M=H1R(*!&K"[\%'T6/=1@J(\H ZPHB;15$&D*-=53H2QNQHR* M.UMY\9QR5X'WXV')/652S+-9W22K4>\&VNFHD3)EU-E=,U$O(YT"OB/#Z1#& M9J)0J&X!?"BL!8[T/YU)+]X? A%)+E$\AI@1�I9@16L8]"$70*VP>EL'RZ MH63P_&@NFO6[9]H=\!?F I]YS<2JHK;(U#)4@&=[1@Q;H[RW-A_Z+/!-;8ZN ML5.IK](^4-OWNNZ>#1>E*EA0RE]Y0ZG8:84&[-&4N:WOE#XR>$H3NU.16J?3Q'Z?)V%I^B-M"A"@:J"#7/AFII MN%]XWIM> A@6-Q455"FDKXQ1# &J$$1A"(#1)/O]K0AMT[PX09P[WZJ/)U1Z M @D^X%C=GJM=@ZN%"0J,+4QI@-Y4'5JB+,E39>.#)7PA^^EYP2<\8AQ>E>&5 MHLNN\;2$C6D0;"1/@48U73-W\0$Z5SJL=N6A,EWP\3X,#+Q082D/\]&( U[" LK+@U5/A:U2&.:5*.8PN+IO45K@:J!"'<$7\5C9D(C>M8"L M>JZ\>%9=F%.B@M9^B<5*B=2N5$PG45QFJQ\Y38D>I=790U*7K7B<*6D$GJ23 MSM2FCE*8-LX4R8TPK!B#JR[(DS]R.%6^=Q4=*:\AU=5\>19=P1?P!TZ=SM(!IZ75^;S)ZW>2.KMP6EHK\CW*V#B_#R73ZH_ZM/ 4CM/JB"+FI;^8B<_5[0$6;6>S3];M^$>P;9=74RB%IL="[Y>UQ MG"Y;F%BE%IFJ]8^P&P/G*KI5G]7;*T^*4";(='1K!+&,ZJJ!JZ8\S-/^>"3O M.72XG+9$"SA!NH[&IB4RX@?S3=YJMRYGU>#'R>H\V[\C%?SS]1696VQ" M+J7BR&*2+*42RSW9;?9X5",G=R_5\5V"L592;^U%Y642< M[2JTM:0MHT[9*0/S6J5HE:)5 MRF:IE&5CP;NT6VR0-%X2'&A]\=#TQ3Z>WQ92\A%/P[7>^#&]L>:"L4T2S)TX MNUUVWL@T47SUX^9$0;":L*1Q]96Z.K \?-%ZYV:]TS)!^S7,*:Z;:*6T2J7T M@ 3HS_(&6?Z75E>_6M1[1?[/3RBF8_5>0./2X/T6 E^%]IE;8\79>ZS3MYI( MV(]4.)A#R^\D3#;L#J/6"NHRKD9[++LZQ_*J4BZ^"K)Q52EONU'14FEW'-9U M5L#O>U=T2Y3V=@;R?D*1->^];QF_V['(.0V"+G[J+VZ?ZGL M9ZV9V(H*;54YU.N%HLH24'-Y D'PO6MEAS()(I2K?)VURJE5Q50LK5?5WDQR_J"9PEFPHZ+!()5XLHB*:U*^LZ- M&*C2@^D5F3O5QXA?Y;4"5YA8O%L_)1E=JV;5DU&7>^EM85.2:3H>G:5&[LBQ=H*?H5[%&%^C9] (]<[!3+[DRO\F'T&&C-.&L+N&L0MA524"Y5E/G553T85TJA5+53%X*:E M=AY% =E5UT;?QTH:_4*?O)W53BFKH[^?%AY<5)625(4%S&ZH&L,71[&TL1HD%)8OJ[675"/"D M(M!_29'/_$)6=:[!G!:S8J!5$4@LA#/$NI%H+/13Z 9G"_""!8V1,,H'2BZA M^RR= ':!"5TO-E%6S>DHHL\*Q8O1F/?GEE28A8"4P--:O9_.M,H1HO*LVF0= MXY*BI"P,D!?.:CB.3F59O>@\*@HQ@.$/K$!O8;HCIR4GO\_K@A;*#54U.\II M*7J6U3\[S8))\E**HA!&5=0JKTHKU6HI=8R5KH<,SN05> M&U!*%;N>EM(MF5!W*U'93=OLEX:%%SY?JD> M.E6IWBNTLJ%55;9C9GW7:Z*7YG8_G67$UX69JWF]+0MM-6K/%D5BBYB'HER_ ML%1*_T>5=NH:VR.EZ8LBV5%9^$Q5\HYCE,0+V8"W4@0S50T+Z)$,XQ2A;6TL%R)[#(LW)K39=5 M%/JMQBQ*^11]P))[R7E5VF).BDH8++J;ECU7I=JK0K8\$QA!%*.I7X?U !4= MRNKK^6S/]$ E&Y'$&(""X[(:;U4)%@$XY!E(;1$# JYE:N&#&J.*V>2-JF@3 M57XF'OM,8LE 7MY5!<&6"G#@L$F%5'KRK( M3, M[%5%&)\7FF73C+X6FWC;^7SM9Z5K9\6?IZ6=JF+/:N=6_ET9EPVSE&/$$K8, M&%])5%:>GM:XQSTS[6A64!-&PD B5_!;V'58[3K*BWZ3?%J&JBCRK:HLJ:I) M*DA54P"JF%2_< H-411K+6'W&) #^CXTMF@YF])B M:A:$4=PK*KJJM57FJ2I?#\I'D:$DR_7GI_:;4A]]+/>H)C3 F.RVH"5-0=] M7DV)%V5)6=2KZ*H.LK/UG*HZ91$&*$$3H0Q%8RQCB^%"F/7(R JN3$TM,,SA M:X3X3NF_%W\#B=/3C)_W$I%/E5."BC+.-:32A5,%%&@ C815D%K#KN MF/F+'74,5)@$M8X+MP]M^/PZ >:@2)UGU6N1EA,%B!K#YL_0=$2;8\[@ ZK! M3]A5F([!R:MKL)F/5:O'K 19;999=< 9PD3588B",EA/09)IMQ/)S]2F427Z MHL:$<[#-(@R#*8"J%EF<.2()"R;4(W=5Z'[*U;E*JTN4S99LD55;-.^GUNSN M\"+)TN'4MZW%MW8+?WEU%LX#,V?>S2O-&Q&M%/09J*'S5[@0&'I&ATM.ZW&7 M"J6F/U ;".'E#@$N>:Z,NRI"U)B@5J 56G,#B 5P/HOQ8-5"1-#2 MM%.!HIK1J4[.^45:>+O*))S6 @7HQ\*[1=G;5WPXYF E,\)L9>1D?*$IC%\.JH"[8$UA+NXA@S@(^ M\#.X!F!R7C44:W5$-EM$89+@9BY^NU"5LV4M>@S<4@&86&"5XG*<(,XV)U98ASYK7 0KB:1$4#Q>:Y&- TR)NC_C\= M3T"R$@\(8 M78"I *HG+\_[VKVQ-^VB@*TO"NB+ @_HHL"M@:1:2?41^/[%:VU%36&$)-S2 MC/S[0(4KE$*;'>.JW^B_JSK99:AE6L:^'HA51=E+_.5%=?/Y('CA\,]=@:J> MQSA&=5J D%>[$G4B&]@.XQ3AB I.IQ?GIO%^=*?4L5!QP(37X'AQDE#59"\? M+75<&5A/:\=BA7ZL;FIAW'EZAZN\ME4-U_)K!MQ(HO_^%KSLG]G,HX[#?BOD MMW7>RYV)0[-] TF#3O!G;4M<10644 ".AW MU2/3I<^75UW>)7*B&N,1?3K.P1BM(ICE?K\Y1&U$A>]6B_UVA17>I".M;/U='!&(65V?P!NXTUJA"G;-Y@;T93>?5-9[-%CQW8C&W.-R-,IM= MQ<>^RU \7IJ;NDKETO)J.54\X7L+*BX_5&WN,/D)SP:UR3=/E4N[H7Y#NG:N MKLZ "_MCMC2E]T-9\J]<8<&HYK+6M/5F3_IW!_52(UL\ED[L60'S'3>PJ&\' MGDFLP&*$V%9(;-.G2]75\\M8E$O\1E/0^#-*8;MEI4,-V G\R_]Z,DTYOKJJ MLS].[-CBS ZE"*@;TL 20.,2Q846V$YLQ-3TNYI^ #GTB/8ZT\G ,/_"% M904F#8GE *E#8LX_X4M/" =6;DD3:$5C._ )S$\X0C(JJ>=Z#5J%3B1=U_3@ M40ES,4,8PW>M@$IB4A["TF,Y_P005G@Q=!^:=@3K\&'EQ/61NAZ5KN<0LT$K MRW$9EV8<4$%)8'F4!B&-_<#C/+*!!,R/&[.B;NQ(+[2 ^1;PPR$,B!'&@4LC M'V9D>K9E-3A(:03M@!\"I<2R0$I,SPNHZ;LDLF$"7N,)T_>X)R(OD*$/!(-I M!%[(6" (C:@'(L;MAI0PRW.@G02)C20\X86!'X$XNHXDD84\#]V&[$I/4A@\ M")D+*Z<@]R&)(OA> -F1)TU)) QDC?M1(+D-_(A1VAT&!#,9D"0FS+7MQLIM M+XXBX@,K'1.>$&[@LQAX;OFFXWA$"MF0Q,B/)<>>B8W2+@G,RK%HP&'36M(A M(%UQ@X,A!0EG/DHL *,?XH2B& A!0N%2+^9-2;2I+8GO.P&+.((J!1KP""9I MV8[M"T9\UN"'\"@+?6H&D0!.6[ZT F!/&'#A IT<9K.H02O/%R%Q)/##,*5\%\1T0#D$20Q I'BB$..3ZD3NK9O MQ?[\$['IPLA,@(Q[L'(*'.2.&P>VC"W8:%X4.HW]$87P@V?R( YCQ$0?6.'& M86!'H>TYL2O"D#=D-Q*N[\#. VB$E9,(1HN8%[A>!.YHY$GB-O:YC'W/P@U+ M .N 5B"3(34!2BU WQ"0U[0:^]QV0]"7(%(Q!22T>!@%GF?: ?6 [@Z 46PU M9=<#\'>9$YB,PLJE %J%EAL0ZE!F6KYCRKA)*QE+E":0"I@5/ QCN" "?@A? M^P"Q3#2Q!#6(:0$2NB#M#* JC&+85B*6GB,.PS4 M$HG !RE/'#TS!>>P '1W:>")B#G )$,11 M4H(BQ9D+R,!#!^0:H,%J["@'ID1#26!!!#4GCV%%$0 \,M,#Y1"+YJS KO%H M; %$4$4K0'G0OH$7,].U/.BAN0<=!R9KPNQ-!DK3XK"M?-"^T!.'#>61B+AA M^41QY%:%:HNWSP7:)>>Y?%+]4;E#[EEQ]M4ACK7\\#<13D\H. MJCZK5]J?%*'I"5#JUHAP&:57 U=->9B#,S^2]QP*_KZM1^]NZ]5"^K^G"5)F:$2MBA*.AJ1V,8%V/:4:T@!%: M6;>$$5I9MX016EFWA!%:6;>$$5I9MX016EFWA!%^U]6,: ,CM+)N"2.TLFX) M([2R;@DCM+)N"2.TLFX)([2R;@DCM+)N"2-HUUU8$T0S8D6,(%VB&;%$1OQ@ M<9Q;;]&L;M7X@M"UZ]4K*CNR^ +++]/ NT:"11?*J]HZX?S:1-K'!?_W-_^W MGURGZ7:=]9;):N0DFW_]^ ZD.>KAJ^]OBU=1=H<1OG%4SR=PC6CWX\H]%(&P M2-?U-EH@WB7#%FTV\T&13>%^*[#?LQ7<\OKSBT\X5E6A=UGKN>UV<$L+\[K4ZA#? M7P'#;SM;O+?BXS?I\/M;YFTG=RV5 TI %:U$"N[9RKLN!7^LBO4:TEHARBYQ M.C[U-*1I2-.0IB'MAVZ:M52468?:;L?Q-:AI4-.@ID'M08 :[7B^#:!F:E#3 MH+824%O-]8QY4+O/]:PF>KR<".(&W)/8*>NX5BF!-^&FP[W$>']*GZ[Q^.I[ MX+N$M14QD'6O;>F(:SM.QR>+-.^F*-@ES'U#M296P5DF U=O\&OL>9S88W48 M=33V;#;V+(I%:>S9=.PI8@KK7ML]Q!QT8S.G8]*E"J]&GU6C#^G:RPR>M",F^;A"CQMS#_5%EN8YEMB+DY&^C/J M3@3O_S!H0Z]O43#0J;\H/+#QAX+Z"/#Z#1?270W+VV'K:^!ZB,#%.BYA&K@> M&W"MAN4:N%HOPAMZ$2Z'N;Y(NI&Z]7$$+7S2\;RE7N5ID:)\)/J0=5U]&T)#QQJ@@Q!]C5-#AX:. M-5^4VCBY8X[7\>REBI[&CM5CQQ*O06GLT-AQ1^RPS8Y%-79L-':8RWQUK2V1 MNL<5D-N<*Y0\&1HI+)OW);[>S?-G+E,L[(5OWY?VUW%E:]Z(7 /5= MH?E/TW7_TB=J&WJB=F M!=&)\#8;.99Z_U8CA[Z"=:?K.Q;KF*[.8K?)T.%HZ-#0L0;HH&Z':']EPZ%C M4<:;#8W$/:Z V\9]W*#/N1Z>0L5=3MDJ M=OD:#'6-<1KC;I!Y3R?*U""G04Z#W$..=OB+#O8TR&F0TR"G06[308ZZ.G6P M1KD'5:$/J^I;YON6#1.ST^/(7'DZ$Q MZDDCYDEF7/#^6&7.%/ @#"^'(T/R;+B5CD=&&L+$^2A)ASJEIC[NVBC/^R>+ MSG4LIDO./:X#+[*2BG-ML=TU:K49M7X@7D@6AP,T4K49J9850-#H](C0:>VQ MB)^\0M3QF+Y$M*E(];,V%=6HI5&K%:AU9UUK=GRF;:J-1:IE7>O8X.N-.@WE MYEQ8?#_JR:Q\\]WXL[RU^)>^MO@CJG+=R8_O\];2NM>VE&N/MCZ0;(=RO*]W M =IOL6ML>E38])/G/AJF-$QIF'HP,-7ZVA@_&4K5:3DU3FF9K"*H(WXI]255?32Y4=>]?K*VA]1V7+*I+H6'KX<&6L[#\F8:M1P1;:[\(]I.Q M#-/MF#K7YZ/#K=5<6=:XU7H)WE3<(D['H:NYAJUQJRUC37RDS2H62SK\!JQ-*(I1'KT2 6)Y#_- CA2XG;80[T*K-'QU]%1FXX:'1\M.GJDP]S5O*2HP7'CI,-:R?NK M^F+RF@/H_QIQ +'[G]BLH0\_WG&:W$BB__X6V)%CDC!V@U Z(K#@(_P5>T'( MN64QQPI=YL-P_^+3)SR'6:XKXT#$?@Q/2"OPXI@&C#([IK%T:"SFGY""N0YA M)* NLP++8780QL0+8M.+.(^E#W9D^<02-VPRA+6/GIA.DW8GTNCQR#!M(SV7 M&<=";T8_%45I-X/G6 #NF11R$,JL.-,U:<=@A/I=8Z^H%I=+D0XCX^N89R.9 MX0,,UM"\+T,*.NL:UF="C/1VI*>/-C-IQ:B7/32N#!V> P2)$>I#^.8&H)S&:S4$68>P67S+,GQGCL^ MCQ,T1JDB6P<7&RGTXZAKQ4D\EAJ$Q*8P L[*FI5+/"^_(GO'\F MLXIF$R06SB2#;K;/LZ1OE)R![A"9O],+KE7V82D9PHVJ[I=Q,5+W\8UWP(:> ML<.SM)\,^8U#/9=A!JR^*D:#A7%@?L7 47HJ5?KJ20+]J*$NDUSQ8K[K&8W5 M\WER^9WIUJ1D;AKP8&W1C "'AS=PWDCR.4Z/OLNIM*Q]F&3Y"-AZ920C$*B\ M;(+@9HKQ''0.>1G1BY-^CL3B3$>S;COJ"_KN@Z)2:,Q'M&B>]!":'D[\C M7Y$HTP%^@%4=(QI+%&1%14 89-9T9RNN3*=5;LB+;_8=3^1H)E(]5 MWRFK;_IE6DCWDTSV.8(C]C[7KV+-*#U_PFA7:1_X6*[,HEWKGGA5,TJ585JS M2;D!$!O_][?_.TK%3;;#SPY9?,2.P%++!KQ??#,IUEI^59,AI"W,YT@A"^RC M'6@-8I5/[1+^]QTD?YYM-W%C%5;$TBRPB'B2^2X)N!1V8-&0!2&S16 SQV." M4F:2:-Z>LD-/4 %&F@U[*K B7P1AZ+# -(EO15Y$2--FL",26)R8T)AY@6E+DU+B M\XB3^2=B:7FF9<4!@]:!16RP/6TG#C@LD,_TGF14;MG60$VT/ KP?R0@['\C__2OXNLPZ6WR@E MBUIGU$NR:W8G:GL RAP4SN]NEQ4V*\R^K_07/$F[Y(\.*J/?76IUZ5R#4NT4 MRJHR%0S0:4FJK(?"[D5KKQIE9EQPP^EZ?\Q^4'MPUE-#I]ZLJ=$> (-GWF[ M+[EA8^>1G(X*_1?4J(U3TY\<3578=%U#;:^5@\ =M_TJYH7LBM,^V-EHVXQ* M2T[F"+;*[)C9AX#L!EY,T#@W#MD+@T"AS?@2=\!P X\N* M$AK9OFWZ %GS3U#N1JXI =N<$, G9N T6Y0'CF,++CP*OF\#? ##+$%L0#0S MXH'E.5;@(Y)"/TX8Q9YOAF$#$@')')/+P+-\">L <(1OX F;1VY,.?7\AG,- MJL/T8P=1T\(QP,T.'2H#6#-U!.<^^/"-6<74C02GT'T$_S!0)'Y$?'#@8T*H MC.W8N0;M0,+0L@.'L0A40 2(ZT=6P!G@L,UCUS>;"L>-;1,H&?BN"[-B%%Q^ MX!%H-F%ZT@:%P^W&$W8<>K 6& -F;\4V:([8C0,)#&&1PVGLF/-/ (SST+&\ M@-H"9H6Q!N07A1P#W2(Y0,'?4JL .@51:X,J2OI M_!,$EF8SFP@0T"3^)9K"Z!<4TID!/H&ELH9J',0$WC6M .7 M.RZ,(QQ89&,=GF=RSMW 1,):P !<.1#,!=JY%H]8V*"5)(Z(3!J"JD7%Z3@^ M*&<@'?.X%Q(0:V*R^2= "8)0ATY 31=H14&X?)@,Z%'&?=_SB6Q*HLU$)"AW M @9(#_P Q1Y*E/;(Y[:P11C'#74.0Q#J6&;@AT!BRX/M!_L#C R?6K TTP*% MVU#GM@VB!=U' FP8*XQA?X"U$U P R+;E;$957NPP+#*E2C."\"-Z//S7#ZI M_JBC"V)B:72CR2@*4[-RG)25S\>CM/JB,/'5-W.>0"W.6+:9^5JNVR6FLN!' M636UBRE M%ZD&KIJBO]X?C^0]NRK?-Z3IW0WIFLOYBW>TS>["XT3-AQ7Q@=UR;5PS8D6, MH 1L<,V(]3-"(U,[^ ;@FI=W09.6)H1FA&:$=IJ:A\CM-74$D9HJZD=?-!6 M4ULX8=Y2+T$SXL<8\8,92&\-]:UNU5YU@%\>UX=I/[HS&>X3E7^9!-XU"H1S M7=87/$O;$LXO3:1]7.]_?Z/DMY]*9[]P]Q&M4NQ]0:H%$Z'W^,/;Y]7^_O_.MG]WXS.E:&[WO\5;)DO;V;=&! MMDI!2U>[TFVO=\+?>/WI(6NYVW;"LC)!K4,AEI?GGMSG2TGWK>-:_?K=;0'' ME:!=U>T.S#G,$NCFI>Q?2%P'=LF'^=;U?G_$Y;NGM_-NB1%JVK5VTVTRZ6Z- MQ&GBM=RZT[1[=+33>E;KV<>A9[_OE#Q@E;AN)J^B@O82TRJT. H[?2764?V_ ME:+'A^J-IT.9721B*47?-M+E;+_&NS'/42N5S?(+_#+:H=82BXFT6W&T4S\L M/P?5XO2][;??_U@R(]?M@FCD?'#(:?ND0^BB,L,;@IR/&2?-KKU,!J[YR4W?$I.6&A=:]Z*5CF<\ZOKV*I,QM MTE-+#@0].*&@YDJ2,:_#0WA@Z]%:8>T(\!"U J5.QR>KR#FLU<(&286ST._9 MX/.%Q0Y1._T>ZJD!CM(1[V]D'&%=H:ZU%P^XIUC8VM>U_')RU.J0A25C6B_D MRPZ6/3PF4T(V_=AA,Z>M\5?C[RWX2\ -H(NJO6K\W7@F+QE_6V"]KZJ,R@]F MG)72%-2W BIL&5BNASE"73<0@D>21,RQF_DQ.?&D(]TP"%D8!U8HX\#S0CMP M38?:9A3:DCGS3UBAZ3G0.O (=3 GJA/PV'1A((+I4%TAXD9&3=>V:$A\-[!# M:@56Y,!HIB^#F G'Q?R=,&)C5G$41]!UX#M1&%@>A]&81P-J4L?W&)?2:^1= MC3'YJ<6

    C Q=SYB MG28[X%1$ 0Q /),[W(D:3U#']D.'F8&4E@<#F3+P3"D"(DS&/6K:Q&TD5/8( M<604 KY$$3P!2PIXQ.P@CF/',TEHN2NM[-2$@EK&^6M04 DO0 $SN_YTNR, M^.9,%)>U_Z>;I9$D/X'GQ:BHAI&E0WZ19./<>);DJC$^;_Q9%LC9>?]Q[]D6 M]<0XC:TA @@!JCA/?[5S6HN 'I?J1T#\"27\/ 96[H MY:?WKQ*'.S*4C,0!98P%EO!@+S&+!F;H.!:A;LAI(UF\;]L6D:834!^KI,6$ M!9[CF('MV,*WB.V8?F/W,2*.'T0N9[#!;2=V&\G)B> Q M]?PP<%P/<8='0>A)&G K8M(.B>W19L6-2-J1&_. 2EFS9J4.YK 9RA1E.DSP.PL3A'6I8X3+J- !G=K?+]&A2HW=N4Y'"0=A&*NNGZ'K>K2.O!7F23>*;# V'">"G1^9/EA.7 8P%!+S(E\PUGPBM& (K*? M70O0GE L=P&X+WWN"1]\;+-9R<@!O), E4%L>3XX:BYX7(P"7CJ>1RP9\N,/< ]@XEJ^B0R.6FX MP3:XVJ$'ZA8X%L$3\$_H8E65*')MUW%LT&.-)US/$MP2T,3'RB@A"(AK$E P M\" -(PJ&<4-K"5. +1T&9@3.KP6BA'50K< )B1".Y\9.LS0(-(X=!M+DVE@: MA +/?BZ$9CH3:L_)(ZPN0 -#XTM:F*I*S#0&7?(*80"M',"PE8P6>)QS.+,)LJV%%Q'9DFY'/ Q(2$VO;R,"77HCK(= 4/ M@%_QP/) M">S0 =,#E@)>3/G$ R_TP1:6,-;9%U>6*MG7F6';P C:]74^TE8P OQZO27: MP F-32UAA-_U=#[]-C#"U(S0C-",T&93"QFAS::6<$*;32UA!)A-.LC1!D; MCJ":$Z_U<1LHM4 @ M]#Y_(/M\-<4^W$VO\K/$:A^W!0C:*@8M7>VF5?N K;#9.G")Y3Y:J>A66.YC MY3IQ%>4^[EW-M3HGR&U11YU+^Q<"A9IX[=UVFTR[VTXQ->U:;N!IVCTZVFE% MJQ7M8U&TZRCY<=L1U<,VX^_=,UUKQ8_5^ITKJ?BQ;O-W)1'D->B\I22+68VZ M67Z>D(Y'_(Y)K TZ UAIV8_5^$WWD#Q$\'=?M M..:BE+J; I[+@.IJ9EM=O MTD,/(3,YZU#;[3C^$A/0MTKC+,'A> AL7GH"^G9X%NV?MH9@#<&W'_KZ-D"P MJ2'X>[;]@V#SG2:DOOV3-]W2MK]'A/AUTIL=(S?/6N67U\E MU.>C49:$XR(OZBQM=ST+=Y']NY8[NTKZ?$-"\,5%0X"@XQS&4W2Z8]T.K",Z M3<[?N:T R':6?$N;/9AS)4Z&T=UJE9BU2@2=>L604\Q9,53,_4[%D.%0YKF4 MC0[9K [$+<5/"H[V957*8,"_I!G2L?S,H?=1D1P]'9ZFF) ['.<)CEI- F\& M@QC-+:M:P VU)K .!"[9J\UP$Q)V"\YBYA,[\ !L LOU11 BJ(3"C2R )1;Y M8AY*8FK&T@6TB;T8P"RYAI>0")(HH =C%YL^5% ' P>!AZ/)*-M-72-WEDVBS@ M@B \4RQU8L)?0MJN:0DK(FTM=3('<*0&+PAK0(6N=:W8R2_BVEPQ@D;)@48A MD+*F0*WJ$4AZK;#)+]8.@6^>RS"#G72EYK^::D"SAO[YG:_TKT)LGG)QUD]/ M@2&+%#\-!LD(/R3#?,3[_0*Z M$.LR>=X'\U%)W7F6?H$AC$F:G76-_=HGXU0. ?"P1DR?YS")/L+B"!2T NDK MR;-N=?O#X*>9E'.5#'"@4L:+[M07/>"[$8U+'"T'SSL&6+6B9V#QJ-FHJ,51 M%^8HN"#R QEUP.@WANG(P%1',)#U'(5U9(OB3Y0$2W[7BD 4_\&!>$^LB]]][5[RFJ1[D(,F=O, ML/2__S.7.NK:\4/IBM665::L8LH?.95;168J'L/(3WA_PJ_R*GN[W[5HY>8] MF;ISI@J\DR[S_S!J?R-!KE$3$\O7:#:7.+Y\;#YW?/7E+2FR2M:,TO,GC';5 M;H6/Y-(PBSYE]RHP;/K1(8N/V!$XE]F ]^?R M591?U60(:8M'(LKL5=6Q5%[_?(J8_.\[2/X\VV[BQCVH@ED1%MC1XS[" ]BC M2FT-88%&GEPJ93C!-\)*_0H0 ^9B^0"@EH2]WD\ ",K:7#)*T%27Q@7OCQ5! M*A1*AHA@I?F(8 '@7&A;T *)**U;>*#$ORF\1 D ?0%7L^EQ^$-F@TX%JN-^ MI& Q1(4.O\!,1@5T5KU?%&9U:>56G9? RH< TJK[''[ T4NC-F]W%:^6%O.I M>/Y BOEP$7';<^P _PVLF($5;D=QX-JQ&[EF%)E.HR *V.!4N,(*8A)CX2\+ M"^V$5N#Y3LRDYWJ6U:A6ZMMN:'/'#VP'K?70(6#I6T[@>^ BF+:PF=D(?A#? M.&;V#:OBDB'ZL+"? FJ&/"K%P2@-=" M(].CPK8;15>B*!2"A680J[(YH1W!1 D)XI!3QZ<.C9U&@,6)*65,$B".0^&) M$#P1SL"9DM*3(75#TVR4@O%\87NA!>V8A)43%Q;M>W$ 5/4EY]3TFF/XDH0B M) Y6BP3J$@]H)8D9^,0# #5]$3<+U(B(B-AD,@@]H*GE"'B""A8XCA5301&IBV:,X"AP7BPC2T M"!MRW3=OU'1$" M8QNSLEUA"LG<@&*M( LD)N"$QD$,KC"A(#GAM6)7%M"(,1!6EW.0=ND!K7P9 M^#%S&5"6^*2QCA#<SLHB'.3* M#-W "VWTZ",2PR:,!&G,*O(B#NS%@E482 U![D,+1G,P(B]BX-'#=)@#LD4;,0#)3)O#?P//P\)@6)39ER"[EA\+X*G) M8Z'%._NE.>25%N%+J\C;(XOM$.F+P?NUQO@$W; />C M*A;;JBW8 =K\>QCFWVJ* V^\0;C$XL#W;@>VJCBPMO@>FL);:G'@%EIZ][D5 MM.VGM\(&F7RKJI.]!NNP3 %PSV6R[]G@:WGZ[,4O .@"E.LN)?,P:;?N7;?) MM+OM9KRF7=A&_+U' M:%J^^A9$;#84'K1:TFKID>Q9K9;6H)8V)K+6\I/R1N79M[,4X8LJSVY83&9% M=4!6'O!<1IF/#2U;33N,.1UJ.1MT0>/75$-79BF6S'7E0.=5/,[N4@Y0H4]_*1TNJR93)PY9&>95286W>( M1J/C0T1'RCJFOUS+4J/CBM&1=I?*P)4''!97<-Z(>U:-V,+NK%K-HMC"0[D( MLO;X^WHO5^HR]L;O&=6$BM_B%)!%]O_&WROZ4;'X*'<-5J[ M6O#6OQ>T6EB*6K#-#C7MAWRH>O]'J ].*NCB /H&WPRZ;[6P@8$DK1:T6KBF M%GRGXY 5>0M:+6R(5%"O:SW,FSF+ V6MC(=13PUPE(YX?S,O+JSK>LW\OC1A M7T;I&$N&K45'+>^49.WKNH=C%(MY'=MS'\ %G:5=QWF ;":D2S;[PHZ^I//S M3H)&X!9O370#.JZG#[*_:]@_"#8O&X';$=AIOV1J!-8(?#L">QW?7ZX-K!&X M;6Q>.@*O.X;R+U6'>ZD$3X8 BJ,GIK,,&%WYO&9/^N=W?L5Q6O[]=+W)"P9S BR,>6)RX 9:Y#RCU0YN$DC.W M42I>,@&].RQP913"$Y89C1*(Q])XS#9LG[D/J1[[B!&^$3T'' J:!! M&%IF'/J>Y_GQ_!.>[3&'FWX@U1.4P_Q\#ATXW(U"$7E6Q!KK ..31%P$S#-% M8,7,"WP1B0!(YIK$-*&/QLJ%;TI3"B^P[=@/+"(8K,,7@3 =.V;<-1WF-%=. M+=<4/I#9MN )SPFX#Z2CH>D+%CHLMMWY)^PX#*4K8+UFR&!6D1D E5A /,MQ M8\OW8R;GG_!ALL3B<6!R;@*M!(P!O02.%T-KA\3 D/*)54AFF;S,X+F1QL9< M!F*\*T2,"?SR.Q@+9@'=(*K])!UV#&XX7?"AGCX9E MW] Q]&!?ZV$8P?\,2KNLV4]S'M1O=.;0N"3?2,B:Y,^DI9 */UQQ$,QHV<#T!AC=),SGY&UC*7=FG5+= A,RB,\X=QSC-D++ I MC>-;1]:'#Q=9P4A5!@6A:9=5!0"-O5V\ X^)6L8.S])^,N30I4VZ3FVIA[.YW[+BJ"9>T5@:H_06L3KA_3.0>N"S M1;MN0R :\ZJSV@1[Z&9INX%QS*MQ;BI#VUGR+6UTR^J3^%41VAM&"1\VMPGK M6K,1UJ.0RU.J.%8FXX\I9$$\4 V@,@1Q9& )3@-.1!C0B-BNXUC2BQMJB7BQ M8TKF!SQT02@X\TXD#Z;F$$H=9CM=4,KX/RA6:$!"5JAJ896<3Q1$,A4Q'; MPN>!*SQ0?2P&"T%:,@B9B F-P'HAC3%,(2V3.S#[T ?J1BY8(9(0,#AX%$>6 M)=W8;Q@6%O<\X;+ )D06IHAOH[U$[ C^PPAQ&K,"8\ $YD:P:#! +.&0@ LP M,2*;^,+U?(][#>HZ\ #G8""%W .E;\9N,2LWC&S/CSB53L/9MU[Q[R?)")P0 ;^^R-(\-_:S-$Y&__E7HK8+9?\NOCY77]=@XG>K:Q?: MNP[S9I?^T4& !.@#U3G7P(BA 4+VJ)=DD?%U#,H 4!)P1=D9@&^(JCR#SJ$# M;(CJQ0"<25($*&5!%"JJFD9=%X$?_,?L!U5U:]:34C D0WPO5EYU+1,7M@W M!NV2/^JCUC4?/)1< -"4YLOLAWK[TSH5YRV64J4D _CU0@Z =3D^4>&PO)1B MK)#\#D!L_W][W_KO\];>[9P8ODGJ9DD@)9S>)1(&8F9Z>[E\_IGMNC71"7X<4 M!:]KSD>R>P!9MFEHUBEWG )IF<^LJ/L:B5[4*:^-K83E F51O5ZK@,[+?(U< M/USN=GQF#^'9MBD#*7MO;%6SU]=8VBFB1G@Q5GQF9S1HQ<]YL>:SX=9MY^%N M\@1\31W!L.18I !\X,H/@-,WMI[U06V?$;;RP0R/2@)8<5WCXRR"AQ])Y]Y. MRWI>P&(&IE(0&: Y&)J+1F"$#F@:RVJ;L6UXN@F*#;2Q;8*@9JEI MA]Q+?"6STP #Z9CN($91!'\,OQ&9/M)['F@81(.FC)U MP% .$C=TDM1(8A\HX8U6GGJ.S_$1& E-4M!GS ;3.HA\GI@19[H]FI7+?-N) M_0"(AEH6I@AH!JQ@-W9,%S&)FXPP#%C)D8L6/K=L0 OG;H,QX@'9)T MK)=34'<<5&4(ACI@&%>W86F1%UHPO\ W70> SPCUQ-SRXX0#Z@&-;Z/IS\PD M#4WF>@QF#';Z:#\"W;5C*TU@WX#$=AJGN&@66EQW7"\"0]U^2"V[4V&"$-C4 MF :J%J$R;30+MZO,-*OJ1BLRD(=+F,NBWIO:M.?!E6IS=D.=";I&RM8MZM,% MW7PCQ^FU*O8A=.S51IIA]Q3F6,=N5S]B_D8:]QLO0?]]#*5IK!.;NHC.E M2D N/B$N5DS:&=JD/H%=G8'ZA _T*]0G'1!BPPV]2/N3EQ? EN*,PL$IZ N; MS H46F3Q@CB'/D:JPJ"G,& N3]&0HBM:;T/M76DD6'##8_%K+$C7L,^\P$$E MK]4SK5[#*# (G=4R1D\73+MA10SVMN H^%.%WXAYLD;^3_Y:UXU@VYBM<7G M-:_?_\^[-R=&,-,*?D:3 )H B\/0\(!:+[P8& Y>#$OYC54P-%+Q"(UT*W)T M+TA!N#MFC$H4E(]E^"%WN1>X+@-%/5(EJ&@]W25UX(: ),#X-O0X]!V/>8X+ MD_!&9KUKZYZ>@E5N^ S,^@!,4-]S$4W8#NB5)#'XR(R,=3"P;0>T)D\ /IA@ MJH)6M4, )[ZO6YX;.2.U&\51"F:A'@:>#6:DPT#!N0 +3%"EKF^[IAZ/E2CH M/Q_^+^2&">MP.)BJ)ECY/@,E[;LQ\].1R>V@RC1,)]1=#L:M!_\*XM0&M>M$ M@"L,:\-4C7S 1APA0(Q^=H]QH%IBHH\BC@PW =TZCA<801H$ (-TGWS@'CI- M'#TT4E@XM\W4]LTQ<#(CP *P>3%8P@ &P!P&DS[48;*6[1EQ'(P !W-< !RP MWC2%-]M,]X&Z0"O 0Z8!, LLZ/%^&-Q/D+"Q8< WO 0D)$$(8 Y!];A,],X M')/[(P=A6IS-M/_B!0C;G [_:;($^5LWE9 K;[^L>%'#E%[@T3#U'S[^U_]B MR]4/I_2K\Z_T>YP#/,.J_D,*B MS7U H7$?S=]W-K4RS-XM!"&R3'_4W=%^6 J&>$4G'$0MOGWP7MJ:IEQA9S*2[/"K7)EM MS.U[VJO1]1"KEWO"M$7%T[]_\Q^?RGA;/L)=A^SIIJ*LEBP?=(.3'_5X"&F+ MUU4P)X2$'CR-X+1%;>S'&W#^<-NV[<:!.[12,_9T%O 0, VBDS@.F<>",'&X M;?'42]T-!)3J:1P[;NC%+B"YP 0\H]L8"N&!$S,CL>V16R=)4^9Q(P@C&U&6 M;;F @#P[C"+/35P>>RP9.YN8E?@L,D,.&!1R89;O)@!&S0! I@U , R"2 \!B7J) M;0#L&KMUC,!+_<".0M/E#-?KA #'K-!S \>.[< VC6",WG5 GA8\QP,#(",Z M>.!_H:Y;4:0#>/;'M&(\T;D56&%LH[O0LCS8#\,+3=.U<.5 @1&R9K'G.[8# MM+)=P.(&;(4?P)!<-]"W:'F6/<*7>@(TPAB3"W RM(&B ,,Q\R/PS=2$(:)@ MM!^6[OJ^90*4=G38PQ&EN&_XQ77\7KKRQ+^L>L*4U3$J8VS>&E343 MH@Y_7K*_R@IDA/J=U8# :ND+.BMQ4M&ZSC#:HKPJ6#0?"##PJUR!QP!#8#!' M'\!,!5/;J,$ ZNZ"J[OPZ8L^Q/O^%C"3%0.OVU9T:_8IC8@)B5F!5"_P#0#, M8EZA=S JUPUV#D70QH3@I:P=7C7P)9AVS+-SU#)U?R]:XF8(9:KU2F#V;9Z1 M>L7C+$4X"#.XR "@ 2E6Z/.#=_5?+_\&P^8S?*9AZXH5?V)?N;S7I"A)[P5 7?)[YD&JA&/,7JK(YYG'%_4H%2&M?(TE=[5)3 # M.D9EAA^3OA+!MD+HMM[KN?8+;-XY[N>M9@)C%F5#)SH#XP06 B8/,,&9\-7@ M48EC3'%,\ >PA^C4PT$JXFR%(@5X*^+()W2V+ON3QL7 \\TE.6Z\'VJ0 @4Z M@.$,R47(U$IX4*S@A?W)@:O8SF(J$*0 0;N C!GW0P9,&/J6 M Q#., U]C$%CQ/.6 ]"0P==L#^"QSU,G3#UN66 5Q)MXG4>&F?A^Z!J85A3[ M'@# P(;/G3@R;3=VO1$R=DS7<&, Q:EC #ZT.0]9 "#1]X!H.@!YQQL%N9/ MMGTGQ;1I"Y"Q#T8*,S'&:CB6R5/=,,:A7M<&4\1/S#!A%@>[)6" DQ7 S*98#_I>LK Y/)T )#"6B%F?- UC#QS22V#&;K[F@_7-.!=9A&&)MDJ3@LC(($ M]CSU/<, NY#SD;?=,"+38(D>Q@9FN1GP>F:#_01F%4_=2(_L<63" +XUP4@, M71^SVM$Z#0P;30G#2\ ,34TK&/.N;]I6D +;I["#NH[W#2@CWH]]"_[@N*-O MP&>1&P!OZ%&$"1H66#G&C&V0QW$ XDL&T HZ6& MI5L>/$)G-#G8.=9:>>'@8.$,RP.)A5*1AXUHA+8MVWF(^&G\/@ M##+X!M-!1H 1%0>1I\>V.]ISACF%NNV&:8#W*VQ@=-A]S(7DL"6^H5NZ2@:D MBS"M+TQ<74($RU8U?Z5^Z M!E'G2:X0^CUCX2I3GC]Q4;-V4Z@/AHZ)/!JZL MWKT?^K?F*CF_V*:T8]/T[O]9@WG0(\4B);_4XQ_5?" M\7I1%H*S6#;]G1]ONRSVWZ5_6.4QO>-]+7N'TK8GJ#TCU MW7=I?6/:B /8B&!N7MG=8-J(!]H(<^Y/&W$(&S&)I@/9B$DT'UX+C,L_NB+95PX2#0;I M$^2;'S\M*LZUWT0>RMLBX[HJ*]K/SFZU0E[*+GM\6_8Z;1/>SP M= F@\3A_" 4N&%UDACE"S*-L+IZE<_C^ M]OAI^P-NVR[WL62^NA>XCY:_!R'&'[M-^M4I)@_57FM_'="OSM0XT'Y+@3[S M??]!NEG?LZ*:N'WB]AMPNZY?U<-SXO:)VY\,MYNN/_.=JQHF3NP^L?O387?' MFMG&0[#[8QMD3RL"^RNOZU>]4D98IJ@M%-76$S\V)]D#-3%^<,FSMPZVCRYE M;BI77E@SW["^WV=3VF/4EA-K'KH"E*7,)T:=&/7@9*CAS#Q+GX3HQ)O/38@> MN;%P+.$9845LJ^4Z!6SVZ.5XQ/2 MZ^ J&_/IF9)[$%\6G.2D7&,A\$>17UL#YWN04(^PKKV[OGQ]9OA794<]"^4] M,?G39G)K%MC&Q.03DS]A)C3I0=LU!TIT5W=]TTCQ$Y>H>U&:P#@MFQ5CJACZ/]-32O=301YVD;-NV.-)* M#[!'%[+AFQ)PP=N,49^^&@1>QT.1 =UB+[AJC3E(>C*#C7&#:0"O#\,/(@TG& MC#L&-B'V D6K!^'W;# (_?PJ:T"2Q/#7=W@[E->-]E8Y +(?9>I ^R?52[37 M1]>8ZYN]?RUO[LKFO\;_!V M4RYECUA>X&S@F21KL NJZ*V+WR_*1C2GA#&7N)Z+@EWDB=3Z=?IR)WL"]CL"WHO962M^M.?0QM*D,+.;;1L)"ST,!K6,'/LMSPYC' M:<)\[C!GW*8R-H,T 3K \$QL<.K$_%IXP+3N*X] T(Q30H)K\R+!#F!*W#,=CKC42;(GE MPF.)'3K2P<@?[W/N)'KJ>X=F>QU.3VP\E/ G'&68'YJZ4 MI*\7K#CCK<3XF665]C\L7U.WU]U(715S< M/M+*Y,Y[ZN)L@',=LR5 ( MP-QZW\87P^DOSPJ@#\E='!^/)XF;$D2RN-8P7&OO#=2.]^K97ZT*VH;55U-; M0Y)].VY!?V-%LO?%[)9:MUR0=[<%(=MDQ:!S>]<,?0%F"I"X;0@O5]JIJW'+ M;_DFY"#2C>V"V_7^]/J70(%B%0PQ<(YMG^%A'C.@R]8!53/[+;IC-*!H MQJW>$J^K"O>#WM,M7B8=-[/ FBE7<#^]Y.$=[1 MSG\TCN30>5^D6X81I$Y@AY:)?81C'\0M2E\. LH"\<68YX[1;0SF@9.$460C M@HZ<,/!3&U"ZZ7D^B%O;9L-OQ)81.*;#P\!!=.O$+ P8R$/',DP7H#J+G1%* M3]V$6PG(&$ M5A2#?#<"W['' MI/;+ /K-!-T**)$NQT"P(:[!L>N:F?,ML86S1N#-]RP5AP M 4'K'B@!/?;A!9'G,6Z#LAKU$7:XZS+'3^&K8#H1=9GNQF!-@=*R#)_ICG$P M"/J/JD0X(%E5"I9/[ OO2_7WP-2KP8.9>+#!!P=M[Y7\X%B86QO4914"Y0+. MS+>6/C>&DN(B X@X:)$.[Y:@"T21,0^^&TL3=M6V'/_N^\E^D7*HL!!KY$2BGV$N_T)C7I:",H!!M9>F'/SN^]G&I"SR:@; M?!\/]\V4==%3JKCDB!<\S9IZ+'?AVTU.[=@%H7'Q9$@4L/(/_)P7L,B/O#K/ M8JZ]P+\B?YGZ#^\^?*2?C!^^U]8KV"?O??7_-[H%TO;_=LZ_T%6)SPQ+:]:(E-VEXH MZQRV6: B?$.,NZH^!-HHNBAZP,3BG&7BR_"VZNP2J9#%&>X4S!.,J!B&U:)U MEB>D0Y)6I?6WR?""-]V?VAV#"9>Q8JTU+2:0RVT?%KM2-V7\^20B(QRW&!8O M=O2%CA2::X]C#VWF?Z3P/UV_75N57I^8. =MC'[.A1RU]??BZ/?1*&9GR2QE M /2\NF8P;@;S[_\VZ'*S00[IFNXM2]89-,D[>\9/1!,=EL+(KUA^ 1!&+M,+ MYG;KSG_5NKS05-Q^;5A7W'UX37=?.36-.7J M%>@78A'X5:[,-N;V/>W5R$2S>OYVIBTJGO[]F__X5,8C)OVJ(7N:ORBK)0MK"?#Y1JWAI );U2W7LYMP_G#;MNV&.48HI#M#1X$/0LOCCC\?W/!.: 4\SNA]ISO9MK%(@-S6@ #])@M^%!]MQH% M]&]?>9/MU]>?^"VLX48K M_=@PX1,@*&8:Z,.3VF\7\3=HXPC:6#K0ABPXL+^*HFPTA#IE V]'=U%(^ M20$YE:4), @H!/1F. U@=53K/>7Y@5+8WM [Q1M:!0HO&JI6](HTBPRV#+AX MKO5US:$Z"_L*SP7)/[@A)Z0^)/V%)TE M$"VN\H0+-$MLCP<6ABC(?2.]4.U91Y")!P-&+3$)5)RU2\*XY.L"(-X;N.]L MF6N_E!=@A%0SQ.A"F,@! 2_C4)TGK.?6H^'P^ZW$J0 WQS"1@I^1(I-^&@+: M*(JB-0@$7K>Q'%I2^UE65^L5'?+.^:/<.^C9TWXC*8++%EZ@/\LJ3[1?.,O! MI'I?G;%"9;TBZ#XK*[++.@\1VF3 !0E?9K$@*[[E'T6&Q/O8D-\4S+M(YF)+$;1>.DF0=688E.^!H5$' $>5)J MY,<83C68KQ6Q=)XM0=NU7V)Q#'.::Z>U.C*]TS-PB@OV7;*_@$6;2V6UJ]65 ML";IA5XP9:P*&S*'4YHC7H'CB3Y]^ _,L$#Y(: JX*F"%"5,:*XAS>#P@TA0 MVK/3P L&Q#A#HY?,Z@AQ +!^76=IAM$'(&Y=PU:@^2MGUGI0ZW6$D3[ZVW@5 ML&F?.=(73V6Y/EN@<*#!<#$QKQH&;_FKC& 9?+DJ*^$G@&5T-CZ2GRLA<89- M28NEB%PV%),>;(D(&B9#?Q-2'R?$4MZ@1QZ/C Q9(8LWZ!=J MB:S<:6?K#*:&!U4PK*! DI"+HR;.A3]*=TM\*8$G31F5%LA; )N,!H63=)[! M828N4.'LAK.EMB0GJIP'L?MRN2Z(Q857ZS55ZB)%7,-\E&@''5D2:-Z,),@X M.QR%]7+5K;*+K9%R@BDF',[R$EV[(KJ.WC[Q+'R7-Q1L4I$]VHXM3E_A"Y+O M202AD)QM67-;P WAD#(>%8U)V*E;.6RR7WM/=#/0K&801G M)2B8 .<56;T@=Q@Y(&?=]L-H_:V1&"3Y"Z0?;H'(3& X\ZB71M(I]5792-&! M0Q5EL6*7M'<#$4KGA' 2"J0EWF=),N MM!_%LD8@X* 5[8//:T?:X6G/0III MH* R@IYPQ,FS"CL$W ";DU[N"J5):;=>P6'",R*YIVY5)1S3I,1L$^US45YH M"_B'=EUB*^*65@JTXANXH1/<9(*NBQ2LC1GJKLV7+)GB@M[7I.QJ>4@&2#?7 M(,2'Y"J$ "27$0^C%%S7:V+Q(2HMA-T.8TW0ZX5LD=J6B(YF%B^G$ M.@HY*;"W*Q AIO!1Y54 8(J1_4G3"%N;99T0KL'URM2W"EZ! 13=' M>X9K(^LSX(+BU8GDI[PIAKP*N8E;K@J#-F0@KB\RUEDQ+(BGNO M!!.\$X0V8(6^YT$*,OB7HD]KA6" *EYD,,P 2+1ZNXW74G(#JQ<:MB1OP_A M'8#[&YEF1=(Y0-3^]4:$ X+A,9)'#":4<*W"] !\ 8<'2V2Y.*OB]5)JXODQ M.!?:5%$WCER6A@EC=FC'NA[Z3FJ'@:_';NISVXU4$/K(7/*6/KGD)Y?\(;GD M?\D_&X;K>9:O[]7\'7"EH!(*Z-P.'/V:KFK]0/_6GCT/*HX$;'@D%^Z \/]DRI/A ' MDSX9++:_^JKM)M:*CD"(A(V68X98^,TN7GL@#JZ\3][CW][[$62AEE1T4[\3 M*'PE!!XHZ>1:.2-E/PVL'F517>;KAM^S@+DBP'1SWN@IBMO<=S?G^D3U!Z>Z M<4T)QHGJ]T)U?>Z9$]D?7L085U[>FZ@^B9@G0_5)Q#P.L]ON1/7]4?V6I:"N MQ>Y'U AS/[#YN!9\\RZP8O'NW+Q2R#UZR]??,3;UF[AV\)8RGV_9\?5&4N6( M-GDZT-.!OEU=&7'&'[':X]?*@&',>3K_T_F_=6FE>Q8)=^G@OOGOW3W=S;L> M?@.6_KCU;;_V\(MT^5L=^=UL<+7[8F*#0V8#(]@3&]R[,K@+&PS7-@GY9P7R M]N $?'H+OL[_]N16?._JZ= 6//'TTU_QDS:\[M3B[#&4]6M,0:2"&HG(1WY! M">!9@:DU>VK=]M@J^;'[B#RN+'ODU3^V8'O;NIO1&=;Q.FR[>;R&?>3.?JWWY\&EU3X*S#^0F-E_ M 7G#G=FZOD]?_C'JVHE)#YE)@V#F&*S,&O'JN5=<8[WFZ]5CT=A MW#Z WCQB^'__'3(?7Y+=5':],"Q]YACVP[2*/4;=.S'ZTV!TA)*Z8ST$HQ^Y M C]H/?US5K BGLS8?5@(C]W"^8;"ZFXRZ;$7MP^9Y;HSP[I2-S\+%3PQ]Q$Q M]]UL:,,P9KJ_QWZ81ZZ#C\.(AG?^SINV/8OV0O4&^)Y*P6'8N"UAP_^YSLY9 M+NI2'*E=?8@6Q:-W#;W>#[AG:^/15[Q_Z1?,/.>J-JF3"3X=F*=Y8&Z,A9V9 MZ7B3]7Y9RI+L]"PT[\^ESY]FC#LX=@S?-"&:V$TR1Y8DY M#Y Y37/FVL8>F?/(M>!Q&KE_5"7,,I'=46N6WU913L;N_8>_#C8OYEY#8$\A M86;F!Y.]/!V9Z#3&QY>ODK=TWX\F>^ MM<=TU^-4TQ.;/VTV]_R98S[GI.Z7U*GMZ32>ZSH .JYA&IX/K]U? \ ]KD^\ M&7]^A;T!LWBS>IL,P_],H*);XL$MY>NWRO1-SPGVNE57-W)]WV\JW+;+K=#; M4W&MAJ.>I7#LL:']$O!V0XZAC&[@4S]@;-A> O6P*[B69E^X;"@NNQWWF^8N MV5]EA9T@X0W4_5L;V?4=)SG3FLL52MW\DKH!U]D7;5EBCXRY=BKW@P;F,#!0!EY&_;17 M.!(.@VV$L>]U@5W=*TZ=SG%.V (>FTRS,S[7D =@_ I^:4F4K$5W=9A!><:Q MRSL-I.;3>Q=1:*:=\0+>@!,5Q%D35=22:$45A^/]+Z:H(ENY"^^BZJ.L+J/@ M8$CU@FN7\,>IG?K?LMT"4\K'/WII2ET-J=->FE)&LS?,'UZWK:K)Y2N3FK!K M.7%/!D-GV-F^2/,U]OZF=R9\B7N%C(BG 59QGF$/5_RP2XL2LZ[A*#>PE5UJ$1^]:WRX"_(_@^@HXXQZL0MN ZXYAZF4R$V7*^&6;L=5+;ME>M9<>U?T MVH?/=HQ!O=K5-:B+!2]$^VW1XQR$206GX+S,UTLQFI05>+0&+;?QJU5W7D@: MS7JD&R^%I-2L)YB0:B >E5PH*^Q@7G$E>Q,\/A'VF,^ 8#S%WO#B$,4\.T>L M@@>Z7N=$=-I%)34TV MX?HFR&+X%#(PBD:YWE?!C#'.::W]NWP!XOCO)"U#! ML.Y>%_8<%@3KP9KN8@$K^I.022AC:#M$^W+JYIX#!R##X)<5U9-.R@B.HEU( MV7E94;?<"\Y(X !I1&_Z6N-?LKI1;=7K]7(IQT]1TBJ)^+H$O535/+_%F/?KFJ-)0/<8QS]M#3B>6:-SVDT\%#XI#A6>$I2FM3RG'>@4K@%G- MM6G)F!<&AZ7P((5.+1$L)$: W!M_&ZJE"VH-D*WO0%MJ\ L$L9U$!^;6&?4$J(.+JQ,#K$O:'G6<5:,W3+)EI'WB> M\71&4WZK#OQ'#O-!. X 07N!)\G4?WA]^N'M1_R$?C=^^%[( ]'(/D>UO0:D M26@UXKR0VNE2&W9N0@Z>$-L-$-L_I.G3E33;BM;>W$!BS 3#*6,JVU(D34@D MP]+GSE"6M,(&U"!)+..VLH;#27/F[NAK\HIY"^K70O7DC&_%[KBOCLMB,4SZ5; M"OX(GG,W6$IAPAMHP)8]>A/<.A1\\UO#,.[$O8;GS4UM)^=>._; ;$K JH59 ML\%[D*]7@T0;(=2C9H.'X4U 'J%$MVDCH8!!V)8WU38DQ96:$*8YJ! M0<_ M$DT+G,=ABVS1Z[;7PC?.867HB%[(E[?^>!SD/GKX[NQKA1E%FC[PNF/(:-BG M]]__;=" >".$+4,'O67)QL2G/^(GH;TQ.HU8&ZW;;]>M>$' MB[*=]+D9?*?U?D:";%!SR;Z<]&@V](J*KZG/*M&.67YX3:-EN35-N7IE&G/B M!/A5KLPVYO8][=7(96OUXB%,6U0\_?LW__&IC+$%]BOC2BZ(KF>W83SA]NV;3<>7\%08D#/A]_JCS\)UJ+T3P>Y M VAA;PC>;5;63,L1O<>MPU89_&0B)%FSKO"A58Y"CT1K7P*3L2 2'N?:GXAI M 2B?CR(,YGQ)ZR+ #L9@ MOD92CDB=%>@L$FY9\FD)W9RA?PF]%\)NB'C,<&D7PJE<@A!"I_)G]"Q%Y;K1 MLD;8'UF5""\<:2.,[[H5;ZFYS8Z#^KQ0+Q MS17*-_2U#^=7+\CLP3E&O#]-WGE1 MJ, "OA(SMLA=6#?P'V%C*APL%#MB ([F,IR7VY)HK@V3<\C%$ZG3EVA)!CR$ M> '>A$=-.N" XPO8R,-&!J-0I^\==:CSXP+/UP>^DG>6$)B?56SY%".?#Q+A M++3?&)!2& 5F@.X)W9O1N?NI9""MX)2] 2M3^#]?H R7WA#Z<^L)(<%]SBG" MUY3Q9Q ?[1ZMQ!X1ZAX6_&7!]:(S5N+YULG (3HPG)"3YR^42'\!W MS[6/ZZCF_US3B9R18A&3A>&D]0 T(8,!_]NYUO')8DVN&(R5B-%:IRY*26E3 MM_'";O8D!M4J@:@U(2F!5!E&;F2$ 61@+^JZN45C6K9S M#<9>$44[TBW=BY*Y=DHDV?1YS=I0;N]Q8)=XO5SG2D4TPH,7C,U4M?J&M$H; MCL4H+AFV_MP/T'85#_9V;W.-ARVN'WQ>.W*>/BF6ZU$0P^EYCAN^9 G?_#<)ED-K"NB/L+//.KR M1OJ :^&/1=B4LXN^:SOG9P16Z-P2,)BIZ"%YGV%NQ*S[NHSL4'B4#B2O MXDR U'H=+WIK(?ZMUQ3I02"R01RB!TE3S?0$S^/HOX%D,5WY.\4.ZA7,@:LC MOX9C66&Z00/+7%=D]:I#K]P4K]__S[LW)P:P.,R<+[-XAA0BWT2Z1GR3<)AF M%@E7DQ30[^ :L;I7/N0U9^UG\5"I< F+)L5"(I!,#G6L\5VW=:"8+MD A]8:"/HT'RV)-_B\B6_,"/=2Q('JJB-['SFHG M6OC<]^0 @KX$%1"CJ 4!%K'BLTP8;# #O!KPI3X%N;06T16UVOR'$H2H!.'TB$Y M((I*^ Z(4*.!^)=55HE4D_]FQ1K=):"I')% 60L8HG9)1&?RC&,F7C^94Z3Y M*2L&-(_(>$IA0EF2LRE0J $SF8E'B],H+=&O$;$6P.RM@ ,S;DCZ- M2\D8->:_).T*R3]WZ_D2LA(VT 79( AID@UU/K>[O1L$RT0B09 MK1AZ*HM"9%B(-!!4_H#_$LH?D]A*[:N*%%'&%Z?W+I'QT(PBWZ-@RB40D0 , M%]PRY,CWJ7#\B>,TT[[5^Y-&XP1('ZTI55Y-H#U,BH/&HZ]; Z]S8U(&&6RD MMN1@["6"1;O9 ;'TZ\;=*@_:!*ER&9%?JTTC!.!_3GF$ZZ*;6IM## -::L#9 MMD7J!BJJ1,241%8N 3WF5:4Q0FYX -8IYA4W:4D#DM<^UG*4%Z M4DHZ7?NI@4OVF6O_A.,+CP%[M6DI/9M:S!FM%L+M!EX(Q*]:>USF0D55"7S6N?R%H0P&])*S0LJE2Y&G M#.,G<*[@U*#"%;]>%)L^ .#K1%C9XGTB^B/2<^$U2=(&\FM!+)K;Q$&OI0J7 MH.$<%!DZ7-5=D\VS"D3D!<5QP)!?1NNJ)N^'0!4RC$+;A\1/LAJ?(+DG[Y+P M!*WC!RV:Y62G()).+5!BC@]JR@GWG64R1'F ME!PQ)4<\H>2(@: #1%MW%[YJ<<$J1Q=A59/9QH5,VB(V%L#T9XLAI!2&:,IY M)X<*#*,3@F):G+-L*=S5[(SA%3CX4+QZ\&;6R'BWO NG ",9>F)V:,]&*--D MQ%\D0]!<:12AYM9%GGWF=#M(&9Z@Z3AM5+K&A L!YS?F $L <4\YV$- :LYA M>\A_R8IBO9PA9$;,+5$?IB9(%NBBY)\HD/*NP,0UGE#B [Q)I3&/O$&GR5_K M&K_U]J=WG]ZR&N:EWB/3$QDO@@(UQ& M%GH->TD7F/%]G,%7I8&-\9UI!_L[V&93=Q]0[O2R) ='1]I+,JEC(*;07KB!J*+'KA97)'G1B0N?6*"=92J++L\&.?.* MI#TF:5;CI7!Y6H3Z%YD.N5J3F"3;X1&B!'=][D^'[)I$6JJP\%IX#U&.?16_ MO&#?"\_7=7A))-FB]U(<K M2*>(%SQ9Y^**DI1I+4JF+_6.442I(&!JP$N,N=,..;_N9,V^CG*;F6=RAK.- M1Y4^90A]D: V= MN;O$B7\;H8I3,.EB*V[N4]S;HX<"N/>I&'+I%-YK8(YUW1'TY$^M*- MZX#M!2^IC2BMOBUI(Y79M\8XG-M+2Q<0DL*N\J)\6>1T.Q>OOMY*',%!@46Q MAHX4S-_LRXAGSXQ_+K*<#V3-ENS\GD%0TA;6*QY3-2)TO)ZA .B9BMN"#9F M1'3'C@R%;4(.C48ECTXX%EJ;IZN4(:H3J3HH,I4."W>(Y\)\!R!_;18RV2,T[APQQ',V],*C+TLT*"IN6L4QDEP648DR3X,4959Q05>1$V659%KF[?DBI*I0M MAY Q*T1!))IROZ;T3K\'F1;C'%\J%8HW,S,*'L,TA=\CY3R7^=%4;1//*BU> M:O-A;0_AY%/E+NFZIW1)HAN'0$&]EN4S,*D COJ4-GLO:;,;27I=REI_1EUY:2(7/+JF!4C; DNE])+[MN;O4=D6=7>9 M1>4Y9I!O9L?%Q/=UWRVKRK1)QS?O@J;2HX(%Y\5+FFT)=UG:?RKA2Q!8CRLRZ4H[E_/Z7EO8&?67O#91EA ME6,U+*K=1GR&O#L3DJ,YTQ!X#P]3(-O;-&T=^>X:7N\U0/>HIB*Q(I^1 M(CX5%_6'6@ZBFA-49%Q4?!4M!T1>Y+9+61MT[T645-4DE:9)UX,V]DD04)UH ML&SA4S0-A^=7S$#RMR3H;%L6'.X/Q9X2<>M(5J3:&I9H]2X&J;L0&GZ/6+V7 MK]A IRNDN(FG9<0 SKWE\ ZTOB,RE-1?6Z9NZKX MG_2_8BC2[S+354B)+1/9G?7Z#/3]U?/Z#0/\;5>,6:\8O\@6'A^= L:-22:M M97!8G0%9HK($7NBK ;HJ*8^IN"K:R6'6B\X@$V7-FD9JVU\P>6F31-F%D'I] MF==%W$18C6X=MVT[4)Y(:;Q;M5PLRBZ^?5:6"26JM@T+%$^IK\]D!0Q981T% MG*R(W\;&Y3U3NNW7):-4K5(:O9NN/ %AB/\IZ7$HA^EUF;K=7%QVE;2IJ4-# MY>()'- UUN&YQ8.-QY9=,%5;[5++2TR;[-2N?/^6W18;-I@%'3S<99%SVX+DPX64#&++)5+2YNKS#Y7(;=990* M,\=FDE^VU-+!4@==@X8^GTL]*G.'!7Q(^R:BO&;:JSF(E6I$:%Y @\&Q@0GN M(*/JNH)U(B48(PTV &-T?[TK2-CFW\(Q$FTZ\'*X(BJ]8*/E$XTVHT-)^$>4 M$"JE0,2:_^AVQW3?KB]%7T9WAL.6R[<5V>4R,8WSS^*:KRQ_II"(Z$A#XRJZ MD#@3*$GJ;P*"6)-S3;U(8+-B6+6L4-130;C=@ *J?D$DN<%".V4K%<67(DS, M]0)C6T2G'JW*WQ6JIRA,KOHSP[8S)[;O)<_'A]F;RK;NUOF,8RS;7U3V*3D%&! M+$+SHL!)VR" ;OG;^O6/&M>VK*NW>0CH=I. , 1SR!'")1B4[A6N^M;U,J\8@ MTLG0+H@41L\W.BBD"S./>^7SVLH)8[MJ!/.6B W:+4TP2:]Z :1J<+;]\_ I M*A^<=54TL6D>$B:3#K!-SU?/#Y15R0DJFLN.C*)+5E(JQ:)(T&>P[ LO@%5?4L MR FV3TUP((+_WHH3ZX:5Z(P9H6T%>FC;$0M98-JA:?I.%/A1ZD5,ALJ.+8IN M3U'T*8I^$%'T82%PRS'DB1I];IN#S[&(J/5_UJCR&WH5*%7X-9>_O4N;7FFD;?O'5XOT\30AH]JF@M6? R+C4 ^$V8 M55B*];X1^2V71C?P"X]Y8(B934JM=3'1+J+]EWQDQ MR"6KJ68NUO-=TT5FL%?+"Q&*%[$K>0F@P-OVPF<&N"%#CPS&]'%.:^%/Z$]* M- [MHO@*I.'GZP;(^B\N/#DP>XI:X)<$3!(1.1XOBNR?:VG&*R]BCP0$@(3! MWTL.&!=MHA?3/3?T:;05TQ-1M1'1&CY 31;0"PAODJZAF.H1BN9_-+FV^Y*, MC( NP6K-R-9#'W*U)MPUUTX;@I\"8.&WKON*(")!10&K^BE_.(GG8$;?+(>E MSW<[.7L0==Y6?%146:&K/F1)B=N"HY=00KLL^=>FI@^S0M7%LHK* QY%_XN' MNOLO1"H: /(JTY"K\9HB<:MM>!V%O&CNYHCE_#<_NZ*?/\[3:JK5WG; M\9X]$_S9]1]2]5A5NU7<1C"(L=\/%P&#HBPJ]"14(J\:SIWR0O1Z,6,('R0^ M5M@.I[EKMLV<7/)ZR 51WFV1\>U8@BS/< TS> M.$$DV14S'78\HC0E"D5%RM75'G]$/>0)2OI-CMKJLM1'B^67-;6U2G.JYROO M.+4.W#;N2R6*U%WDMK)3K;W@\[/Y3#D2BVRY%DU3P#BAG^7$,2NC.&L6HCZ& M6I3P9)'+JY >'I;'U!B$H@>7;79/LN8SC3?Q_/L^R*(*->NEK+5)2@ZO35>) M<+%1[*KK%C7KD4DVQV3Q(N,D>2D\L/$561-949($Z&%SL33L/&9:IJ4GH6D: M>FB;L1]&01*'9N"Z.K,B/_+9ALEGD^N^S&M8]1_8%8[HH8Q ,=.9ZS(7?S;7L[D'*=9:SMI.H4'?H1X3K_ CI3]#7L[$62T-1 M)J,L#G+!UUW?E6&W0RFM$XZFHPCRJN1L%8I/N@V)^QNR:C>$,$/,0'MC(LJ: MVJSP;E,[\%JO5YAP4ZLR%%UY<15,[@_<+:IOM5+Y)9#$J?:V7?Y[#*I0%;I$ M_NWGUJJ4?YNU]S'WOW[M!1O4-?RPSC&W 0618;$3PWG!A2HRG$3^UM'D8]>X MZ*TRL[&G/(QN!);]_6;-*"*8Z,),=5Q4/0+:>8Q&S*E&M*S#!VBKVXO97[NS0*O/5W3D4LX8?^K'NA[IO>%Z2^F[LVP,P_JJP63:U%Y@F%>#&-M1(1%)54*O+.U05-5;^WWWU)>&E%? 0] M*.B;&V7'LKHN8]$Q4^%K#'K1M+I+9;P6V9.)0FLBZY[%<;5F>:WR4R/R_M5+]MJ"4L*-B '?9M*:7G@%)Z".2<8F:)[/$;6I[C'2N\.;TSONFW M.7YP:'.@0.9=T28OJQ"OR"7)"KJ3THB&I93Q2^G9??_)3+LLURJG. 9 )'I- MJ\)WLMRFN.C7Y=7 ._Y@52-MV%F_&[7\;$=+:JGA3RF!5OH@4+=B.4/Y3?WD M?[>7ERDH*0S9-SPF.U8\91DS5>9*MCO$^6^8IX-+5+/MRAF5M@@$294^:&]& M*3IO9I_U9#E9AOKD%@_[5YUFU5N?X>R5G+R@0 )8H98&H M1]7WU:F7P_U95B"4?Q%<]+XZ8T7VK]:8_(U5\#YQ&TK5=1;2BQK?8"'I[H9/ M)WLOL8X!\C-=WVL-N7_,/\XW+CC*FB:HT63=9P)J:M54#4%>CD>SF '_P@E0 MV5D_R+"6)$TL2U3@#'%4RL+ &SHPB;88%/;+!#DL7K@0J:AX^1#]JMO.GOSS M;&MB2.=2^"0L9SI[(D>AN*1^OL M(@53F/J-"J.(DB7=)7KY:FK7#3;TMNNA ML_8.?T=&NKTC(GO S#CY!J_A9P7%)WGVA/HTT8@HR"B"+/V@$?+(/X2/ M4KJ%G[5/^.9;^X&CFZ@C[9#@+8&G\.D/6):^./!$N0<7#%BYHM+^D#F4VP_G MQ#N8!B6QH!"C9H FG^Z)P/)/)69W4DI9Q84IVH>H]&<%444F^SGATLTF4>(N M;[]ZO^C78XS;]=0+5HGM(G]_KS2VO!I-[YYK']=1#>B&S'O9U9TFBZAOHV,Z M B-$)ES@W&)-YBW6>A.CR8O5EP3:U>6++@= S9Z@GUHEH9!:=1_J/3;7WF-I M^G-A0QN!\I1T<^PH572O4;XC-5ATJ6:M3#,&4]I5)Q+97A*_KSK>HC$MV[D&NK[O0>QPOO:^7:^%Q ME4W[X-O!W-@Z'%7S:>]:M&V:OC7\N1]0LR=Z<'#?8[S&YR JKS=H!9TZZG2U M$Z@4WN8AZN6K856E!XW*^--IXU6F&9HKZCSW;>=Z75'42IUH=?ECPP8B M"E&U).$/[NIWP@@W6N9,2)^$#"NZY*#,M5;B M]6MGO>DRG0HLS'--HA,1M'_0];F]]4A3*;C!-2@ZS1+7]T_0#A3?-DG8(1ML M8Q[HG6P@S'_XA1N.+6;K3C';*69[$#';ASC1/6'8Z]&]6Q!V8E!VK5IV K M M'9GGHAB]NH]/_1E6[W/KM9?+:X:VE5UV.E@GE"UOE7-7ZD?^J,B2>6Q MP$V-!3,,FAY@L2GU@3B$],G@K.JK9G10-Z5A4ZF)R0$-L^_'3#/T$RJJJ=]):[T2HNT"Z'2M1)%2G@96 MC[*H+O-UP^]9E&QW)]&#JQOWH^BIA+^];)(;D+VGYHN2E+QR M$<'R$3IZ\:2/VM1$OFPH='GMS;CSZ@CPQP4,RP37FZG,X]M=9BM,Y> ;GX#K;:"_+_9K" M$9\P)4:L^?=U=P6K3,5_/U(,:6]2X5GM_75&P*/O_6^BKN.VW=\3#:Z#WX^R MX\.U38CV _R,=!@PKD3:TSH=T*_T^EX:IA8W>M(!%Y@LIQ?5Q1A;_AHXH=C MP,G""!);CYEAS[W#IHA3D5:M 0!F!L]<<*S0H-1GL6Y5/:G15'BI2N)#?_(67$T M[M%C8(>#!X,CX^ ?>!-404.^?Z9XLE!07N*0&1+&ZHM&I64/EBFPH#0%\<_$+_L&D4?,)&6ES NZ M&E]K+XSO)P;9-ZQ\0@SRK.'EYFW_..8\37\X-!?D?Z^5W2CKS9R(_W2?6\:V M7;SM @_H[*LMO,=%/7CDG6Y^]VL@6%AZH5>>XB9U1#33GMF."1]/]QN!7/3?)K,_@ B[MZ]HO>SZ?XLL,V9X4T;?]=% MW;O_\WXVWM6=61!X#[#M]XY8]ZC*KYFUL1Y/, B@Z06S]J#MV?E#E>V.>Z,\/RIVT\9A#G^.9,1U6_ MKTT\\&WHPL_R',-J.$S;NUR/YV.SS MT![+QU[O?0!5XRJ@>L2'Y<$\FD^.*8*9[CDSQWRB<9T'\W@^.<:P/7/FVO;D M$3TVC^AC^)L.Z%SO QM;<'R31O@? K[?#WB?.K \B6UB;F7B84W M_-]MN]5\W>04^_8^P=90Q%XXAY.<79;KYE6:?>%)O^"LZFTEB#X$Y$H(WXGB8WVZ.HTY(0RZC1/CA'$9LV&>98?.OKZ*P^!5?>ZO^4W]T MK2=KZJZ.O:A8K\NGO#^JE87J]R>[HLJNDM1V?*;5N_IJ9G7733.8.Z.&G*(# M9L1YT377'#;RG+=GY][/3=O$S;$WMRK)ZA6PYZNLR+."GT1Y&7\>M,7"=XUX M44R\_Q;)]6VSID?L&'S'Q1'/MXNC^Z34Q+XLL6M>CO\\TOESEY26'Q6!C1I[+7I;$&VMLQ=DL%F6>C#J%P1,U:[(Z MO81EL&;=E-6EEG*8$,MG]!$77>E+.--:P[ZT+\+N864$QX#)%IE51HUE2]%[ M[)S7#?V:8@/+ILIB[,PI^OBR"U8EHJEFOW]F21Q?S[4_%\#*%[R;,[RP5NUJ MJ?F9:*4I^^K"&BJ^S!K5(),.P:K*J/D3;9Z_8F]S M,59WOX'#M"SY^S>A[J2)$4T?6 M8]*;>DSV1.K48_*1>DSVJ&T88*RXURHVV22K:CZP!DL>;TNJ;']7Z'U*?'WB;2K(71Z== M?+;/5I4H/\Q=!B'8K$Z@CB[]N,5Z&!L$90O\Y\9>WSR8MV/,CW':WMRRCG#: MH#/\G3&;*]Y^R]#0'9AQ/T*" +T\/L%5$.-*)!9\!1*[OVU^'A3Z2N'P/(@T ML=&6*B;6=55,5-3:,NZ:TG!/%/7O0- KX5\1E]6JK!A:\F#F?N IKW@1\[]% ME?;R1VE]2ZBFO2L2(!8^^A//RPOQ#)K\\KF?82_ ,D?+&'\7?W\-IG16U^C; M&G__:^I/2<7QI'='TEW0452QO&'!B$<]]OLFPYXZ?/3TQ)/FFC>\CJNL=35W M=M;$.5_#.0+'7\N;6.MZ[%! MQV,'85&"EO'&KMS5EF2!?BSI9--Y!>?ET,_7]J7?<_Y:M^)#L/NVK)BI04YJ M'I_ )EVGHEA/XUDL\[WZ@.ZY[$G@GNFY81C!OOC0/[DK?6/RF;_TCCTLP#$Z7 M')@[H;C@!TZQQT1[C9N9DB6 *6S0=K@.(>'S[(:J%8T&T[Y8SL+5V0(W?/A MN+WK\5%(<+12[C:NC#UO[1W!/.OOIZ^PCE663SKZ>"'B$M9]! M.LA"%/K)_YZTMS6WCI/C)^U]/]K;T&W/=@/0V[KCF_Y+9AIF8)ONO_B7$RNT MYHMF>82ZO*MI+?+9K4F7/WU=?J22;=+EUQ,!C_"DRSFCR+U9B'*DR[PQS'96YX4[*_.DK\\F9_F25^9;S MO+=;$U^U(;LNLW? PT?<<>LR0D\5?CC'>48G^''?\$/W7 D_/,/S0^.@T?8FB'$3B)%F7TY,W=3UP-*_ $8P#AI%QO); XS75.GF?PE]YA34XZC4KJ.;'1Q[CXZK6O:G2 C^R*F(%KT_> M?\GYI78:4UT>H(,YP8FG#B?NDP2'R 43]-@W$9XQ'# G./"LX(!Y9'#@YZQ@ M19RQ?((#CZT+)SAPD%PPP8$)#NP)#IASXS\G//",\(#YE-T#@>Y.>&#" Q,> MF/# A ?NB ?,"0\\+SSPA/T#$QZ8\,"$!R8\,.&!.^(!0S?F[W[_."&"8T0$ M[ZA5B?9_?_KPJ_:NJ!N&_6?>E/&:K@4FZCZ]_F73= ML>NZ3^Q+693+2^WMEX875&[Z8[S@2]8JO^/:Y?$Z%T[47[/BT/ M=L:U=W@,6$PW*-^PAFG46_4%7HJ(Z:D5/D5JLF%GM<8JKO%EQ!.LYY@5='NB MKTL3:2U^?YR,,2G+25E.RO+^E>7+AD4Y__%O27;^];.?=XI)-4Y_Y/32.]D&@+7O&+K%G,V[[;#SM!F,M_:C^OJR*K%P\VG3MP^GU/8X,P M-YP7T[+D[]^$>ARS)(BCD%M^$-K,]L/(]>PP9J;'+3UVF6Y^(R\]$AOVCD*< M:9.$ M[QD_B2K./I^P%$9^Q?(+=EDKG1W,;:,]T+J:%A)"0YP??*?U?NZ.=F\^2_;E MI$>S$2:GKZG/*B%IY(<;PN:;T7M;X0T5QW+"BW5[0SPGKAD M_!^?ROC!;Q1O7B#^A!I(E!\'GBJ:>N.J[Y6W.O\4HO9N@8- MUBRR&EZ\POKW,$S$M1KH!G\H"RV#82*^8'FJ19?T(A!;O)(/-*C\U@5\B=X' M &)15K"R9/Y@!+J+9B3@UTICDIPHB7.VJODK]4-_&CBJE%MXZF)Q6I7N(4&) MX$E](*0D?3(0ICTH+9_95%=-I2;6PCI:Y@UPN^W- V\7;A_)YM[+T<1.\_)" MD4S]3LCKE5 \%T"D:^5]^W<6U66^;B3XO'U"WJ ]Z:&DCW7 M[8G>#TAO8'!_(OB>"'X;C_&UHN5A_<.[W<%?XQ"E"\A8?=% .V>)IMPJ MA\:X+^N7V@U%]T_XF?9VKOW*"CY)ZDE2W^9 (#@]_-,P8O&)MR?>/BH4D@VM M,O(!9PU\(4;W7<7K#+EAMK-6-#:D?)-5')1W];>7V23>IR-P;$=@ N(3$'_B M0/S/+,\SMM3^BY?5V83$)U']!)'XF,_P.X6VN1.0'P M'87;)SP^G8,C/ <3'I_P^!/'X_^]SC.N?9QK'Q>,I^D$R"=9_?0 ^0:33]P] M%S=XCG(G*MG&5X,S%D M,2YH=&W=6FESVS@2_2M8I69B5TFB#MM)),=5B2+7N"J)LXZ\QT>0!$6428(# M@)*UOWY? ]3E([8W3J*=J8PL 0V@T:_[=8/@\=]:K7&1\B(2,?MC\NDCBU54 MY:*P+-*"6[3.I4W91)4E+]@GH;7,,O9>RW@J&'O3?M7NM ]?MUHGQYAI5 ]1 MQ8!U.T'O*.AU>AW6>3WHXM\A^_*)[5U.1OM._,/Y:/+O+V._ZI?+]Q_/1JS1 M"H)_]D=!\&'RP7<.3XUQ8SJ*4:R/LV\;EY+3U&A)6VDR<' ?+ MOUXV5/'BY#B6,V;L(A-O&SG74UFTK"H'_4YIAQ@9H/N&S'5K+F.;#KJ=SF_# MDL>Q+*:M3"06+>W>FW6;EM-TW:C\Y@9:9-S*F:#9-^:-,L'U(%0V'=YYG"546HW-\GC%O%OHJ(G*=&HM-C*F$V%>PK MUR$OH/#Y=286[%UDJ:?7Z?1^]#;OW]19DT@'%#1NLX]0KLDBH:U,%M"8V\&/ M5&HKCOM'$'%HR"(&$H.6:[E?\6[;V_=[/L]8RF>":3&38@Y^M:DT[,^*:SA" MMD![J30P*MBITKD?TNVT_DZHC52>4.?7A;$B-^SRZ[MF/6D1M8>[:[?>,]CM M/38(L[E.V%J9$@-/J-&\) MU52,; M956,.8'>AAF;0%Y21)8P/OD-^1/*I95CU)B8&TO#]V*7QYLD4640@#E%EPM2L MW>>M[N&>\*IT#V/_R_^4E/<+[RZT"*-0WO BCRHI]+35DJW5$JQ&.[[I8)"@ M)+23F=9U-$[X_O=[32P,BBS8S;'MP\@V*1%$O#*/'T*,' JV6LESO*HT)D#, MSJ1Q3 I4;AYJ,)9<\@F#_FR'XC7)+\&K%ES%'5*\ ET,2J3L3N?F2HT,I9< M2]J ]*G(,6-!,U6&TH,+%.-RB>,-'*J@$(Y);E")XD-&5<:)[K MI\0ZS6"$ M3UJ;N1;?0D&"8"2,%_%.,E#M3.&S.].CX_>63ST^\A_M6G#'F8S)8[C!L9IX MCAMX&Y4=Y$9 *F*DHD S^!=Z1$F.2R(HSKP/P<%E"3+;92^*GL&+Q(QG ME8M;,K%($CJVS6 < Q3\I6T MH/HJ>;@N9>&R OP)R?!6;;/2CJ.^L4J;5?YQ#9@RQ\G<"O$->@P5 M,ASUQQ+ZN4GVX%1@(T-LA[]492TC0?Q92:COO+XJW%,SL_]7+X7IY$IUA 3B M= 2@$T4D!?"I<\>J))T+?D7)P.=QEPY(>DBQ/L4]"O:X>_5'LCB#G,08: ML8KQ>SVDKELP!#"CO&CZC&20CDR5PX* P&VFYM8[S_L[&__/6*M24DDT J@) MVPL7]D#//5BJ86YZ3I;%3&4S0<1<\&G]?$S73"'R,E,+@=YYJCPW\"TG NC/ MDK7:#@YW V-=]5KC$@)CH5N1RC)>&C%8?MF$@(Q66Y_N4V@I;*(VL,> 5U8M M&_Q=C6O9PHF0W+[/H9:-VYD&W&!OW11MSD_GHF=$@E3%\:?6[-=>\'(2(K:O6 M'"9[\ YJU<]#G",K*X9T%79SPS_A8H 6(>FM=?Q(=-()QX?\-$W*N3A^G M!!+UUQ?^ZJ[^M/$W B5M2JO-WEPY.[K?AD(7AF_\"T\_A(X!%93E#Q+1/P, M$WP -P[8.0J(4&A/I+VC)J-K;[_!)SM736 UU-WRFKGG-NQ%Q_WWB_<;F(#= MAGW&Z6K.#DR.FJ$5@6\ANG5=MP7Z_PG06RG8B=SO_8_U]V^ZPWK'V[Y 3+MK MCK"-;@@@Y383T/>!M-A91-?.&@4A6=+56J-4BH2-KT54$I2 M>K!TT TC;'?4:O9NJ-W9JL#J=V.V:K#MMM6[."7*T)9/HSS!3@=\IF1U:;5/C.!+^*UJF=H>IBN.\ M ,,D#%5,!FY3-0,>^G(#@L,U[&(F&_3KY^88F*ZT*4EL5:<(O6F;09FZBJXB7[*K26 M>LVPE[.V&OT^NPSNZ@2__8Z5>V M^7TR>N?$/Y^,)O\^/?2KGG[_]&4\8AM!&/[6'X7AY\EGW['5[G391//22"M5 MR?,P/#S>8!N9M=4@#&>S67O6;RM]'D[.PLP6^5:8*V5$.[')QOX>M>!3\&1_ MKQ"6LSCCV@C[<>/[Y"C8A825-A?[>^'BKY>-5#+?WTODE!D[S\7'C8+KR0XP,T7U-YC*8R<1F@VZG\_.PXDDBR_,@%ZE%2[OWX:I-R_/LJE'Y MS0VTR+F54T&SK\P;YX+K0:1L-KR^Q&TCJ\6X5)4V2'DA\_G@[406PK!C,6-G MJN#EVY9OP5\CM$S?#IVTD?\1F!H;S&4I@DQX/=O=#T,K+FW DQE3*;"?:-ZXB7P@0GE[F8LX/84D^OTWEV5]V] MJ7&+_0;FD;Q@_Q (=]%BL=!6IG.HS.W@.;5:"^3^#D2<.V29P!6#P+71@E\(%US+.0W:$BB#)7.RV2+Z8JF1@2&&G&R@22(TFV4RSIBIZ>-J M_$QHT4Q"&RBD0:(@B_N4D16,#[AAO"$ M>FD)C,8GYMK2P%[B$GF+).H< D"#@LO<L-+5LK'C<+96YH^XJ=OO4$3I^L6>B7-[N][ONA:=S:) \*%I6F$C\WS3MG MOC'C6CA'P? RR@49E F@(\JER6@$B17@"N(+^IU($^?*U!A'+*)5[CU6:86Z M&LV&;<)!B8#'O1<.+U&(EBBA*;F>U;DP#6OW>=#=WA1>E>YVXG_YGY(2?^GA M0HLP"N45%'FODD*/6RU=6RW%:K3CZP"#!"6A%\RTV^W^#=CXMMN XQ"UL<^? M #F),*BT8#O'N/=[MT7)(.:U>?@08N5(L.5*GN=5K3$!XG8JC6,#2(G2S4-5 MSA6/K'*1K_WA]8;HKYS6:GB*.B4X!;H8EIELZ&JUCC,PMF4,>-8Z<0I MX J9; &'I$1> E$11I'D< N:Q :J\=2?$3($E,>5Z[^"4SBS2E,]P4 M!C*W5 7+G/< /O(_;R\4'' P$%QB?#D2J=K>K<%#&),OI0756NG]-2J+%E6< MBX7&$M!G2)._BB!N4R,B9IS*=N\8T@*-"&JKTDWBJ/(%>ZT10>QLE[J]S1D-@<9ZH+D3='KVORK1\VT0LC[K'5\_9?63V[)Q5+J+:NHI9( M9!4N5P%,#G]$4KQ1YRRUXZAUK-)FF8=< Z8L<%*W0OP!148*F8[Z$PG]W"2; M !48R1#CX2]57(M($+_7$NH[U->E>XQFWOTOE,9TFJ6:0L+K="R@4T8L!7S4 MY)!EB3H3_(*2@L_I+BVX:L0].%F<;!_E^:::],>S6P*=)QAHQ#+.[T1)4\-@ M"%R-4J/E,Y-!6C)U 0O"#6XS#;_>^@S@[Y!UGJ)VI>22:@12"_87+OSA0?? MJ7%URW.S+*Y3_<<,_RZ=;*+W0J?1K+VXWUBY25J9G.Q'#Y,&F4P I^7O8*9Y-8@08!?!##:[]W9J MV<\C'"YK*X9T279]QR]P94"+D/3:.GXD.NG(X^-^L>.-?4)7IX]C XGZBPU_ MJ==\VN1!'MC:;7?[__? ]Z;C_7MXD:P8(3Y- M !'7Q&?L7SA"L%.-^I BR)5>HTR*E!TM$_R)/V?LA?(Z&$*7YQ>4\>(D]RA: MN^NM#E=/-+';?S'FON_-B#^]3?^9+8N:B,<7YUK594(%F-*#!6!7C+#>T:C9 MNZ9V9ZT8:]Z?62O'UMN6[^M4J$@#GU-YBIT.^%3)I#'S^P_MK>XRM'Q;Q[WB MX]\#&5X,S)D,2YH=&WM67M3VS@0_RI[[K2EG?B5 4G,).&=,I,2R@Q M<]<_%5N.-74L5U8(N4]_*\DF-K0'?N#M!?Y>T/7A]"-LG8>C5YK]:#(*/Y^.S:ZGYV\_ M'(_ LEWWS][(=8_"(S.P[7@^A(+D)9.,YR1SW?&)!58J91&X[FJU4F=6,;6X4!1\$I)?#A84$D@2HDHJ3RPSL-W]AYR2"8S>CAP MZ_^&=\;C]>$@9A=0RG5&#ZP%$7.6VY(70<\K9!]GNCA\C>?27K%8IH'O><_[ M!8ECEL_MC"82*4YW?T,3;)YNB-PH%PB:$2IMD;(Z[*6K?F"1 9E!_?M?<*!%F+1%69I49SV(<'%^F;,;D MBV?^KM?O=1U_X,[0F,5#"!YA8%/1D/PV84?CL_#XW?%H&!Y/3C!*SZ;GPY,0 MPLEC%MK?@W-GZHP&I/_OHP_@S#48@CAJOK>=W7#Z(@RV-4+NCM%O]V;H]S MB'B>TTCE%)/X94KATY((-$RVAC-:<"&!)S#BBT3=3M>EI(L2SJ?#CE'J.(\< MV%+S7CS;ZW:]/K)B[5CK)[__"JL#O.-B406E9W\"7$EO]-5L!!2EC6%*"UQZ MAL\]KP.JDG2 E)"PK*Y*:LZ41DN!21"-1/(8QI>8X7.L3;CK@I6E4@1_%6>, MM0E2*BB*WY3/*%6+UX'CCJIO6.W&#GP@.>W J: E4P;46XQ21A/<"#=6*1%,L1;DD.%MRV)Q-I?\;?2BU6B3FA:J=3>:I\<0F MI*HMID3,4+#2GEQF= W#2+M$15,'QXD,[C.>6F5-!U0SPNSOAI@>P.3D&'5^ MY1JB#:I03)89QF6$-L]4"%R%A:!?ETQ0A61*99R6*?W>%L$X%.#O;,6OC/D+ M7" BLPS=75MY$UE74569VM_O;?=5,#QB0W=_DZ%9CL=S071*P.P@"B3A5S+ M3!N8%U3H+>]XLH]7>=4EM ,7&XAP73#*^"E(68[QP_ 0-CC"I!; M))()!\]K=W3LDUQ/#+/+;UQ*"N3.VG!A"^*9'&K\XN2FNJ79#SG+8,77=0 MJN&R[KD0M/OL':=WH],VM%8@O/[UYMIJH.?:2V!=GIN%E):P$D]B@ MHM((./4GF>JE1@RS]"TR,#(P,#DS,'AE>#,R9#(N:'1M[5E[4]LX$/\J>^FTI9WX M$8>G$YA)0[@RTQ)*S/7ZIV++L::VYW^ M=K6[DOJ_&<8HC4CJTP#>>N_?0<#]>4)3";Z@1")UP60$'L\RDL)[*@2+8W@C M6#"C ?FGFF;._N&<=3'D89E%YZZT+$M9]=R;,<&>]_M[+O.#IR_AZU+;_A* MLQ^/A]ZG\U$QZ_GEFW>G0V@9EO6Q.[2L8^^X:-@V[0YX@J0YDXRG)+:LT5D+ M6I&4F6M9B\7"7'1-+F:6=V%%,HFWK9CSG)J!#%I'?47!)R7!43^ADH ?$9%3 M>=BZ]$Z,?>203,;TJ&]5_PO>*0^61_V 74$NES$];"5$S%AJ2)ZY73N3/>QI M8?,&S[6Q8(&,W(YM/^]E) A8.C-B&DJDF,[!FB;8+%H3>:&<*VA,)+NB:O3: MN'Y,B7"G7$:]S2F^UC.K^H4\E49($A8OW9<>2V@.9W0!%SPAZ3"X'9QYXX\S?UJWIRGX/$VIKV)*$?AE1.'#G @$)E["!J(OQ41 4=H )C3#H:?XW;7;H#))&T@.(8NKK*3Z3*@_%Q@$$222!C"ZQ@B? M8F["61.6YTH1_%6< >8FB*B@*'Y=OD*I2KPVG+;A(R8Y1A+XG6)FH6T<%6=1 M\17^8#Z%]J M8SN1[GWZ5R/-:0>K>YSQ39?3#1BLS$*=GWEZB$'IFN$\1C_U$?-8N<3*303] M,F>"JLHF5^ TH.QTMPCZI8#.SE;PJH _PP%\,HW1^A7*:T];>5D)=>>@N]U3 MSO"(@79^$= LQ>6:$!TB,%I(@G(&2-48558@3(6+#->) KRMF@G6C=@-=<4U M@@T96B!OZU[A:NW@@(&N:/3*0JYYK 'F&15ZRGQC69D:<5V)266M"OHI%P$5 MAL_CF&0Y=:N7.LH*EQ)@55I">O.UY/J^7<58JM M%8ZUP3D.&,9\X48L0']9?1L+03)WBH7[9V.!F-U:C*[:R33G\5S2GJJ)-S6^ MMT70+"<4=V.>HBM(A7B[V^M;BK7(N44-7SYE<"<+;.^9 MCO-D@?NR@"6%6B"_9C$\! ;'&-1<&/N28ZU2%G:[1<%2:/A]?E5&+MSN29X@ MDM> 5F8!/+/US[^LK)5;<-/H5P2C.B:A/,$H;_@8:)&U640U;/Y?L7,CP6J6 M;WO_7?W]A[Q!K?#'Y@H;]IVB*5DS%*AWETE4S=<;_^\OHOL6VW092^?Y*F0\ M>)"[HYF?Y'J2ZTFN)[F>Y/I_R%6KSW]<,G-=853UGZ;@9TU8FGQEB] L_2,! M*<\C$J X4LQI"S?6,1>'K;)R:(&:\;#5:8'N>-AR=DS[>6NU>R;^YYG@\S0P M=$>WJCB:7[7=S4V)]*;$W$5IBQK&37E*&T!7VV*UBV[=$(KW_^Q*1X#A#OF3HFX8+A\%C?Z%,,EL-","EIBDKC+D+?NY4G50%,ES95'L[@2)L\X5RD+(_6 ]SE'%4 MD[D2-0QAGB%%R4IS:=9V$C1.H)FUU(YF1&36*8P02HJ8NN>(L*&'>.S"W.ZO=1$&S]25F M<=.IKTZ/_@902P$"% ,4 " "2@EI1OS!@.0 3 "JSP $ M @ $ 9FEX+3(P,C P.3,P+GAS9%!+ 0(4 Q0 ( )*"6E$F8:4" M9!$ *X9 0 4 " 2X3 !F:7@M,C R,# Y,S!?8V%L+GAM M;%!+ 0(4 Q0 ( )*"6E',F(%JXC$ *%D P 4 " <0D M !F:7@M,C R,# Y,S!?9&5F+GAM;%!+ 0(4 Q0 ( )*"6E$8CA/<\(< M !F6" 4 " =A6 !F:7@M,C R,# Y,S!?;&%B+GAM;%!+ M 0(4 Q0 ( )*"6E' CFJ:CU *CR!0 4 " ?K> !F M:7@M,C R,# Y,S!?<')E+GAM;%!+ 0(4 Q0 ( )*"6E'6D6"QP^L" 'EO M(0 4 " ;LO 0!F:7@M,C R,# Y,S!X,3!Q+FAT;5!+ 0(4 M Q0 ( )*"6E&[JUI!K @ @E 7 " ; ;! !F:7@M M,C R,# Y,S!X97@S,60Q+FAT;5!+ 0(4 Q0 ( )*"6E&[1G(3MP@ "PE M 7 " 9$D! !F:7@M,C R,# Y,S!X97@S,60R+FAT;5!+ M 0(4 Q0 ( )*"6E%3^CGU608 "D< 7 " 7TM! !F M:7@M,C R,# Y,S!X97@S,F0Q+FAT;5!+ 0(4 Q0 ( )*"6E&&.4YM:P8 M X> 7 " 0LT! !F:7@M,C R,# Y,S!X97@S,F0R+FAT 7;5!+!08 "@ * )P" "K.@0 ! end

    H!;W?Y8[$_S'(=2^665REKI>5V!TSK K=FT4N"4=+F-(CI=0))X M:=9HPZ;/N27B,H6!>!*(5+R?$..DDA0ED$1%H P&"I[$4F0B\?XGGD']M&>( MYY.8Y^D)0;32OD 7)E0EV:1J: 9R_ "./"Z/CN9H?*'EVNAH.*F([7(?4O$ MCBB;66 NEAJP):78KC"]ELGYT#X?P-%@8$U54G=0@=?GS4;-:" -?2;&#^ ( MP3WH6 M@B0_&;KE@>V!\**_X'Z:=]X)\%$GZ4^$P5'=?'48,$!>HP [&PK>L$BH:_),LOL_?X#:?\UB[?-YQR MI-8OGURNO#RZ(,L # 9_7]?&I=ZMS5://1Q,Y?[Q.\WS^TFPS_C_7B)$W\BM M"/$Q:3@?-8['B*_I"+T"E.L2[*U8[IU@D?4P(B)O$7$^HD"-Z/@E4:#&E5V6 MF]Y33;V+SS]^TT*CP5:;L97/\?@=U]"?@70DO8B(3?IK/(&(3?I[6/,_TFC_ MD;;YCS+!$=XG.%2?!S_)4 ?W>05EXN3@#S#QU:FD/S_#?-\J^ Y;!>_UX?Z_ M[[#I:JL/IFMIC)VVGF![$C?J/6'BT9[YZ*NV*M8&8"@[6!5%E$7&X M5LWN56P6YY)<8B3TDS8*GU& K!J2[O[[ R%^Q%8%S/_]HKBVY''S;8MI)#<:LK6KUI ML^?V W5!_?A-HC\3R>0UU,5MNYHW[%%F5%T'2DR2Y;!T2D.P*I0^D2TJJC$R9Q64RK5&4LWDQD2N_N-WZF0X.+04.TA5K8%%378AMX;+WUJ M]N,W]3.%)CY(\)]0%%P;R,'Y$'UQWQ*-]I;H>_V?3=KUP?'N5,(+[1NX-[A?M4AN:&AJ:F9U4*./D^VA&!;1H-#DSR2%O<>_^2-7 M/;>^N+F <-\7,AM0+KAXH7"4C]1XG5S M?]\/_W[[X8+9OZ]?GJY?-B3YU K&+7%N;D;6!)3/"G$ZPPR&"P0ZU(ED_+Y^ M.3NU+63)#)LM;L+RM0R8%QNE>#L#J?WZQNV9EB[WT- ?$1IZTQ^ZQXL-DL4UK,Q&2P#HI3/TDT=8\*14!1 MW-C"Z1X:BK)#\C%-T>]D!OGD))'2)B89I[TN3HG3H#1U$! B?Y)Q_!X0^H," M0JN+UW?+*/0[C94;;'H]OQ174[/6ND?OY/W M9=3YB8UX@^S_S]Z7-JFM9&E_GXCY#X2G9Z([ GFTH>7VO(X0('800A+;%X40 M*1 2$FAA^_6O)*KLNA8N5Y6+*@FR(]K7+J?(Y)T^6J, 6>*2U&N(C ML2Q/5N('G*+N\K!T\V/3)#@_W$D=F#G[/!)$_,QJRTT;8V0:*J>,2ZR\] M3*@MXL[%3^\6618&@& "!Y7LK/QOPK=UL'SF#X#4&74\H1R:!]/]#A^'B=5JYJT/)+0: FLXNLA/7,P&\ @%U;JASWX"S]PCI8P]810V]/ ^R<-[@"5_1B7GS!.9G_-]$#QS\J^CAZZ*![4FNF9)M3'>=$N- MVB)^PY9(R)W 7D7N=^G?W;P;![VU#'EK;\.Y,9H,I_LJ*%MM 90WM%8-V"#! M>>S$D47BF3MT4.*[/8FOXOK!V7,#?A"960"BWVF>$W70+YA.Y-SI<7Z":Q3B MK)?XIW>8L1#G(B<3U73X9#X$H_PP&Y<3D=/7*Y(@>GG?\I>-6D"A1PD)4:(N M+# \3OS^=;K@W24LO-=4"P!IZ=E9=F1?.LC$A:@''X].?P3W\C( MLB;V^3.3<2_L>F6%'I) 1V:PK(1^-/,\ZMS'62<3RI-]";*D1EU@=0TP^%# M1Q_[$@Z&-EC$W8S.?7B1)EYU[(/:?7:U>^8E1B^[@687]+.Y%+1$-("J/53M MH6K_695V3L$8HXO!X@]Z=&A-SWCU%+B,1NXP,AA7QJPIWM^$:0H$> M"O0?>.7F-Y#>8/R8,"R*X->+H[A"W+J/[[@8TE0L":)%[)F+3%"+SX$6_X(< MBH'0YP?RI,#UJ@5>5)K]+M^3BX4>+T.)$6;/3!(Q,+:($:^Z8@7%09B" M"U-P\^(SOI(LL 5RL(].="I$#+O#!61OVS.XF"R2E%RV2+_N5 AUO:SI>K\W M\0[/27QAT*PW9$2H(4KTA^2E.2CG95O.R^*@H2-X14=0B)A="Z+9[ #-!X-X MZ(*A^"#1"2Z5#F+U$;/#E3)OMFIL+:#+A[80>8*EV!-D2T4&*T'%+V>*7Q8' M#3VZ:WITKT7].#BU.BV:-RUMT&U,5Y-#N=P38]1'+AU#%E'ZFHGX^7;<;D04 MK M"==3L=* ""!5 J #FW_&KN^Y\;]KV!;97%[,EMY#Z+HJOYAL\0P[H.J G2Y'0%42=>LRRS2X+B8F*( M2S$1>)$D7_48!U3V\J?L-:M\3V[6FERYPQ>:/9GKU9OQ;Q-Y3_I=D/@N/<&; M=_B@7Y<=OZ[I1!U:F/%S)$FJ3P\$_$&WPWB"GZ'V4K-L-TIS U/,N6B"M@/X M%1E1>_**6K3-%%GV5:_$WJ5K=_,>''34,N2HO17IM"@C[96P5Z1^TU\,0WU# MG1*DQ^'9$EMD:9CA=^-B7I6O\8,!7RW(W/C!KF:#>@37M$GK (# M>!Z8-QW=70-9.WS?,"[L#U*]CW7Y[G3 US%]Z_;X\?AH[U4L>4<*QXI4Z5.R M=V[#0\R-^)>KV8!^YC7]S%>Q1X6DVZV '):M2F>ZQ+CU?#)$%S%[4 E[L#BL MQWGC"J$@-_A!H2?T*DKD8_;DWSN8=^E'WGVM&5A2)C\>Y),R?CW7T7]Y?7!" M&VJS!90=VJYZ/NHC#EWBN(R+>-R_ PB^?ETGX0F+H(M:2 M&. K%6TK:VW+T2.T/!1C8HC\0JI(735M.-_>7RXTQS>5>OEMB1>H/'Y4V4(B M8LRY&\YLD,4]XQ^?5++PXV,B1=-%EH(OVV>!5%)^*"252\XI))4/KG9S*9/1-%MXL"GC"D[M*JVA M.ZR1Y815XB!XL826BBCV*4G.^?95/]\E?6+K>G04 =Y/@YW]RKJ3/^]!C(^H MW_8\:MQI2FIA2/)0J7=$#I5?B#%DX+1_T[JX\B3__O?&50VLYKO MF,5!7SW>G<5!WX;'=)>AVJQ%9+,XZ'QOW;F0F7[OHCX&'9_LW7]!A0GFMMUR M;ENN9N,VG "8R)7+1*Y57B]"\#,X-\5"ICG?83*F/ MIJR]5:U#L$K@'&>5HT4&>U7=B;ORPW*AZ[S20>-T/1I0X!$&J'96TE]:H3!;"TKM&C#8+,.!4_/TA 4T7R M=<_40'$KE^)6EED".HW72^MY*4U,*\[>;"0K/:PPO,3=SIV%1Y(5D:0O*TJ50G\W4"\^11*;S(7/5J M<;X=MEN4 ,NF;4>=\0NF4P ''?A)C%9W_95 )KGQ"VA2 A% M0B@2YM]+K$1?%?=T9 ;+2NA'"P&\QSWD^.L=9&"QFZVGU6D%=Y6#/*_5\:VW M4''J7->,+I(E*!EF@3-RYEI"R3 //N<;26-[9T)"I[HC#TJ,8J!'4'%+6YH]UN*04/+0 6K[\HONT6=,"E0 M5W@H3%>P?VC-4 [,0-FQ?%>JO&;I,5C"\B-+V[XH!M6=B4J+\%HVJ@F<[I(# MFIZ>(M1F!Q8LH\2G)1+?A4UZS#AED&5@H][.]V)?3S,PSV![%\PQZ'!$6 MKQX6QKRUCVDF\F 9K$@1K[J_!B7'[$J.KZB5^SH/]BX=5:@Z0M7QX^XAOX3* M1_(@1%OA/.0IU.V T.L,MTSD,2;/(5"E4I$@7_4_@>2HHPPQ!F&.;%MWM2E.+95VV.\SFES!8"QZ^'.C@:K&>W6XNX6W%. M(8X7<>Q3GCN\#< $\+HMGL ,T'WY/# MGV5VPCYT5QL;S'A<\=AH"M3-45_$&P[Q$*MY%;'?I9MW\]X<=-HRY+2]!>6* MO:>YKN"W40'4&I)N>?W:N#2IK!Q;&9@D].F@@.P=8Q.A?69 MR/7#8]>/*!(43 ;, EGDS%>$RE\>G,C7L\6@@I(51K(#GIH:VPY3V2(XLH_9 M(GEPE,1A'<(;%P %N<$/"C^BQE *?%\I\)92ON']D?QXCC\G=C^K)*P01]M \BX)21?QUY6MODOG\.XOA,!['SER%5]%#]YRL329 M\=!2A"7&6O1@,@Y'7$P/\>5EO(C3L,AAKH7&-UW]@)>6H=P(Y<:;TQ.P0.8DLQA9I%&83WKB86!&ZW:;\_N= M6I*%2KLA=*K\0(I'C]'_+O"BTI0G?T$QY];$G%S-QFUL^5#9R*6RD:O9N WO M 9[SLW;.?V4IV[[WD'86-7%UJUAX'._S_^P?SZM?57-GSD&B??E+S0.^*M(M MHU=>CTY*.&\?T-5T&@YG?ZR/-WNUGW6N[P.2XO'T-4_PI"!^LVNHV2'H T^* M._1= D//$EA/\SS5&IRX52EP*^BQI2TGY,2N:LHBFL*KC?55J%:NK##)?,LC\D6?*D M("5;0=RPT>^)[V--+Q94_S[WR43[7!@L72\:U_SBG$]F)%(VA*")CI:K^A;1 M:C,VX*XW^->;US5'[[7I_;SFN*H2-MK<>JQZTYD0P:M41%$T_O^[V=UYH@K: M]_[DV0H1'^CQ6NQ=;^X#YR4+T?3]\!>+0.-5N;RK=OO6D6A&T]\VD=%DGU$3 M?-^A]\N@U?+63*"LS6$;!#*+;5>1_47#!N]F>F;R_$@:?//J)+-^_G/\N='<141BGW^R!_%0'G^4&F($W$1'PW^L%HP' M9#D>D $H?L#I_5VA:%@M^7"@^F,+-)3MD=145S[<%13S+3+D(G;Q2O6AXJ[7 MKG,KTL-Y-*\_BNL^WFK,&ZQ@41S:1)25K\\H,\3_Z(S=XBW5X [4)A5L M#8].DXR6@,2*&/Y\.8/?3/C+S]>W8.G/3/'*Z30WC?)N8=7[Y++)D$-'!OOW MF.('FSX+&L5"]/L-B#Y@!^PC3#*XM22#+">%PQLCU[HQ\H1H$M_M0F)XG\$I M=*)HF$7YI05/>5NA3X@JD;Q/1V*ONCH(TRIRF5:196Z %T:N=F'D!>3 E6:6 M-Y.7.(\CQT%MVYZZG+B/R8'Z-'+(M\B38RU']H#FA][Q4!V3T*/ M W[BJ%]TT:O]Y4[KD^I&0?#]=B:1]0'-BA% BG3DH5/TI6,H/ 2]='97):0Y M64HM4I':I>H.M\?2"E_$LTM2I2))_OK:VHO./R\^^-SE^>;FCS$Y.ZV\P OY M9[Z.*'^C@5_Y(:HZ&)@#GECQYHGAC+5L#ETA.J0D3R)B&%,LE=*^R+]@C!?& M>+-\O/@T,%_O3/$B-'/X$5](_II3UDUU.@@#,?1)+D9S7-82)8HLE4X5?$@$ S'3 O M ,USHEX]5PWS+AU'6#<=UDW/C1OYB&;^ \A-O-IWBETA.&X!-FN+"['#HN:;KV=((" M9%S5-OZDTN]$7FCR]",5[2X83D$Q,P,,A?1'%S*85&AS$ M<<\:&:RT;Y1%33LL8HJ)'-@24_JL>$F^/=O<.[!/G@)*4DK?Y-#>I=_Z#NXI M$5'DW UG-LCB[O&/Z^JB'S_XC&\0'_$V$.?,7[1;])"E,^1V,T8Y[I%CM1IP M0=OG5)(X/QA$T71\C1H*H]<71N^)(U(^).2(SW@BZ*4D49EOA15N4AM>.*RD M4:DKC"EQ'Y-$\@1Y"2T5T8MU%NY5%?W?0(M,^0H%HG00&8KW(N0R+R>S#^FF MO 0%3=?==?2UQVCQ"HX;Q+ZH%_W8*9C1/UAX2>JG%Q1CC#(7O'OMY*O GG4Y^_<__>-KY](GK@1*?C&IYKJ^%)V!8 &3F M Z\=_% M&(+1'Q]&1F)?R2LMU4\G*>()U6N%I1>3\'_)KGX)66_]RO,?XP]Z696T>&YC MS,0T$J.A$F\0D;E_1ZWV[06&__=EN[0:'^==?:\5]S#F6;3GO)2?M&0C4G&* MF&%8"5-G!%Y221TMJ0P+##7Z,:L;@)P#1OMRGIOK,]KY /[$=&9_^\JGHTP> M7:L) [D@3229[TH%1>**9\VNV:M$%#9[.LZ*T).$3K/*R7Q5DJ-?D\?:A)K0 MYP>U/Q?/UF42J*1P3"LIN*TSJCDC#14 M32-I%9OC)8(NX:A&X _FI#TZ?3(6S!>M1DE3\!J#![Z+[OLFIT9.Z<\M]UV9 M+HS%^B:'W0M4$5'@5/Q6L=E6.XL5"+]F8&WL2LS M;*XHFJ5O2W5!&".-N&7IYY9&K5KR]T<-5P1=/QB;\1HQY+AEZMLK57INR$S% M1=<=RFL=@FFCJNVCEACV6R%QBU30R(Y56V)$D-8@KP,EY8VW"X:<ES##M?(MWJ(FJ9&E*](W9)=NA2:+O;0(FPZY+=7?R9Z2%M*P-D%&Y7/5ZS M]@U\8 [:LK]02^DAG5#7GLRB$Y&U19#(2#FDMICM52K=LM+>LYB@DTM>J]?] M4.!7%7HCJG2Z97UH3K0MO2;0=:72[Q*"T-&:>Y5)MZQ9^]IN&SH]E I:;6$& M\.Y1%%4VW5)?#R-8 ;YN@9TS0EN'LK#N[%4,33==T_NMX3>V6XM:3WG#XTSJ M9$0 P=)-AYB -:G6M&5)%4P9E1R:! H7'_+2GRIT=++;D2AEM,8I4)_-96T? M-24NC)\UG ZA&2(JE2;3/D;PIM*/FEZPJ.&DL3\RH]("K9B[.D";YGRTB9I> M6"EMU.9HP6WL>;/FL!.$[1W63C0#%Y9*)3WF)#3671ZORDI%[893 T1-+ZS5 M@O6=W61)'7FST1^A>K.K4DC4@0N+Y8HAHU$3;HH"8MMR6[V%3\O[N&G*_ _' MT@#7)K6!,O)Q;;H[#ST=3M26+<-(V _9IMAI/N>*"$O&9/=JVU.R]QT<']PL2&^TVU M6MNUK=&@-C8;NU+WV(V:7K 7(U1+4W.]&//2X5AF1I@^#QTQ;IJ: HT0ZQNI MB5%:$B=/40'T%M.=V?7TB"GQ"T3=/;8XUIU+[>C'EPP[IHJFT;@!:(B M;,3(' 6Y)FN+N&EJ7-RAJO.B'S31+5GGP_UQ16W\I&EJ7'39$9;[ALKPTD8; M+T]#=:\?N;AI:ERM#CC6B,YTR[<[G44#S/B6-1+CINEQL>*),X8'>JF$M"'. M5LOIK@&BMA?@->E69'-">?+X;?:9AN_O'L\_CGY%8^?KK?**/'\7X[4'Z M0=M(OOBQJ3;S73L,P)5/T+\^\&&O$--_*"%_'G%\5BF$"_%A"X$^&_J%"_%! M"T%_99^-K\&%@-1T;PL!J2D3"P&I*2,+ :DI,PL!J2D3"\%^)>&!+@L+ :DI M,PL!J2D3"P&I*2,+@2:)-7 AWFLA7GGKXK>BZQ^/FDD-^KGP>R$)NJ>FY0WI M+M?=,3_.&)@_2/EYG /=M>,?_K\OI2]OG0_VZW4KDS&_2>+XG>'(2P^ 0C?Z MBZ5?X)TYF!>^YV] 4WA/4\#QK]3U*>-/;*%G.M :] H$6X7UQUOX!F O<2N)=\'$N\[MQUSJ-/_YHR M]N]\@+^5#YBO[.=6O_A3.H@O'>=EKX!6<#TKP%AH!7]H!1CZM83GW P@&4 S M>$\VN+IC^!8S^/O8WJMHY6=X@@-^R/<4_LJ5)G-ST_X:HW\^QGF%T?_CFN/Y M78+5NU]@3%?2B*]U/[GY_M[%,JJAI\6?H]+QQ<2XI([L/JFOL^38RLYLLAJZ M1A %O-M=JF]SU;?'P)R\(_!+( M\PK5G0+/XBTPFLQ83FB7*ZT8R%0$9)0JLMBEIV,@D"&0WR-YYX: C%WC_L8+XV]:TZY7)2K]DKE<=B!&0V.O,4 ML1)=I%@(90AE".470OGG/7DSJD\$M6+WT1ZB>JC^E)>%3=_GALYT//9X\M$P3\(>I&Q?4#P7B@X4N%Y5VEYL[+ M[L2J5/J;HV.VP9+CU%(L<92HZ&2$OHR"(8XACN\:QU<6-WZ'8W6WE6"1Q_B+;Q.QR+1O-0 M*6.8:[4G&MT8MY<"(,4(QVQ\**))NDACEUYZ@4B&2(9(_DAIXW=(MAS9/9X: M>X3'EV%K*PWWQWHO+J-YUC=*.%4D,/0:4,ZYC)&/U(WOU=]Q,OF"NN?Z?F'C MN8890+WYAO3F7Q,T# 1G4_-(H-A/D'B!EX>;\$1:\K+)U[<5=E""@(: AH#]$_'@>T$?-!Z<3Z7C\L;I22J'9K*.-103H^!TC M$B_2Z*57C""@(:!A6/B35)#G 1V64#E8G(XTO\5M?XA,%L/>(7Y6@/WRC439 M(LN\3 &!@(: AH#^$#'D>4"+[)(A-_LA4-:Z#_;K%KAJM]EK2G+\.M20+_#C/M^38!)(+FD7 MGG\^5="0@&U'TU<'#O TFW/FW'QM.J8?>$D-.?ZP 8Y_28,^=;<,.D9+'>58 MT_;KW9P&PW'\[!+QY1N+%AGF9;FR$)\0G[G&YY7UB3?CD]I1ZT$@R:;2YID! M3?B6=N#W4:>I!)\H"I,V[A&?=WX,6J4.AXH+^)='X\0 M6B**)'85A.9<0,A'BD6<5<$U>P6A5Y"X#A]?)>$DB9SD\@^ M)5S[V8-^ANUC?O]GKA6,NF8Z'=?W!:=J^H^5[06#\WT07+H<6!V''%C,^WT4 MI\&NZS=$MNG'KT 37[X1=)K2_P4I 5("I(0\B2:OI836C.X&I2UN\,=E8$OM M.N)N-3&BA*2&1UK(A)0 *>']0\:?/>C/HH2/20MY)24(R@D?5(]KR6J/F'+/ MV IZ..$B2D@NR^!D.J@,20&2 B2%7&E#KR6%>T0V#C/W4Y/2/T47T.IYJSD_YN4D($>0&/R@T>Q6ARQ?^^7"I MY%]_05GWAJ[_96CT'W.^R>KHH>7?[^BAY=_SZ._9\C_&<<_JZ*'EW^_H[]OR M6-;J(OV7L6PY.%*J$9#--X^&J\-S-CC(^F]-H!1> M8"A@)]<7,1S9+]]>^* SA".$8Z[A>.58[2O@&+AE@L%K,3FBKV M2N''QX"4><"P4W8Z\;DA'SE'>/(Z0I$FX)4ZB&.(XT\7'WZ'XU />JVP7J?1 M<,12I#LE&A5L'^.8^O(-+]+T!U^"@SB^.1Q_^IGIJCC^(-7B=S@F;(RC@8@> M>7."L.-Q+[2)3;(?LU^^Q:\SIX]'$,<0QQ#''RQW_ ['IM;%^.%HP_(FCN$U MQESOYCLQQG&L^ MHRSZG6_.P;D_G.?%T(R%:?^,TJ;#K2,V#03C%_^D8VIG8\8B6H\F,^K;!7Y' M&K(FMH.PJ;2WDK ?M*V]&0>5B*1@89'$7_:^#40Z1'I^?*L/T3H^#MPI+71< M=TY+LMJSUIZDJM1JVV=MWHWVDER$'#/2XPNM= MH]L?C[K[&-/)JY-%]@*HWV/_SKFRDL_<$B%8 @\*W["VZ[L'JC][T#>=D)+ MMNMDM>IBMD^%LG<*A+4OCGP]TD&,B[1?:&9[Q,JT&OX>=2%^MLC>,!H-*D/O.F/HE(:.2_E'U9'QS:J " P&ZNTWF &%\.9^O*-+%+L"]_W MA'B^+SQG_AR5_TM*;\(SMK1KNQK7<]!H71B+8&5NNQ%C/+,QGEGZA=<=()XA MGN\-SU>60MZ$YYZYIN?^RNRB9M@3PV;%$D^UQ-U.Y!"T2%XHU *S:7*231-] MYL.+&F6^%OF!C^]KR-R8EZ#R#:^3YNG*PXV)(C]>.ZIY[OJ<"!E&\_GP')+K M^&40?1@XMY.U _"[IN-ZD4T_7DOEG/G?/X7?AM%?=T&P=.<_2G5=>DZI;KA= MQ3^IF"(-N^R^$CIEE8K.953R[B=3)#Y8"(>$ 0DC[X1Q]>(PGTD8@\KFR'M; MHHRVJ]8&5[J-[JJUCPDC%G*8(HU2D# @8>2Z8,6-Y@E@)Y6ZPMNRLNH4F!SJ/L?'UV]XA,&G D^_YBK32#X(7=?8/%UF7?T M5EOEK#K0'1$HZJ$2OX+')'DV:!%ETA<@(!] /H!\D$\-YG=\X)0-H3*I6\ : M+:I;Y5 ;+&4_X8.X>@U5Q"\\Q ;Y /+!%^/&#_)@;%9^^DM!<;V.0 MT%QO9Y!W8*X?DTS^Z2L)S?4V!GD7YIKSPT=N@M$/N?A]?E"0&MR _PM*3#=T M$2M#H\^G3P@M'UH^M'QH^=#RLWM+-ZNCAY9_OZ._;\O/^>$M4V>TG]_%+&N^ MJ4,]Z,:B^G>?W5R]4W[Q M5P3P>R$>_!_+[^G[BU-"@KK2G\HD)V:J[Z8LJCB4/ M&7PE7E9?#\(9POG.X?SZC-UKP%GF=KU96\ "U&RM/5?&YTUZDL"9^O(-_7KA M'0,(Y_N&\^VEUOTAG-^:<'L-..L$X91EL=JU@-ZJ'&EK6T/J"9S9+]_PKRRL M?P#A#.'\ CB_/EWV&G#&#@Q88]B Y[?=K;C36FX+,Q(X)Y>EOV)7V9YS+G#D M(SK]L_)1->TP ',HV<([$/"2Y.W(* ^POL#M:L,X;9C)TE"$I>F-A]MZVYIQ M*HX_""FP[CCD!L@-MZS)_)H;&MA"T:M4$[.T@8C4Q"EGJ0"^7CY,P-9XGG8Z]10F[( %0@-]R56O1K M;AA/=E795%= ,>?8<"@O=UPXVL?<\* 7?>RA(N="4J;UHK\-]-P,L8$1)-\/ M[US!.U>9R^%^_I5B>&<0VB^T7VB_]VB_G_[>%[1?:+_0?N_K=)./,'GTF(=-SKZ*'E MW^_H[]OR03?Z[,_9!&4S+(_)%GRI" E6T'< ML-'OB9_ZIM,(Q$,$N%Z!CS!2%(*?"$,_'@$T13__3+*CQ+NHME$ M.G1M:"K V[+3KC7@/+!7\5*\@0_".P?\AK3'\*=K>,]J>C&FA; MQUI-;=2:'%.=+V*PLPG8*92$8(=@AV!_$=BO_-+2GX*];?H#9MBD*+2^JBP4 M30"@@HLQV., 'F&WN'UT9N3;QX0GJ+_"\RO.^C" MHM R;:VW1ZZ\[=0F\WUTIJ,>!!RZA,*[8Y Y('/IG+")D#,@>\>II[8>D5S'%B2,8>6^4J*M5#2=T' M%7U229CC+"W1[,N"1I Y('- YLB]2O4*YHC<'Z1:/M@.+VF\-_% JTH\+'#"FD%\:O]-*\9DL6/@:HJZX MZ[7K2(&K6^?>.O,?A4: ;D?_N5BAS)C.AT89$?EC-W0'A]%8[+![%:=C+0G] MBL'T (ANB.ZKE!S\ '3/FPV_2_+K-C]".BNF1NS7@<[%Z*;.Z'Z9YP71?3_H MSN$A*Y-% S\ W5ROT:EIP195A(8X]G6'.93H!-ULC&X"@]D^$-T0W=._&^@1:9[!=^RTM0T'3=74>].D935'#<(/JR:#T+T7C,Z%\O/,TN;#0O*+A& M(5@"'\1FZ+NV.=<","\8IJ,YNADU\H/H!^OH&_VOR?BN/(@U&-W -):-O_%\M^O__C^?)4S[_8>N;\:4\9<'[(@* M=R#^]+]];K(R@;OY"\=B1O[W.OKCP\A(["MYI:7Z*06.>+(/:(6E%Y/W?\FN M?LF:W_J5YS_&'Q0Q8<3I]K^?@N/A1T],*)[;&/TQ[<2XKL0;2P3<[S#1OCVQ MH5\9_M^7[=)J7-GV'Z<8>S+%LU_2P]/]8N,!)-DQOGPK1/^K"-V:,) +TD22 M^6YA)0J=9C090+?P81T&H%9Z.)"9-C/YW(1E1,OKG/G3R?7XR M-MI_-IV"O'1#7XO)TU+@UA$!!OZ_,MMWQ='">62P\W_]9'[J MG*2H$CE'50H#A!IM7JPZH^>8JI,TBS,DBV$:_6!^VJ,G=K0X.ZSH0UX19MHJ M!"@V:HEB[#G^W+++&Q@N8_X('0E+'!''1Y(8BRJ>;KE%N[.34EOL+0# 5!\O MJX=V252)Q+G[>]/R0FYQ8^?H*F:K).Q.^[6$&HNX*9/Z?GK#<3-N0RK"=L"5 MRB)*:+V]2J:_GYR4PV-+GTU1,#JL=T?;\O8G+FJ9&KV,R_-E6]%'J&2WCXY5 MLO8G-&Z9[BD8KMN33M4G42U469W4R8/-BW'3TL]-]P[?U.7ZO,>W79X@1+VF MTT38VELYQX,< MMR137U\&05-M:RNE;?50^Q3T2PR[B%JFAG^HE$H&@?62$D]UF:&ND*WG&^L5[0V7 ]%M71AHDI#@73V0'6L^IQTP6K8QFNS^.O3 M$[49+*-I)-:&@EO=70?C-LJQ%W]_>J(JA_)VXI1+/_ M95=4UT/;(0K*QN8XX:9&O;I0J0O#MQ1D5,=:2\VB&NW^JM-PAB"(OSX]?&V M;MMMOK/A1QY#"]YB3B%;+FZ:&OX0K>&_6%*?2Z>&W-HM9 MIWXX396*Z/CH!ML<3XM]U#+=TW7=[-3Q15?9*K-^1=\0W)Z+6Z8Z&AYHHMR1 MO+4BD1T*F?<#>7:,OSUE44['U]R3S^]0(2 7FYU,B[P??R:6ZNAPS-;VATWC MA!Z;$ZE#;\;]P4R,FQ(_-YV5Z(J,UY:\)?3%$=+B9A4K(BDF/?KJTBCQX\4^ MFEEB8Z"E!CCT]7UT_$VU[!EE6II7<6"M9^H^D->'V>H0MTS-TY(_R4>RN\"5 MBMFL$\%B[V^<1=0R-4]SI+1D5Q[G*H*\,:N#EKW%YW%+C/JY:6,WJ;JF<6SS M6Y9'>])>$>K:(IJF"V-:65NW[P#2PLM[JN^YN&KON+AIJJN^LEQORH0K*.%N M&]+B@L5M+&F:ZFM7K[DMW>/PB'G&=M]E%LW&,>E NK.#NMUOVFO9M:@#J.A> M5>V;^^ACL71G]06^,2?B&$/QO>F7)A;K-0>+N&EZ7F=DT)8UQ=30_,"KURO;_8Z*A6!7IH&J49J4=M\?3 $*O:[)&>ZO. JUJ5YD)GD.$^ M;IH:6$?W.^4^?C"LM=BU*;2^] PK:9H:&+W L/:,8"Q+6K1'N]EX1S6/20=2 MT')7%%WCG2'/FYU9XW"TY?J@GWQJ&EM(T%ZU=E9/LO#58KU'68>9MQ9)V]0< M&(.98MJ34PT5ZE:YMFKM@P$;=8%(SX&%;HS*LMR1K>-,=28\6NLO%#%NFIJ# M VC- W_:[J/M38.T:P[6,./%)=)S8$FSVG@^]$K641U*[*$YP+7(!XB:IN9@ MH(UHTSZM^GR("6&5L9IR54LZD)X#K#FM^625:J&"X]64V7@_-=K)QZ9M9M$@ M^@<1;\VL-H-QZW*S/L+7T>>2Z3F@9SS-H>521:&LSA'=N^@$$;FX:6H.F@HZ MH!5 6%8(G-:X[GKZKKF(FZ;F0)!)4!&\@\2#>E4WJ6[#169)!]*=199K?=6J M*"ZZIFQOV^SAAZEQ;IM:7-FRA"5HFSROR6H''"V&:T8[/%9*#\P4UX<-/YQ5 M^)%H*6Y$R*P:$\*E+7;<;.[\!B'PH58NKP#74RER'S=-S8$@*D<1/5"$,I+K MW6J+UF8]1(R;IN:@MO3KR&9S<'EM[6K2L"XO0,#%35-VT-D0"Z%3ZPY0P)%- M9-C6N-@>Y&D3RFL^]@4Y84D\ZFI_:D63W3/?J(M6Y(Y@9I MZR0?M[VPSYY.P&F*&TM#*:]1;]M58+#EJ L7-B59G_:;I4'/1T=<>QCZ\W$I M7'%QTS0GMHG5:DYWJVAXX"?E$>.MO!@+3'JZD/Z!/[:.XY%2=UN+604;E=UI MTH&T&>RD4UCOK.9-E)K)I<.HN>M7PJCMA7UQR[8%2MRHM(7L-,V\A)3SJ;GH3EA"?P M^FS-\[AV.NXG.$7(4RY^53DU,%Q9U:6:L451R8 YO3-ITA8E M'$6SVB4&7:Z&PK&^6\1-4P-#;;%1E>IJ:$E+KD:YXFK0'B<=2!\C.+H]T_BI MA8YJDB3,:DK'KR1-+Z!QBA].HP5-*?631-D^&9U!6DD/TG/0,1L6J1B&P8>M M%D$M2T=*59-7Q%(?JY:'JT.K-ZCR=:\SM4*6D9#I(FZ:F@-]TG#GAW5=L4)I M? CT25M>L\G[0ZDYZ)L65R.EJL8?9]V]R'D,OPR2YT]3!@A&*S>7X!*64SVZ%>GIR.E(.V9^-H M_R_7FJ=QU/;"[ESI#5J#;MMO*PC=$_@)U6JNXRYJC:..**;>[G75 M!7YL]I-/31FTO;+F#Q7%?=7T.-E[IT7^&;@B$L MDD]-S0&YTC8K5-R-^-&>Z5+'1D"6I:3V1,H.2JV0Z9"HK"D5DAZ#G=F=5$]) M :JT'>!RN0+ M8S=X820_24[O;(61_H!-U9>WCC2EKS5J'_3[. M-$Y]K&ML"%M=U]NHX"O#?>"30S9RDO +FYCA6R/V%/9K_-%MMDH23Z'K21)E M3TV7.=FKWG)8;J%456>8S4K<=+8S:[:\?AG5#@:(/%\JQ+VD VDS M"):C8(XK=0VMM%4$H-L-:?>CMA>V46Y%8EU3&0S1=;,FDHR@3\CHN(Q?V$9G MTZXU5-E>BP_[C M\26A-].134YW5QSN97>P6"PN8XWUS-F<<$UG$35-KNT4$ MRA%"KP]56- MZ8PM 32F8ZDJ]J7H<(%?V/4%?C%NO>72VG;: MVXW+J9)OG-NFYE8]<2W9%P8MWFQQ064Y\UIE^MPV-;KR"6N%)I6LS MKB'R*S&.LJ=-(9CM9:9/ME%DVRRU,: =%I&+0%QP/#S-:[HXW>11$Y@R)6S' MW=-B$3=-G]\MCF9T4YCQD1LS'WF+PP1EDT]-S6V_=YJXGMN/SB%CIE_".&R$ MC9*FZ;EUJDRO34W['"](&V=YG$?3U4IZD)ZOD\(IO?7!ZUAUV54'EBHW*PJG M$A=\%+8>-KHVJDQY9#X=ER1J->C/%G'3U!ST9Z'B5?G]R I;%)"K3L4Z&LFG MIN:@),L.T9JNCQ;>06;3A32-'#(Q;IJ: U KGQ:<,@G0;=!NKP=.7^E12=/T M'/##TVE5-:P:2E6&_?)J!D8'^]PV95_5DN2SQ\7&4A 2$]CJF\SI MTN0 XUH2PFOZ(#!:Q+EINK-:J39>;)9T=!"1CQ,%7Y2,7N2H$9=D ZG.C MI+&6@.U:>)D8\1X6M;W@>*Q$;U':G&@"K>^WD_E(E,K]>M(T);EN >M)XG@S M5*C2'I?'TX'/1_MSU#2%,*9QU$*J3%C\R!"$"F.K3+.WB)NF1=>@.U^M>$-= M6)6:[-.--C[:MK;QP5^/OWD:X8ECR _QXSCZJ9^CIH\I $G &B&^4B3*DBS^4R3[21[* M0QC[::H _15GDA!TX#UVZ.&+L'.LZ&679TCR*TL_E_KR))3[Y//=Z#,-V]T_ MIDT\_CD)D?YUCOWOH_GY;+'IMK,=^.;5E>.M5_,#CDWW+S\%:M;1EQ[ N)Q/7<3^G>7 MGWNF PK=Z.=+O\ [[20UQ#7+\,UW^OC(5M#H6D6,]'%,;Z M4]Q+8!. N#IW@4"+A;B.%<1]KG'_UA)-MT0$GS,'OTM[NWZY$[@C?,Z0GT_N MNL$A_R:-"EKZG5#>;[*'H!W<)OQ_%^ZYP2'_)AL%6GKN&._[\0]_Z^F/^HI= M=^/_T\,=%W4GUEA4VO_W- >WQ=\.C8H\&00TV]9UO2O*2/^CE[RK>C%B"3=+\<:[_DI@?,$ M)0\*Y,4;R*Y-D%_QU$L?N;()V0.:'WI':!5W=![H:^8<:3IY6>B /0I_DM.=)WYGE#J;_O=63Q\6[R>T/M_IX>;-7>]OSY>>32M/WPXLOEA/'UD@>3H\ M^6$NQ\_ZX5^^D5@1PXDB0;WLT?+8HA_7',XU\Y>VT_=^ (#;[?V9N3WS,B'AJ_&2_ M*C5Z;=!%!;V&#Z>"'5;]Q=MWQ;]]QWE?C,P_FJ,(11>VQL68FQPGA%%7ZOJ& M;AV12KVZB'% 1S@HXCA;I$I$"@W_RC4<^XO".K/!!N^'; M*.'/]\.?".''QACN1=7>K)T33YV.[5;#(W7,2MZU1K]\8^@B3=*0#CZ/#IZO MSYD[.GB^RN6]N\H_+M?$:75-YT& ?Z ):JDOI?Z2<'AIZHVM\9276L*5W>;E M;#FL 9?Q+:HYVS>8]L;V]O%).GZOBL"H(DFSM^4[YXH=;LU9^%1O(>OL\)AK M^1B->: %[]@KU8?+40^5Q&[?, _L\?;@/2TAP<):HI8B-(>#J;;00+EZ M963Z/=3N[EIS0P$[@>KI>$U?5A?W0% P'=U=@UR&Z'_-I[F/U27I\OA[C.T6O-^L!8NR-^3,!92@ 6>XH!%< M35BG*-=UBJ !?ZP!7UE2SMZ0LR<[0PN&% RET2?:237TM/AS5$Q-Q!-6E5V5 M>%!2V/<12J7*JB5SX5)5M)/KTO/99HUV]V^68_J>:YA!Q_7]2W&31VJ:[; E0 Y;$U*-'F8-)1MF7:MZ:FSM;$$D.PU 7E3ZF*:HX.":Q02!?VO7,>A_ICB]?F8"V@7MZ7HYN7N0(ZF D+D@XO@YV,J MH%G7I[$?-8+)K)I==4E4OE *H]XC ZEO@96AF?NAA_JABMS1]4"$D^ M^UPK*^I[M!K]:%;=^;E62/*7PGE3Y1_WU MU0];VH 4V#7>)'H>]$RH?[(V\ MWZML4C<$*V)HNF@(1!#,;LN$E)OQ-)B/8(S77S1,$\90LT/P/%_\R+?A^7J# MFH]=ST(D;#6== %9[L=\D905H5Y6< NRQ3W(W5E3M3^AJ-"[,L3S542DY4&< M=I8F@;:; V2.\*W5L2%^*%?\LA:19-H.5[-0UQ*:Z@3I12; A8N8-(@OWRYP MQL4Z1) TH(N1@P1Z>,R$2=_9L,1<)WV_AZ\Z (M=4.O/^BA>&6U+H;I>]XW$ M5V4C7Q5%86+X;26&IP,,'O #S]0#$ \I,IK"_VCKS;\+&^ EAABW\L_OV>8X M^@KKYC^_[>9F(7,4+KV%@$9>Z]_2FX8](R<[J<5.SY]J6L!IZ8']J-6OF0L70.%1",,42 2NF MPLS'SY\+&'7)1M3E&2I*3K&O9:(?Y]IU#:$77+A;6"/4'*OB0;(K=L)$21 & M^]A"D)"';BMLDYM;"C=%1!\2W+D>)5E@.II*A[9J;>UN@^-F M NU0V)O!,B[\'W6HL-&.L9-8B-"RBPPM:OQS\"H/*07P1DPFER63F1ZY#R#= M<)P(&G#&HSZOR5:]Q4#/]SRA9&RQ9E)S/5D[C'YLJ=$/DK\M:SZ8QUT$CI\, M[KEW=.FC*TTM06J@6GWEKC8R6.!7#XB@/5BJBV M?T84(N@==(E^QFK'"A!H<(Q*(OX7.S4]C%= MQ*$8FH&Y[?!"3%XOQ$"'$6YW\'8&M.!,:N;-95_0 ME3&*+UE]A>ZKS*&Q2/PF]GI^TTWIWCF[G/$@B,>./3*++22RY1\FDNOP)[R M >/8\ (&O( !L0 O8,#UAPEN,/L?8@%FH'_^7&1/0,UR[.5#RPL]41-D]Q?? MG(@)LY_%A &(!N%'*RX!;V?JX)R@-P"ZNW"23TER]2X5(:J-6%-:V!U+6N[0 MS< ?LP'&J1B>I*CC190A88HZW,$_?2YR)9I#,, 4]3SH[Y^]%5]/C/^H[7/8 M("NBHA]'2D52D6/GQ&%;=I%LG^QG;)\WI>5G6;*OFCLS&M#PP'XAI5J:,#WH#OG7EZ&%@PI.$]28^;OHPQ MH)D.F/.:YT3SXC\&0RJKELR%2U713JY+SV>;-=I]NYKS_80=]6+M.DF.7$7S MEQ=4F-J84DL=LN7R^&B!S .;KZJ\J&*$BE%?OA'%TH5* O#&"E ":SV3F6&$O>& 3>OI2\T&N M V2?EL0\<[TY\)!SX[^PS:'@N[8Y+_P7FOPO+PYV;A8Z7Y'0SS60',U5HNY" M+$$L/:<79]<^7N,RWG(]D[]]Q[FX":='G?(NO;#WHVR)B0]F%6JW,BS$[$V; MZ_W)LVU.Q7*VM;!X"@#S-UN%[$%!672B&*!/["2[^0HJYU M;0!2U,OC/MGE*.AJ?SJ8X'[_NA 4!!,$T[-AF$\VD$_)EL\N*/(?WWFC#SM= MB8$WFY8$*^RUPE)+0'1\<_9AV4_Q86\J")2E6$_TD66NP_4J?(&3"UUN4&D4 M"*Q8B(T1QM-O(X'^_>5&SE<%X\UG]R>QYH>3.RZ<",RF5UL4#'U_URUSR'3% MO5U=?/(-9VWQ_-3%!4&18Z8M7Y[V.RC>F(A$51C-]/A!IY**?_E&8D4,C]B. M*EWC"?4[Q :\C9 ;-GBI/_/Q5/ J!RCYZ+AP'_#\2/F&J?ZSR"!/]\'?Z* 'QLB0OFEH'%D-Q8HMVNMO=72V\XBIH XAL6B18R& M%?_AC:+;N5&4*3IXOD(5@BY[TS*!;WB)H@?\UI0&B\;;H]POQ0#9NC:>(2Q#6E"(PM4BSTDJ%#D-/[61GG@U_#)N[_I4W\[%PW%?*777%:Y6!,0HM M;T>"1.V*@WLEK%3$V*L(WC<5Q,OE3:X>" JFH[MK>(TX%QD M,J8%L?#Q=ZS@^M_M^M^"1 $?HH!8@ ]17./&" 3#W1H W!CN2-3^GLE./LED MIU0"?4>-NR9O!DNBU6"M+7J:U)KMJCZLOET?ZWNN808=U__$$/4%NSR.O2ZOA-7JNN\H MR,ZPKP3N$\)6P]8F:"@4J"H"&Q"!-N$2<+.? NZ;$L.SK'G'J?^:HX.":Q22 M^,A?,!R9R7LMV1OR':[R+^3TB&GWY^EP_S?>QCR3>F .4N*95("X?G> M=ZPY%]Q-K '[!7 GF[Z8)[K4 ],F879 #!E%J;,0BS E-G7A'K?\@;!>^2# M7"J)0)5,M<*@FR:/+%V_4MG;S<5^__:Z*,EGGRN#17V/5J,?S:H[/U=(2?Y2 M./L _*,+<*%:BCU7=BW:)ES^N.FUD$9GAZQ7>Q5CXFHI6)%$TY52(.9@-MK= MIREG.1GM;>3S^IN::>Y)2K0^3ST_I*7 M!EY6D $2#\P)O^6<\']?LX;S>Y#-\]5>:GSM-.0'AF@)=1$'S":HM5?BA]+. M+ZM$\<%"E?UM("F4%O2D@Z=A??O,/T3D^\!G3J#GDX&YR%X>/CQZP]1QF#J> MI=3Q]_#&]PV1T)S6IF<=2VO6/DRLP91/A( DPQR%V>6WE5V>#AYYP \\4P] MW//(: K_HZTW_RYL@)<88MPJ^7D>PN&OX+1;#@ME;5FR%[^^A2#/#<=RH '# MR$P6Q-&716:,:.C/1F4&W[=8SIGW?VRLR3_B]M&\U+VG%P!_Q&DF4L<:K=A] MFU_7]"IW6'/\;"A&OEGR)- M2>LYN[!QKNARE@(*'M"!N0/S@ND4;!.$L00?:(?"W@R6<0W\J$.%C7:,G8M" MY,_LHNT[:ORS2)_K*"R\U0'#Z?!6![S5 ;%PE[ #1#Y*_+6L^F,==!(Z?#.ZY%W#G/_ 2QUW=ZD#.KZ?#@:X">=2 M=H=@@!<,\J#@?X)K^UH![ M)4RSAA:<*?4V9R+M9V]ZUU-L/VJC:B^VKH[U5D.K/<+*31<7D";!)1L5>\6- MZJ;DVUSFL%?-G1F-=.[G.D@'\\]AM!7FG\/\Q7$5 MH[Y\(XH4B\-[,##;&68[9T<[?P6ZQT/.9X2?#D_[/WK\XWDOH^!JFYVK&+*G9<%A M>>T@YKGCJIH+G1M_0S:'@N>L3+7P+SC^EQ4C/FW+EDH_\VV7.WU3$M/70 'N M9+5CLCJ]J_T6&RS/Q51^><>YL@JCA)UR+UT&][-F2DE6@Z[I]:I6C39G?F54 M[O-H:-5A4VY+50RB^OB..A'F&%=3R_ MH_F&<^E:+8^;":-6<]GA-&DT%&%#ALJ5&%>BBBAXD:! R>0/31L N))PI*07 M6(")"G;6SXAV!QIP)\M]9O=OO-S7C)9/KR1GWPGP3A,/XNPI.NVW5[#<:\+3 M-C66-Z>SB4=?T\3+%>^?B2CX\)%EILUT6:[ # M-L^GV)Z\X4RP MG6\_/DF;/[N M.E!71.UA<]E90XML&PKC65Y6!?Y.G,?BUNE9*8>6WR1G>36I+:JM4\"-9PUS=6KN6Z?MEUA_J9SB@OWPG,+0(EY(Q MOR"1*P>)7%W-+YBVXJQ!"E?*G*D@^ G<0Y%IIQT08' /!5C-W+ $V?)9 $& M]U#D[1X*(,$ @@$?>RDFGGH2$T]_<.VLWJK:%*;26-3&"^C@09PS!AFB>BN9IT5T<+(KJK_E[=5EIN(*'$F98EBRB&@=M.P%T1.:=$ M_T&M4:Y)PIT#/^#,QEIJX?O>JG]X_Z5&+VHD1#66,V4KK;G=@:LB7>RTJ$ST M6"/I:VIDKOC/3"2T/"=&HT!^V5:T@K,HQ"3Z-^#^RDE>2X;F LA%OCC=K&1H M9&@J@(I\'FN=M2@K<]Y[='KH""LXFH>:^@'317,3U-S8+;#(2[ MIG)94NG-S#PUFC(&% CP78>[7O'Z@(\(5KE4 &'/V[OQ,.!&W'K3/!E]O5]B M^W]P?4#\[',]L[#OX6KTPEEUU'-IE?B7_'E3Y1[WU ME5D:+TVP[P*:J=61. MZX$R:70:^[Z$4E&9%:*(H\F"D$"#0'Q;*JC+H1" MM(>&ZS #.+K7E:B._&.YP_QAEO(?(H=N5'U%\TX2MY/<2EVG9OR09V+DP$)3 M(UE^"0 'L#/2P?6#LR8(_4X'HY[R+>R#0[\_8ML9P-)R5Z^MCMRV79*M(3XS M-I7SMD.'!FOI=85X[]F;D+'P\*2;P=4\WS457XN&%$I-X=_R>O-W8:.YL21& MK>+/,^V#O<%=[IER4F1F(3/D-,V#6R,K$=] %]*]_JGSD(#U!\%W.8WA!KJ0 M[O7/ WF=F6!MH SI%@"P,624J07*D,'PZQO0(.DC?3]!J'/%<*:3R#S7N3B' M\R*Z\SGS MF06'% BJ3N6RI-)/F'GV,< ! ,( MSC:C!B0X2_Q8GFFP>V:[,A;/]T"#1?05-)<]32THSGJCV5XZQ%* MS6W^P%JR>IAIFB!IFVT0;Y[TYV^>N>+QTTS75\R]&0Y(];+@!@01IZE>8(@<"G"?"&ZSF/1Q_<\Q2 P&^!\XY\]0RD& P5DB&B.9_2O-_I"! MYLNFK:F<[-KAO'@/CI!J;U5M"E-I+&KC!73P(,X9.?J[N9P?)^RP%VO'CN/C M6-DS+G P*%N=2'OM4!9KFMX(*NO:2N_K$H9("/GE.U8D*2S!POP'X &(W\V[ M7G\PO?H&E6R.^NY:J8\)>%SEI/9HYYO;%1.K)'U-E Y*U,M_ N._V7%P,[,0F?+#WI; <"P8Q2M@I-ZZ('\Y<:,A>N/NM/,4; MXZ"\W8BUH]/@3Z1&\GAHA*+1W6]("2N62O#KK%"@>]<*;@/[V*O= OG J;Q> M/O?+*^)HH4>(8AW/[VB^X5RZOL.IS8X,-AF*L*R)PW5 !LW]M!]A5'3?'%7$ M40!1-\X9 !#U>L=/>C$*V-HW5R:PW[_-!P64"2C3BWZ8&PO(38+ETZL4V7?P MO-.&%>>J724\V;>$*3;IVY@P^;*"Y0F9T_XR#+39KHL5V"& M!8'K#;E.F1L4,+A8B 02.-7?'T7_*[!A(;"ISFZ^TE* ;.].$WH#*7Z9DO_[47D) MMQ[5+3,'/Q\/WGYU;W0Q@>9ZYYY<,(RL>8TZR-W-2(0\#>:;\ 9JS9D("8@( M":YR->\=0L %+UZJ=.5*;KP_TY!+E+C<+?ML69PTX:,P181]U:$::_U#_78O M^>N\@]ZGMA*C)X>)3 2B"4\R-#NV^M-A^^<5YP ME646##YGKWP?$OSY;OD,!WYNF_5N#4)'X^D- Y!-#8*2( MXB"B^T-SE&ZM,%> @:0[*E4XD'(#^N6B5_"V92WJ_>- 7!\\6$5:K254>;_O M_%7&=),B60]M!PUQ&U@;0M&V-:87'ZNC,E48"A<1@@(6-; -WN96 Z#PQYE? MPFG>%[OK)<*-.XWYNM:3CFCURF@P'31K8NTTLBQHV-"1+H9R$AG$:!#E?&&E M(@8#BNTCD[YNK38?C@:7_(GWC0:3':\0C%#NP()D6EVFI[,V=&5%QEW'V'G$ MKF69\@0]-NA6 $?5)['8>4@05)'$DNY#D"KV/[X<2NGUN_G*CJ6D&_^CFOOO M_QM^>?P[9:7);B0+QL/#?VAZ])('?(/A__ZX%7^BT$JX@VKNXZBB!+D?V7+G M(>)/.AU__:__\[3S27_X R8]&96A1:CQ#8T%6->@>7B:MR!Y$;[XF[P*Y*/W MZ&6DO^(_/"7??N!:- \%!/Z*TO]=>/)]-!^)R5S+!^C)E#TH#+32%OZWAS][ M_"S&LA\?.EY\F/CF:BO9-_=:]/1?GANOC.]LOJ'(5S(2A/#'AY'A2(2"5UFJ M9UF,V,^%^5^Y8+@11/YKZ"B7%/>]KSS_&#TH1*,01U?G3X+S6!\^>B)"T=R& M_1E&RA[=B$[O9=8A*/G>?U+;=]&6=VJX\:L?W<4_WJ'DV/"1"!11,1F'I;FJ+B1< ME1>23!&()*,8#:,R2LY)XLM9O>5'4ZGK-*:>N.%F8DU5YQ"WVQ/K71 %ACUO MR2V[ \R;5MHP.:?0G>G-%8=B)#39LE99G;83I%SCCHVF/O3+SK)<#<]1$I)H M.AOS97'"C4F+5&&N9'&EGN?THZ:EYTV/..3#"]YOP5HC5-TUXA]GG;Z$)]^_ MP5?3]?Y0JL-;>[9:,$OST#CI84OJ>4OH<&Q5VPBY$05(S[$I$,56O K]E'7PY;X\Y8RM>E, M7-+D.$C9PDR)D6V[$CTS,?R)Z[6:#5]J65LTZ#K+::5V(J*6]/.6!PN?X;,U M.>2@3G=866%T5>U'+9,3M9MHBH&=I EL:EN[CCN!X]-QT\1$:8I^8AQNH(GD M2=,J2@ORK5"DB L3M<-K5M7R@BK'SW><*+B6U.T$$BG!B>&[5K7I(Y.*R+9/ MQGS>"QAOT0];)B9JS4T9O(^C;?'8*/,RV6_91#-JF1@^/>_!%;RV3.0Q+ M@C,?]A9ZV#(Y_#:JX8?50!Q:6JC#)>>XH)%5U-'D\(\0-S2@1=NSV$:-:@Q/ M%(L?XJ.7:T8B0J.?R3IC;W]?4 XL8UOJ_P-&4U MQT'8,M%3K.-TZVMKT!,AO@RQ4@,_RE#TS$1'2?7@KLIT9RL*_8UBEE1;J3!Z MV#(A4=55H%:J:H<5M\[,;QD5V!:[T3.11$=;S>/!=J'*C",-8:3-4.94"N6$ MBJG77YMNJS5TO:/QE3BV=0V5_--6G_2ETH71D_JIIAEZT]J:(VZRJL MLZV' M+1.C[SO#*;_1N#HL\Q6C>8#=\6D;/3,Q>EE%!]N%7W,XWH3X"76D6JT^$[9, MC)ZJCSS>*IT@KF:C#JG2.LRUHVN"J^)*:-,RR7/-/KA$3OQT$E?U/7! %_ K66/(I'!2FZ'FH_ R::[ MTV8N.[I'BM")PH;CU7ZV7C!1T\1,.1NIY%"C*61!8F7>#YKP3C@_-3%5M?V^ MWYK@"PP>'WQN6C.Z5'T0/S4Q5\UV@]L?"8+F:JNU=+2K8ZHAQT]-3M9V7,*M M1FW5YK;S19D9';J=5;1)P1=F:[]8G=PV1\XM7N^+$W+8F=#,N2V96(027)_B M/MX1-7GF=AL04]TWXNXB"0B8RR?\@!)!BT/Q:5LF_'&I$:XM@B3GEI5+*K9: MCQ!8Z$ZM$>:[?8<*HJ:)N1WU%<_M0J>VR%(T42?U.:R?XJFB:V#O&@N*^+6:O2CIHG.EK318=[=->M< M3;)8HH),>W,G[D!RQ0[LHD[.]H@%'R=[8MR:M)&1$S\V.;#*4$ (739*PO:X97.\U*(R9JFI!PL;EH]H.%L1?1T[C- MNXNY:&'Q4Y,2SM+5,CUPM#E\+/5$MK+N4\0Q[FQR#JH4:=BG72_4\EHPF38J M4'DV"]OBR3E8XD25G(XHA8,6?+/7487A>,]$31-S54MK4]WL M^S8?-TW.P9HU6O72?KH1M].V29FU:K=>/[=-R$RCV6YV)0FS+7Z[[!ZEELN4 MQ7!@Q 4!)U"M;+?WG,7.6A.B;1P5K!(W3.V MB<4E]U*XGDJO"T,]W$#%97?>0L/>7C!TI!Y3'V)B:._4;"FTLL;J8!MAQP6C MP(!=<:+:D,*1;$ =_=6QHWEZU#0Q!_R^N;&'^+$.KUL:-6MU:4WC@ZAI8@Z< MFM$/REUH .^:_1F,+-6QHL8=2,B!,F%-:]^6MQRJJ<)H1C0;_)2)FB;E )V6 M17OI3486J1SMMLV2.&*T@+VUXP#6I2WW9A M>ZK#Q^WJZ&@K<8J7PX%=V$>U]J"MKKUUU:J9^Y8_GW2704./FB:FB[#$ !L2 MHBF.V;:R+=--N.WUHZ9)M:E6)MAZM68(L MF18'P>)4"1^K2^B%G7Q(.:,CO%]MX#6%3C"2(^7FAHF:)CJKT[8]GX86OU4S M3O5C;2-,3"F(FB8ZRP8U!M90ML:QO.&6Q]M2L KBIR8[NZ<0]20W%0_6"":@ MQ^A6E'K]N&UB&QWW_>5IVUV3'#JICL8T;_($'S[WPC8*\UZ9/&XA5=Q1XMS@ MRBS>:@=1T\3 [ ZQ"-0]5[4$8G+LX($J8'X_:IHTNALP@;8$>@-K)8B=<910 MWQ_C#B2E2_*;1A\3M(EE0@W9JP3K*=J/>Y"VF*)NHU'8?AO=HR;IH8&&Y(V]JA;,@B*OJ-%3M4ERE;+8EV/!H8FM9'H$K [IZHN?*2F>W@]LN:&%C=-:N,* MW>G-.NS-8*BI;6D%Y\EU>)Y!+^W.^WI+'DW9 0./)ZXUX;JL7>N% [NP.Z\& M"U'1>=R"-2E$W)-0 K4]; MAM2'X>T,:Y;%PX"L'>(.).9@[$FBU?)1C3M*1NE$SC&4B@3\TN[,E5UR.J/& M KFN3KO6.S:?%E8]O4Z;UK0G%GDXMKK1MH9RA0)"Q,.FZK M+Y?\XRQ\[H4M5^9(U+;[Y,JJU7!UVK I+R#"9;BPB:VF)9PE G@"L\WFD/6\ M.6V%AD_8-&DKSV?$M%91&J+9/_9/S G;NOU^U#0Q!U5-'W&X(ECRN^\-%W'3I!S4FHMR_61I!&QVJC5G('1[ MU?:Y;6)J_?UNUK2Z[8&%NIPUK+C2U G/K.B%W;E:FBV6K>"PY]!A>QATPVEE ML'"Z+FQBO7:OV1<,B!<%9&JZY+!:44DF:IHT:J$38[@*?+#(KCH>#%9;KXK& M3TU,U](C#EVS?IQ:?*M)#NVNWT=&<=.D&/2[I-P:T- J/&*I^H(JCU@XZL&% M;32H-KW6"?-7'-^%R%;+00?-T !&+VRCX0$07W+6JF%IVGI3[6R#FJW%3TTR MEE4)0M 5?["T=5>I-?WVKP MO!T:[D4JS-(TBM=,9+T)3Q91V\3:#EP,EP37&5I'E)T-M]VCJ(SB@27G*VA/ MYX%:Z],>9T[Y^?FYBV4+A5/V*==K"#,VJL@D.*FB3EH&W:IKXVANG4< M68,V/N,0@]4?JJ<]VY_I67@$/'11L34<$X:"R=5=.7@L8O1,Q_!NV5SK#B3* M3-.>;ZP*XC/G9/&$?'4AK4(&$TRWUF:ET4--@ZE5XY#/Q&,[2^(XJ3 D8NVF M@\ KU4959!0\)%T^(USZA$UJ]/YHH\?^8T3:,X)*"I])D<), MA*:P1$I^?;&QPRY<,#Q\+^ /=5WMBZP SXX2/EP+W;AI@B-GE$!G4<*96&-_ MC!'8>MX\&'K4-.DCX*<[K@X1?:[6Z2Z@ULZ"YI':7/*FS*L&O-H/38MCI9[< M*>FVH5KGMDF+'9ETC2V[H6!S6\;U\A#IRH=SVT>>/(Y;^1'A<(Z^4IS52MYX MVK?';YZZW:)X@(=8@,B3K9P]X+]&'SR)WWD(/4B&=_CNXUL?GH:DHC63QQR2NZY^[018U]IXLZ&?(=R M37V%2WD\07'Q MV*S82^F5">(KFFU'R./M)$ J[NC$%-TY 37LK"STIVZ+'['\:+J#'A[O&CM?^@AP_ ]QG/@* M9]N*/Q<,OW,Y^!-O;X;7'F# !UGM5+;9'8 !'WAXS[ F.Z>NSZM2Z8]&*37B+,LC?":?PD0L1* MA)Q=O=?M7[QC$D'CDHQOOW+V[!)\>C5]CX=80W>Y.K>=,VM+F#BKD_?+)96- M;O4-MU0^>HJXIZ(;I(@($I!\8<%-=L@KISK\@Q9$R6"@Z@@. )C19I, M7NH.T.#3T."ZI?8^%PRN7D8OXY;RS_2C**RN83_P[P\PT4)GL$TRO9IE^C"W MUZ03#3>8ZUK-4EL/V@O$.7!C?>&-NG#/#9;QO:O8E^\8"A<1,FDK ' IL*[ MT.'**5(91X?'6,M'9\P#+%CE]1%=Z$N,6W!$??6JC9^KWE>OR)@Z]98WNPVK0,L* M!ZW;E>6N,BAY]I4U$VT@&Y)WAYC893PAP^A28]]?@IMI,8";LF]WG8$6VN!>[^3M>1:@BA9"OXF &J2/(_U(GB+? M?.@_:#6_([PQAM9,KN63O08_K*[DH7X=A92(LC&AVE6/$_;HOM0A-W/;82*% MI*^ID+GB/C.1]O"<%&5WZ]TJE,*]!H5=U12_(*O+G>='NTCA+^3*<2S9+_&? MW_R)%XSPS#@E,R0 .:!Q\YLO '3AD\$P0XPP$( ,!FYE:"ZR0RX#3?'.& MIB)3/#70!; KY#D6^%,RASS7EWX2%%S,3_3"CCHJOV!49Q.]-*:V7]7P!Z_Q M0'A_"&M>F:G*G*"EIB7W9;ZZD-M[9O7!(8R_34WJCK#MI%L."!':+GO4P&!1 ME FD4DRC$T@RPABD)7W>:3ZCQ&;^XIIS %6F.)X.&P:\$MEZ?\*5)M:F^FDH M4^>4F>:CD@D+]=F,Y1U5K_/]"&7H&Z!,KEP&:?8,1+5C9%O1"LZB$ O,MRR$ M3:?/ _LYM_JF:LAYL 3NC[Y/&TN?OB'?H5Q_S@6]J1KR':YR'IB55-'JZ1OO M74IUYKGSM%'DZ1OR7%,/GL%[:"YBNE%EQ9F./@7%$$'$0H@B!<$\0)= $&\0 ! N!8( MX@6: ()X;ST5((CWS@4 [ KI">(%RG#[\V)JJC/D)=SS)D*=*TXS*]2EJWF^ M:RJ^%O7<4:S"O^7UYN_"1G/C2-BH5?QY%N(60;E7X".[%XHQSTPB$.#L\8(? M?RG>A]9KNW0C5ANV2,?9#@:6MN&J;.50;S-'YNU7Y"W"HSYTU_B,F".>EYCXM*?7S&CUK)> G8W2$X+$P%(_-@X+/ M#49"D/@>/:Q(PRBH\0;B@=(8O9GRPG"? 1^ORB=[ 3U&\FJGO14\?N:<;<9( M9$29>=TD' (\[X*8S3T&G&3Y>OG)O"W?7 M1TBN&-RNB4Y'M(&@7?CM16.O!R0CC"[M8$SG+;(\D0*\=6IP@S.08%^^E^#7 MW6L-8 38(-EF[X$$9XF+SSSEGLE*R=?;A8XM MA:+ZRL42\;K;(._9*Y&Q2.MS$84SB5)P-44S]YI:,.W"RM1VD??"EP^%P/2- MJ Y'V*'"1C[&19=#;=F'@A8V?N[? .'8.?9\ /+N\T817OK3>]Z?.UG;52ZUJBN!I51#Z[UM+*^,[ I M!S/Q1D5?<:/*%7F;R?CUBKDWPY&J'H@]SS'Q"WRM(/8[\3Z ??$?9B[=AQ4!LK>\8%3@R;8=,6YY(8)[ASKG': M[ [!BI$07$+(+]^Q8@E/<, M?5CN@EB[Z9MH=ZZX\#13WK'KI.!JFYVK&+*G@0#F__Y[[KBJYD+GQM^0S:'@ M.2M3+?P+CO]EQ8B_PPWU/:SU#5<[?3-R)J^! MS)>:*HP2=LK5U)>JI90,=-2OV%,(1IF#1 _TFJIL0[..B*JEH!A5Q CZ=78= M4*77T3M@,_F5^\\'M.2U1LHOKXBCH1Y1A74\OZ/YAJ->."U*LHTU_9XQL];2 MIL>;SK9!]ID(5J)B**4B74K6]P2H\OZ< 0 J"3]*>G$%6*A@6_V,4'>@ 7>R MW&=R_\;+?T\')% M^V!*_>/>9]HDG M\N%$:W5-#>U,L H'V=6!V*EJHZH5O)\I>_*&,T]VOMWB CDF'X_U]FEHHF(K M6!%J0[:X33O$.%)"OWS'D2*"8D6,?-U-%2"H :04W%5*P0<;19^/*F^RHN)' M1]7A--<[]^02*S;EYPS*$)$>/*ZJ]C>E2^AD MQHM!I C15?BO3E]Z0*65XN;G5"I";>GIYF MH@ =VOAA[YAH^?U^[5?9ZS5/I'X"2T M &0!1LJ]94NE'%I^DRO5\8FR6K;G4]'$MDS#..K<:'5E#@!K+G;CZH[R1=X: M\+XNZ_-!DXDQ)8DI,TJ0S-Q:W3JSX=4SKCYDF5ANP:WAD^ M5MD9N#1AKPP'6FU?:9;6%5(TO0Y:E:NN*35C2C!RHQ(T%L+!YYH8N7*PILF/ M^CROJJOY!=-6G'4F,JK2%_62/E\J"&("5TEDVF<'!!A<)0&6,S_T0I9<'4!\ MP542.;M* @@PP%_ XEZ*;,>?1+:3$@9_(*E;.2R&E-T/>$ZH-@>X.3PTEH?W MLS@]UUF8?MOQO OLS:ZA(1S7@7,9-)+AGF$/RN\/*WE1DWT&XP\4V9C#?+E*]K=< MW1DB_5B3Z6MJ9X+EX.3$[MY !!R1>+DHU(?J Q^9"2'!#GF0E8 M!SJ3#T$!N\PGDOA :?(A*'E@M#,3:YRAN<@5)9Q.YK>48'[/V?B1,Z'@;")R MWRMH!\U53$]307@N",_-WS9V?Z1LVKA7(,#W'9Y[Q5L+/B*^YE*EA^68@;LMW_DUIL\;//]=?"OH>KT0MGU5'/%63B7_+GW9A[W(PO5),A MN\U9M3&C<'C<&5"G%:IY!!5("!U5D\'P(D&^+J$2Z- ]G/-311JG/ +G,P#C M[3F52;R(R]:^#!=/JCILJE,R*!D+V!3-@2]Y;;T'^(F3$6;0,QHXYLJ+ (<14K-U>NBXQ%LR=]&J[F^:ZI^%HT MI%!J"O^6UYN_"QO-C24Q:A5_#N+=V UU(MP =TR* MW#&+<.@ONF(&/TP)QE9[/PV(^(^8()R7FOLTL?))J?_I](2UB-$ 1ME@5NNC M]DE4F7 "(N=,"2_2I62=?Z"#(&PS7\D!*3^_IL;/\P(0Q:??M^+0S_/P1-*: M?8'N>#"TU#2I2:Q7TR"(<"CR^D15=TL AT#*Q:VG KB0TN!"^C@8^JU#R39< M<=79'&R+'-6$=?6 ,,H?_DLX*2>;@'(@S\K,WDJ:52& M7'EUTNF\.9&P1 MY5!UW*%\&/_HGVF5E; M"X__2.060; B#"=S5D!$*8@HS8 S(_44XB?DJ3#JC MQG.N<#5S!S.FYN"B('(551U/*R3-1& 1^2YP @=0 5)6LIFR LQ%L->![ D@ MP;EBFS-&*M_ 8/O@A(F/-;>X28DY$J-IRVII>G5X"*<7)8/8W**O9V[EBF7/ M6.[$ _T>G0>@>20AH2S_%!&0'P'R(X"G&>1'@/P(H MWG!\!! #$H('@?* ) M(#S\?L/#LY6H\JGEAIYP$$/G-V^.*8CY*))ZD*@!H@>T;A)"# M'1R$D(,0\IMLX=>C_C]KVQTQP;3&- Q9;'6;'-VE7=;LZ/&V2]]BV\V5YR#- M#H**N3?# :D>B*T'L?7YV^WOCZW/,RD/!#A7%#M8SGLX<>>6%P?B>P@^NE[%V[#B.CY4]XP)W4QDMMOO)BE$L><*@S@D;M=QC(*&8A)!?OF/% M$@9N<@"1W""2^U9T[AM461AV![O*'&J)6U9PJI41-!1:3*S*]#55.5=T:S8# MM2,^O^!JFYVK&+*G@0#MSPS0GCNNJKG0N?$W9',H>,[*5 O_@N-_63'H@9_W M2@'<-Y2/#$W5F4L&N@1TZ45V.KT"\A9;,\^587YYQ[E,#*.$G7(O72CXLP", M0,J\A1K]-7=6Y1>9(J2\21^\>X3_Q/']L-YOQM4G0.Z&VZL6G4KN;PN6&)- M?S\C^>0-9S[R?(O5I2K41'.H58/NV#*M]5&J+)F)' $=(:%?ON-($4&Q(D82 MU[@J/@]&$TB8R%S"Q >;,Y\/!6^R?^)'1Q40-=<[]^32372[*DT9>']BU0:[ MID/Q\RV,ZQ$($!$()$T=H/U9S#:YDK_NSS3@$OW-X=Z&7_C(6"0'U%Q$/6:X MTYD/=="]Y)@[]&FSNF0,QVK-]?FL2\Z/E,5$ZD"%ZE D4;@(4Z^T_X%6@*#Q M="7M7.-,?PL(^/-MT/S=S:R5J3.OC6E3%MGNLKMDEE9%FYU!>++CM"==LUI4J_.OLH];0Z6I6:=9 M X;*KBY5RMME7XCMXZC*%H:B11RA@9$,S(%LYI"E' ]^DT'FS[Q]R>BY?0M: M6YK*B+!BR^]W%+P*" Q6'\K"&G:L<:-,5>H60;2%^&00Y8[A"%6D8 H 4@> MRV;RV*<#P=B?U^W.@@]@:"WN6Y5*79D>/MC*?Z[#'6M">W.GVN;8$H)ZL^5 MTP9G'::_?"?14A''L&OH<*Y<>)G,&NMJ?L&T%6>=[7RQA /SW_]"2/BJ 2[I M<^J!J)[/S^L"4Y%.EQ;0A1OD90$!N%L!R -' 2[F )H +N;X\"P3H MW*P!@ M5[@C2OM'%#OU)(J=_EB&VU576@UOZAMNO1<6YK;5KN#E][NZ>JZS,/VVXWD7 M6+&R/S?Y5<-=<%N-::!UKD9,&$9"R9C9)N B7"J!FV3R>GG&;1BE?'/=_X 0 M!D.S>[-!R_ 6,H/2NKEM[3?OI[Y?5&Z/H0<-H]1S+53"2'T VVUJ?59N^B;* MG2LJ/,V,=Q3W+]N*5G 6A=@[\@TDM:0RJ25]0\[#!GQ_)'?:N.ST#?D.Y?KJ MA'7ZAGR'JYP'_B%5Y'/ZQGN74IUYACEM1'+ZAGR7!D+9BTEJ+USMG;$%A><3<3>>@7MH+F*Z6DJ"'5-&=4'_/C703 0 MZ@I"78$NY#W4]8KW#7Q$*,>E6@9MH;=OTS7'@*'R9D8IHC^ ^#^H[A4_^US1 M*^Q[N!J]<%8=]5S8)/XE?S8"N$<;X$*1$Z*W./5M6#$LT#>!%]92(CT#H0279'\<5I#B-['_:\/<,R"3UQ8=67D>=G-,H*%NL3I3GJ M6*3.X[B^?^^YJUES\";EZNTS*1>X$S M&\MS3M-EKD8O-S-4_\/R#&\$GM_6=ZIO&!/I4BS!U># 4.CQ@H*E,P+%]5R2 MY4[!M2; ] %!].#T#>*^0=QWJN*^/\(@1[O[)G]TL9)H6MTM50H6TV&/B;=# M^LMWFGY=:3,0&YZ9V/"D \G5/-\U%5^+>AY*3>'?\GKS=V&CN;$D1JWBS[,0 M/?X&4,NS:^@.]]W[<_3DV9\#!#A[WAFPG" D,,/L/A!?$*F=(8H8"## WY2' M9 ,)SE7L]57/UBGC!3].$G-%:64L6/I?D&(BHSC%M!OQ8(*(:1%0#7;B? MB&H@ "#"!03W DT P:;W&VP*=.'FN@!VA4R2DD 90-QC[OA-$,N7F5B^!WXS MXB6AN>QI:D%QUAO-]N(@5!"OEQF=N\/]XOYHQ#RSA4" <\7]@>6\AS-;;@D[ M(+YW0+]EGF4#^=T/>6R,NMQY?M0G;^C\YLUQ$$=\QF&?''$&6C@(+UQQ07/W MIJ*=$^ &FN+H=OR4.!?N0MJ;9FR9T<3'5K!<\TD4VK)K6F),W>W36:*P002G"4^,O.T8Z;3K6^P3:T5S,J!:-,PBB34&T*= %$&T*! #$%8%H4Z ) M(-H41)L"70"[PMU$F_Z=]CJ_ \V735M3.=FUPWGQ'AQ KKK2:GA3WW#KO; P MMZUV!2\'[V;6?O =82_6CAT'M+&R9UPJ(#[!ZE7*GFK<3B=+,*7,>N@ZD#!4 M0L@OW[%B"<- 5\0NYN?V-T;0,0'\^9OT.Z#TN7;FEWF8+9&2Q"^MJ>+[5F[ MZ9MH=ZZX\#13WK'CI.!JFYVK&+*G@>#E__Y[[KBJYD+GQM^0S:'@.2M3+?P+ MCO]EQ8B_PPWU/:SU#5<[?3-R)J^! MS)'$%2Q!)=>9]Y ^YDN<_D_HV7 M^YJ!\NF5Y.S[ -YIX:G>!$9G*+2%(6BJ!J*VXQWD;.'1U[3P1ZP$ I59S=?:2G PG8-WZP*-D&U!R(8QDR::\EU$2F+V&XA'[YCB-%!,6*&)F\\QA$3'QBOL*M MM>V7J?J_U\])N/5X;YFR^/G0\O8K9:/;$#37._?D@E4V'%J=AC3!3W!M::$^ M@90:G!]$H$)$H)(TR0":?&;&1XK5ZTI^M#]3JDL$-U'NZ(>35)["+"1M>CNG M"?ET\*&.LY<<9H'#<>QTP,^ML4R:8T==P2#EZERKS?%TLJ5Y230) MC*1&;4:L87[,MW#$6+&(R#28 O?Y[U)7*SABO+(B>/";8D[6K\T7]_U,^K@$5EQE72XYREV%JO MQ],IK[*;4GP2BO*]6D#7YE_W&ZQ3GLY$#!+L 5A,&YL^;)Q-C;H+]])LE1$4/)3,2'C M_N+_\>50?*_?S5=V[ K=D%[Y+WY_/!L_1.2L[*%XK.2-IWU[_.;O#^C<(X0\ M^<1W-O&/<1^@E7QT=OZWA7G0U$?(A>%'!'J;C1T^0=*4MHNX,M(VK>9%%5/ -K2#_J/E8\)W"HUU4>#2,"G+XO^B.Z-W* MC^Z3EE5GXT<723.*$J)*_.TCQ'H%<:.&UE?A+T80_U/H.E\+*(R0$((5X\ T M%/Z[:MJRK9CRJM"P/=_=Q;4FSU%KR-\%UM7"8U^A[7A>.!-_#9V-J10PE/Q/ M,?[SL$4([TW9WLGNL8"L/Q;L2 M&CR98B4)+WZLL_=HCWM?KP5][YE4.=YJ)10KD24- M1R6:)B@)GU.P)!.P+*ED"=&T^5Q&2DB$,7+X?]7>3=L$#)#T9E7%&$C2&/%V# MYJXF6Y"\"%_\35X%\M%[-!KIKSCR$[,?>Q7-0P&!OZ+T?Q>>?!^#]O/)7,L' MZ,F4/2 H%&'6MX<_>_PLM@A_?.AX,5'TS=56H;KOM>CIOSSWQZ:#(E\C]%Z' M/SZ,#$Y9.5\\GXPC&V!4(W9R @.]?2' MFLC?G\C0[P3_UV6[M!I7EOW'*29_SO#\ES<^3, \M+G#7[)\I\H/A@5A*@RY MCE 0!:9X#K-M=-D0HN9/\8'ENP+?;E28(5<1AN'7#M<="GR5981ZMR\T++P_I/63HJV MO L-%DW]SS.Y"0^/&$PIX7F-)A4YW%<439HK*BKA**TL8$(E*9E\$!KY!Q$D M!"-N0)H=44#6<[3IS.J'01#%+C]O><(YQ!KU#!0^MF8KH[O"L FE2VBRI=Y> M-/19J=<5U]Y^,=OI'8>:ZQ*6;(F5U&%;V@84W.HW\3Z%SKQYY#^3B.O1HV>KH!AFU3/03'XILA20=&=9JM5(Y(.OXX!B$+1/]K*+; .OW M]S@G3(3-E(,8"C9UB4R^O;8567UHG@[6L:SO$:X['V-#1J*2+>O"7%4'A_Y" M'/N2W*G ,V-T"*12LN6VLVE,^NV))/([>= EFX.N[/4E.MG2FY<92\'V,PZM M4MM.K=IN-.V^A,#)IA/V.-AI[F@ LPS4PY:+U5"Q/82KX5/19--^T)WRIC,9F1!$T$M:^:L4]J%@H'=-9A7R^LU1YJK-9H14=A82.@VQ:K M-70[G*P+BT6LJHPOJ\B$(QN]$C->C3"K$W;@PFK1.NMY#N%-Q'& :/Z)J%9+ ME;Z$7E@M;*&M-+H&>?"V+9.GP8P(3C CH1=6B]*#8:6E]X$83AY.>V?JA"$+*BP MZ875VIN;5CLH\S1'^A7?P3:TSXW##EQ8K2/!#OF6.C_!N[5 VU,7W[I0V/3" M:A'D<;:3&+1MM8PVMRCUX"71#IM>6*W>MJPY)NO.+.@@\:,)/-%JE;"O%U:K MT6RC^S7O[V%S-1Z6M#'B.%$'+JR6=5ST)%\[VC YJ"S+:+_FKV$]XO:2JV6; M%5&5QF-+&+K[17/7/])*$-U$D%3#7MW=(Q.)XG9C#VNTF&.?$>.F6$*YNY,# MU3H0;5%HS4>U8%/NX]$U/!<6EB3A^P"PN[Q/ID_]#$ M<6['8=ID*HDUE0^?>F%A1]QZC79*M0;':Q--HQ:[>GT0/O7"PJJG4Q4GYB5& M7->G#H/UQB0HKKDU-#='AXF$=/O2 #=J?2("77V(O; MQ=S0C37#&=/PJ1=DP*_/W15E-<F%A]6EKO_0=802S<[$S MFKG];;L=2/B%A44%UO79KC'C>&8@:Z?&WNAP80=194>P&3;1XP. M:S2@3?C4"PO+528K;T\SMD@2W=**@/S&,90L_,)J08=F%]6.;MWB':BK-_IE MHS4)HJ9)VX:E#O:08D^PY@\4]]"2F9X:-WW MGAS"GCS?"9^Y6#G!(^'Q^#,4$9??SJ?V()RG?SPL/R%K?S25YYZSVOG:E4_) MO^?[D3?P_3_9CC],CT/_H28B6(@/7H@'9ROYXN468-8_2?RIKQ18B#0L!, A M@$-W,.L AU*^$,A7%!BF'[@0;ZQ=_(\'@\\;=>G1T_24"_^4\BS_M!=F:P[" M@VKTX?_[0GQY[WS 7^GK7G]5^@=GR3\Y2+JFK14ZX>>&5^!L55,+/_PDUX6C M#(D"0 * !!^$!#H._% _K6ERO\*1R]R &3:ZM0+##ANCQK#!"=^NF9V2'H.0?@,I\&=S\2JF,H\# M?R]9>$]S 13BC@8.%"(%!L#5YB)U1[_$]M_5_()I*\[Z(^ZTRP-RW12@$LMS M,5\\;5!";U[.^L:NFO/]HU0XZWEDMS(\%9Z-%(FOKA4@(]J9O:MX+=ZZ XQPXSH'C'% (H!! (0"_ MD4E^XT=9C:C&1F0]K)VPV;"S-.2C+MT 36S>A;V?.TJ)8" M.)FE[F3V@;>JW=/Q[,JLR%/%XA>-'YK$Q(ITX*%Q$T=?=FG//=D\F&)3G!E$EJB>HF&>#2#ML--N[Z <"1[^T'_W>@,R9 M.<*E"K*O;$$]U<0+ .UZ8IDB6W5+/G05_KCZE#<<%$-LM#00DJAH?79MP7DR )+ MLZ'%&J$)'G%,A5CZ(6BO1/DP*!];0B!X+A-U*X1GM(AAKS.S@/("Y;TGY;V23?5&Y37G M.[Z#E/HEL5;9*PO875*$$83=BFPKN$@0( PHER16659#R9K[@, "!U\ TC<, MC([$,>R^XU:"J M: O-=36UX,N'<]1U)#.%O^::K2U,_^)=[7>(T5F!8H"XMW0%GE6I$:_Y9"<-QA\^\H(V=$;$Z>&N1$66F/H.H THY]2#2QM@$(J/R2,^T\2.V MQUR9.IDDHIZ'E\>DU,-MFK8>"K-WV=<'#K'@$)LZ",^52?5K0&SU42792",O M('@5A=>HVCKQW$ZC6^XZ:%DT%T3WKX7V% X#:@IH-=#JV]MH;]3J@!M-EUP% MW<#L0+:JI#"!*BX3:75DEY5>=T8"Q%3&B*F:;-K1U?.>?+XI&81<@>-O#HZ_ M5S:8(JV)JJWPMA#J#;_HN5'U#/_86\FVSVUWYB:JP7$!9$=S:(-MCN41QQLD M 0GCLDM,F.@^VIB*0O$D_P^X8:",V5;&*]LY[U;&PP*%R/:FW(;'1&TK'%;R MENGID3*2,2^,),N1 28J#TS4.6K.B^+-?4,K+&33+>SEU2ZV@")!#KL2BDQ! MDUT;%SQY#8L/C[\[V^<5O_J1MRF?A1EYR5@BJVH7W[;W%\2MFZ$'P ME% [@83@9WNMA.*OVR( 0@"$2!U"Y(KM^CRP>(X1<]JM7AIMM\= M.W 4TX5'9B16I"]@!*#.J4**@E$@[9B-0Q-';Q8(D$AK+P39D_*A,>NPD(H MV875@WUL:EXQKB[N+ KAF#0E_'WD5%2V._-\M_FYO6KN-<\W_9T+:HQG^M2< MPH'?MJ3RRX1<:B<':,@=#1QH"*!5TFAKE.+G_]6P%5<+C='_1.9L_%UH=[Q@ M)=PAU.4=T5()7*D:,I#BS(X/2'$^-]5LG>Q1/'[^0%,T!OV8PV1G_KY4IC*089+NXKGK#BH.CSU>.@@<1$O&Q? MQK B!G^N#QIH.M#T+ 6R7=F_\DKU?J[5W3)9&5IVI6>A1'?(>2MY7#H%D59' M@25(D<2325E7C3[+E;F69JNL8>\UVW=<4P.I6"DX*^;7C9W](.$DMCY1G@N@ MVN*$ &J38E_<[35RCI>"@4Z%IE)MH8*Y,ETPR33U7V\BF^EB&^AP(XOB&YA:4 MG>M&^5:_3SX'!U-P,$T==.><@GI0V,=2;P\5WAA;Y2.E_7'/P&])J=FX@RIE MS'6X]: ,D0S#X[JHAYV/+"VZB".?6U($J#Y0?6"U_;F^/U=SB%JQ1N#0ND@& M>@"'.J_46OU(S>.88!(E $F52Y(J+B056W%1+&\H=9H:9\R'/8@CA;6#HGEQ M_&\X :OXTZCQSHY^#-O*#QQHP?U!@H*C-CAJ9QJT/]U(BQ)6HZ&,3=]@=UXX M_P]0?0&IV=6T,?%EMLQI_'2TF.]L2\(#"8WK8%-%&'ZE.P%H)-#(S&CDIYM1 M;]%(?#,<&T--&5C\?(76NKH\P2P]TLCS=2"E9#X5(,/R0(;%)G4A7%= ?8'S M+SC_IL*4BG62?TQO_.UYM]ODF'#J]C(6;'U:])[)6(#;0: M:/4]:O6GFV.OU.K)+#2V7+A;YK:'AK.<&G9G(L9:'5IB!/[)9;YR9:"ET@Y[ M2#9[E)?"7X^Y9O\!R69I.ONF+V?E#M-T@!1G=GQ BO.YJ6:2]7B,>B]LY&/D M[HG]0;*BN#OMEQHRX, $#DSI0+';'YANEGG6.^LH8ZO,64/;/Q7TQ9+)U1D# M&Z>I#IMF8]]S*]L35&,D]%PRF2S"V"LO> 0:#S0^=1J?J[I_[U;^YSIO3$G' M;7I=6C;74W@GG(3GCJMJ+G3^S3=D,RIV0IN'$WT\O$9K9B#S6;O4&*KI%%-LPY/U'E?0LESIERX3B!3#L#$ M?<)$_F.27LFKEXDCYY)S0K>V36B@L(-YI2PP$4B0,4B@K[PZ&I!L62'9,#)^ M?E?S"XKL&86-Z^Q-55,+\^/3:SC"M=[_UG2\0^C/"\+G#,AS9>^%.LF&*ME[ MT,CR4?0T-03V'W&F/Y3RTBU*?8/?-)H^!M?"F3-+=5QU3N*QML?Z3<@]U!/GD'#!7'0WHI;>4^?EC&RAV9:7210@"GEPM. M+WPDRPCU0K7-CX5"=$.'B2X,=K7>@QKU5K+M,[;*/6K2A7,7/.)P'K9W M&V[<61Q[X\[X1-%]"8WK>B-T$2>2L4Z@NA'0R&QKY)69D#_22*UI!7S7V];% MUHR&#H2_V&UF0:2147$CM$CBH+I1/JB0A"WD.F$G5:^P<)UUP0OEXHU6$3@. MIOTX"%)_LNW >E31:JBA0JB@_.(MT#[3;4\V.U9R,U!R_XBO?.,VW- V%&*3@TIZ^Z2MI@&]3P L*:&6'-C8U1,?=1SK>_5_/Y1113<_Z]IE[*A<.',MD5V0G,'HW^OHG8FFTR$H:;UBP=;\N*! U$0^,Y J.$B"S!>0^9(- MDNFY^^#"CO#PFTL[ @LY# 4K\YZE,57+@*$^65D$$A97VD80M$CCGWRW%, ' M@ _WA ^?[5Y\&SXL9RU=X;$!;QUW55FM:XNI;O0C?(@L1IHLXM0GEYK+E369 M2J/Q>4[B MS2\!:*QLA M\X2.$U_IIH9X!@Y[X+"7"6C*ET$17ZKT&WMB.62:I^/4:7%'I]TC^=K_9^]- MFQ17DBS0[\_L_0?LSO2S>\T@1_MR>Z;-6,2^@R"3+S(M(1 "!!)B^_7/(R1( M$K+J9BU);IKIKJ[*#$D1'N''CWMX>+CY8@ .GH3Y!,>E.>&%*<:)'B=Z_!7U M^(9!F^_I<58,.*G4\F9NAID7YLCNMVS4P7J,]\[2#']C-?Y4%.QC,"T[93DX M)7UA!:FU!U_U3'?BS2SD)^>]WH$#^'D3%SX^6VJ?,+9P5*&\-Y][BQY6HF?@ M=KO;3IK-QKR@[#GGX;!W?:XV =H4U=2FTSQU70 N"<,D6OBQM?!&A]Y?K(7[ M>K,F-F?JR!7:TT-YMKU'39-H(=Z=HM*2F-31_ISQI=Y$]U'*1\OX;I'$(TT\ MT@2E;\J5BI[?/>E?R_X^4A=]?F,\!&)3S;2'_6ZC34OR.*MQ45EL*2V*+^1+ MB5(G2OT5E?I&U.N'E+JQ$4UIW6IM50?Q_5IE6_+WTA8KM4#VHEGZQDK]J7C9 MNZ=? ? O$SF;J,S0S$$ACD&M]5UJZZPG./($'4I\WL3G_=# >R,VU44S?8VL MOM?7=\-']0$\)KJ6 SBV (V7:!&0WCT#Q_X2904D;4O4JL';X_[L(=Q;'8VC MHZM'*%%(0E*)>GXR];P1+_H-ZMF8U>?37?7>5,-,5U\XPIJ5,D0]HRM#9"F) M57W*6-73 _]HAWS3"/YIJP80#[<5::,2*^AS=76S M0YJ;'&K"7BFY!2J[;D^VW!(P/*J[G>;YZZK;B7(GRITH]YO>[O9"Y19'Z]V^ MINB"4NLN))>I6.M#F,7*30@:1;WLFI4DF/7!@ED%9"/?1];Y#2NI8]9=XB"_ MO8.<')WY/'$O&SI]5+CLH[X=_>SGKMJL;0>BV/!S;I[WM,6JJ1L=$6"95,%^ M<4V!1&<3G?WT.OM*I.K'=?:ALATW!$87E6&^6PQ"66,.K2W66:!2 OLZN9&? MBC!]S$C7,1<=WU>'URE\&OZ-_QHX%HK6:DKW?1U^_DUZE7C'R954R954[X:Q M76R%%#T_?]+L_+EBUQT]6N!%9Z$OS,NK$"YMA+S83\Q^X,M4F!V,U6FQJZK9 MCL9QF-?):4E(;K!+X"*!BX]&%E\++K;HH;9CV$'=+0DU=[NOS3(B3>""1.=8 M[H77I23AN8\2GKN\T&X9W[B3,O:I/^/;[?Y*V3689I@)*\S*@.BD!+L@I&DVN=TN4>T/I=J?:@_UA[3\ MJJZ,$19FZTRSK^JM5EMT;*%RSXVQ_X&:_5[BRB>N_)=PY3]5TAPV M"/B_RBIT-@#Y)#4Z6/N.N486N91^83W]P5G+-DC. PMB^D@/4 %%_PO_GH5X M0I2=.<$; UU]C13;1N9S=8Z&_%9ZT ;UO5H+]F*YM6GL*_@@:51E7DZ+/).D MX"50\S6AYN-'#6^.+]_T3F>ZONT_;&51';;"1FVH=SO[P1@##1!8/LWPR=G6 MSQ%O_'=\/?-S)#6=,A T6^#PHF>GEF2!)2&() 3Q?FW *]/-;*"U;(UF-#:V M!OHR7.;-S+2@9.;UPC0L=*5@D7T; _ ,C.=$9^S.#C)#94R)R=>T!ZWE (R+ M4?9@6I2NC]TE"IXH>*+@D8)+VHC/K,?NA'+55F70'>EC'>4*[T?!JPK?I:>M M;> Z,W8FJEQEVU$Z6,&!IW%\6F"2.R,_2YSQ.SP-+:SO,[3$X7\%AY\%7+2\ MT)BA-\'\_[ZULW_[\;ZU(3B+)/KM06LY:BP5IBVUQ8EJ2,NWBB0^8P?FSH$K MTXX1J*5"CM_T5G-&SVPUCEQD(%)IGGN9'4AP(L&)!"=^%B? (;P/6R:?[>4: M5$]SW&:V/1_8*,)AV,$Y@O4FE6N$XD3.)Z MWR22_[/6897_KF[.G 7*3!!>P)>KVH3Y1/[O'LB;=+L_02G=-+TY=&./0XL+ M;PW?PQ6-83@./##V]5EJJ?MK4E%O@@)$SM!@#Q27(3HF/4*C8 T_($=I[MYN M0+]A05G.YC__"W\/'7]&C,?IAUYT MTN]O'Y>_\G,K+WEWPR8?8PS\,]X9!Q]Q[W25%TD"[./$_._>FKB M8ZOT7WW/?&YA_NPGHW_B%P%\@^F:13_91F.-?W2VA+!LL:IC=,1*C)/@HP-O M\:+77[+PGT[;<[-Q._/ ':40C]GP9M9M8?:?4,AX\I7S;O[QGWRK46QU^ZG> M0Z^O-'HIM9=-1R'#2C,/T&GJ$T.1;S8+2["F%9JNO]/HM^'>O M5:\4LGVE4*PTL\U\)5OO];-_1"ON/@TS%:6* M?;C9>7M!]] 2B(&!?(#'= I[\(D8?T*,?ZH+/;2 NUM_G>07>0?-< Y?,W]' M,M9%WJV^#GW4LEO+^*14$#LOAM;/J,M2;K,0E%;VT&#'#UE5'X%OA<#-6<(K MUGZ(7LDH?$](]%TJ%P; &0-@L0LKU?+'^L(YD,Z_QJIS%K!BUG^3 T+?7G2W M7V/?[%?>FX/#NT[U]@$H94"L3ZJR,._2*3U5 '.^Q>3?]/RE%TUY^GC:*4AA M/\%'$[0(P.2GY@@GL6#_DD@:S9")75_X)UZ'Q&$%AP+ZN'%,%*13X'>:^.B4 M ^["4I_-]N!?X'P8>/$$Z;AQ.K6!3CNS^' ^O%1WR.E]B[ -_+H_L=@8ZM_E M039/_DK_^R_HX2R<&^0%C[V GSI+ST!-CZ>>.$:>U,I'.@ +ZJ'?:?@+H7],4 %:!>/ M\V*ZTO&8C[_>HLN?A(]M/)]\XO%-V,D[_=;'933P[7S/K8B8C\"RP&_YAQ9X M>,XZ>.H7!J$1.):C^PZ*I*XO01XP^_!;7*0=]RS&J]_I+OZ 4IX]^0/>X1/$ M_2B]?J^ %S%'C6=$T=991F-T7M/I$XS$&9*M2YINZ B>,!A-EEA#DP2* M,V4="8Q)/7U"D V+MAE&HQB6U3B.HC6)$5D-7L)SE&&)LB$]?8*#!W0;B9K! M$L1(L7TA5!*A10!<$4)8UC8!R&(<)C%,]LBE9XF4D M:18,5>.08&DR)_(:DDV*LWD1!GDQ'Q;TE98-&(>$*)@/CM9DZ+K&B :+=$9' MLFT_?4+7.9$Q8-"FS$.O9$:,YA(F Q8/+2"0]],G1-KB&!XZ9(I8N@RM:[K) M29I$6;QM"Q*G2^R%="G*,%D0IVU(T"L!! 9SJ6NT0%.V*5,6=/MBE=BNL MKO&&P<%\(%,S= :(%FOQ/&.+%OSG8CX868)9YS63 Q%SK CAW4#R\QF#-H2 M)).YZ!7-4H9H,:S&\A3,N6$:FB'#A.H<2(Q".LM)PL6ZLGE;LABD629+@ZQX MT"B<04%+L 092M=Y]D)6,F=R#,O#>$4385FQH%&ZH=$Z)8 QXW7Y\@F:$V71 MI&E82+2,UR4(EH>Y!*VR81B&91O"Y0SRIHT$T \1&3#G")Y%-HN7"@" +=N\ MP<5/O#*QS>F!$[3LMH\"0#/RONS"Z@$O=VP@#XMUUC2]D!0+:(-),\&(]:$# MN1FY?B:FP%2CTV.S:W:KU+JH98QRL^4#/_XC+C<4(BN[_DX[#3>CWYPP,W>I M7CB']GL<&SJ30.I1!*FC#'XS@WX:_9,N3$R&_.3;I_&?,8LD*.8 -7/,ZP!1 M'"(D'Z->;CMOLQ(OUML^^O-ZS8VJN7GGOAL<%#VSEC)BOC9NC<>OM(IN.S]_ M_(?( B_#<[W\"#SF%OWJD[T7O"7C._.SS994 ,[$S$H9^!)*G5R !(MT&BZB M+55\ 1(AVQ,GP%X-]L_RYT2]>-K Z3V^,W)CR$43\980"1P_=0-B]\TZTOGL M8A'":[IHB5O!MXN>/X_\!)K*U+ 38#LS:'_J4P^9H4_.[9(O'H]%X"_-G2# M_3\Z?#WEY.^1FF[X\3W2?9QN!:\L(#,.,=$XQ$3+J3_/?)^G'3F^YXW\CO>U MIIYN_X7'$-,_;_*!&TT<8_![<<5B''09I\9H@7SBV\-K<=C/(N^/S4CL^\]0 M5);ON)8?W^XLHLWXH_N/I]!Y],W)9?)/YK(310F62T 4LK_AA[-HL7;1.(P" M"5'C7N8^WL%,P5*Z(];-Q^@VVZ?C?U8'YH^%CL,[3^QG=)S.!EFOUT=9, A8%F#MI$W=6M:1BLH[.8Q?(,;1]W>9]!FHF^P:]&BT?5)^+WR;Z2GHKVGF+P ,TF,90%B2%& MH0WX4#A;!]&%(\>0XI.U$&5-1CO06.['#CLD7&3!+./MIN-,'M]W! 0[A/': M#LZT(.!P]SY\]O?!-%1\C:(2K)TYCC6=&(7W8: T1.&I4?%6/%W+80#H0Z)^D:ZCFD%_MHS*0I\A[0&P:AG]O"Z]&44NP4LXZ!>,/L) "-+-AA8 P2 N8 M1!^&"+^PCK<0X LT(X&D(TNQT6ZS ')ZN]"F&X9-2G]?7X OQ4 M-)T1YW!.*VV!SFP;%LW8\ZRM ZCNS'%\G2R.-9;B8GR7>D5T?^]@#B,Y]4/L*B.L&BU)]];PE:PC+"7W?'_2F,GT&< ?QH2R)?!3N, MX H(IA."Y:/^XD'AU1+B$1SR'MF U"/Y@.P9?,8F;=(ZI=]_H=$AZ2P 6^^'C";H 8^PL/QJ! MV :1H1(8]D@79F"O3/ Q0G#*,&##,QL@QAZ\W2%[@S "#L #K)#7STN6D^]KG)3N %D\=03H2( M[2-Y$?%0=,LCW.$W+Y_'S4]8M/HBQ*X.'26=I!]=2A L2&<+HL(^!C;(/OX2 M"!K;'&]#",[SJ:UDBDGG8[MV*<.((D3&G>301K4?\#^S3\SQTS' F_[[%O5X M3G\/_+6&L]7CD65W3G#ULY/GV" 3K<761WO\!;ZF_3NVB+SU]-2IT7$H@;K$ M 08L.IJ-OV&,#NVJT.IFU'RA_M#EMGS#SSU-VN=_(&G_)'/H:,$+C37XB'%' M@NY)%YZOUW'*V1!;/SOIA.Y:U<6F;=?=4;4&7,C5*5;=XUJ^+/!UG/?)Q%D>X>87YC4](GT]H M/IR'44YN5%@F6MDM.QM#UFF6_['A6TQ]=3A;'FH':J:6.M-[KENUAG,F^]-3 M3^[;PQO#APW+%;#B&]8'MH?1=MB@],??8.QP0[[!Q1K5BRPY#^>OO M5.'DO*=@.N9HZ_ENQ @88 1$AX,C63IKVXUHV.-U,,]_ZXQX @TZ(W%SX / MJ9"/)_MYG_/JWQ_K#(F8G"%)SI"\BS,DQV04FC(,FJ$URK(LC4,\J\DZ;6JL M20F,@"B*1A?)**Q$&SQCL!H%#HS&R3*O2;3%::QEB")%6P(MR1?I*SHEFHR, M-,YD1(UC<4:4;D@:RYLFJYLL)]/ZTR<,RY0,5I(TF4423GBA--VV6$DS>!@^(TH6[AE/&9=I44@21?B7"#*PX$." MP;&T2 N,3%]\@Z5-@:8%2X-)D36. C$9.I)Q@I3%,KQA4)=I4>69R],2)?/' M!"O U#@H%<40OYMU#7JX08'P/3Q[ !L5?I>*?M& 3? M'+DL3B[&.V/Q7F(=;= LQ9X'6<\B%G$T>$E"@M%FF3./"\FM?7T1 !W&[OUZ MB_?V9OA=CY'<*-Q.HNVGF$F\XW;U:-0-FK2,_LXC9QP+_VS> >?WL9&C"8%$X7CT+^CW(Z$V7\;3/F!@XFW#""&OWEVRJYO%<_+'"8-^6,\NW--O<&#F MA?/Q6X28/MM%)WD"\#3H3K",I#+;XW,)V*B1"7\=SK/P>' MB^C3.^/3ITA<=.YC^QCRNP[-)7X3^$TG]<.J]UW/2<[0S&FF8U3JZ[O'2*C( MX?GM.7-8N/;^J(/9I_MVYP]^P_D)HC^KM*=DL;D0.B^BP;.+<$%^/M"S:DIS-/#,^FQ3% MY@&,+/!,QI%Q X0S26@#^O&DC\>([#F@/:+,V;XJ*-:33="SK6#R!0^ Q;%0 MRB )B]$V,-ERN+!H^BSPSH6H$_0(CG;I0IXVWH@%^1^[2W:O%WJTS_ (F:1# M^C; )W/\TUZZ.=/];\X4L=3Z,8=JHJ_C*#61"'07+3/A\KC5@=]O'#,QC_NO M=Y?K[]=L"T-]W[9 #TG^#HZLX$R#8[P=/KK$60%KD D!TS@]*]J/(6!Z'IM? M/UG-5[A#X^5&X%A_W 0X1NNBK?F;UKKXL-#5T/?Q%DN<7W<$+9W(;$;2\HB] MQ/8UXH/7LGQJW/"2,HY'.4&)#0(MQ[T[L)-'!_**:QRQ!" D"A4^GV$8IZ3A MGOD(Y!FKSB.?,!%)-7CR_J?W!\,2\V&A!UB_UL1RBO\.3KN-^I+L/4>'3T\Y M:LYB@Z+P*7G[\7CB/[[UF CR^)X(V> =,>H\Z?@$-!Q'/I_*\5QL6)D(0!TW M)JPHDX6F_H6GBJ'^=28A._0)03IB?"RLI8?# [)C#G-W1%ACD,X42-8#J"1 MH(DD<1=[%'&RZ;,),/CWYC&W,AY #'8Q>PK.IO@\RS%* B6F@R0J6_ .#'/^!3_W&O\0A&>@BVRG?641KC^5[NB] F17)A M++0D129A484XN?(Z!>?)/!\33:-#F3!/9(Z\:Z0\=N1[O\]A' M-]+F(BA=(G0YQ CAK*+7LQ=A]Y6Y*P\TR_SLN] 0YG2,&W1_$YP9'Y8A]\.T&+XV'Y(TL% MC)T[V#I@+DA8Y_%,/W[X& 2*$U4(BL6+F!A.S+CC$%)L%NP9X<#Q ? SNP>/ MGWS%F-#!C\ !)U&>61280<#B8@8Q"K%K-I'[\UCO 0 M0Q=;U+O?/ST?8I4,T;&RPP^6<5&EY2E>$E M"_@G*C?@;I^-[=CM4U?CL@Z/YT^B$<>1TO,GHQ-0KUL+ J<+D9,2H7\B?T^U M%2O H:$MR3U\5=6 MO9A_QN=P3AE[&(#_3OWI_ 74%5S3N&S&)E9,$Y^+BWP'@F!X7XT49R0A\#\= M>(PX0-A.GJ(,\>\) #JX0R3P2)I#^V5T.7I<=>2ZS>:O4ZD.TL$)R2^00YP5\KNMC]GXXLB\C]Y8E+./ M3AJ!/T/V5/"RQKH+Q@*987P4CHS]=[KZ'V69/I[V>#P(!SAR'G0G[B->0R<8 M.'.S/ -#(D%0'Q_/LG'V#,;GQQ4%F.+YQ\#?]?P#;"]2/CEC9IIZ$#G\9#6< M=P(;AM,;HUZ0M7P")'CYGOSHY)8?3Z_-\3F$0XQF9^ 4K5SB.N$5$X?$-O%" MG3GVX_[2<8&<1:3B?%L07!1@6NR??#F22[0A MW99CG.IT?+)E&2I)I MDF2:]Y1,$R560+.K^D:4@'A&UUB.8C7.DFU-,@U*HQC9,"V3Y5CN(LE&UUF+ MH@56$SG9TCB.UG&FCJQ1)H.0#*:3$R^JXS 5:R-9U%M@:?$#7#L"6-9@6=03)MB/9E+2B6ECC=P#<% MZ;A:D4E0YL>B.,SOQ;9?"B44 M0G0TW]%A[Z-=)!O*I_/Q$8\#^XH#MI&YG6/[%;LX\2^B<*@!BJ+'P7W\IOC< MY#%8Z:U)Q/GB9*2^/K?7?\:Q"Y/$O5$ C-' _@V:>5ML%<'L8X\)S/#L+\Q) MHT=W^!2-<>2=I'_XD TY+Q,[='&2RCG[F(86<26CD.^WHQHD!G$,9L0F?N8! MM&+V_7AX$[Y[X^!'QZ&(*?#IT "S#0L<#"$^# MW9%7!R]*90FU]S#WU;$TL+ O/QB%''#-YT%]X6!#V.:C.14@!G1Z?CH!%CG[DNI/OGIP?G';BHRA*\OQZ.M\PAG['YXV) M&W62UVFL-E[L-F@642),7?ER0GGP)S UV=? M-G3P$D#.GX D*LV!W=]3PM'CWE>4+/&86'":1YRE<*9\9[ 7YYF=>^W?T%CX M#-HYP?K1<3___1$[,%K@O<0%VJ939[TAF(\?CXJZXDU;$T7Z%,4V<)_.K,1= MJA$K0+R-]ER7L##PD*_CV 2$CB5'+/)9<_T8(SCVY!LVZL_@+] :C/S11F'D MOC[;B92W>!Y]H_")1^*J^C%WD:@Z-E_''0[._XI\8_-T9 @@86U.PF7D%>/]PB^IC,=L/CT55]?%G/R4 M:!OI3+QN'%@%)DDT@&_'_.A8E@0SE_PC<(,J1M-Y5A C>C X;LA$RR(J;X&C M5#$Q^@Z/BAK''R3'6HYQF7,MR@9G=[U$@3K,G]+/=>6\6-,I02*RK%B-<*) M% 1*DS %SIG"F3CXFR[:G^F'OEZ3S:+3N-8>-H[!N3%[S-(ZY780*W@T!^FS ML"5@1.#&$$&.=.-3=L<:8^,!I;P;WT7D=Q&2S"G2^_V2(,/)^*=P M5]?!7] 2F9-H.^9)&DW\'AU#+([B1:G$D02Q%4]M0/9A$&5 A?YII^*O:* 1 M2C\:^',KT'A<$W-\XFNNN^A)39?S)7=>;V4&\O"/'W(V1WGH&V ,L8#2L>4G MG#P.(Y]IP%[S2. M$SZ29;/5Q_&Z(B@>(?7IRT_*Z,7E!6)7Y93"B*?N48=CG@HNR%'FGA\\,SZR M%DXY_'88J14Q6$]Y+IE$F.()+B 6U8^)S -P._PPF=^3AQ,G?GPA!,\=][&B M[!QP!O9@T"+$.D\I>C27Z1/7?BQM?PDL<=(/CG]'9,U%U'UW8Y<>:;'&L M=A4"!"/_Q)SVL-K)L]BAB5*3 O2D=]A?C DZ60,G-^0(D^?+.V+GQ_)*"/^# M9!6!2@$)QWVQPQGQD.$=XZCS$?0!+R&1RV.BW0ERTH^X]>B-G^>ZXFWZ;QDF M4@P(A\7)AV()7@/WV1BO*RMP*(:>I'8_GF QPJ$WYC3V.GZ]G#O3NGZWS!EUXOV%]9LO#[! MFGR7%:8QE2448WOV^.6&Q#&OF_SH]*)'(GU^?H=XK-%C,>1Z_BEW^'%'^AOS M&AOE;VWP /EY$M-Y##-@,XMAW3M%MLXK?<6UP.)R73$_LYWS_<^+%WR'I=WA M8H['G:_@D0D^F=,H_!5M[T2F\+C-];WADU1\PL?PT\_RG3C;AB0"I*,=. S5 M9\FKF&+!(([[3-^QG$_=#^?4]CC9Y!4X>?ZH6M;7,SXO\>4KBSA.Y8/^+C $ M@>%>3\B\G?+HHQ,C"_08@CF3_8D5? N _C?@!!G''/"]![7%#KEY%]4R<%Q MPB_J[OUXDF+!"?3Q&#/?HXL69]TD$OSFBF]=)D*397Y=%?+Z5JK;R3+&>6$DI0K_$,QK]WA93M,#%T ^U:'J MQ2EDE3-?F&3T/)Y3XY!_5/N0A+..WXI2!QY7"WJ2]G4Q4!(9/:5R8:_?>)MS_9RTG$4.'WT-_ K M<8D7$J)>G[9OGOC,>C!)V3-O&]\D2TQC%(4'6%IX<\=,V9%O@U,UT7$?YC1) MMH=+]1 >%>V\_&G!3_"YHNCD:1C 9X*__O[]R_4$D%;,BPZG=),UC UCA,E36<-2F,$BV=HF^=HZO+J&DE$G,WIFBCK MAL;ILJ%)AL!JO&G2\/\LPUU>NR2S%,_8M*@Q,D-I',]SFBZ8MB9QD@'O$BS: MODA]X$7$R[HL:*:%+U&R9$8S)$;4#-D4.D494FR9E$B@B>0J/&$ MKNLR?-K0: 96+"=QN "-P6DLPC>,P;J7C(LJ-)1MVC0CT9HHXM4N(UF3!9AS M>,!B*(&W)721&J0+(@42-#391JS&"9*%+X.2- 9^+#,6;\OLA7[0G*%;^#XU M6\"KW1)MS<#WG[&,0$D"Q8@2?;%V30D9LL0+FB[J-(P#)D^W+4H3*=WD1!B+ M+EW*BF%E431%Z#B+KXG#%7L8'>:#EVA.YAD)76JM#9.N&Q*L70,TCS-%T _> MQ)=NL3PR))$2F8LYER1=-/!%9@;#X)&S,)<""_^T=(0$FJ=D\;*Z$6=8(M)Q M/20!WLSA"]DD&SYIBS"=NFDRW&7]'1:D:G,PYRR%YQQ?,H8$@!9#EV3+XD5) MOZ@\A!A#TGF!PU>+P3=TK!\VOID.%KH$*@5*_70\ M&8*(:Q6Q$BN*E$T+YN7+V]M%:UIQ_#4U-$K50G-:HN]+'8W1J,N6;L_J919> MO^GFI7FQ4=-UE7>ST/*JP_-6.9Q:=:I!S5?=_BQ3S7FZM(66TF5+4:+6@2@) M':4DK;.-^6$B:W7\]8NA05.IZ;378&#RRKS2"HIS=S/:DI=>0JC!&I9AT1AO M+5QPB8?OQ@8D6[(E&6F";,(3)@V0(M( 5BP/$V<+!L=< M *(%]@G4 $"-QX69L,KJE,%H8!)E&1 4ECM].8!])5=NU1==47%M3+5KG,YF&?V>D[0:DYIC86[H?+WU7IM,:DS80VW MI*\^[[#.VMH(LN1F2E1;41[L]DK&';V>OH[0ZFLYK4ZI^P$E6-8AZ+H!>>M5 M!TKMI>451)]U'8H9!&A@_0T.F M!6999VG+N%@4@DQ3%NB81I%J8D O /D!_CE),BU>9UE#N%H4KO=0FW';C4LY MOBGD"GY[6YZ4>B,RLX4RF\JO9$IUM"XTA,/66AY-=7Y\81;ECJ62?46 MC?E#N7'HA&8'6EY/X"+7J5#;]415\H5F9;P=[+50Q)^_GI4MS3>S:B=8JDR3 MW767^1UUO\1OO10U @4 E@0"IG@;%RT3 -2!_N@V#[2.,T$/+\PR1W%( JEB MR,)_@ 60*" :$LT#1G.@8Y?9M!*%3!K0'GB?*8&BTYB\@?Z!]C$Z6 \6S-6% M.3,$DQ%EP!%R R:88DVVL)DR+8L5&9V6Z(OII&V=M5F:UVP9Z!0P.0E,#25H M8+(XE@5F*J.+<5@T K-GPA\4MGA8Y"X8J M&?"$#AV23=!/H!!(9P2)9QCC5":6V8W!S8XBRT/)J'=P7-VJIO*BWJ- O=.3*9ER>-,;0\FIQ'1 ] M-U;V4*+F=5ZAAV'353L/J'_6C7"C)X3,_@2&O!KZL/ MH:G,!_N9N&WJ@5?'@KK&$2L4I^;6G^U<-/*F7$6EFV4:C^IR<0LZ4&J)H8'F MB:#C^)9/79 $S>"!19DR"Y-^R;8I3@>WA=4,&U<,!,X/E@BS5(D2#(,"9^.2 M>>DF+W$(@,,"3@&VW*8U P&M9X$4F:(.>LU>D6N=V5Q MUX!#40BXV-4RJK2D,)PJ_L3M5>G,T,OY<\G/:N(SYIPKEWKS\8QR:X.IVQAE M!OEU;PLM+_D'N&T"=!&H%@<^!<<"W91TH*7 LT%?.-ZRS"O^4;(*L\Z&ZW3= MGCR^U_I4CYX86TVZ7LTFU9@X!EUDW%;(T\+!-^KE?19:7G78%_DV>JAV)%7O MVL--_Z%;&!=QRZLEPA[:@_G#KJNYI3W=66^I=;:@C:'E]<([>.QBT6H 42JU M>[GQTM5R\WO<]))_ '4T#1[(+T4R_6T#@:DA#J,%?)4U>5:Z(H.P[%:;ZD"[ M5_+9]6:X&$TD8Y+5Y&LI%&=Y,ZOM+=6MY<;Z/AB+>D!:7DFA2>VSXW [-=2, M5VD>EAEG-P [+E_K],)J6PK%\(R[>O #>K??-J0=;GDEK\8D*PW;6V^HKHIA M<'"E!R$SQ"VO=;K4&I;F*\'ZW30L"K\;KJL*RTFM\U3 MP7+PT,(=N-1I2P">QY@6.# &ONK8LC2#M@$4> 0DP!9$7K@:W:#MP@IH%%L4 ML]^7Q_FLV6]QP,FIZQES>E-_:,Q6KA)FE=IA.#UPC$*:7DV$MEEF[]D\MU-Z M;K_0+01VI0AL )I>RU<)#]+LOL#TJ5;+VHMSLRTZE:CME=1J!B.NC!PMNHQ, M^[DQO]M) )K0]E(6DD%)-@VH!D88_"L6O#EPV\!X T/B1?"%D7'Q!(LD\%-Y MX(TB( Z (R B!]ZK!#ZX);$\35U>92S*C$39")B+0 %,V."AZ#("AY1!#"^! M\V595Y(9-JM6L:94B^[>*SAJ9_,@4QL0(GTM[WJQD=D'8GFHYHULK5A;[??3 M418WO7IK41U5N_7I?4:M36<=?Q#6^J&[Q4V?D?=L6E/S]X.9FI^O^4.N(&X> M.F/2]DK>:C.LRL -9; M%&TQ @-.K7QA'7ADTY8.SJ4A,N"L@'@UH+; &Y (,,]:IDU=>-G@Q[- ?X'( M4#@B(]DKR5O94*5E+R^\URFMFX9#[5<,Q+(K!'1,NL;)FB MR'$7GH-@2R;\%L\ICD6R%'Q-%"C-IAF.%W1.0.:5$*M3>U6F/6WLSCFW)??H M0!@ $:>?\0[7[6[9-'LH4/-5Q.\V16^V1Z3IE;S;BX[7R'E!7G78PZ*XSW?< M ]AX^CE?3@_[4S-CBH[:&C0SY<[]8-)ND-=>R]O6@HUFWF\>J-5D5?#8G#A8 M1[V]PE;#! (O8>G)( M# /8C ]45@.* XM/X=O0++D/K%FU( /4X7,4)MH%# M:F!(#48V;"3*EG7QA WTWX*UK?$4)O2RR,$W3'@!@T3>IFU1NF8_MML=MICV ML*6BZ:A+-YJ+'0TDFG[&\:(*[BB[]Q9+2GB8CP>"[\Y+&.J?\;RV4\ZN@#[+ MRFHZG!AB=3!MT.2MU_(NKH%C<_VZI0K3.CONUD:U.KBN]'.^EU+NYHNU/5M7 M$-OFRR/):1D6>>^EO'7+X"3!@L5FB":NY:UKAF'IFB30%*P_P/-+KQ4!@G V M>+>&)0-^BRP/4&("6 "0<. B<]*%"Z)9,)64+8+F4#Q@%H_C8P+XT@9HD\%S ME 03=07*3G8Z[HI,3QD.%M9P4E :(5Y=SW@M6JG?,N8'Z\%E-LM#S2L+ZWPA MBYM>R=MN>QW!]3O@/7%CI)8D"^:%O&41@1,M 9C1+. W#[ F M4^!+B);)\*PM4+QX-5I;S^MA2UCLJ'G1[.36+K_M8GLI7,N[75I2^MIA7;6U MKW&5K+8*+0P2PC/K>]%Z&"O5DDKE9RU4F#C!06N1MU[+FT;6L&1,ZP]NR=5J M;9;QUWN:O/89>0_E7J:_K=;=6C7KS8V^L%!XTO92WN!"BZ(.*TX0&!OC"1 - MRH)5).O(HF26D9!Y@0X69/ATQ0#CPG,):/A\08%?$.FH#''@%K(E@R]$@W;LH 7 M2?1E'-NR&5LP*$TV\-X%6 SP\1 8?]-B3 G)IFQ>6'%#1+: =X9LW<+1=0%7 MGMA=%9RA*N9F+69930 M[SJN.[=$Y#89![$5F&'Q>MT4JC7IH=B:=-6\F.\RQGC3'W>VN.G56JAEJ[2R MX#>.ZC1;*ZU2ZS1;-=+T:HF-BMN1P3CW!1>IB^;#_;(92FH6-[WJZWCMS_-U M<^^KI[G*9=FD;$[@-$O$G,/&^PFZ;6E(, 76TF$^+U<@S<&D M !6R#@ZUC*H&-G$$# MO>!!0043B*U.ZS9E7;Y]KE(M;=A27#>OK'L*M^D71@!=S#,.&T,/=T._O2JI MK59_7S9[S9$2C''3JSXWA+ZY._!L1F$:8;/3;EG;/N@ -+W6+&X ^+.HU]7> M)+,?J]/BS,AE<=/K%6BL167;HY0L51H'BWI'R>A4@;SV,MC 4R(KFN7481&+A1+#TTSBYM>B:)7%^_O*3E;=.>=JM(IW&]6BPUYZ]6B6!^:E>S* M++JJ4!]5AP9A3:LUJ=7Y0 BU3&>.FUSK>#XQ-9AY6 M)E1FH:U#N9,)U?66M+V2JN MWN90NW 0526 MS$((^W& LQ8MF[9(4Z)]Y9452ATQG/$%Y,YGW5(;6,,N8\+;G_'*2I5=-E F MK2VU,CI.NWPPFO? 6IEGO++^=&/O>Z95IS*H'HR4G3$>F*3IM8S9>^VA9HZ" MD.IE2RWAOC?D-6],VE[)31KL>&$AZ;K;JM[?JP4CI\C[+&Y[Y24@V:)X%OIF M&6"N#,,&".0!;RU&!A9JVY)U@5XTQ5BB* &[I1A 2,32&EA ,-2B5OT717OJ!XX%!T1H?LO#^@ M6R72])DHFE3,;,76?&6K">5JH^]';:_D/>7;5#[3RUMJ6)&JL\6Z.I_, ML[CMI;PIRK)M$9!<8K&U0!+8%X:1-: W-** B-#6I1=,TPCAK!H&&2!OBP:O/5:WN5*FZH&F6!-U;R'L#I=+)W&<$O:7D?5"J5>*1Q/ M5&K8&XF,5);WM5(6M[V*.M F;TDFT!U)Q_O2/,@;C+@F, #EK[,\B;>\<:Y+=@\2O 8J_-@ M$ 2@#.:%WRQ9D@2.! =SC\">@]W7@!1BO@&+P41 +(6+#2X3SR##X?T(X.8< M3K62=-X"IDGS.M(1$("+<7 6*^F2B6#DX)1RP(/!'X7U )Q#,FW)9GGV[*(:F+6*++A5/,LC%LDTT(TK@](OT'0E\"1W5>_:L\.>Z]YG8":> M\2ZW$U?-](H-V9T?!JK3ZK7Y.=_!3:_6PG"MN8W<<+E1>Y)7;2M6/=?UMKCI M-82ZHKY5W-Y2R90/U0Z(8CG3R5NO5@VLP6F[O NW:GYG'XJY>ED3EF/<]'HU M!I/JMKXH*VTW4^ 7G*,;Q<#/[78;C[Q5_,MM>E;^.$_'C7&22-XSSD&?Z,D!_ M'_]RGN"*,W?CK%V<9)*?)YN'K6YSM5>^\>. MQ1^DH[S=M74ZW('\-3Z^$"?21FG?\5L8[HYB_W5^ B/^WO$TQFN?/#EK^ ,) M\&OK!0,\.SNR\,C)D5AR=QSWQ89,W,>*7VS(7W!A\U]OR/3=5U/E M+[BN$\#^"D/^@@L[ >PO,>(O-\E?$+"E.XG^8D/^@@L[ >PO,>(O-\D)8'^% M(7_!A9T ]L<9\?^L?1S!_X#1>GFYOJYF]<54^G?(P/1F^(?_]P=-_?&3 F'9 M.TX^UK,Y5O6AE[L4J8^5.I;*>46)84%\L]I/_!'CR4>>UD#K3WR$4HVH:IVR MP)<>]-!R'5T'SU+IU/_^C_&I<"+1GM^M/?1/:X]X)TL?6GN:N.3CBY7GYTS. M&XOGY<(X7EEJ[$$*456[=ES5[K>!R"MKT(\-^/_[+UJ@_GW^Y]4X3UK"_:R2 MT/P=P[SY*O@5)<$I)(D5^3!6)-&!5]$!6DYT(-&!7] !X4X0/K@.)'8@T8&O MK@.)'7A)*.ZZZK!I(F3;_W[;&-V53C0>"Y;'/D_PW-3^Z' ^1@CAYW#N=\GB MU7>1KB;[OU]S.*^>@W4!722I_;SZ-/ND*G@J/BU0]..+$/%E..2L@ I_T7KX MLCC=MS2U5]#:S8>9*]^W9ZXS4E9#OYJUN7GGC^=/&(C/GC (_+76CJX<:_FQ M)F5W3J#9SDY[5+*CCC5(B$5;[)E=T*VN-"7#L3NEI;!*L;7] ]_&X\SU6?!_ M?V38/U)1A?__^\/9K?]>A'/+6\>_OSS $ P?QR/LZ 'MK(;J8+H(G7(U/5&?WO0<7%)]H__" R= MICF*%(T_$^ZKZLGMB<)S7.#UQO?JFVZOHSC+T$=:FJ3Y"5&AGJXH_,M6YB)E*4[20D(6$+/PL M6;B5YMR*+#0;_J[GA;K2VV7U83$?:/=94@V>!K; WO$)6WB_FI^PA;=B"Z^> M?/I.V,+SQ0M^#O-FG+-L._QPJZ[N6<$M.IZ9*8S?F"VL:XWA2@814YE[W=?G MK:#>*F\Q_H&W1*1DO^G0:=9,TCE]0 MJ1OQIDIYK :S3;FG]GPO'Y;4(G/HC4&-<&"2?6$:QP=B1XGF)_0BH1=OD=_Q M32SI/QUE!JLB;5K;W77!;?.GXQ M81S.6?#;J5KB1*,>MABF3!%@!,^+Y:0T*[\L(22!F81AO%ZJR"\HU8T8QK30 MZ6VLWBZCAGU[7BS8E7W3WF)%$@G#H!.&\755/V$8""?XAX+N&=Y(;[]\2TJ7=[@^.Y;C_<=D*?G]\(G63F_<2JR3JTR MSE::5U>US?*M RU6(_#&>KLI4K7UABL52^%,7X\U'B>*B#27IN1;'R9(\.-[ MO.DSZ-/O2B[Y9X6Z$04:%97EM.5EUU3K4&_E,L/^OC'8@A+A-!&*2LI])("0 M$(J$4/SNA!)&J0I48]?J*DYEKM6X37O6V77>F%#8565C5.1]BW*F%7[\(*J% MAS(F%#(0"DI(R[24$(J$4+P+0O'C"G4C0K$0O6%^7BEGE)+0YC/M8,1/]YA0 MD+R0A%$DB) PBE\X OS6XWT'C.+YS>Z,RJW"0;#I*;5#ICR]'S2#&?76C += M]P1JW-I,U!(RJONPMW(K^RP&0W"OF#3-BVE!3DA%0BK>FE3\K$[=B%2(C=I@ MV!W8KEH;Z>7#IM_>EG9$C\2$5"2(D)"*A%2\2M+(OE]: M$XU_:U)1;76L(>NN1F[>$3)=JZUF6N1;O7]GMS%_C@N?WM^0 M7[VLVOL;\JM7=G]_0_Z""_O5BX2]OR&_J^O*DG6= '8"V,G"3@ [ >POO:Z_ M(&"_>G'C]S?D+[BP$\#^$B/^]DZ4-K3]-9_(#R M_)S)>6/QO%P8<4)!RMBG^OLE2GEVZIA,\-M Y%-J$/>S"D3S=PSSYBOD5Q0( M)\TF%B:Q,(E^?$L_:/F#Z,>O#O5XK5EB*5Y#$X0[X6VK_R66(K$4B7XDEN*5 M+,4'KM-665C@)OF./DL.'"17'?]TY90/=SSB-U[DU]"GGG\,-@2G>IJ/FM7V MO24(=7]L$]?57,_K8[8VO&\K3$]24,.8S*?B6Y]6FG4K=F.?6=:HVC3! MDFOL.WC$@/*"E!;XE]6J_9S(\9OX4G)5\F^[\N_UE.]&QYH:JZ;DY/N5JAU>36K;N34.OB?D2%C' M>RK=]KK*=R/682K<851F.RW5\?/J?&=+ZFZ%60F'0\E35"*%EJJO0$] MJBX>>$-^P+0#UWN3."XMTE^Y)GW".]Y3=;?7U;X;\0Y:T@LYMM%CE%!9=!IF MI37J9PGO$(%WR"^\)##A'>\?/!+>D?".WW@7X,\B7X:?3+V-NKQ7G%HC:,LK MNS3@QV_,.^A\Z]Y@6@U$]9Q#NRZW'U8/'8R"N"0<+TEIZ4N7KD]XQWLJ />Z MVG!O\I$HQ'BN;)3(-?;%R\Z/:$S7TOJ]$4SCFA63XMRTQR/_+'."/^7JC,#33E1LRE$TB6/JK? M.ZXNAVZ6$QY&.9-H![[R3WYAU=L/1% 2?4YL?6+K?WSS^1+!1DO_85+K^8J: MF><9P[=7]ZO[M[X$N&9G>P-N,B38 MD-CZVVG*C6Q]%^U[7-ZV#FJX#P:MEBB/-CNB'>0V/O'N95'!Q-A_2H7^@L;^ M:^U[_(*[0G66]^ZRF5'5FLI7YO-!;3L=O_59$LFN[AIC71BY+7L4S#=&CEO[ M8P)G)+F=3_/2*[DO7PXHA M$FO_LB3,Q-I_2H5.K/U'P;#7SW*XA#!5D_<%@9W4J:',\_4F-?(E[ZV3*?L- M6UB$Y;U M;:'WEQ6!JPS)'"&LQH8F4F+\LNR*1-P2*S][53E1M:^O5B71WY> MGBBKDI&?#@9YFQH2WY[<7\=_/FO_@:MBM&S;,5$J%SHS_*'@Z^1>??*TS0\D MBZ^UT?$##EVDG$?=O,@XJXCMC9Q1;4-Q:H?^V,LS.>_-=SW&&T%GC3)JN?-Z M><%D^\P IEJC:9SA(-%I6DKN_TVR.]];2L0OZMF->-6V_-"IA>Q]EBJ)19Z> M!-OUH-'!NH7S(Y*3K E.)-0DH28WRL'X+F0VQRNKJ@P/.S5_L'=&B1M.\L); M1VW*W*;6IC.'E5+:;J>!5[UOS>@QAD\9J F;9L2O7.\KH2;O,X/C%_7L1M1D MJ$J2;BK#O>L,NQ-[I76TF4MH/TGGH%^8SI%PDP0H$FZ2;"+]XC[X=S%SO3 " MU5F;7343=@L/P]$ :;NWSA_)J6JV?&@P96K8*,V$6K'5ML99@I_@VS$LDV:Y MKUR?(V$G[S/CY!RZ-AGF2>"$I)]0"3M)@")A M)PD[N4V*RWWM>JQ. M\NL=B9R0?!>>2\O"5ZY:FK"3]YDA\XN:=B-V8BDCWULJ0T\I";U*4S&6;-X@ ML1.2+L/>\5^&G;S_BAUEI,_6$U/W49+.E^3Z)EM(O[+K_JA+/62N'UO$ ,T/ MT"[K^HJC(*4Y-7/J?-FHO/4FTC87WE>SI0:O.H:L])>2*T]&68UF2'Z+D*:$ MEVTB)4B1T)HWTYL;$9MPOI><8%O*JWFYH;7;!Z9EL!VL*SA?A7EA);(/1%\2 M]4Z(0$($?GR/^Q\ ;;34EVMC455=IES0YK7U=A X;UW*R^[1(W^>6ZA4KYQ# MX[)D4M,B 3=2WD-(RU1R!"AA J^;'/++BG,C)L".JO-RIU2GU-8>Y ,OWVUX MPII)>HB4E/;ZROK]!:G U]H<^7V^C=%4A4 W-TT%';+4IC;:.4AXZ^V1U6 U MTLP57U70;, /M&#(U.\)%2#)&Q*=9L6D^$?"!5XW%>.7->=&7*#6<]8-)J\5 M%*8JR]20WS(-:DRT123;'0D7^,+ZG7"!CP)IKY\H\0^(EI^:GH0RN:PZW%7; MFQ'OS?3^6Y]_U>N5OGBX=YI**[0VU+K(E*-_'A MES7G1EQ U?("Y=4VOYT6S<'874EU?UZ8]S2^]-;;)G5OH Z, M(#]2,]LMLQOV!AHU[F@TB_,G."HML,DAW"21]+UE7/R"CMV(25%(:\O36KFM MEOB)%2[8O#Q:$KWB__@/?R=^F132!"(21I(PDC=-Y_@F6IK"4&JWW&E>[3'V M2)*:X917WSJCTZ;"^P>_O)B[PV+?'5;W$W'4WF+DE(&1T&F>>ID3FL!-PDAN ME_GQ"SIVJY(@C>)#\>#.>DIMI1=+1G/"3NTLUBN<\\'?W?HX>T))/B=&))3D MJVXE_0X'3LK0;+\RGQ\HH7IH+NQR0\F\>7UY:I(;6NQ,4ES&=KF@R?K5;CV" M3E+I44YSW*V+/2: \^5(R2VU[$:DI#5L>\+FOAVXJTW644>-K=J;D3 )3C[A MO]!1VP0C$E*2D)(WS6_Y)EQ.JB&_]7*=IN((K97FVJ-IN']K4C)JAK6253P, MU6%?$#/Z86N[61(G84B)1RG-, DI24C)>\N%^04MNQ$I*#?=(S-U2@ M&Y$@:9T/NM[Z>U6@T&';1'^7&6&GX/_XC)X>"OK*:)\S@HR#;ZR>7O!38 MI-6H/L_UVSHU+%.;W58-Z0/SULR@P/*!+Q8K>U7O\H%47^9\?4) 3@9F(*9I M+JD>EC"#U\T<^7T*="-FP'7YHE_--%9*Z.AV;M);!NI\BY4&)Y+(+]RS2:C! MI]3S+T@-OM9^RBOX/-N&G*O?]UB3"A_8DL2BP6)EOO7!X:XY"@,J4QBHSJZE MS7=MQPVKA!J0G ^92E/>+-+0@X^I9XGY."C0-OK)UN\%-FT37GWH*O9,;5W)(91E[6' M%O?6<8/EO+C-9++-AM+S1Y(]]H25V,QBE".Y%Q*7%NA70KHO!QI?C!R\B0K= MB!S[TF.Y;1ULO@%TVMY7=,$ MD7\"3?N^N4 9S^+5DB(UMX72PNO.WKJ$?*XF""Q=**S<5@,]! =3%9HS J R M\!,N33-)6;2$G[RW5))?5[5;[1+EI7VQ.YZNW0Q_+VZ%X=AUS"U6+YQ"PM[= M^MQ:0E ^)U0D!.6K[D3]1J]NL#<+;+:SJE'SWNI0I*HEU;I_:X(R;'I2MV4$ MCAKN%'KM[2O\O98E" HNGD"G*2$IDY8PE/>6S_+KNG8CAM)?3M3^O7Q_3^F^ MW;/ZSLB:],=$OT3P %Z8QY(PE 0J$H:2,)1?W.C_)]14RL5)W>2%#-5J=NZW MWB0SHD9OS5!4*I@YLJV GL?%&& M;R$_$S7^FU[N4H$W;7%.I&)"F8SULS12QPZKY/H373]!L6SC,3<"(,\_FN M,TS4/F$6";.X;9++]X!PP0["GE7C"^J>I1>U-;^9LMI;GU[*<)RTH#?SD5HJ M..,Z9P45"Q%0E FSD*6D'EK"+-XNE>77%.I&S**W:,B313\S4>?=:5;O;)M. M:TKH.4YA2:C%E];[A%I\8W/GTT'AZZ:G? \)_= ;Y;1,1G%KJ^E ,SJ::_7> MNBA]QC9+W&%49:A0R5?#@\2WU JA%C@MA6?3] OO$TXP)N$6KY&$\FL:=2-N M,6_HW'C=9725V2ZIRJ2ES,SRF&@123YYV=FXA%M\2KU/N$7"+7['9O?WD-#@ MNKM%R*ZG[OS>+T\6@E!:EM^:6]0-EY5T1O*HVJ'%C@[%PT!6B,>%$TH$(4TE MU5H3;O&&Z2._IE$WXA:LR'6T1K:Z5.=+83QHMYA>WXBTB,5';SY=]=8/7(.E M[ZWU62K)B;ME*NY3T&,!]"PO-&;H5JCW1%;__?HGEM]ZO.^ -CV_[3W)ROF- M4Y%U:I5QMM*\NJIMEF^=%&)7UC:RI$Y915)KM1QU:,O);\$MQ$DA(LVE*?G6 M][@G /(]UO09%.IW)9+\LT;=B --/,6:;[OF5D&4M75;=;&;T3I8BW!I9XI* M"J0DB)!0BH12_.X$$D:I"E1CU^HJ3F6NU;A->];9O?4YG:GEE"3#JMY30ZHE M%6?:TAAM"1C*0"DH(2V_L)1M B )I;AU!LD_:]2-*,6^/Y>*.7&_IVH>4UN9 MQ8'7]XD6X720A%,DD)!PBE\Y%?S6XWT'G.+Y?>Z,RJW"0;#I*;5#ICR]'S2# M&?76G(+C!RA4>TA0F"72U:D],H?#" UQWGV:YL6T(">T(J$5;TTK?E:I;D0K MNI.'=0EIO$$Y=,MH>&-W3[DDWHFAI>5G;2IO MT'K[?FE--/ZM:<6XUMU/A6[/=?-6KY9#+-/H[@@:DFMWTI+, ZUXV;'8!$,2 M6G'KO)%_5JH;T8K.NEX=#G?5.16V]BY7E,263$6*Q'XU6O'RZB'_/WMOUIPX MK+4+WY^J\Q^H?K]]:N^JD"U/LMU[OUU%F,,\A20W+MF6P0%LL,WXZ[\E&Q*& M=#K=G0!)?-,=P(.TAD?/DI:T?M;Z]\\,.;\,L<\ >U_PJ+9S.]3^_+K\!0W[ MW0\#.[\NO_> H]Z>"/6=EVQ+[-N/=M^C-%&!'_I^(NN8 MU$RTZ#@(MY\G!'21^.^_]4^'$['WO*7W<'_L/?*EJGQH[ZG:SF\XSY\-.2<6 MS^N%L*]_$$?(E/>_A?/%+$(T7L'_%(\4XC MQ0<^K(W=E78=/_"F8<)TO.G@DU10/L41*A]NB\0;';JV.4(3GAO0$2#*U=2W M'>K[+=IC'Y_JM$)?M[UM?LQ170C[& 2K'=[@C;6ERC(=R9=*] M:0]J(.EIZJ&[F,@IYF32MQ^B\(7*(<=X$=.-F&Z\ZOBHOT6_N^9-!9,&;J)6 ML9P>WUTW&]G&J9FU5 QK*(YZ?F&[=:O=#LB8(TX+NYY6#E M6_6!'/(-=M@;=X$$\4(1XE-98LKQSI3C5#YW),I1D2;RJIX2<*?E<%,B#:N\ MW(S\3 ;*H7RA,UMBP(@I1TPY7G7FU%]/\)KD^G;(3ZP!D2:%Q9QOY-SEJ2F' M5S9:%30>-+*D7TIZN7YSWKL+HR]V$)S"RQ=R?&A]3#B.0SB.[W%'(ASMPE5C MZ2F*AT:#8+$4[A^*E4XC]#(A7%.1OPSA.+L]9@>-S8)1!?"&Q-74'K)7_3(9 MY0LBW+D1H?/K\M=:#_KS6''C;AMO>P;'^4;1OA,*11?AZOPZEYZNO+9QZ@*" MJ>[#35#MSK(=OGK3O,Z54W**@R"29[DHO"!=R*\\EC]&CY@&G9,O'8D3C:=W M^=DL;\T[?+D['0]&8]Q'*>8_TKKEZ+0YRZ,\OB C>TP8OJ[+ M?T'"\+568]XU*"HX@3O+7]TJV?S]6*E.;[GYPIN?F##,FZ5Y"#!DQ(SAZ[I\S!@^"LH=/7_C%2 G^ ^9QET=C5#R;GPKWXT']&IU M:L8P[35;Q6E/LSID,6F;HC=2NC@$/);,@9%TH7#OA'E?#CZ^&&,XL3,=B3&L M!C?&;-BHMP:M<3M56M_.UOB&VY?U.D<=(%$"R^O Z@6'C[TA,8:>+T>Z3N5O1^)9TR'O&GKI M/CLHB30K* MG_K;D9C*'9^V&]LT+U?1)-UI7ZGW]W=E=.I)E=6PW48]L= ;Y/.5VV%UKF3T?@2C M[&036;W@E)BLQ&3ES+-?_M3CCD16;MT"AW1N5,O:UN#&&I&*6IJ&4Y%NY8Z?B@@&O"+9=<=9H/9J<]$\;/=7CL[ M'Q0[I6ZR[8P6-XO[=(/!*$NCX63N0L'Q,?,Q63GSQ)L_];AC9>>*@X?6E"Y5 M-,D\-*M-I\IQ[9"LL%P;]9+[,F3E_(]$V:3:I,EPZ%\D*L0&>W6( U^!>;-J MKW;@>M"$.)?PSU.13UAKZ_Q$$BU7G4_YL0^>>!,Z[I;;IASSR6G7(\.L6[RS M[Q9\=="=EW552M.1'YQZC4MN73=D4VGDL\MTL9"L^9HOL)!69-DXJGK!"7%" M\ULF-'\ZCSM9[LW;N-R1R)@\O$_).K*6:)DI"'>+S,C)YD,W8].SPN?+>XZ1 M(:8G,3TYEVR;UV"EGUE)"O(E"Y&\9"^ZW)TL+$]=D%#QD^ZD81=(-JT6@U)C MP@V3]SV&FRK@)I(O%/&=CJ7X.)@-#X2_?Z3#HF*%\!&B(&4K,4-YW MF?\U8"F-[LQQ.D4+@U& 4Z;>O*K6I5.G!N<7@P*7&PG%;+=W7\T]9*X+RYL0 M.%FV#:^B"UZ-YU!BAG*.N35OXW3'VG0M=N=:U="Z*'V?I5(*33$?,1266KX_?W#,C7 M\VO]_92:GME%E:!)TIXKH^M):38^-4^Z5G,597DO9CJM7DFK][.56[Z1TGB) M9<+(G'B!U&-O1HT!Y"5B]1D=21*,>AT5MWT0X%# M^5Y_<-V6IG61'68G1;DI,:>((2'F%'^QM_K4_3T#3O'\@GJR(TZF-_ZLE2VM MDH6'VYNJ/T2GYA2ERG!!6X5!88 =\08%#W7AP0RG*<*$DPM.DB_P*RLCQQ@2 MTXIC9ZG\VJF.1"L:=%RZ*LY;^4Y>+&:#UB*SR@21(\DQK8@A(:85,:UXE]23 M<3=_5]/2PSI*ZQRIWX[-OB:=FE:D'XK&PDU=C08VOAJJR^;0:-$Y0\/P3)8+ M196 5AS[@*L80V):\59.=21:4; XIY.OF]<#RBL3YUX<"RD[G/,+LT"^%*T( M\T/^'1"PT!^;3E>G(#C;>'_O?:V_0K.8G=G.E$3*V&GG6U#;7;Q.>]2T@[+K M^SF;)3799%@,*W:Q#*BZ.[2-91M>>#5TC<':JG2MUT_A5J%]EQQTY7RCL/16 M[45I[2'0NT]AEW+<$!7,=0U/@9?3-\#/$!-L! 0??!?P*0&5_?[<# M,%\C>M:<,BP!2QZ:<$=J.'3GX=$WX*Z)2%H))B[J;^OMZ(U_I3T=HUU=FB > M37AT,K5!/HG !=4& &1!=%Z01PT8*!)!GR;H8DR- *XQ(D$.0T$F7$"1\'=C M#6M3,DP,;8LF7"OA3KV$M;'-!($; C\QHL2?LI>1($%&+F#0BCW5]8.+A.VL M.48"!#1DUT CIL[F@V$ C,$CH%G4GC$TN$BX\')OZQL_O(<]+OIKTQ_XBW@. M/-J'MT!O#. PK(WLV>S;RT3J\/'K!E'6T/ G"P \,7>] ;QA-!Y2]EQX'("F MT4_,::)/9G33=C"Z\"-A8Q:(!Z0&+@^""$<\)FMV82@D8ST.0"MJ\!$$:=+= M/GD[$AXN$^:4M2XQ9-T(^O .DEA"#R]CFZ9/-AS*=L=>69YH#V3%/B8]=LV( M!GW7##&"$M#BVFYM]GC;LD&18S!2"_#43?CK]-)(38??;_3T6#?Q GZ*3N1B MMAC:ZF6BV[>'Z[9M71I>L;GZP&O8@UTKH&!KP!M"C_-A-$CX4QU^9XU^M*'P M02 >^.S9U+\X?-/!T^?,$'O4H5YH6Y'9@HSFX%I/D@K-[* +_G08A 8?-FI+ MJ2$R.2$6@0P!CH!PA=Y)UHBV[4?0A0"H;L)Q@Z@!6R^Y3.3V^V0,X8_("(B? MJ(50LX&$@\>R/K+G>G08X@V\.I)\B+ A_TN,/=><&J$)0H=G@ A,0?X4I$3\ MG4?N/848 -&^'1E*=.LR0B/&1:%9[ARTMU8VO,MT&2CJ3&WPSIY'1@EW%R9# M@W\$Q[5[[$!CZ 8.@'4XB)K49$H*03?2*^LP8#)P #.R2L(Z"ZH:,[ +^QC] M^/20H4TBF(AQBC&1!/.K2!7N-J!$_JX3GPTC3L)A%-*=PH6@>I=I^6F@9/?U M;7!];QFBP*%C)/3ETY,O0NAXKT@D?8VT61<$"D'K@2,]30.AA$[CV- M],*&1 _8,K'(&"/B$-)==DT( ';?!/O7+ M&V$1T,2,B E#&B:7)[R'V-"8#D/- ;S;/M@&,TBB ^F["%%]Z+L;CDAVV/;N MH,N^\<$* $F-YW'3I'04@=UZ[.D#)#->9_L#!F 6&S'#\8Q!EXTW%D80X,:*[3 M@Q]U&B(:(X702K#;]=N?.K,> *=^;%:M@"$&R M\K4(\T "+:T.;87 M 24 M =*E/1)JSH;1VH#Q=CW8Z>O=/!N1,DD_?6?[3#W,8@TR908)^)9V/:#6,]L# MD,S8/H08-,&FT76]H9DH4#($ M0*QY/>+8*[)^4T![KA>&*IM',:MZC/RW)R0.9P+^;=JS'_^%?S:R-X; U=F4 M2W\MN,>I."; ]80+0O]XN]G)K1DW-BM%O8W&./YIOFT]Y\8.&AAO6AW^^W__ MSW;K#Z>4UK.&6]WJ1[$X'\X4]6A2]R@9) E06.\[&<[)TM_D(ZJ7XN,L__?' MF4II!H242UI]P[$F[(L"X:&,58U$9F2IB*=:-0T M.4GGL(J(M7N'0!11I,34D"P(FF@:DD94SM(4JI@BE@P";=Z]PZ(R)ZE4TCB3 M0*M,4=84&;IE<2*"NSC.U,W=.TR$5-Z 9G R#STGLJ[I!H5&&@1S&".!5_=; MQ0M85B5>XY!E:")5.4W!\ !3XC$R>47$O+Y[AV3PDB3K//P!W1<50=>@*4@S M=5&@DD1U'AF[=XB\*2',RQIG<" K55L'): /%?0F M2HCI@VBJH,,#,(=,4U54BT-[_> $BJ'#&E$HO,.00!^6:FB"+"+"04M-HNZU MRI1UQ1 YS9 4"]IH(%"%P&LB9ZE8EWA)(-SN';HI$VQPHL8KS*YDF0>=*6\?V65?VC52FX?9=.W?+&;&03UXJC'WKXG<)D0PZ)@ MR=A &,2G@SD3BVB"0C@.BTB5R)YQ&IS.*=@T-%Y00*DR,2+UZDB6.1$<1^?W M' 1%:D6IAH">P#Q6::F6 A:+!&L6E(521)V[U!4554$%12#F*F!96N*(<@:> I'%*RH"I7VA;1*+[6NJ[MB MEF3'-]8\A6[T84_C-;1_I2=-\,-J-FIDIU[C2J>->]IN-^#* V7>UPWY8;44 MK@>M*S77PZ MUK$KV55G-*S5)\])%-^=:Y)A\HK2I5,CU\J$U13YJ/ZLGH]O@/E M2=H>6LFF).D"KVA(AS%#!+-AN*!J'+!I$"P8MJ[O/WM6FMS?"J5I#Z7'Y:M6 MJG4SS]ZG-'S8BEOENC2Y=3)7@[PPUU%/,FO1)YR[)E[[06?A*$(8,#4!6@OX:!'IJ("E*J":%@"+TL'S[ZYNX=_ MD(\&HVR3-O,I8BC5AJ8M0AJ9J<7O4G=_BZ 5<>0(I:R-MM MSW#<3FUV1UO-YL M9"N#P6#TT'-Z1;G;*^GLRGU(0&I0,A0+O- MT"P)6Q0KT$- <%"S"C0!X$+C,38H# #8$/>P6P;_)[P*KF#!;0!8""B?#,.K MH:J"+)D"HON#/HP<,N),C? R&U& &^D\4"53M%3%A&$9;MD;4< U3#8@$!G0 M!0@0M7MP'4[C*D&2-8IT">1'@#D0%S50!8RT13%?8(V% M3JD!C$#3,3 8$= +AB4L@($3D=,Q)HJ"]_H!S$$ELJ)A0#CHE07.+ -YL63@ MO1*G@J?P>])5)8F';T$+I@GW$W B#IB8)*J4* CXK+CG=I3(ILPIC'HQ:F@! MKNJB)6@6$#T3LQ%?W1M]#053>";T0P!-BZ*I:CI3(\_QIB)# Q'=XP2,C(,# M PE396 1B,J:JC*&Q5L&3R3 (7$69I$ DGC0(,\3C0@ 'SS6+7@K%B5C']"Q#/( @&DDNF# :1)+8T* M.L@U*9\:9P:\WVMKW*V!(%CG!8IFAE&[8_9H^F G)G'K5.& 1&M%-H+8 OH"RX#$<\ -5 M"0LE@T^"#DRJ'@QNW*KA:K=2QD9T%O2DHC+J!= *X; 5_>S5O4-+57]@:ZW2 M0VE1;$@E=N4!1-T4$9=NEQN]3G>6SE_[Q:O*78K1C0.(:CT,QY;8>UAF\VU= MN[,*#[?5=HJ]?1^B. K1$EBT(H(%BA:XM@X:!GLB$$#PO K_'8P6#6_4;'!> MH3,A#N=D -*#(F,F!UV3&P'?['9OA4[2SWBWXPF2&GH*KCSH6F[1=)>S3K_5 MF0K"S=!?%1[*USVX\G"4:/>6HQPJ6(CTRE,'E=T +F!#>PR"L\!QEA@:@!EY"3- S,1A7TSFDJ"Q,W'L'A%6< M)1JZ1CD".,. CDBXB!)0?Z*C(2] JB F ^)DB* T& /T@@*+#ZMQ XVH1T?%D3.3) M[2I5>Y;@M4>WM;2"*_5.C M'F97'BA3D0NSAUQ=+W2ZU'8FI<'$3HY3<.6!,I,2G\N.EBUWD$]?5SQM?J=7 M9=;.?66*O"J+*F%T7#194&.""QJ 2:) +41N.@^2"JBI, /@*,LJ&&AO4KA M#L.DBF+(V%+P7JBE&!+!#&P U(%C88BR($ZW6,@NJ$0@!AC#?@?&O70KTRS5 M[U$:#>XL?E031>Z0PP)T*99DP9BN*YB%B@88HPZA(B_+AD)U0X=X>^\.K/(0 M*\HPPEMPAPXT@A@RF]"Q%-&",5>R]H9ISD*(2A!7J@@L$L 2#(4WJ:8( ._@ M#6RZ9B\N$>'A;*B5.=5@Q &1!'>(5$BR9:.5<[8&W013WA) 18 F &\CH(A M$POB649H *BQB=0#)9NH5(5XQLETNGAJW(F!V[A)-9[CS186JGYIE4&H-,>D M9+1)D+M+P94'D1>^GA!^.4]ZB%3*6)FU>SE^.#_@S4Q#MU.#;]1'J=:G72Y M:]\802DY$9X-!&9Y=SD/BN/%@,[Z17)_F[R[GO:>"P0&([UYWYRA!:)< >OR M[>0ZZ#\;"%3]1D&?7"&Q,\H1+S^L$))1&L\% B2XSDWJ@E+(VLT!%92\6KC. MS9\)! 1@^HSX:99" 8LL$3P3 9FR#$N!P W8I["O3$-0996GFFR![$1!AB'9 MTE6-FH((XYIA6/M4%7@WBGPX,@&A,U MB-#!?('D "!P$*/!@,3!HTR\/U]HW% M@:(BF"910>D<:Y4 C)Y@D6I8)Q2 3Q:(L$=5.4&,# :>#B8FL-DQ$^[E# 'H M"$09@A(4O;>@24V"\1-0J! M%+!W4(H"%!-P$"D;--Y;FHI4KVNHTF@)J4"89TM-6M/OKX;C.ZD7IGN*A\FA M+US-Y/63=[R84OHN:;PD,2:.24>V4 MF)'A=+U,3\+,G18=!^&AA@D!780+G/&:=&;*SGIW_>-64@/+BX-KQAXHT;/7"9KKM>O'O);GUZ[7 MAK%)J[*9CJUAE&UK.]&*.#'!'/3@,:=GG<2RR88)4S_!#FW_L86).=EJSD5" MGP9A>AIE^WA\>T;9E^M&KI,CHFQ>PQVREZ\3M?82*J*N^D\I_.%"ZF&ZOJQ+BCLA]<9@-"+E M.ZTWQ=)=XR0)^*E-UN':)%]*^ E!,,S+6H.LY;*KF?_],[1<=^J#-_G_^G[6 MMA%N.'E,>HBV3#'O(&.??M_\L=T,]M9U>@!;W#:B1?'=A(2MO3/K;(3#E(_ MV[QU_30NZL/KZ@Y+Z%*57]JKL[42]_?::N$"OB'!2A7,HO[EZ+ M%7$D1?"74NP1YZ ([E+B8D6<@2+42UZ)%7$&B@!H4F-%G($B@#7%BC@'1<2L MZ4P4$4/3F2B""_Q<<3&\9QQA"7P=HWCK0KZ MO3_/.#AV[HH,PU5-$B1T"E\[Z\,MV!+[^YZO]_):T8<[N_7EN8,S/4;RM4>S MIGRM9FDD^0DFU4 MY+_]$"XXE3_J09/GQ29/>UKKKU9I/A@H_&JMXTN!PC;O3CV>!K:&AKZS'.6X M NUFJ3BZ'US95WE)^_/*EG\,#9Z")'\PO]<'R\) 4'KWRYED,VB0(Z+AG MT!Z=.NX;T'ECQ,5F04^"%4*2J6Y]TI$$^)YNE3G4QK5XSO% +S@I1HOS08N75S(^'EJ\ MN![PV=""C*?CM)%\R&23HW+F89II*KYS G_/8;O/.4DTZ>3M24U,ME%']CL0S%G!:Z7^@AN\(5;M6/V6"% O7]^V[*4[1B47(]OH&,-6+CP+C,TXJ"]-,7[HK(2] M P#^J5.'6G;PKP^=D_"!EF)C0G'B.0MX/;, Z/+A'.4S."$&[<%#:J+;G8G3 MG3BFZ.:E)#O6CV?5[;'TNF C3FKX@$D-'T@6\1S'6A, Q@_GDF"'.*B9!?H R(#![X M#-S@FYE/>[-%:K"L7F5G/7=1DSKL-&'EVP_ND,>\:T@0@\TGGR>),S+.< +E M-_G)K5NU+5,TS.SR/C5:2?=S09\PP&!S)-*%P+U$4,X_*R,3E:)EYUVRL^=8 M=>WPR$)6G';GL,*Y9P>L9K)K61<))ZJ3S.I5SE@)0C_.W?B("ROG1"*.F+#Q MJ@2M+M@[K5G6C#OLA >L@Q_\G-N@X2>!C)@F<8.1[Z\R OQZ_^.O%/'<7:-I@.6V; MI.Q^#8-^)EVGB9]@-%LV\R MM.)*6;L9+U>9+#^>#:?N/&ED,!M:PT7;%\?6\U^RK4\]H\^JTFWMH2?FP]0/ M1A0$%"_%QO.IGRV$_(*18AP0?KB \)7U*3?XG7J$[]0C>C\SEMD-M^!5O>0* M)5T9Y7M>RGV0>E'E<_EU46),>.,EQ2\^!,8&_0D"M3@>.U$\]CXC6[U:"E1I#AD/@^*Q7NLNT1CW7'AW94)OPG MV;1ONZ!XPB/R/]:$SEF5$SB/R= /'TV^[8)D[$JOCT]C5_KLK/1MU]QBW_H, MP]0Y)94?E3^\R;0\%S<7T,!7^R$NW[R70@+Y.] M;*V@&\GD@R8%[@DJ&+:=^MV*C&&T(0B].Z[18[1!^?9#/-SI'D/$&R[BG]J7W@,B#B8"OC)$)+WZ36U\ M7QEG^;I2E_L=71F_^\;@9YP\/^(F$V.V:F:Q4M7YN7U;6_08%0CW W,7^$5/ M#\/_?P?LV3\VEU6G(Q"]$7UF(K"=*8GN>V_._TH'W6M7*(J\YT['FF GE4(K MFUYD<5.D/)X.BZ2<@C@IL;Z!FJG@5Q=K[%KN;>'*=J WP76"H =-D(N7[-/ 38,B)\G9BPI.@CA*C;;?NE0H\NF"W86WLT60( M;-]^P##^0$&2QEJD?B)8CADH#I>),3N#SJ3AD6L$_*Y/S>DPW'4.'1P"L/D) M^,5V9BZ;.6"Y(FS?N3'U 1FIE]")3TVV&]V=>HD'5T\&;I)M1$^,J6= BTDO M?!;;N#ZDH17#)W\,Z[B(@_L"'AP.I8'DG=K2I'3#!@G>S5!UV-7LR/"W$ MF'!#O [ &'K$/_U_72;:<,>FV=')V MA.M1?SH,=T58GCM*^(0U<0JJ]!)#%[X-J#?:TLJ\3R,)L-=M=SHEW_-NLA-2_V?UQ!@^C"H-3THY,"PL8EUDW=5R-SKG"D8;^, MR3*4/3P:VF:&[R'#1"A9/32DL&F11MF.CP08-H4G.?0B$CX!V27&X2<)3 M&>12>!2[AOE*$&Z2"?YY:F"A:B3E]35N>;[&);N@G/0:84,2 W'TAL$LVXR,MN&]5T/7&*QYKJXU9H*S2EV5 MI@/JJ"7JI$2K-^Q]2U!@Q&-X1^!-Z9$H&QM8+9<1=N:'(7EFHZH35 M?D(C>,Z\C>>0Z9_A&.].?;C"_]?W<[**J(>;A>4H F1'T)*Q3[]O_MA^*Y-8 M/V*%([)(AG;D;!J2'%(K^$ZF@;OY(AQ?HV_6,6-TS580N;Z&?;..LA'Z!^M. MX&T:MGXA%W7S=>3P[3]<"[6^$MODW0(WC.C>\]7$AT 8QK0O7X>;[6%^XV)$NC+X[]_.6DB"[$B MSD 1ZJ7XX@:C6!%'4@1_*M]5:.]SWR[.7\VG?H[+.;CM_NJ-*7TU3??:-Y0KC$1]AO MS/&:P/9;<*I&QM-QVD@^9++)43GS,,TT%=_Y_2H8O]R+4:5!.MH2\\QNX[NV MZ>6R6C*%:O/LC[5<KZ^9P,9Z#3TO??G 87ZB<H5>98P_=[M*7 M1=K-R=E64=0040EW)[.A6P$W1Q<\][H3@=[0RT\:F\5._<9.?83*15_-J5\Q M>/>ENUN^T:CF$)ZX)?&^HQ@IU "O#H__$="%JKS$R<]_+CX=[J5.F%/*3AX@ MK)YLE$?J)_Z=,&U_[/H@[#?)/SMZB/P&@!3'S2#.E[7.M#:?+!>3FE[OS37, M8F[Y0L3J^YSD]Q%#Z_./H$_A\I\\K#Z]QS^.TV_H]?R\\:#?W/3&@WSY5LZZ M-Z:7PCWP>HC*!?D"B?+[N/VGB+W/GXT?OY.?/^[> P).94"P-=VFR6V_H=M: M*9M6^.N[5M9KSXOO$(:_(0IA@,(.^I;D=SK% M]R.&YK'/?\6P_ Q\_CU&?V,^ET>32:L]F*J=VBBC=6OWG13X?532YT*2?C.J M?ZN)GM/- (0[3*,3.HVP,!([#C Z,_F3K9R?T3SER><+_O-AZWN]!!E/)WH_ MU?C*+L;4\6F3@HI\]IB?%_RZQ;E46X* (T"NJKB>BX[QPU-#F<$#J<#WKG2 MX$><*/C :_!GU/OSFUHX2DG@CT@,!V.+_Z0+NP<6 M?_Z+F&%UJ.UCH<.3_W^:]?M'(7!?_:FR4>VQL%$+_O59 M$9QF5+ZD^5B]Y!GXJ%S-W*QT8RQ0,F<4DVJ9WIDW?\=*(U:\_EE-&ZD;/Y8<^^IX4"<@H-0!"6 M,RU>(.FPT/*SDZU?(N".$>-/%VA/+80SHB G73(^ZA/WM\O M!@JOV*J%%[G)#:Y.'P:E+)F+]K1ZO7*@+\7IK5N89ZJV(P^**[B#^Y?GKX1S!/\.2S2? M#Y/?J2-^G*+BV9Q MV'7_W]DMKTEO97\_GZO"D256B>=IM'@W3G87PGVV5;ZO<;ZZHK?='C-#\?*0 MG"9 CT,F)B;:=Y9=-"^XEAU\6'=:*\+#;3),C<=#0$-V0SV<9TI/1].H(E76 MLJ@1M#WB1.<&I!:V_WA[F@R-:;BOH .&Y:VEE)_:)IN]*CK1S5<4E$#;[M@V M,,*5L%*)EBNO KMV?]U!I#HO>DW':S:EWBFU)PQF:;N6,8P.G_0S[14W3K8+ M3'N\<'FX4>Q1>UL;*]RI]WQU>A(DKHDS)=XRP5T\^=/.=\RU/.J/06 @]N'R M\IQJV!\#@KHT8=IFPG)_,*$AHF;!'8V)[([@A,72!^?G;T /"9Q+W'G<# M %IM*8"$9Z%NTL5^C6R7C^#+'F&#:M9CQ>$W84&SK3IMQI 2CY&(_KI+CQR! M=>T]"K7]]&Q0CG]B 6LFP''[Q=C^[__9J3)W0)+6=&:K6^OJ=GS(;'HT&16Q M(Q:\^3L9SLG27W=35K=JH'Q_I$1,$ D.7?+J/Q);?S.!'$AS1!;)+9FMF51R M2*W@^_JVS7=>5'-O_>4OJNFM51.X8U;]*;0_^+CNF7OJNTY;9 0;K7"<"!Q"L?+RK?HV>OO)1-C%2N"IG RTD3! MDC2="H:F2":GFH+"8X/NWH%4F;>(K&LB9PB:J&*J*0KF-5XP515+O(4MO'L' MQYD&+TA(LU3=TD01RQH1*0)F2V1D$4%4L+Y[!S2(ZAP5-5F154W4#5[3>0-K MAF69)M:QJ*"]?B@2%07)$.%6B<(=\#8=F89&!$*@3+5-Z]0S2):EK0<%6U.$WD55%3!-'4 M=%DRB&Q2"EKBR@8/[(S3.="@;EH@*RII@B0@'(LW-%&BK$JTDR5HABFIS! M[[6*DV4DB8C3:&@E(C2-&(JJ&0:1= DKO"F0O9Y+O&&(BJZ9EB S68EPAZ5K M%CS(4DV9FL;>'3*'1,E23 TC1#010ZM :E3#EBDA22?$V-<@D7ED69*B*4!J M0-86O$/A1 W>*&(L<1+>EZXAJ(13J:[)6(([+# 5(IC02 E, 3YA8NZUR@*# MHP@S_Z!,YYRNZ3I5- 1:TBEX@*#R>[+"G"HHA-=43)@/@IQU: X8%Q AWN) MU'L^*/,< CT9H ]9 <[2 M18.*/*?))@?OT $C=%"0QO,B,64BRYRYCSXJ+^E(A4MD'I !@>)U9 &@P,6" M3G5=E_:L72"Z8%!P6 GIX(,Z;T(_P.T)EDR"D8 $0=VW=I&S% ).)Q"P1!E\ M2S'!7BQ>Y7E>@!>KN^^ ,+I16:PT%/@.*DW-D9_K9*[4NSF+'O:O3*4%H/W> M_6V6I\-BRB>HDEJP*\4]:>H 20@@5B 2!JO@*+-S1<.Z0,$#=7,?->'9HXI: M''%I@CHVY\R*L])DN, ]C=?0_I7917FII3*-[B"=+E@KM<(/U$(#KCQHKU]1 M;Y)872%D3\QLX7:F%>UQ"J[<:R\V9 J>"Z!@B0R'P-D5+!)-(C)XOJB+(L_O M/_NVF+-OJ[YS,YCF)Z:W[/7$!9UKPEY[-02ZPSQ8ELS)X!=$ CLQ>4&C\!DC M"\(B90]Y%4D430,,@P/Q@8=@I"D4H(*3> Q0B@PJ[%D6PLA0*( !6!W8HL4I MFJI+EF9A6>)-5=*I=:#UR?6#6LSR33X[F4R&'"_ATE6FITG[[2<"9Q #*9HI M,-GHH@P-A$&-"JJ.> XL73#VG\W;]?*#6<@LLZWK *+T_+"OW38T?*A+OL*O M*M61:0YJK47AMB*-.:W KCS0Y=4#,GJ-?I!$^;M&+3W.],?S$CO/8Z/+/:H> MW:=KJ-)H":E F&=+35K3[Z^&XSNII[%+I2ANACNHF0I^=363^7/OR -]'FN" MG50*K6QZD<5-D?)X.BR2,C,U=CUW/DO%QXCFGJGD$-)1.P#&:1Q6<_CVHTE' MQ [/]-_*&TH\)0[YY]Z%8-Y^H$WC2:>QEO"=Y^$#V$V MW.NS2)R%T][CS0&;&EI/6HT]VPCC!XBV1XDP!/39'$X"FF#T$W/7&T!L[X1Z'1\-<(8MJ 7IIN?ZE],['V.&.U M;M2SF73LR ,#F@^& I?4K"BS+FH8M,0+,M"Y<+[.LA>: 3H.)_^22$P"%>:< M]GTJM;REG64O?=4I]0?FK+T[?8I_8P+N52U^G'=3M^;=>E7.=EMB0QR4<'%5 MY'GF:FG009CSUW M 5G.YJ^!:D 4,17E7RC1]P*MR5(A0]FS3Q40 MR6@Z6D]]'E')[:NR*?GEJT%VXA<@O))R6:N^HV3^K74,7[(9*=*CC]I.\EOJ M1O>E:KOBW$Q1>DQSY0<.^THU]>V'>ZA6_2UMT\F7K=D,_QZ\GO1SZRM]3XBF=<).9VT-]3]M:L/-NK3<.)81BJ M:U,O ?QEQH9;=FU G2BO&<9HRJ;U_03Q:*)''>K!<+Q\A3W\X:K@KW7&ML@T MH2%S-@G:BAI=>6ISZK');>J-MA1RUUC.RO>IX6RP-'AWZE=09XE[KU.(Z]#D MDA+O+_0!LE^W>4NJ(/HN72^CF,"<(KT [V%6!:X>CIBF';$YLCX+S$],PR&4 ML3/;B:C8<\K;4#(_L@0"]P C3H#&1PP&AM3WV5,=&'EI@O7N/Y%1L%7 WB\NLNA"G+-CS_"HCNX-LF&O;)C17<2=.'SF3I9N:U;EK*&KW#./CYZ];! M;(+"D#&&-T/@0-]V6>L-8\I($">-OCY85 BP,61"2QC4"\#3$C 0K9>Q+Q(S M"G$<6V<-H[7)U!Z'2[-3MO@/+NT8S"F'T2(2N#*8,XP-X>/\B+"/7#\(-PS: M%L 0W,H0@#&[B#[ :U]^2CA:,# (EW0?6Y9P#6,ZM@% ].5Z%=Z#)[,@T+6L M,-9CNVC@AZT'NE'" T..R$S6<.8 ^(59$8^(]CALLO7E$-Y8,R((,UB4&ZY% MLR9M]NVT^I0&EPR#B6&$4:@5WAH*%H(60$8V]OET3+PH*+$\=Q31(M=)[E]X M^8CF&ZT,MUH\(YX=2FM,EM&8JA,_:E/8&9,N$A"[SNEPR/[WW1'@>A\$GPP[ MN'X47/VD42:N)_%>)FXVKXA:1J/#]L++]I_T^..4(F'9#+S9 M%WX /ZUI #SJ,70/(_*/F4[$6,1&6J%9I1RSQ43$6$/X11I\X-D$%!>G;F_K MMZ(\2%NB,\@7_5I+F7_[@2^YLTH>&G?S=S4M/:RCM,Z1^NW8[&O2<27EV,-< MA;N]';0Z=]VT4/$GFAU*ZG!KT*.D7IT(LI>'$Z%#(DPU2+I6"- MNNMY[CRD\P<-M9U(GZ')S8@=P?.S'00YFY2U=#T_^.MN1F-#-'(SL4&G"2M: M8_L1=H;-(3^9]0N5D*'&^MMU+E4X6_?>TP>_WACS.PFPM<+=SA2WVLX @@B7AZ>:_&,?$+I;7KX[Z%VL R=F^(P@ M#[?(RY-7A[ 1?@57PS?P6"!7S+-@1/1("#1#!E#@@O9/0*"\,]9N*%'0AWAH M@VO48YZXUK \! M?G;,* 2=!G"LK#M(UQ@A+]8&N26;=[P\G'@\SN@J/SNZ\MEKC"J+6C-K%T=: M29S5AXW%GZK-G3:Z<=T>V]!X9@GC;\3Y?E]"V?(\+?8GQ>6! A#SIW& MLYG1I+U(1BW_7@C_TV9U7I'&?*O;(?6RZ')V:;2ZG>_U>S=S^!3)J^'8]RCC M\#\61O[&TL*OEH,&05VBH^:RDYV,[IN-7$'M+/C4[ZP'1--SN];/PIV:M=G ML&7Z=G:P*E=Y%:'\D)"JR2]OKG)@^@%UPFE5?W^Z^#+18K'].B#83.&^$BAJ MX?JZ9BCME#DLF?4.13YY,.[ZVCZJ_7/V3#K+>_K!*-\*W6G)>_2=NUF M!TN*U=RA5 %0GIFQA[[#,VM6U'R_[893^(]0@K;E.6OWYY5@/AWDE4&[K"_O MJN:@%T["'R()#%WON@CQ77==4)033I^^PDJR(,N !5J;KK;=[ *^,+K6^4V2^O7F?FJ-QMJUT!Q1JY']VUEDT\1K9F#R"[621HCLDSH; S?9&# M!31\TP$'[=)'(V,_;6YY"O"BI8GAX[O6(?C3,^"=8,P0HMHLP83XK@-QY?)Q MEBMZV8:&M#_(-8TB/!H\9 P=!YM,: MUG:KGH+'U^#&S^+ 9W"!^>UO132/2X>/6+&]&*AJ/7Y@6=-^=CFMFF6YG6L\ MP)M_R)?X0.$A9##A_(1\_;+#KPCIWK_'-]7B*.5=:\PA_G?2 2\_4,M>,FW/"\;GU=JBG:(V_2^"YMV$HH\=0M?7TQ(YUVMNSY=LL_#^-%49 M^=X<9TMWI08_:MS95W/ &?YS!\^O$0U:Z'IQ?*,F$5ZUK9XZ6BF5% 2NCPL M,?JSL/E59OK[4?21K/0H,?5K5-'&9"17T^EVUL9]'[6F^JR\FK.YSY_/8'R" M8/HUHIDEKQKH.K!7@PF2@X(]L5K<;>C K[;2KS9DOF:UO&B%^2R@%\:!W42T M=,W&HF@!)%RX6#-+/4R B9AR=*:CS5)6X;IP;6;N3H?@_\LQR\\!=X5AR]9+U(\V^#'.PHNNWLJ[6JT7,:-D S(;;QV5:T'HX MTJ^7:WI3XD&<0J/MU=M7!<"RF'' 8V8L(2?,PJDY"8_1!M!0#A" M^^RXE.WL@G!D0PL%H[3247%NWL/T'YF[DZ_RFCA$):\]S'*%$NZ4 M>B=)Z&$1F>6RW+-PI3!<4_2G([@&'N!OQ8H_66]=1Y_F)K!D&QG8T;_A^+F3 MB\&6#Z,W^8E_AE>[4Q\>Y__K^UE;T-96ZYU]\.'3X9%KF:TW\D?G$QG03S+V MZ??-']O-9/>MM[RS#=M&M-%[=Y/]UOE%ZQWV3\<8R/(E$L+-\8&W>>_Z>=RZ M23\[S7D$_1S2]7..41?I5\ECX87PXU'.JA8NN9-60CU!ESGQQ-5?3Z)F1?IR M749?35/=^>^J?'P']MX#J;-=VWG+^HKG!9B?IK0 M^9Y'B)Z _[WKD:A'(G>G/_+TW0Y"WUT%:[+>U:S..I9_YJC33GM6OC&$>V5 M%[RE#7HM<:JP,T_X;S]4Z4+A#F@3\MT3WO>^0E([WN[\S$8[>G=^?U. M,/Y=?];<.>?UM>Q5MH2HG*W5Q/I-EOFS].V'(EX@^3#![>/0^&B,W9JL^_X) MYE"^QJS)EY@G^1(S(U]C+N0O9S\^1LSRBCQ=)=D>W!0'-2E;&@9%>E\TA#HY MMSS=GYUBD$C4PJRA33K/ULBQF]/[R6*T,Z*T<43WMA'=*ZI7S&];0F:8%*ZS M_#0E!IY]FRPY*4UD(1V'+P3\4NV*.*3[\"'=&?4^#@#?. !\A?LW@VMZVYC; MH\&HM7 ?O-2P>]^<@_M+48%L[C?+VYXO8_GYL%]VG=[V\1'/#?QO%#B>NE#T MZ8GZ887?KU4N^S3C?]5UC)]BP-V-?'555=W(W#8TB5$ A;O MPNLHP)<8Z?]H0#^UO9_>Z_DSD,+IO?[HX_Z+;L\+Z>9H,5S,LMV^?*LM?6'! M&>SH=1CZ9?X"JX=YV9]@%J,=GA3XS$#_WC']R4LW'GUA]N0]/KW''WN,HR_JGKS' MIX>"HP_^SV"!8$F]LDK3J4YIV>1*E8>@Q)DIP *VWHLO9.Z7Z[V;0K7K4G[O M4B?VS)BLYIJHBI9DD6II(@ MFX*U5T]*Y13$2SRGZ1*KLL<#'NH8\9JH8U4EEFPJQE[]-&J(O&(272.L=IA( M=5$C$BN"B"R#)X9J$'.O[AB5="3+K,PA@J9!>Y &K40:,DQ9E+ EB&BW2I1F M"")'"6%%"W7H!X\M3<&\#/T0!8$C)A+PWAVF8!H2KPO07P/#'4355(2!3F'H M";5,+*F[-=H =\5\X[Y_HZZ6R"XGLUWPNN7 9A7+]JI<46SI'&_H&F?P(!G, ML8IQ.M$4A V%DQ4D[%5S@V=/44L(*KGR] M05J]JR61MJP$O524O;=; Y,23E4A0B0&J_=FR)JN8J+QO&P9K$B991ST,/-P M-;O"2'&R-4&XG:@U6YIW&\_4(3,1I\N@=D%D)0$%687.(5&CJHRQ;LD@P8.: M6[UDHXG[^<$ I9M^D%-+KB4*;(EJ[]DX]^)M)847\\/Z8S*O<,B@1%,E>*QH(:+I.BL3 M*HDJQI9"!7)02TZ_X\49 UG*@]924FF@ST7#N&IJ\_VR#6CI63 H=0&"M MA!@:L2B$):J)5=V0,%CQ_K/57KV4=)+JJC/)ZW-'M)?U"=B)LO]L2>)D%5'P M!(6 [Z@FJ^RH(WBVSLD\$9$J'\@DUN4$A.VIFND9]EITI?U5KF7,@EPTOW? &;.D4FZJN8Y,5O@0[!LO55%,V-"Q8G*D S!K2OG6*T%O. '/45; @78$&\JRR9,P$EP<@XPK!)TC6%\!;K%B:""7=9UCZ:@0]0A6B84,S> M 38EZ%0S=,PK@B):IK)7QU" X4R405:Z*H%,>855VU4%C5*.LP0>M(CV*L@: M!B]Q JC,Q- %$50-K0(34#C,6Z 90]VW$N@UY0@\V4189"5W!8TPI!,G#)&6Q7$JV.)!/4:'.%Y5N;G% ]NMX_[-4,VG!JGGJG#6RD1JMQN-4M;N M*]FR75XNBF8#KMSKJ0'(#N8,]L:#U$4%((X ZH _4!.DCRQ).$#E\76V2?+2 M<([R#5Z_\QONV GFS]76+*;+J_*T[32SRP9R\.1VY0IJXZ"V)DMT&&@J20\[ MR0%VTSENCAI>XXJ-D_+^E=.> 5E\WQKT9-:[;+ALBNY Y"2.17<3>,L MBV>%:@$ 90-ILJQ@BJG!"X<"MI.IR313Y1ZRHUFM]]"OX,Y5,74P4+)2D_EN M<#]H!JL.$7KBRIRTAUJA!U<>JJ(]N6_.BRD?U>INP38;]8H^8$5 #X3@YM4K MG'YPL]GIL)FWY6M/X![8VP^$0%!-;Q92RWH6!H%.#>C[0D"!88'29$YSE!EO:JW,+#EP$6"F-\5^K4\K14&:DKY#J-@Q$= MKBQE40W=2%?E;+Z3\^4"UW90)R *( Y@'DC-E0@@>P!L@S#@:528&78,%GI9:"J6&1,RQ D M4P4!#%*@3!KZJ2P(&JLK*@R,D QKN@8R.%%Y@15]E5GJ9 MLV#P,A4+\ +P.($3/9+_5(9PUC$:"?S6-&0H4&L\B]1+"#(NF$*\J;GOU_H M%/]6H5.FC)^\X\6R,$QLU;!\ MR-;F^_",5OX_;[%2^"IX/1-6\19=_16FO?OZYBG[_@MD>9?5F7!MBC_L]WKQ MZ)&YO>V1-:?UW/V.AR>Q_C.J9K\I@?6:TUO_]1OI?B=QY'?3\-L0E&.E9_QN M%L91_/#T.1;OEF[U8LR_.?TV.C;>9+4@02CNP]*)(Z#0&7.-4U.+&.5.B7*9 M*:U">]IS.IS12D@GGL&X\=A&_$)37&0++KZ[SB6S\H0M'P#&<>J%\+O)Y>>. M97Q,G,Z-.)U@HTL,0,R(7D@;+%1*B M[>S2;YYH]&')E1"3JYA3J@V(;JP?U#+IUQW*WR[?RM2Q-+Q8#A0HSA6,[ M=85PMSXG'U;8_M"L2HQ95J>]1G1[G>A&4D,[9O0&>"CT_>W@_ 8O+V]<@; M \E_?B*4[#CFVM.IF5T8<&EJQ#X]Q]F&7;U>O+H3!J-"L7ZKSDC-GC58NP$R MY0M).) M7-0X+AB4,L;2*Z^*S=:JP;:F"Z\XL.OC'-)SE,K4K>EX/ P+CI-AT8FT!4]N MLIT(U&R[H39^5J;:FDVU1L$K7&=MLW*;D0O\%I$5\*;QX;OD[;Z YW#7##DB2H&N!1QR? M&BI#D M6!'GH AT*:NQ)LY!$Y>Q1YR''J13$MM8$=L3-#%M.@M-7.)8$>>A".G%VA&Q M(HZ'34),F]Y0$[^YK/3+Z:?C]5H9!SO'5.ONT/S=91C#';(O__>;].T/#9+' ME^)IUZ.5\0OGNZ]?HN^\9%M@+-'4HS01;:Y,9)\YJ^&__];_?_:^M#EQ)5GT M^XVX_T'1<\^-,Q'&5QN2Z#.O(UADS+Z#\1>%EA(("4EH8?&O?U4EL>.EW<: M3<1,'P.E4E7NF965^2'9.B_;V=^.<)*WETTW553BX\UD-/R04=IWV8)'DYFO@-:8/A+IPXJ-2%J!EACS1>VMC__HOBR'_V_]W;[ =0 M 76;NG0J^$@1\:+G_.U$!"0.ZL*)8U=$?%1;R./;&JE=6LG*_I!P90AYW?$( M&6<,^H1AHQ)JT)#":12 & /9#SV)@S4**1D\*'"H!QP_&3PZ M#\:4+-5SF4#P:\^2L4R>S3#!/ M]]C6W2B+*F\E?_QB;Y+;-,=F[Y>/)+\*>_]>%O*QV;LU M;#:I/EV:D[W>-!$^IB4JR*&N0,*/7U3RAF+)S];?9^+4G06#'[>;_:E^+P7?UM]O+]VM2UH)Z5*'D^H.K#:7D)S!X,6TLZ-$L6X8,;B[47+)Y/ZZ@ M9EX4A6NML$SJC^H(G-K/CNZ<85PG'#T1^JC%D ^@K^TH@6S8D:\-YNI0M@< M.^-O\K(OTYF^^LPG])F;:',UO>.#-*+ 6DQ_!5N,J>_.\7[CXI8Y&]@/,OE MAM2X94_J8R7+HV9QT+&F;@3A;8KY&_K/E^DF7[WA$WK#'\NYV6I5OB/)MB:" M0?MNFF7+[L1%G M=9NY&X)+'X=R+]XPOTP&^^KDG]',_EG'GB5*ZED$?3N1?O\UZF:WOU8$_HP7XLZ]IL];'DWKM S+.S MIN/>U18X^+^=[L5';TQ6F73?S4GVPWY7Y\+BXO_(IRA\<$'_H[Y]& /E.W<_E M^/$K@@4!@8&B!6NDG&OI@\]85P\@3&NA&A!*Z$/>]7TB&'I..!@Z88#3&Y < M0EFC@1P E/Q 3 TO"&7+6A#P'T(W]& !5XI^O25JH4< 70L]X.@WZ*W1&XB9 M$0R)J>PM< N[>'Z?@%*2\$(++:%@$TBB(]:Y(5#5)P_ %< ]C/T;P@_5(2J% M@9ZTY-ER83?$*-0&./R&I[+ 0+;@*ST(F-!#OZL0?<88ZI, KWQ_C[=$>PC\ M^$5X.!2GSC)9!$,2#0T\( ?@X5 # M ]7 B")B-RM80ICH\&$(C+ARDZQ.0B.Z[)!8U@")PVAX3^M8V4VT:KA<;PI\ MO)+05J$BE5%*"_QI>6DB>E)6<>4L!'$<>G-\5%0$3NVH!GX+1DJ(VIQ!68^4 M!QKJ1'(?3G+[#=CL^65 $G0M>?'3L"W(7PD%B=^M;:!G(N-DV9D\6ETA2B\* MAH:G$9-0]@)($!#/2)'?$#, 6<]"*(:4-HZ:-^H H@ 2+J3XT+,QLN#@)*H$ MHUJR,<;S07Z W!&1GPT_R#["%B(&V4/,@<@Z:O7^-QJ.($:3_S3_5QZ[_^0P M=40SX!^H?_X=\1Y04' VKV)AI5J8-%ZG9JNQY4JLY[YER49QULJ7\ M/1T&;*HL-G[\8F_W3]\)2(,6 AV"MA(M >).#G E'SU$LM?1=&$/ISAC>3#KLEGGPA\0@L]1#]PH/!IE!#;M@*B M!(J6F/A3TYQT1\/I74I,@!)OE5)DQ?,'YT<*.;7C@4XGT39K=3-=Z?I=M4H- MH(E[N]\![652P"KF_?00::S-[Z!8\<#>C,OI_!?G@Z0 $*T@J;%2)P&:!W\% M[0EL?^D06@280SEK1^H!:0ITQ -?A,854,:I#+; M?D,QI)*8%>ABOR5Z[5DA_=%B X+E@-AH@2"(BKCY/6A$P?'PAW08#!T/Z^"# M\L.M,4!<],V*V>N.F<"P=+.9P/)CWS]>R8^8.5?,BMD0H0ZJ ?C.&RR\P=R% M?(!40?PE,BMC[1!I!7_;F("S>8,%XA]#-9 9"]$*75EH%UK0H3 L%%F!@@$A M%Z-RDXAU$0([ MY3EC!I16,8\E'RVJ<$_IN>%O#(ET3+SH6,- \%2PZ)(XKG_'/#T,O4XKJU'I MAP3G^97WBX35BL0UN%>!,+@7Z#JEM5'H8\=P6RSL2X7%09F0[_6*KEKK=#MR MK= :TX7Q(M"A>2G<[J>&K&0"Q+B'WQYQ=.130MU_2[1"Q0>3$"[ 6D2T4W2@ M,B>RD+V-( :4ZXKF7%R:D!9MB8A/]WD:A'[ N?VII^1U.?B59X=UK!>2D% M[AX,:^6@^&CVJB67Z0N-IVEE@ A@O\?(KE*0T;9>-Q@1OE=+CR>B4QN,""J+TWM<6#DY&ZI4_@M:H*$=KY4H%:=\4OY>564Z>&# M^=A)U6?!^Z,R&PH4^HH^B!D/"_T-LD[>#MEIF_%Q: M5:A.262=B39L9*39#"F;_;R8E91"%'VVT!5BZ*8ZQJ(,RG5.+-F#A3,OE(9W M_??'D-X%W?"Q.T\^!G.&E'/VL-_(#A))JH$:]KQ@S-T@N\J-HAC6 L=VS@7: M2#G'D/:1C&@[&P!/]/I4IS!)S,5%\EX5^A7)GE2. ?!].+.4HZKY4ICL@$2E M6?:%^TS^#OG1W$MDC,)9F^)X*$\!_ 3L=X3@3B++'QH)W]=T<2[FFRDGSW<' M8DX]PS!INYKBIG?E1)\> DZ80@][*LF[2M!2/A1#]'1'O:)-Z.1 M$>>\34<_H^YOHH-+^"NX6<8;(2SAKE&E_M<"CWC6?4<>H0XZ4"CX:_A$ "TB M;(^HLFT[ 8% [=BR DT6X,,?T:'K,[8&FAZ%ZZ KID<30P,%?G=@;SO#^+.* MQ>RF>.SG5D3UTS;*PJD6W!!*$1K&KU\U-ED;@A];%^[94@JHU^JJJI 0"!$&1MW3J+V+C;VP9[T(3M5?8@-E6AX7XL>TF"\LO7RG>%Z,&-2R@ MJ5M\Q@L_QCMCJ5OV2+C::2G$K#'S'YD8>DBV_JOMJ(=23][[RHV\%1O)6VLK M;R7^:H.&$&Q1+3C<% /*L*R#NUNLTUGDS?J!SU'^-MH.86.'E9;)0F2ET6+2 M 3,32TU04QXSEMM/1DE _/-/O9@Z=(*V!? M/"4SN)"4I]7^B(T-7G.?HG6A7"5]!2!C M#2!$1F.3?_C[5 M$C$E$&_4\^=*Q#*6(1*E\"S/RKJDJRR06)Y6))ED&4FE!)F4DS3%"-J/2';+ MRU18K4 /\\5FK=RA[;Y6:"SX28Y)(Z&W.[(3:-->CA7-3FL^R'0K)?J180<2 MO3_R+MMF^W/)4L3\-#E]&"A!+\C.X,CD[LB'P:3"^)/YG5DKAD.0%F;W=2$- M1PJ[(Z=!O^8_Z %)@HIKR,J(TVP)O9VB=H>6TX$S*3=*@TZV],1JC3E?>WA" M12C(W9$U3QD5[%8I+8Z;S;"GC(12MSB(RM%LCZPFAI2JU[0&:Z M;#HJ;+$]DX-T>6M%<.\'W>9_LC4RO-- 6 VJ&DJ#WP%2@GA[\#"6Y8FW"U4N234[; M3".Z7+B#SQ+S9/(\=4=FBZEBH^#7AXDY&LGLCB3OK5F1"<*F"$@6^A\Z/?$+ M@^C:T_;(QJR9:H]F7:N3!SPY2@J-LFRDHWL6.^LT4D*Z0Y(Z&?)T@AWS1;E2 M0G/N@8E\R*9K?F/0$TOC?J;EZ"7*Z,_B!/ =LD\UI5IV5&J;->@:BEW=X1^U MF93F&S#S\Y3^7R#K)F3DFO/O4((#:'D/I@T]8':$?[ M8'K4VHORPT3F.PL66/7!8]\FGF0YIA-L' M4]'TI\.,4&J8XTJBJB06@%5: SAR#TR/W49B9#Y).9/3QJ!4*XAJD$G#D7M@ M8LM9BGY44UERG#4$>92QYXR-1NYMOM4S'ITQ)71,KFB&57LQAAA%Z]RC)E.O MT?V)VNYUQL*BFQHG&+:U0.O5VBJLC:LY=*2L+_Y[D0P MF)9>M<5:1E8Z"LA53=R[,SAR;_.AD7T M75!LBT =T? MQG,3-.P>V1C5&SZ4S!2YC_I9Z(R928.AR9Y;O4^D$H]>+X^'[FUJ(<\[W4IO MHG5"OU06:L%$8O@9&KJWJS*?S5/FG>^8'-4IUQG*[=P/TVCH'NE[BU16E.! 0D2?)!LWG=:G:K5:W-/EN/CH7OX[Q2U>3!>!"4Q MD>GGJ2FENH\%/'0?6J,B!9ITB?+,;#;?S-EZ;N8]PGU1^] *%H^2. E@9042_SBD),L<<_E MZ5-ZV&PO4A,\= ^PA<4DX4UR=YI8JE4S=)',9-( KW6?7M+E_.2^EV'(GD6+ M:2[-W6=Z>-8]:(UD(3MEU>ZXLVA7[AB?H1-6"\^Z#RW9+9;GPH/1$6NFQIB3 MU.,3M6B@G*I]:(&@E 0E6NS(H\>>F:%HXV$R0$/WH$4:Q>Y0K4X"LO M:A3*>.@>&=X-O47M-4>:60+N->U17UN4V_56ET3.)21XE$,6MXU ? MT_!-HB+;\B"J>8I\S1SZ!! MI QR )UR8E&W]735"98_00'DQZ/7KQ/A.IVQH:(?0#RUJV;"Y,@9,H/=/.\_7BN&KFNXU[.>C-Q/N[!JIX M3+Z4FR/CN,IVSP4$<$PL T_6HJMTRP0L3(?'P34R.S"RJ7-'MM6S[LA:KU@B MY5:EW7VP?+"0?_^$\D^0/2LF&\)T4>CTK*9:J*L/K#9 "0XOXAHR<17R\R:> M*0+=G+.B SW@K9)M-<3=APB#OB6^?62V!PA4 TQ;*Y7-B&2 3E.1]MD2TG " M$T"I":GW)BK>'UV]A,2V_+@I6-&X6R)M6*@ZU:< ME9"#S0N?AKW,HZ_AD'-S'7*.4^G1H>[6D&R\Q?+Z)NCM-N+;GO'USEBY M'5)'AY8:7Z[&MX2Q5;!>W\IZB%,R5N^\6QUTH]9&Z-TV:E8S=G"S&G"@6_W509$7I,A"D:2AW[SH^?0LZRT<&B40GR;5]T_ V+=4 M3NFJBT2'&Z1<>I"NCUGR]S/DW@?&2HXQ*M8D5>K4Y+N0*S>28[<(P4@>N)SS MIHS>9[@0'^G$0@O9#PXR+:-D)-E>;(DQ?."#F'9/>$4"*!9-Z5:6$*CDL6YK M0\V6?+-S<^D)Q.\XJGW.P[T>UBX+55BR[QMZ=+BI15$/\$R% WRV:2#ML*LT M'1LLD\%T9WT]"6D@=.MLX,#'_)]G#6]!=H34D(&\X8? 32DJ@;>;D+-.*HBUNUY[=89?M:DXO+GIWD3NE MGS"@X?I>*/XD[-5[^M]_I3@^]<_N.G:*0AV\Z8!SKTZ1_E,&4V!%5B.%R(.B M_YF$#A+KKF>HT2UM../*1 M5$N%_D1HH;S*Y>$4+@OHIVUM(^80F[=:S6X"Y,! &&=DW_!Q5NO^$5:[-68' M@ VMSF+&\"VS&3!*,WV2!,SVMM$8":)P#,? "?S(IEQGOMW$I<0@P41UR^)^ M<1OVZ- 'JJZM%B3Z,Z(C>9R4(O+EG43^VX'K=YX-([*H/3 &+RH[IKAOQR* MWBO;0?R-U^N$/OS9__='FL2?:0%';T6HC#/(4?ZS&N5-+\4Z3EF7P\!9?A'E MJ^-OMM+:-^J%QF/V+PX$WG)A&YWM?[RUHW)2N.5?K(B\D=2],3\Z1=(A72ZA MMOR<0/+_9W0+8 ;A]&KR_8;.6PV5%=^QP@ <.>O^^9JV:(=OO16ROCWQQ_5M MA2LBS@,1U!41YX (_I9YLK'AV!41OX>(USNM_EZL[_-V+2S/ M8S:34CZIC=3+8;;+@H'J6.C+__>#HGZ\$R!,ZI9EEH>(RS-(RIT3D#$,C5@> MO1T18H+[0N&:^"4OW==!IS_1 1T^ XK^W$QJBC->@^B_^P<2JVL]5ZXZ5ZX2 M]D#P$D5$B-[_=QO1F_Q#OY=]A%LV>='?XUB^7YH:N*]"#?25&J[4 ML,Y]N5+#'U-#DKIH:F@[@6R]:BOMEPU450!T?3>![.1&5/:Y4EN'J/QW=W6N M[L?[K,&/V_W+1^M'V/W!)KX?M9_78JT?7M1SO[OO+7?4_K[/7=M>9=QE%JL_ M[Y?995AM;-V<6HTIX Q)/(#:N=B[,>6&\W;GX;X@ZN+P?)MNWBJ]+YY8:.N+ M@L#U[SKC-FN3C]-LXJ[[_N;#2%ZD;0W]1UP+BP-U,0ZT&O:+FE/6K+HKRBE? MJ8!'T6D74.DNYL+SU+:S!#8,,W[+8,MO$N%? QHV- _;3L>W"&C4)O(Q7SXBE=#=K M]W/JB*JF3V(7EA-.GQTFJ4FG)O?RS&)1[CQV49E8BGZ#87@!)Q7EK2K3L4C% M#K>/:PF@0@#XYLDE'$(<19I>J O]I?7[MU#C%ZJM+Y_P+B=$0Q];%:>I0!E2 M$ZMN$BG9W^DBEM+O?*<>7% #>?OBH^CRJ(-S!Y(&D 6R')IC(J+ M.JB@^ !5?@2R9R><," YE.=>7;[M=H^47J:\O MG_ NJ&W:)1P0'['KE^$Y,I6MI'L=F?:TA5<)QD7[_2'\-496&ZOIZR^7!8D7 M!TP",=5*]06QUNW4[IB\*,RUFB:ASL'K[3]'?9\I>WOL>?/\5Z/LN<+.-3[?A4GKW5R[A>J>%:QO5:QO5:QO5CL[LO,!OQ>@?P8C(N MCG+P3=$2@]JM4ZF+JN/J-_T<(Y;= CGAE037#*I6M?EG14+>6Z_+R.4J]9K% METU9EAZ==.NI1ADSB2)1(=<,+PO66R?66R=>10]=[G%<:OM+PE8:_&PU_ MBT3(E^W!"\ABY!)/!5FWTDV3&\KYPF,@3!["W[^6_!&6(=EYT@;59B;7H8'M MU #9J13'V#)$R8:OFH87<%IQ+>5Z^9F#U_L)7U*17ZB^OGS"NZ PS=&OZ@E* M8=JNW 6E3D+/-;*.6)^$M3]3QN\IB9=N^QDV/^4!V?.:Y;&;[O(SI2%1%+I- MQ]RDR.3U0MU5;EP5UI7PKA?JKG[DT?S(]Z@NQZUEV8YG2AVNEV@-AT5?5@H# MI+J0#_F:[KKH0USG6L[U>I1[#3]?P\_7\/.5AJ\T?*7A+V'ZGFT]UV+6:+>* MP&?(+)GIPZ4E3'=X7O5<_;*IWM>\L6"6JA7)2EDRIU?2"."HH*MPPZ;X:ZK- M53Y=CWBOKOF))=78\YB[T QZ'ES2]351A?WV_PMDQ0+G M(T6BU5;#,9Q?_5!V,&SXUN GP^W% )Y+Y$9D#8DS(%P/HM2#KR8?D -")J9P. CP^!FPK(0)A8"-#K$#(PAQ:(&8 M&<&0<"![&K9LP2F"T(.D ?<%GPF&'@!H\F (/WN$!:GGEF@/P?H!U8$+PT.! M#PC9]P%-A5_Y0\<+$@'PQLNW+J*Y-QZ M=$TXH0=7O%=3ES!\0I%]N/G0==">D/4 E^-YCN)$4%'@QA6(BBFBK25T-#F0 MHTW[!D2C[!$!L!W/OR&@L%0A!CP0 1PR YP#VR,$'<\?+3#KC"&E++!3P/\# M(0-_0>()CBG[4":"17+4"&A!)ZLH?DA M@4'XX_TE3#F!&6UTD8Q!"QWB7)OXZBC[:OC5#T6A?%^HABHUW@5>-_ M__N_-E>_KXGCJR\;VQI&%T]HK%\'(*%X0#83L@[?_%.V9O+"7ZKCU"V[NE7S M-,?R/+$!LUB?)RR@!S_CQY;?85V\^M*)5,%/ M#UBXHAB:?6M>C)K <7_2U"V66O!CO#.6NF6/A*L-4P&;"VO,_$*J\: MI!EMK4LK=^-.;SA4JFDWS,DSZ$5(].[(AG].3GQH.: _N^_(G /=&#+C=Q\&<.3> MG+DN90]GR;0JTCXWF"O# 9?)#21&(G='CIQ!FLV59I))BPW)33BR4+?3<.3> MV^G.O%Q;-!L]L^>T'_C%73!RV!D7RW/7RLW!=14=N] MD:5N,*Y4PGZ37,QXKC1YF,Y]?2#Q^R-G4FI^5WQJ%SH&4QN8G90@)BPT6#J M6%/TE J5M %M'EG%5MVF'B.,X!GK8UMG$7#[?@A5/]*RMYAC/\/>>X]=^AGK MZ@%B*$^ARM_*=R1AK(M"_T6&#'NA85-<=+)BU02# M66LP>+DZ:<*K=VON8\45Z;I0YX<=17#)QJ;K4ZC>O='W05>D)Q&B_:A M;0)]K)HNCEW+60#@9]'>@+9RPJP16Q MH%FN8?-:/0=\IR)*8#V._10;E8V[@;OC]1 A<4 >)0GO':[5JM;@;-]0NAJ>>3!6KZ%JT=)"R'&4U<4N6X3LEBY@&C ME3A].OCQB[W=#S5LT15R:"#<6L -XNHY)*J>0Y,8(\>!W4802G9#-ZLF1CDQ M,2[G1F&N*?@[1?>/#[PLGZF3C])@:,KZ4$\G+3U#)1L_?C&W^^URB6VX[14= MPN2YX?EC/E6M4(OX%.DPFORG!NG4(ZJ.K>+%!D0:#\>_4O^@@4CI([<;51' MS!<'G@@<>?*O:KFW5!OJR[DBL4R2"6@'*7%M:")R82!4-<-7D;0&<9A)MYP9 M%([!T-$0)@W_.:&YBK8@8PDZ/X9NJ#+\/K0W0BRQ[(OE7AQPB:1QZ$.CS?4@ MJ:"(EKPI,YFM%[TB..-5RK9L+7P#3:I; "JB2*3':BF$F@'):'\IZ]T0/BLC M,AUX( JT$G^#V\'MS5(XV,8X'..U0H\,_^W*"SSPAK" /4!!,GT-<"B@#4># MOT'$VI"TX6^0S]00.6T(^O8B#JSXR.R\(4"@WOX;3Q\&$"5/ -NUX=C=",)Y M8 !E"S)1]3 (/;#&$'S/&IMQ;$Y6(4RP"8QMU[U'\,OD%<(WHC.O$1#BX1@C M.!ZU@08 WXKPZ'AXFQ$4(H4+X0OGQ,@'<>0(!O1\9 M^;=$ZQ6:"H8X,A9:\+FQ"W'\DH:/)1 6*BO2EY'%, "KB*4JNT8 "65E+3AP M;3(V,"P<]$.NB(LCXG"K<$IG' 4D,1!6D-MX[RT4:X>5R\TF8F;0Q-QDQ"7# MOKI2*-$':*CN.>.W6M^0\H%TSV0Z>85?E,5\TP?>OQ4 MI.C;SH;6][U :B(,XR,,]*D2\4Q\3C&U1&_Q6)&F)TG';J397N)N[RH%RMWT,I,W>[G M"_Y%),X =)&(61[QS(3T6*CKO+FHU:2:2VFEY-/@=)00/JQ MV"T76"_]XQ?%W9+[L#MO+;P5;_X=!"4Z["3L^M.66'I*W(\>NE7?0A;MMJVU M/A3#MDM\:*?5[-61'3Y#[&P(+YS2 '^&=@] ;963"U!S;1H=/\&*(?0'RY\/V!%X*/C8 _"W6D'?!!'*$ 9!ALZ&MO:Q=+ MO;HA?^/ S6O*! LOXA"]_B;K0C_QA%^ M/&9]AL*G;E/1H4'@+9<6OY**-OKN#'^.NGTQS6DCYKWQ1A1D0:IP"A#A $X\J'$+GUL#'3?7OUX?;CTAUL^:];79KB;SGJZ%O_D_+15<,&1"5* MB15M=,SU827%7S:3+HOP/X 4N%ONN #Y4U+H ]F+:."#2. U;71!)'!5!%=% M\ &*X(+[#.R? EX5Q3$5Q063RBNMO*[ZY$.JNYR1HEDF-\D!H0#X-4J"0"=H M44+%,2]^'EVCO(4DEM-FX9H5SX#3W -K"M ^T)2R[2?B>5_2.4>_]/M:+/_2 M+OV^&A+_'K=^RT:<%I>U9#^Z\ZL;<^F9N["U]>%UG*]!5JXD$_G8F@;^==[#:%9[KP#5=_B&9U<=CW107Z?*0 M9AL:XU/HB@USHGH"9V#%O%T0G;;\P&N1^PN41"\'P+^<)!*.(8G41/G.Z1<: M-)F83$?.E.GYQ7SC["61EN18[4GD@PZ=\7VJVP$A>6C 7'2PIQ-?1#U8GO#"K]).".9]N3NX2VO&R*2Y?8+^2)'H$\9T8 M*,URLLPI))<+V\:3<._DW/2GB^]GI#?B;^ ?$-\+2V7[17/1)%M91VMT0?&^ M5YE)+#(D4S=4\D@%QD]K+GZ2A/AT,^\C)<17-^EV) 3T+J&$.*ZOF-9[9 $%C1O;JO'+P\=1#@T^W',]K]Z2U0I%'^OAJ=1]4H&X+D M@%JA.V1&\&IJ0BQ9I<$@?9\:#9YF4C*R/ 6.V],J__[*(G M-W?A2XXLC:X&[LOB:#B;-Z>F%=8[O5&O5,G8^6EYC,01LG)O&&Z_FL91Q=&% MF[_G;^6F<4G.J'H$JM*PNOQZC8#^C@5[PD2=XT=(3[VYJ_UZ4H61EPV[[/A^ M(:Z!5+#%N,3)#WSC':[N@"*IMFM:OC9.I\Q6,0RT_&//HUU4*Y)!BD2@]RO, M'50DW\)\?9>5>FJN/&K(]=2;NX9DS\AB?5$ [PS##&54E1REH"9O4MQ^4>!K_/:X\=N3<^JG)YV>?,>GETW7_/@#PLE^ M8A9N6:$FYMB6._;=_$$>91I0.'$GR8^_.#/YVL(+U6B.R\$2*L0V=,56=;&W MRNBB0%'J:AHL:X=+ "9T?%MA/! M4+83 1B[CA?U#$-E5GEM1R43.ENU)2Q(>]-FA/C@9(]TKSH'5 M(%L]\JY1\N93)CD[U ='G!6*E936)L6%T'OP#:?M%Q@4VURN\\AE6Y==#[.X M P>>;]V]<;\:Z[UCB>E2H>B8O1H]MV -@(?Z23KA8!AW6MR% M[]]QLPCX?=P8XM]0JZB0FU%Q]*%CH<:7,]1VQ0\5:( :J'-*7(@X[H-XBRQ2W T2%50&ZM"& MEN!@<4.XS@P^C5]N:W!!'FH%Z0,U<#P?5X]'A9;]T%HUJ9'7-'>SW-M;@1$7 MZH_VCVHSCP$JTH]LT&B!*D K'42EZ\^:EH^L(UKJ$$!L@II^H$>NGUEL?-K7 M&+FGDFMJI1I-3CR*:4NEKB>H!S3&X7%'U1BO5_O6(2'A/FL$YE8/=Z;8(3S4 M,G6WU+>ZZ0*BWJ*VKP//VV@P^LH$:(B!%F;H42>VI=&KQB8EFLE:+_SD]<*C>81;^L4FX]?BBI]4Y9*Y):_E M1L\!$91P+0_^H9CX@ /:M\FJ(X C^YP._7G,N.)KLN#,ZFYLS/L[='*D$X37 MV/?K ._M";HGXY\MR&SBS/4 EHSH_(1 +1()5S9P5!*%?>"BWIY>-H9PLL#I M6.?@@=AY4NU9I(&Q&U[@ZN_E&=<_Q#^5D.Y?F=<5]\[$RT^Z' SHN] MZ;P1=5JGR.1-*OG2/=I+UHUOX^V>XYFX"?BRE=\J09_X &UP:M[?@D&\4EW' M1]3?0@U>!W=D LL$T_S2WN&E62 R5Q87?:V7R[ ;>-S!#VAGRQ MFL?7MT+$N-VQMA\CWVN%N6PJ?1SSY-0W0R!X_]EI5:BC*#,I/H7&-LM^56&6O>F+ V+:;I%DZWR3.*PO<()-SSWJA^S M3&;=S2+=^XR/(C9.6%0+ZGI$B,/E$>R2S-8'K!][Q/)LXPF*7A-23$S(@=L^ M1OGO_]HZ']I3N#%';&PK/I>B,7,,0"(Z?I)U^.:?LC63%_[Z')E=M7#YN>(J M! B"(F_IU%_$QM\(('O01$?<&S#;.L*.']L^Q5Y^^R1<;? YYO4U9OXC$T,/\>>_VH[Z4M3_=U^YD>IF(_ZSME+=XJ\V M: C!%B6'X,0$:,5FHPR#M<4J;Q[%/4?YVV@[A(U5@F@^==_VGYX414R06FNA ML^*<[J&\^[U4TG(R)9.#:7YHCJN%UL3B>IW,H"$)^R.+\IV6[CT]@4Y"+F;< MHOMDY'HS.'(O.=:T@Z>G6L]_(">J4;N95EJB#B3\SK2\Y-:7END0P+5KJ@^=W\O=V0J .)O&G*&7 TU62]Q#:L#CEFF99P MGY3R91$N@-L?.G'RS<4XX#(=VM&"U.3)N4MUX*P'L.J52CDV=V\43;H[DYK] M=*'CAW#H ;1VTRI[;P3SD0FTIXKB=4=/;0$NX "VJ$#BRX^AUNO(PVPF2'?& M;3-,0R6W/S1AUIO3!V7BBHEIHV].*@F:]@<2?0!;2MGLY5JIQZRX**KF@V1I MU8X&A^YF74N I&0J26H2!0 OL91"28H"%$EE $_329V6U>3NY#GMGA/+_I 1 M)T9W49D5DKF@DD::>7=D_XD;IA^L6EJ4,WXA6= ;R5$=Y9.S>UGB1?\N,;(D MUN2L1,$+AQXY$B%P)7YWY"-M9I[*CXD',N0JPT*GT,]:RNQ0YGDYH<"YY$ 5 MQSE9\;M"?L@C>.VO$]04-C5.#Z8=+I6;YVHMN6J/T4AN;^]"81[F>D97K%4: MQETBY7N/AW/4N:8[Z3R.VDXG*^<],B%88MUJ1#'*[9%W0\-4VHM60\S[8YJ> M]T)RW$X?RF:WBT._UWJ2NB:7"TQSSJ4"68\#'-LC:STVTVAY3<[D'JC%)%\U M&!'.>8!96G>ND^9=-TNVF SG)/)CV7'347&H9=[[YL6'EQ/0EVF"OY&&CM;^ MS#M>3$4\_Z2TBXPE-3=N\N"D11]IU_>D0/Y1>L@7B$I?V#'69Q=,.X^@Q,OY M&#BS'OV!+I!-H?OV-_S2T\#1P0]%/-E6Q14^A52 $-7;Q MH:&%M60N;$CC-!;&<:J&EK8WSTK2D2!&I Q_$-^OEL[Q+33? M5?@<4_A$%[.CD? CYG KY;- >.*0:-AI3"\5#AAB=?*KOR M90R/&KH6O[K/'MG:EV-S7+,YKD+B#X4$9H #XH%35% !]I3IR*EIJB&U%QUR M,D.!320?DC<:3JF.KFT+G M@+PI/89>/W1;HFBXR>XX=+PL.IZE<* [Q7R+'-.ZY[APX0OL^* @B(O2PJ[F MR%5"?&4)L:3ZNB5#^1!%3MQG-[V24Y.-J!Y^@FT\M7JXW1J]2ZW>EUI(]#@@6_:E42V@/0U*4A5)^8?OS MIOB$TRB08&%NV-^5+);5$KCQ];CS]D99(847PASR4 MF99AC%Z_DC")<50:\Q MD:OM<+ERYIEK*.^/A[@X7=T>8'9I(MC6](X?/7I ZFB5:L9,=,*J.)&&#^6Q ME,\[CP.4B4GCKMD\L]_?] L:)NGEZ:\K+UXY^OUZLN/B1,0_1V@J=U92X8C' M,IL_Q$1?CVC^D'20 .@UY=G4[&D+L14.];I:2J/D:WRKY89-,B]UB?OZ1@G* M)$%]KE"U4S!7(:JB2[A^$)5[!:MKNB#NB'4U5[Z6N?+E9=%'6RC[$JH M@.$%3QKCNUY(0-PPS'Z/G6]EPT ST$-5A\#YLTN=HO5_OE M_.3/Y_A2S^6Y+>KU:K7F#$OB0E=DIS2<]TEVAFZ/HE3\&X'=/_?YBL9)>97( M=C5/KN+AG,3#)YDGZQ2U T*"+G;=^WX^7S,7CSFW.B]J$CF?H7OC*,S"WS I MX7N;*+O9L$>W1TY=M>O,[953@^<["ZQCV#-KZ?06D^:!"D<%LE 4\V8U%S;O MS3%?QJ4KL#^5$G[7GSIKF70M='8M=/8])<4RG>VPQ#AXFKQXM+E2CLID3$[/ M*(E$JY8MY'"IFO=50;N,)JV?U3=-MBQ'C6JJQ,W,W-!3A\B?@)0%;E"/OQ%0 S0K:N$W@&\!MK;L,*@Z M8]<"FXO1X306KD2[6N->BA]>BQP'G#;6=+O*+48-!#W@XW; >-8P0*V-49=M M9VRHA )LH!NX4[&!VFH0NN>,XW#5[L:#(6J_X816U'=803F'FC$UM%!&K0R7 M=5!B$/G E:'I#JS%1@=DW!YYW>9MLS7R?N-$U"MQLP4=!#!ZKP8TU*H100'U MC OD.4*0<%>GK NR7*_X=^*&O:( M$?<,#0.XW2<0]0]<$^\8!$-'PQTT(?Z0TV'8JY[3:.C8\0-"=EW/@;R'6PTB MU XW26SOC;<$ 5>,]2.::7DX_,S"$9+@^Z.Z):B1*"H('U6S1(RAN&;B:@U!ARV?(+PHNW*P9K-8]"OVGKC(7!M'H", M;T.0(08,/%D#6*TM6Y%#]MO BP*%H!:U"D=360;0$T@P)#QG(5O!(H;$$@@0 M;Q:6A,3R]VAA3OS\%-@A*D;E 7E\ !:&'X'B9M5X,I(#:.O+">.BVT@&((:' MOE8$9/3$"P"$^VU!1"^1,X:2F$!]8:&84F54U#NFF5B2(DGN8GJ Q(9$-WJC MO8+,\UQAO)B)C?N[PS\=U<#)"S,C&"("!Y!$@JCYR9I4X#H@#4&9'( M89@H0X!:! /?XX:!'Z,4LLT8JYV-/80(BS.X#6( Q;R'I72$VM"-D;M-;G W M$"J&:KCR#@5OP%B.Z,Z'_Z*&N['*>*/E!R4UD.Z93">O\(NRF"^:V2R99$.6 M_ZT:M[X72$VD1+'=ASY5('K&X3@V^=Y; W?83]KM06%&RLS#M#0,%CVMW=BT M%-\: T-U9>X@Y'(QW)H08BL++T%')EY5]CP)N&0E51JF,^*"->Z?I@_YGDW- MHCJO.Z;=7T3B]'"6YW\.YWK0R;:<67LN)AJC8CI#Y^^R"DI;4>6*F/-1-&+7LC M48=-0?C .K?) V,Y$C:0@?70@I;=%+(;THA AI)@5[X0J@7_>TN#J$"]B"T\5/+GW/P1[@3-8M8 MP5O$#P]RG87#%0O=3D^Z:R=;^=QXH@RV_-_D;_B_ZY"\ YU@R%H+^.@,PF2= M3L1M\!W;>TIDBG,J+89R5RUYU*PYZC5^_$HF#_ =,4;)2Y&WHP-4*]PB;$CA MSO*=A 5?NFHS7ZV55VWFU]I7 MV<=^5R#![*YK^*5F(U%K?!92A?%H-'@,V9F8L"P_6>'A_[STCU_<*SCUT:X( MB+9M=-T2M1#ZFY'\0$9<;(7'AO+>>#3$0VX@0-9@;'0A<")K+79Q(TD,[<4- MQWO3]$..>B#'AI*-?(@6B,B$$>BEW"B@8NS(#V_&1FS6@8:S%JZ,VZBC%/0> MEDX]7 2-G":-#3)+(*Z(1"UW!*]H0&7">4.2@R)E@-E.U0&&WM=T?S^CA4< M1D"#H T'!J@_NH.F@A(,O1/*6?@F&4^YX7>A&,=,MM7(PD?N-O26H,0;0 4# M'2[TRF=1TH,;=6)/'YKW4_@>;'\C(SIA&2;T[!/0][ 3: AV0N#FL%L_E.%@ M/]0AI UD7,8>0")2@)B-8X:.+&W4ZMV/5Q)_7D8J3N31OU&;;742.&Q641MF M54IBR.A#HL-.PJX_;8FEI\3]Z*%;]2VRL MV+C^%L49,XN*/'*\++(%VG 9&GHTB($:V0BUF!VPG(7KY6T,UB[TEM80^E-W^OW^> M-76<>PWFY=(VNI3_>.M!$DO?DB<]2-H8Z+ZW0L!OGLC0MY3P1;<<[8^\9;DO MNL'OBE.*O4U27WF#]"W[I1'XU?=',;<7*G-^,_7BY!KS6\C3HVG%,\K1VFX1 M%KVENW+Y*OAHYF)0^.7+7X>5.%! N&SHX3T5R6G1&>SQS;!Z; MI+%"/7,8K"GZ#IVE(ND%/CX#^Q0J-Q.E&1PS:_@R=>R[,/A)+NEKU+J=!W+Y MN#V^A'H7MC_)67UM]V^(ZGYDX]WE8V^,[6Z=$M60E*]Y=<_!.7&.'8N?>&JI MI@NU25 OF;5LM\\PP:Q=E&9;QT()'Z@_M=";087A WLW!/V&P',/AP^!EH:H ME0<@,E&0A;)NYMMYNAOS+=LV$T 9JA-KT)-3#8E&O0XI?%"SWY3WHP3(B=WG MSY25G[_5@WGN'W8YYE,B Y>?WGY$^4$%WL2=9ZE +(E4E6DS7>M!;)S%'9N7 MJS^.F'KUWF"T(BD/169!,O5QO9:&$H?_\2MY0_]N[<=S,S+;.'^S"H%[,7[^ M"4(V)[8CFOMYLQ>#K;.(RIQZDQ=D!V*!@.2!'T]6[=1KHX[I:!W@*:!@YV:) M>2+]Z9:?(8_4X)YZ*I*U84/OAD-:8^LSB4&6'YV,8ON=F=WS*6&L+[*C MJWEW1F+!TX9W4M]D%YU\JF]Q9JV?'#8'%V#094KIAVHR4Q!)\.#)S4%>S@RJ M:2A(H$$G_+Y!=S'AQ.SRIE)S\Z;2Y4>@SL-C/@L[\1I=O$87S].J7 J?+=D3 MSSMU+(VJ)[R"""Q?J5I6V]7MQJ<;F'8A8Y6XIP0E]N859Z9(@U;],0VAAD*+ MY-L-S$N)N)TVN'CJ4\53@^)E6_;4T/G>MNY+PBH_XON\GTN6S5*S_&1(]BR7 MRYY'K:"7S=Y6)9L!4\J=B(G9(M0'9?C!F$$X0[.7)6_(BP]D.H%L74Q4[ O& M,*_I@I<9N[R&HSXZ3^Q+U P[8(=<2X9=;,FP=Q@,": _5/C,78::;=D)+XX/--7>\V"X9M.DWG>LONLZXL1L73!N@^*PK5))PP(!P%$KF\+$ZU M6^$E*IT:=*=XYFR4$S(@#@,'$@;A3%&]+>*S@P.66A3=Q7U--7M9 MX'JMP,H]N&\Z)7JFSF]V!:0L*HRDQ9=\TQXN([4PJ,,=.MK&E?)! M?VC>STWR7J35/IG+D[U9L3[[\8OF$V,XZW"7( D7S[!1-&A520,5R5A7=%B! M>;.(T'G6!GB#V.'^3.R\ 4&XWDM-ASA"-^I]G)M;=F8'ZP#PN3+9KC5&39-V MR9RVZ+*,TD7%:YZO A X5^#_'O#OH0X]"/UI)5]_"-CR6,S[C\JX.VTLA#R$ M_GYYZR7THUO]&P78<(4U"!K9.E#5ZA61MU4EK(+P061ESW*(EC$.KC*XJTQKW?'80WS)W^Z7$_YKNZ#<$EDSL"[\X&_5YD,2-[(: M]HJ*_I]F3'_]!_ZSU,JJ!4D'&:[#Y;7UI5V*5&MLMI+D7Y\0@*?HM>496Y\4 M%^T#KQK_^]__M;GZ_0!A;$)O;"N^/D]C:WH $HH'9#,AZ_#-/V5K)B_\]=U[ M=G79Z.?*#$> ("CRED[]16S\C0"R!TU4%F #9EO7_N/'MF_^+[]T(CK]&14\ MG (T^]:\!X_ZDJ5ML_\"/\5EH4[[AU+3)<*1BY/0OX?-6<26@H?1Q'="6D\=)P34 " M#C!! TH+ZH."$7%NM!@++6)5JCX8!(B=;$LG;M1O57#HN4-:L5 A6IBI8"K M#6XH)FS:P04Z'JXB$YF R_=G<06>50&9M07XHF:+C4)<)^B5Y>,ZCALU:XTQ M],>,J,8MZE@9&_8?6;/F(MRC Q>J,7\9 60A=8N_%,?2X!-1!XH-!>J?=,UG M!,O>JA9T;)YM$F%,O< ":N"AN! F9*3''0]18!7RQ1 988X%3(*!-D5!/#N MEYN/C:_9+)P72HFT3AJ+@C I-M),Z*??72;ML%&_-N7;T)+W=>!!R44=--DI M/9"LAJ9;))TN4MFN5A5RPN#'+ZAC]_MJKJWV-BZ2NUT+.Q*#N(82X83>)E5 MPIM"W$&9!@;8KB9>(ZN>;)G 6YI^OS?[S9+0?%167-NF-"JU0VF?1UV1X4ZE M$'5Q4>DM^.$MU!5!HSV'RE>+6JFJMVE;*P1^;^A8UJ(V@\X34G<&%/^>L4JO MHX9\V!D"IVWFU4[3 [GD8DB]O]+B'U/;J,^$4]N66F1>'Z1"QWT2E4D#U3Q- MWK(OD%O!QIC#B$7F9! [[@C)$6SVJFFNJ>N-Z#0",)9%!>=K%@U MP6#6&@Q>E!81/F-I 3]0U5JM-RD'K8[1&"54*^<813#;A'FA>KP2[6L0!YF#'R@]1P\>!5Q$Z8RXWK=B2;1Z_RCE:T,D(5Y21[&]_>UMM;>4AVZORMGCLM ;=2^18[5A &/G M(BY^N-*ZJ+T RB&*W!B(85M%H3I<*3/R6G#Q=4C^!FIFX*/*HLAIV_5)_3(^495<'W#% Q2[U%@R.V1)%G*,=+F=? MJC$X>J'D35S7:/E,A, MQ],/!AZ 'B]J49".56QLSR\=TVU(+VL>+UWF5>%C.(90 $"=,*+RJPHZZ3#@ M4G5"!5X@(R6^16C1F13"]$8H>*OI !% .@>HN4 K1(I2UO&&5<< 0>A\,.&![\6 M<]%^5\2UWBPT971DG>"*M+*]CC=$%7]7/3SV5XSL;?3+VOB!CC\P7+R .&: M"24.-BPG-C;+[$:$ VP_6F7<$CHZ[2&2ZF79.,E8D$R!29 M2LJZQ"DI2F)I4I-D6M,E0><91DBJ0""5'U&T+'Y"IW154W5*DBDE);&L2225YC6(U0-([3\A)AD_Q;$K2&)*36#:9DF2! A)%)TF0DI-)GB:WGR 9 M2A%TCI%XAH>KXA122JD &HTLX$F!H9,*SVX_0:4H4N=I!BI#'JZ*3FF2H.C0 MW%13LDHJ.JLD4]M/,#I-IC26EE*Z E$\,K?]!.!2.M!2O"3P"GPB)7!2*LDHDJS" MU\E"BN*8'5@)2BHIZ$"6%$'@);A=^ 0GI"1=3Z44*@ED54ON[(/2&8%AX'X! MA=Z18B69!X(D:#1#ISB-UU+:]A,:)W.\KD,3,J4*2C2TDJ!=]!RA!J*J023>=)C90I#7 [[T"] MFEA24R124&2)I3@.[1Q(LB+SO,!R7%+8@14%G^!3*MROP*@0YR0IR3*3DE( M)%,"RT#JW7ZBK4K%@'.8-$V1)%>DV]EF:YIY:*0EW.=Q>^0@%!IT:N)R': - MBOV66V/$(1JYLPI=$?@DH&5)94A&8N%'R&YP%2S$M,S)M"JDY-VYQ7R>;S,J M\T1.BL:HKZEACDKLCYX_#'+L(DB99<]U% MWWVDV:(W@"/WH+=PBJF%/_'38E:PD[YD\W[+1Q?6]J G+896)]L'II@7!A4Q MHZ9FY3:Z(\OMCFSEF-Z,<^II49;S[88PZ]XS233G+IPUR.1)*"ADFH/4H*LZ M!#VD$"B$=56F%09*D]VY0Z>?G93IXM@L9=4GEN+^J@DIITTE)R'[XU M:A#P3V/JSJS=NSHTJ>C"?7T 1^[0!<1[*@794P(\Q4*Z@((72A]2XC1&)C6> M!8*\MXJJHU/YYEU1[H1L3F;Y@K%H!FGH ._L,*F2E*!"<.F""B4.@&^! E.6 M:* D-85BH-&T![UNKB,+=C!,B7)>3;3KTT?9< 82OSLWY$N@L"KD9*A](/1X M >DCZ(]SO*PH@&>@K-N;^S%1YA\:A<"4]=8PJW4Y.:?/)&$?>G?CAR:MNN2@ MT_(;G.2 A*L\-N#(/>JT9VQK=*<%3;/G5OE>C>QV1"8-1^Z_O3P4,]DG]5', MYAUMKBD/V3L7C=RA.0#U49)2H=;G,*?"G]6VHV"3HZ+G;E4JP*]WT__6%N'Z>"%1CEOZ54& )[RZ^K][Q+4$ M\[FO]-Q:72SAML^A@Z8WZT^2]XE.GJH[4$&)3KLP.UD/"W7[N!EW3\%I26.< M2@/=Q%6?TZC_7]S.PB?^OC:Q^*,F%LLL_,/]@R^>VV3-TR%]K0Y3?O MDY^1?24L\W[?X?A$2RH .7$X MJ:T5)[6MHAU?Q48Y$UI@;EGVK&EAG5%Z!%HX?96Q\Z8.^I;]!,?M1""ZZLT3 MZTWAMV+HFW<0-__=DP8?IB%/6#CJ3Z5F*TH!OQ2M>;Z4$.G'*R5<=>;OZUL4\<9G%SP_O M'[O#S2=$=4]?C8FBX]LZPNKV56N9P;Z\P1"K#W]U!VOMFR_=L8*MA7[@+>++ M5N13QL^-*U1(EARZWF];;LY[>G^-IN6Y\Z$JC+/>S'[,.8XI5^[\Z5CN#CP1 M97TQ^"K5#270+U15.@8?G#:X<&HI\.EG(<>5 I]PT/%;,@"ADJ+_.3(%G[;Y MP[F1]*>?@QR7I#_GD..L--MC,A$,S"%I=FJ%;O-1'L@@DSN*.NK)]_UNJV$;EAM7X62M1$T!*+[;W^W ""J3@ B MUYS]][D%G\ZAS.X)#.=EI.1"$EQ.*4H.7AE>29;41]K,H#]@.&Z8&W5J/?FQ MUG/$9&C\N9!:WNN&.X&8699VW!-4!96=5KH3(,H# MR-'0STCQ-S27_(2F>Z?P/PIC2(WX!D=9_7#3_U$V3 MSA8ZV.TY-71>5GS$WV=K+)W*$\*%+0NVZ@'9!SD0_1?*5@A!..,!(1L832HU MS3!3DYOD2JEIB1H%^9F41#X1=4.1^Y74#T8XKD<+'W>T<&JF.UOHT*>'S3E; M:^?ORCTGG7:%DNU.IWIZDDF0V7PGF4R');6<1648N.>$TO6PZ),/BT[-B&<+ MG^'^J2)%M%LIEQM8?. MA%4+Y>:C2&[HX;AAJ67XP%V--*MI#+94J#8[!YD]9+5WN9B1S/9+YUDYPONZ&;51.CG)@8EW.C M,-<4?/LH6KG3[%4E)6>V38.9CBU=;@M/*BI0F/KQBV'H&Y9]B5\O^<#EPQ.^ MKJAQS/8ZY'L>L+W3NR2(3CN>P+4[W-#V0@OVI.B I!GT2>';RK^ $> MW GV=?K0UE%\MN2BEAOI =\A2\%XF'"X@9Q+'R5(]N2YW=PBT:IV)J.'NV%A MTM9I#?6X@/X90PHW)'>]1_1G1U)YL0;;HII@VVB/K@(#>(HF]XBKD>9WWL<=;) MF>;C1<$A?^2;2X.$5^_6W,>**])UHMKJ8M5% M9RZU1\F$8H_(T/7ZPVYYRC\,!R?IHA/YIE%K7R?T@N%N\^ZH$V_6&4-P+E"W M5$2$J DO[O-KA[*U[K%CP$&&AV]K!< /XJ;+:'[#)FQG\W=HS'H#@-K0^G'K M'DL-K:C',AR#.PP#?]5/=BR/' \UQ8U;S\;KP5F;_#^HWZOK>/A-B#'1E-#; MQ!UG5XO#?8'1)1!#A\+*#JP%6A680WWJ$W_+<,3 ZAE,'K8)@3RKW\OW[;1 MU7G[1:OWKSH/X76C%KT&E&3!S#F\,KP6U,P6+V/5LGDH:\\!8KU4N*;MM^$N MU@%A 1F"_(URR@T](-TSF4Y>X1=E,5\TLUDRR88L_VSDA#R<<:\!0RJ#@6R) M=@ 1M+):HN;.[?F]8R'1#6T6]19Q2.#WAHYE+6HS&VBM4/$-S9 ] _BQ,5-( MJ&.YDDOF.BVW-6=;CY2H:5MQ7OH-@A"NX&<=> C \@#4]#L(RBZ&9,$6,1QK M>C:&(OZ^/7.:2TPA4/DKT9F@-WJUAT$YE0JU9(^LJ3, O,>GYIA!O=KWTP+^ MNB4VF L*6]07>=E%&2(<=S&&GYTQE%,&O@&)\9W]_^P]:7/B2I+? M-V+_ ]&[$S$383R2$#KZS;X(;F/NV_!%H:,$,CI !X=__6:5),S5;MMM;&PS M,=$/0TE5E7=F964V^N5\DA9Q"V0%)>0$F(/C,2(O1PO,3IA/7+0P0"IL-[W: M8CB@$"2K$]( /7#WR?(ZD='QPB+^)CVT\&I!MLJ$[H^^$F2ZVNEM'E)_0#(TTK0X;0O_BS2'KP0,:Z<^=P:V@0W&"?PGLJ*LV2 15 M#CQXN[)^!!-.7PCI;\.@'A"'"1M\9*)'[L*[CB@%2SMC7YS@AM*6@Z5'X*EH MYI/N?/Z..',-;QKV@9=,@/A'+#7)/'B0BJ 3N'D<*KN%\\EI);9*-$X45XZ']/;*6]M:S3 ME^V%FZ('7($I9PIUR[CCROG=,ZWTGUA]W);DLN^3K8XYH/*]P=K*,R\_77^6S,6?_\'_HG?HX*.=+%_,HDFVW@? M>-+=QG8GKFY,,X_^1>1CT'RX"[)J\N]__]?VZ@_/@R)':6M;41,^AOA,8Y14 MP*29)F4LVW_*YE)>>]$V>?&:I6,G[.?&V<* 2-#4-2/^(['U&0/D )JXM> 6 MS'9:!T:/[78/C+]TPC2SGRXRB;#";]]Y+T&-[\Q^,O0UH0SX,]H92U^S)\+5 MEOM'7,!'S/Q'3DQ<+!#^I^NHQVI2OW;*\$_\(B!IE"2D95;2 M955':843=&6O\3LGLH@7!4VB6$V46$%,22)B:8E7.4IF9)T3N;T&]A1+4[K M:Y(@*YK$,HHL"2P-G_A42A33&J7(NTVXX6JFJ&5-"?"@GA>8W'+9R0IO"!+"J?IG"Q2%)U.[3[!BZ+.I"A6 M0II(P1Q(E$0:3&!.X7@9UJBK>PVH)5%G%89B64G@11DW7U8ED1%@^[269EE. M%=*IO=;Q2*7AE:(B<2F%EUB:5F%5,"7#JP /D5$83M[?!_S.IE4IQ2!%8@$\ MDH!D2@( ZGR*Y2@AC7:?H 4.L2("]Y9F=+QS5I)!;DHRSPLJHXAIFM][@A$X MC69UL/8Y'>.#!@683M,8ZDA :58$ .\^(8LZ);,, W,H'."5=.@Q& .#DDLAX"N&* K5F5E1E41+3![="5H#(<4599D34Y) MK [X@'4J$E(XD=?A_RJ_1R5<"J4T-L5(.@^TP6H4 E2HNJ2J;(KC1!D!>/